As a stepping stone toward getting MC task allocation going, hooks should be
added into the hfsm (and maybe base_fsm) so that metrics can be collected about
when state transitions occur. These metrics could then be used to compute
transition probabilities and steady state distributions for a given FSM. The
steady state distribution would in turn be used to empirically validate
properties of the swarm (e.g. the # of blocks collected in N timesteps, given
the average speed of robots and the distance between the nest and a single
source block cluster)
These metrics should be gathered via macros/functions, because implementation of
FSM states may not map directly to the theoretical/logical concept of states.
The gathered metrics should track a "best-guess" estimate for the transition
probabilities for each state, that is updated each time a transition
occurs. This will give me an ability to graph the probabilities over time and
see if they converge to something (they should I hope). If they do not converge,
using the final transition count / # timesteps would still be an OK way to
approximate the transitition probability, I think.
This will involve the creation of a mc namespace and incorporation of some sort
of library that is capable of producting steady state distributions for states
given measurements of state transitions.
As a stepping stone toward getting MC task allocation going, hooks should be
added into the hfsm (and maybe base_fsm) so that metrics can be collected about
when state transitions occur. These metrics could then be used to compute
transition probabilities and steady state distributions for a given FSM. The
steady state distribution would in turn be used to empirically validate
properties of the swarm (e.g. the # of blocks collected in N timesteps, given
the average speed of robots and the distance between the nest and a single
source block cluster)
These metrics should be gathered via macros/functions, because implementation of
FSM states may not map directly to the theoretical/logical concept of states.
The gathered metrics should track a "best-guess" estimate for the transition
probabilities for each state, that is updated each time a transition
occurs. This will give me an ability to graph the probabilities over time and
see if they converge to something (they should I hope). If they do not converge,
using the final transition count / # timesteps would still be an OK way to
approximate the transitition probability, I think.
This will involve the creation of a mc namespace and incorporation of some sort
of library that is capable of producting steady state distributions for states
given measurements of state transitions.