Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General Architecture #4

Open
arcanefoam opened this issue Jul 20, 2016 · 1 comment
Open

General Architecture #4

arcanefoam opened this issue Jul 20, 2016 · 1 comment

Comments

@arcanefoam
Copy link

arcanefoam commented Jul 20, 2016

I think it is important to clarify the responsibilities and functionalties of each clas (actor) in the system.
The Environment: Is a representation of the problem to solve. I can think of two representatins: matrix and graph. Although a graph can be represented by a matrix, it is possible that we need to store/access additional informaton in which case a more robust graph representation is required. The enviroment keeps track of the pherome values and provides an API for changing this values, i.e. init the values, get the value of an edge/path, perform the global decay.
The Colony: The Colony is the container for the ants. It also contains the policies the ants in the colony follow. Its API should allow creation of ants, admin of the policies (add/remove), initiate the foraging (i.e. solve the problem), thet the best ant, etc. The coloby should have a reference to the environment(s) in which it is placed (I am thinking colony reuse and perhaps one colony with many environments).
The Ant: The ant should be an autonomous agent. This means that once it "leaves" the colony it should be able to find the food and return by itself. As such, the ant should keep a reference to the environment so it can make navigation decisions. The ant keeps track of the solution if is currently working on and should be capable of determining when a solution is ready (i.e. return to the colony). Since the ant colony system algorithm performs the decay and update pheromone activities after all ants have found a soultion, there is no need for syncrhonized access to the environment (in case Ants run in separate threads)

@cptanalatriste
Copy link
Owner

First, sorry for the late response :)

I think what you stated largely aligns with the current state of the Framework. Do you have any specific upgrades in mind?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants