MAPC added a new STATUS-REQUEST message you can access which sends valuable data back about the server config, which we can use to determine for example the amount of agents which we must create.
Currently when we retrieve a node from the beliefs (graph) that doesn't yet exist we either get None or a node (from self.beliefs.get_node(coords)). But wouldn't it make more sense to simply treat the dictionary of nodes as a default dictionary, with a default value of an empty Node object? Like so:
Then now if we access the self.nodes dictionary for a key that does not yet exist it generates an empty node object and returns that instead of None or yielding an error.
I think I would always create enough agents (and connect as many entities) for the biggest simulation (50) and see that they do not go crazy if they don't get percepts for some time :)
This was brought up in the google forum, maybe a better idea than what we are doing now?
When a goal state consists of more than one block (see picture) the graph sees this as multiple goal states. There needs to be a function to find the center of this block of goal states.
I do actually need to use drop_intention when using the clear_fully() intention. As because if the target moves, I want to drop the intention (for now). I'll add that if the context is empty the intention tuple will not be dropped, but if there is a context then the graph must abide by that context. I think I'll use a list of tuple for this, with each tuple representing a coordinate and what thing must be on that coordinate.
In graph.py we are storing self.current like this:
self.current = {agent_id: self.nodes[(0, 0)]}
Why are we storing our current node like this instead of as a coordinate? Even though in the rest of the functions we always use the location of nodes instead of the specific instance of a node? Can we atleast add a variable that tracks the current location as a pair of coordinates?
For comparing multi-agent building, single agents need to be able to create constructions on their own. Building this could form a basis for multi-agent construction.