Universal Framework for Agent based Models - 4 phases
(1) Initialization (2) Experience(3) Training(4) Application
In the first phase, Initialization, the important features of the agents and their environment need to be defined. Agents need some kind of input that can be both qualitative or quantitative. In the simplest case this is sensory input or general knowledge, but also other inputs that influence decision making are thinkable, like memory or individual preferences. One also needs to define the decision an agent needs to make in each time step. Most generally this will be the choice between several possible actions. Each agent also needs a target or a goal, mathematically expressed as a score or utility function that the agent wants to maximize. For simple economic systems, profit is a score that can easily be quantified and used as a target, but many other goals can be used, possibly including fairness [45,46] and social preferences [47,48]. Depending on the system, completely different properties can be used as goals (e.g. minimization of travel time for traffic systems) and they could be different for each agent. Once the system, the agents, the input for the agents, the decision and the goal of each agent is defined, the Initialization phase is finished. Note, that defining a utility function is in most cases easier than finding a rule set that leads to optimizing this function. Think about a game of chess: The utility function is easy to define (1 for a win, 0 otherwise), but finding a set of rules that gets the position of all pieces as input and a realistic move (probably even related to player skill) is nearly impossible. In that sense, the Initialization phase is relatively simple, when compared to traditional agent-based models.