zurück zum Inhalt

Parameter

Initialisierung:

Die Anzahl der Felder des Torus in die Breite und Höhe (Integer 0 < x)

World.fieldsX=10World.fieldsY=10

Soviele Agenten werden zu Beginn plaziert. (Integer)

AgentInit.number = 5

Soviel Nahrung erhält jeder einzelne Agent zu Beginn. (Float)

AgentInit.food = 25

Breite und Höhe (in Feldern) für das Gebiet, in dem sich die Anfangspopulation befindet. Ein Wert von 0 bedeutet, dass sich die Anfangspopulation über das ganze Feld ausdehnen kann. (Integer 0 <= x)

AgentInit.width = 0

AgentInit.height = 0

Initialisierung der Nahrung auf den Feldern:

Der Prozentsatz an fruchtbaren Feldern (Float 0 £ x £ 1)

FieldsInit.fertilePercentage = 0.25

Das Intervall, aus dem die Werte für den Pflanzenbewuchs der einzelnen fruchtbaren Felder zufällig gegriffen wird. (Integer 0 < min < max < GF.max (siehe oben))

FieldsInit.minFood = 0

FieldsInit.maxFood = 20

Modell allg.:

Gibt an, ob gestorbene Agenten komplett aus dem System entfernt werden oder nicht (Boolean)

World.funeralService = true

Im Abstand von soundsoviel Runden wird der Simulationsstand automatisch gespeichert. Abgeschaltet wird diese Funktion durch einen Wert von 0. (Integer 0 £ x)

World.autoSaveInterval = 100

Falls gewünscht kann hiermit der Ablauf der Simulation gebremst werden. Die Simulation legt soviel Millisekunden Pause zwischnen zwei Runden ein. (Integer)

World.slowDown = 0

Vergleichswert, der den Agenten die Bewertung der Felder ermöglicht. Sollte einem durchschnittlichen Feldbewuchs entsprechen. (Float)

World.averageFoodOnField = 50f

Agenten:

Schaltet die Hierarchiebildung komplett an oder ab. (Boolean)

Agent.enableHierarchy = true

Vergleichswert, der einem potentiellen Koordinator die Abschätzung des "Marktes" ermöglicht. Hat ein Koordinator soviele Untergebene, sorgt dies bei ihm für eine Zufriedenheit bei Einfluss von 0.5 (Integer)

Agent.averageNumOfSubs = 5

Das Maximum, das ein Agent an Nachwuchsagenten in die Welt setzen kann. Ein Wert von

-1 bedeutet keine Beschränkung. (Integer -1 £ x)

Agent.maxNumOfChildren = 10

Hiermit kann man die Möglichkeit sich zu vermehren auf die unmittelbare Nachbarschaft begrenzen. (Boolean)

Agent.breedRestrictedToNeighbourhood = false

Diesen Anteil der aktuell gesammelten Nahrung muss ein koordinierter Agent an seinen Koordinator abgeben. (Float 0 £ x £ 1)

Agent.coordinatorContribution = 0.1f

Vergleichswert, der den Agenten hilft, den eigenen Reichtum (Nahrungsvorrat) zu beurteilen.

Agent.averageWealth = 75f

Prozentualer Abzug um bei der Abschätzung für den Beginn einer Koordinatorenrolle den erhöhten Grundumsatz auf Wohlstand anzurechnen. (Float; 0 £ x £ 1)

Agent.coordinatorMalus = 0.1f

Beeinflusst für die Abschätzung zum Beenden der Koordinatorenrolle die Stärke der Berücksichtigung des Verlustes der Untergebenen auf Überleben, Wohlstand und Neugier (Float 0 £ x)

Agent.endCoordinatingMalus = 0.5f

Beeinflusst die Stärke, mit der bei der Abschätzung für den Wechsel in die Koordinatorenrolle Überleben, Wohlstand und Neugier aufgewertet wird. (Float 0 £ x)

Agent.coordinatorBonusStrength = 0.5f

Hiermit kann beeinflusst werden, wie sehr die Bewertung eines Koordinators in die Überlegungen eines potentiellen Untergeordneten einfliesst. (Float)

Agent.subordinationCoordinatorsValueInfluence = 1

Hier wird eingestellt, wie die Bewertung des aktuellen Koordinators den Untergebenen beeinflusst die Unterordnung zu beenden. (Float)

Agent.unsubordinationCoordinatorsValueInfluence = 1

Dieser Faktor senkt die Befriedigung von breed in jeder Runde (Float 0 < x < 1)

Agent.birthRecreationFactor = 0.95f

Um diesen Faktor erhöht sich der Grundumsatz von Koordinatoren (Float 1 £ x)

Agent.coordinatorsFoodPRFactor = 2f

Schonzeit (in Runden) für frischgebackene Koordinatoren oder Untergebene (Integer 0 < x)

Agent.probationTime = 25

Hilft bei der Berechnung von Überleben; wenn das Überleben für soviele Runden gesichert ist, ist der Agent zufrieden (Integer)

Agent.roundsToSurvive = 20

Die folgenden Parameter können mutieren, daher sind zu dem Defaultwert noch drei andere nötig, die sozusagen die biologischen Grenzen für den Parameter festlegen und die Schwankungsstärke der einzelnen Mutation bestimmen. Für den Datentyp bzw. Wertebereich gilt für alle folgenden Parameter:

- alle Werte sind Float-Werte (manche werden intern in Integer umgewandelt)

- min < default < max

- 0 £ mutable £ 1

- mutable = 0 schaltet die Mutation für diesen Parameter ab

Weiter Informationen zum Thema Mutation siehe Diplomarbeit Abschnitt 2.3.7.

Der Grundumsatz eines Agenten.

Agent.eatFoodPR.default = 2f

Agent.eatFoodPR.min = 1f

Agent.eatFoodPR.max = 3f

Agent.eatFoodPR.mutable = 0f

Das Alter, ab dem die Agenten sich vermehren können.

Agent.pubertyAge.default = 10f

Agent.pubertyAge.min = 5f

Agent.pubertyAge.max = 30f

Agent.pubertyAge.mutable = 0f

Das Maximum an Nahrung, das ein Agent in einer Runde sammelt.

Agent.gatherAmount.default = 50f

Agent.gatherAmount.min = 10f

Agent.gatherAmount.max = 100f

Agent.gatherAmount.mutable = 0f

Die Nahrungsmenge, die ein Agent auf einem Feld unangetastet lässt.

Agent.gatherRest.default = 0f

Agent.gatherRest.min = 0f

Agent.gatherRest.max = 10f

Agent.gatherRest.mutable = 0f

Soviel Nahrung übergibt ein Agent an seinen Nachwuchs.

Agent.childFood.default = 50f

Agent.childFood.min = 10f

Agent.childFood.max = 100f

Agent.childFood.mutable = 0f

Die Anzahl an Runden, die ein Agent Wissen in seinem Gedächtnis behält.

Agent.memoryMaxAge.default = 40f

Agent.memoryMaxAge.min = 20f

Agent.memoryMaxAge.max = 50f

Agent.memoryMaxAge.mutable = 0f

Die Sichtweite, in der der Agent Informationen über umliegende Felder wahrnehmen kann.

Agent.viewingRange.default = 4f

Agent.viewingRange.min = 2f

Agent.viewingRange.max = 5f

Agent.viewingRange.mutable = 0f

Bei der Bewertung der Nachbarfelder wird die Umwelt bis zu dieser Entfernung in die Überlegung miteinbezogen.

Agent.planningRange.default = 5f

Agent.planningRange.min = 4f

Agent.planningRange.max = 10f

Agent.planningRange.mutable = 0f

Bedürfnisgewichtung:

Die folgenden fünf Parameter gewichten die einzelnen Bedürfnisse untereinander. Es ist erforderlich, dass die Defaultwerte zusammen eins ergeben.

Agent.survivalWeight.default = 0.5f

Agent.survivalWeight.min = 0f

Agent.survivalWeight.max = 1f

Agent.survivalWeight.mutable = 0.1f

Agent.wealthWeight.default = 0.1f

Agent.wealthWeight.min = 0f

Agent.wealthWeight.max = 1f

Agent.wealthWeight.mutable = 0.1f

Agent.curiosityWeight.default = 0.1f

Agent.curiosityWeight.min = 0f

Agent.curiosityWeight.max = 1f

Agent.curiosityWeight.mutable = 0.1f

Agent.breedingWeight.default = 0.1f

Agent.breedingWeight.min = 0f

Agent.breedingWeight.max = 1f

Agent.breedingWeight.mutable = 0.1f

Agent.influenceWeight.default = 0.2f

Agent.influenceWeight.min = 0f

Agent.influenceWeight.max = 1f

Agent.influenceWeight.mutable = 0.1f

Lebenserwartung der Agenten:

Ist dieser Wert true, dann sterben die Agenten an Altersschwäche, bei false können sie - entsprechende Nahrungsversorgung vorausgesetzt - ewig leben. (Boolean)

Agent.lifeExpectancy = false

Die untere und obere Grenze des Intervalls (in Runden), innerhalb dessen die Agenten sterben. (Integer 0 < min < max)

Agent.lifeExpectancyMin = 50

Agent.lifeExpectancyMax = 100

Pflanzenwachstum (GrowFunction):

Ab diesem Wert findet Wachstum statt. (Float 0 £ x)

GF.min = 0f

Die Pflanzen wachsen bis maximal zu diesem Wert. (Float 0 £ x)

GF.max = 20f

Dies ist der Zuwachs, der pro Runde und pro Feld hinzukommt. (Float 0 £ x)

GF.inc = 1f

Samenflug:

Die Wahrscheinlichkeit, mit der ein Nahrungsfeld etwas an ein Nachbarfeld abgibt

Spread.probability = 0

Der Anteil an Nahrung, der (abzüglich Minimum) abgegeben wird. (Float 0 £ x £ 1)

Spread.percentage = 0.1

Layout:

Die Breite und Höhe des Hauptfensters in Pixeln (Integer 0 < x)

WorldView.width=400WorldView.height=468

Die Breite und Höhe eines MemoryMonitor-Fensters in Pixeln (Integer 0 < x)

MemoryMonitor.width = 180MemoryMonitor.height = 180

Zu guter letzt: die Initialisierung für den Pseudozufallszahlengenerator. Bei einem Wert von 0 wird die Systemzeit zur Initialisierung benutzt, bei allen anderen Werten sorgen identische Werte für identische Simulationsläufe. (Integer)

Random.seed = 1

zurück zum Inhalt