Research Article

Stabilization Methods for a Multiagent System with Complex Behaviours

Pseudocode 3

Hybrid model stabilization.
procedure HybridModelStabilization
input:  step: current simulation step, agents: the list of agents; maxDifference: a threshold for social model outcome difference;
   minStepsToChange: the minimum number of simulation steps between changes; eps: a very small number;
   lastChange: a list with the last simulation step when a change was made to the internal model of an agent;
   noChanges: the number of changes made to the system so far
output: updated noChanges
begin
for each agent in agents do
difference = modelDifference(, step) − modelDifference(, step − 1)
if difference < maxDifference and  steplastChange() > minStepsToChange then
a.SocialModels(a.FirstChoice).Outcome = a.SocialModels(a.SecondChoice).Outcome − eps
 lastChange() = step
 noChanges = noChanges + 1
end if
end for
return  noChanges
end procedure