Prírodou inšpirované algoritmy

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

Späť ku kurzom triedy
Obsah
Úvod
Pravidlá
Stratégie
Evolúcia spolupráce
Tragédia spoločného
Simulácia medzietnickej spolupráce
Reálne prípady
Applety
Linky
O tejto kapitole



Ostatné kapitoly
Freemanove K modely
Umelé imunitné systémy
Biomimicry - Biomimetics
Umelé chémie
Chemické vlny
DNK počítače
Artificial Music
Memetika
Artificial Life Games
Artificial Art
Väzenská dilema


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


Stratégie

Ak sa väzenská dilema hrá iterovane znova a znova, hráč si môže vybrať z viac ako dvoch stratégií. Kým v klasickej jednoťahovej hre možnosť výberu obsahoval len stratégie spolupracuj a zraď, pri iterovanej hre je počet stratégií omnoho širší, lebo hráč si môže ľubovoľne kombinovať spoluprácu a zradu.

a.) náhodná stratégia

Hráč si môže jednoducho hodiť v každom kole mincu. Táto stratégia sa ľahko implementuje, ale veľký zisk neprinesie. Časté nevyprovokované zrady popletú a frustrujú protihráča a motivujú ho k zrade.

b.) vždy spolupracuj

Pri tejto stratégii hráč vždy spolupracuje, nezávisle od voľby protihráča. Táto stratégia sa nazýva aj stratégiou "ukáž druhé líce". Zástancovia tejto stratégie tvrdia, že tým, že hráč demonštruje, že nezradí protihráča, zníži alebo eliminuje jeho obavy z hlupákovej odmeny. Ak je protihráč presvedčený, že ho nezradia, bude viac ochotný spolupracovať. Kľúčovým nedostatkom tejto stratégie je, že ak protihráč naozaj verí tomu, že hráč bude vždy spolupracovať, môže maximalizovať svoj zisk tým, že zneužije hráčovu "láskavosť". V takejto situácii hráč získa hlupákovu odmenu v každom kroku, kým protihráč získa vždy maximálnu odmenu.

c.) vždy podvádzaj

Pri tejto stratégii hráč vždy podvádza, nezávisle od správania sa protihráča. Má dvojaké nevýhody. Po prvé, eliminuje možnosť získania vyššieho spolupracuj-spolupracuj (CC) výnosu, a tak nevyhnutne vedie k zraď-zraď výsledku. Po druhé, táto stratégia je samonapĺňajúce sa proroctvo (self-fulfilling prophecy). Hranie tejto stratégie nevyhnutne núti protihráča na prechod k podobnej stratégii, aby sa chránil pred hlupákovou výplatou. Tým táto stratégia spôsobuje také správanie sa protihráča, aké bolo predpokladané. Myslím si, že môj protihráč je zlomyseľný, preto podvádzam. Môj protihráč uvidí, že so mnou nie sú žarty a bude podvádzať tiež. A ja si môžem povedať : "Veď som to vravel, že je zlomyseľný".

Axelrodove súťaže

Rober Axelrod v roku 1979 zorganizoval súťaž, v rámci ktorej vyzval niekoľko významných vedcov (viacerí už publikovali v oblasti väzenskej dilemy), aby mu poslali tú stratégiu, ktorá podľa nich najlepšie obstojí v iterovnej hre. Stratégie mali vo forme programov odohrať turnaj každý s každým. Víťazom turnaja sa mala stať stratégia, ktorá dosiahla najlepšie skóre. Takýto turnaj simuluje tento applet. Na súťaži sa zúčastnilo 14 stratégií, medzi ktorými boli aj nesmierne zložité, ako aj veľmi jednoduché programy. Ako 15-ta súťažila stratégia, ktorá náhodne vyberala medzi C a D. Víťazom sa stal program známeho sociopsychológa Anatola Rapaporta. Jeho program bol najjednoduchší medzi všetkými. V podstate pozostával z dvoch pravidiel:

  1. V prvom kroku spolupracuj
  2. Následne zvoľ protihráčovu voľbu z predošlého kroku.

Rapaport pomenoval túto stratégiu Tit­for-Tat, čo približne znamená "Oko za oko". Čo je také geniálne v tejto stratégii, že zvíťazila nad všetkými ostatnými stratégiami, medzi ktorými sa objavili aj také skvosty umelej inteligencie, ktoré sa snažili spoznať svojho protihráča rafinovanými metódami?

Axelrod štúdiom súťažiacich programov skúmal ich vlastnosti z psychologického hľadiska. Program pracuje deterministicky, takže izolovanie tendencií správať sa istým spôsobom bolo jednoduchšie a jednoznačnejšie ako u ľudí. Cieľom bolo popísať vlastnosti, ktoré mali úspešné stratégie v prístupných psychologických pojmoch. Identifikoval dve také vlastnosti, ktoré vykazoval každý pomerne úspešný program. Úspešný program by mal byť milý, to znamená, že nemal by sám bezdôvodne zradiť. Táto vlastnosť umožňuje nadviazanie vzájomnej spolupráce (CC). Keď je program odpúšťajúci (forgiving), je ochotný nadviazať spolupracáciu aj po predchádzajúcej zrade protihráča. Skoro každý program, ktorý končil medzi prvou polovičkou, vykazoval tieto dve vlastnosti. Programy končiace medzi poslednými však nemali ani jednu z nich. Víťazná Tit-for-Tat stratégia mala obidve vlastnosti.

V roku 1982 Axelrod vypísal druhú súťaž. Súťažiaci už poznali výsledky prvej súťaže, aj Axelrodove analýzy. Chystal sa zaujímavý zápas, keďže každý vedel, že sa oplatí byť milým a odpúšťať, no práve toto je možné vo väzenskej dileme zneužiť. Ale to tiež všetci vedeli... Na druhú súťaž prišlo 62 programov zo šiestich krajín, od vedcov z najmenej ôsmich vedných disciplín. Anatol Rapaport znovu poslal svoj Tit-for-Tat a znovu zvíťazil ! Množstvo programov, ktoré mal Axelrod možnosť preskúmal sa rozrástol. Zase boli úspešné priateľské a odpúšťajúce programy. Z prvých 15 programov až 14 a pädesiat percent všetkých malo tieto vlastnosti. Axelrod našiel ešte tri také vlastnosti, ktoré prevládali medzi úspešnými programami:

  • prísnosť/tvrdosť - program s touto vlastnosťou "potrestá" protihráča nespoluprácou za jeho nespoluprácu.
  • pružnosť, reaktívnosť - program je schopný reagovať na zmeny chovania protihráča.
  • vypočítateľnosť - vieme, ako program reaguje na rôzne situácie (teda nehrá náhodne)

Stratégia Tit-for-Tat má všetky tieto dôležité vlastnosti. Významnosť spomínaných vlastností však nedokazoval program Tit-for-Tat, ale veľké množstvo úspešných programov s týmito vlastnosťami.

Rapaport však varuje, aby sa stratégia Tit-for-Tat príliš nepreceňovala. Podľa neho Tit-for-Tat napríklad príliš silno potrestá protihráča v prípade, že nespolupracoval. V živote je množstvo takých sociopsychologických situácií, keď sa táto vlastnosť prejaví negatívne. Napríklad po protihráčovej nespolupráci môže spustiť tzv. echo effect.

Kolo 1 2 3 4 5 6
Hráč A C C D C D C
Hráč B C C C D C D

Tento efekt môže byť minimalizovaný napr. použitím zovšeobecnenej verzie stratégie Tit-for-Tat, tzv. 90% Tit-for-Tat. Táto stratégia sa líši od originálu tým, že nespoluprácu protihráča trestá nespoluprácou len s 90%-nou pravdepodobnosťou. Ďalšou nevýhodou tejto stratégie je, že aj veľmi malé množstvo neurčitosti môže zrútiť vzájomnú spoluprácu. Toto samozrejme platí skôr pre reálne podmienky, kde šum môže zahmliť pôvodný zámer hráča.

V súťaži sa objavili aj také programy, ktoré hrali podľa Tit-for-Tat, priebežne však analyzovali správanie sa protihráča a v prípade, že protihráč nereagoval na jeho kroky (napríklad používal náhodnú stratégiu), tak prepli na stratégiu "vždy podvádzaj", lebo oproti nereagujúcemu protihráčovi je to najlepšia stratégia. Aj keď sa zdá, že sa jedná o vylepšenie stratégie Tit-for-Tat, tieto programy nedosiahli dobré výsledky, nie sú totiž ani milé ani vypočitatelné. Dnes už nie je prekvapujúce, že neboli úspešné, ale je čudné, že v hre väzenská dilema rafinovaná inteligencia tohto druhu nevedie k takým dobrým výsledkom, než tých päť vlastností, na ktoré poukázal Axelrod.

Hore
Kontakt: Marek Bundzel