CodingTrain / CodingTrain/Suggestion-Box

[Coding Challenge Suggestion] [Nature of Code] Antz!

Open
#449 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
No language data
Stars
570
Forks
85
PR merge metrics
No merged PRs in 30d

Description

Here's a Coding Challenge Suggestion/Project:

The goal of "Antz" is to show that from a very simple set of rules, repeated by many agents (here virtual ants!), a complex task can be executed.

For "Antz" the basic rules are:

when not carrying food:
- search randomly (e.g. Gaussian randomness) ; they start from the nest.
- if some food is found then pick it up
- else if a 'strong enough' pheromone trail is found then try to follow it

when carrying food:
- go back to the nest in the shortest possible way
- leave a pheromone trail behind
- if the nest is reached, put the food down.

The pheromone trail fades away as the time goes by. I would make the trail not a single pixel wide line, but instead a few pixels wide with a gradient from the ant actual path. The pheromones from several ants accumulate.
A food source disappears when empty (several sources are generated when starting).
______________________________
In a further/2nd version, some obstacles could be added to show that the ants "choose" the shortest way around an obstacle, due to the fact that the short path has a more dense pheromone trail than the longest which eventually gets discarded. (This principle is studied in the data routing/networking field).
______________________________
My own amateur example can be found here : https://github.com/fphenix/Antz

Cheers!

Fred L.

Contributor guide

No contributing guide indexed for this repository

Research direction

Begin by reviewing the linked Antz example and the listed carrying, searching, and pheromone rules. Define the simulation scope, including food sources, fading and accumulated trails, and decide what observable behavior demonstrates completion; obstacle routing is explicitly a later version.

Written by the indexing model from the issue text.

Assessment

Domain
ai
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.