Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Prehľad
SimpleModel
Parametre
Pomenovania
Metódy a premenné



Ostatné kapitoly
Swarm
RePast
LEM
SDML
Eos
DDLab


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


Parametre

Pokiaľ metódy setup(), buildModel() a step() sú potrebné na vytvorenie simulácie, simulácia stále nie je veľmi zaujímavá. Nemáme možnosť ľahko meniť počiatočné podmienky. Potrebujeme poskytnúť nejaké parametre nášho modelu.

Parametre modelu sú definované prístupovými metódami. Názvy týchto metód začínajú get a set. Napríklad parameter p1Strategy môže mať prístupové metódy:



import uchicago.src.sim.engine.SimpleModel; public class MyModel extends SimpleModel { public static final int TIT_FOR_TAT = 0; public static final int ALWAYS_DEFECT = 1; private int p1Strategy = TIT_FOR_TAT; private int p2Strategy = ALWAYS_DEFECT; ... public void setP1Strategy(int val) { p1Strategy = val; } public int getP1Strategy() { return p1Strategy; } public void setup() { // rovnaké ako vyššie } public void buildModel() { // rovnaké ako vyššie } public void step() { int size = agentList.size(); for (int i = 0; i < size; i++) { Player p = (Player)agentList.get(i); p.play(); } } }

Za meno parametra sa považuje meno metódy bez predpony get/set; takže v našom prípade je meno parametra P1Strategy. Poslednou možnosťou týkajúcou sa vytvárania parametrov je nechať RePast postarať sa o nich. Dá sa to urobiť zahrnutím mena parametra do poľa reťazcov parametrov. Môže to byť urobené v konštruktore nášho modelu. Napríklad:

import uchicago.src.sim.engine.SimpleModel; public class MyModel extends SimpleModel { ... publicMyModel() { params = new String[] {"P1Strategy"}; } ... }

Premenná params je poskytnutá triedou SimpleModel. Je to pole obsahujúce mená našich parametrov.

Keď už raz bol vytvorený parameter pomocou prístupových metód a jeho meno uložené v poli params, bude tento parameter zobrazený v paneli parametrov spustenej simulácie. Hodnota tohto parametra je čokoľvek, čo je vrátené get metódou tohto parametra. Parameter je nastavovaný vložením novej hodnoty do textového poľa. Zmena sa vykoná pri stlačení klávesy enter alebo pri opustení textového poľa. Novovložená hodnota sa stane argumentom prístupovej set metódy parametra. Na tomto mieste je dôležité poznamenať, že týmto mechanizmom nie je nikdy pristupované priamo k premennej uchovávajúcej parameter (v našom prípade k premennej p1Strategy).

Hore
Kontakt: Marek Bundzel