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