You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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)
The text was updated successfully, but these errors were encountered:
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)
The text was updated successfully, but these errors were encountered: