Vězení se mění...

Autor: Martin Malý | 4.10.2006 o 1:17 | Karma článku: 11,00 | Prečítané:  5674x

Jak se vyvíjí chování společenství, pokud všichni sledují egoistické cíle? Jak se jaké společenství brání zlu? Funguje samočištění? A konečně odpověď na hlavní otázku: Jak se tedy chovat, pokud chceme být slušní, ale nechceme být za voly?

Článek navazuje na články Komunity a vězení a Útěk z vězení .

Především děkuji člověku, co se podepsal "johno" za inspiraci k nové simulaci a tím i k tomuto článku.

Minule jsme si představili další algoritmy, simulovat si je můžete v "Simulátoru 2 ". Tyto algoritmy tvoří naše startovní pole, tak si je ještě jednou představíme, seřazené podle "míry podrazovosti":

1. Kavka. Algoritmus, který nikdy nepodrazí, jedině když dojde k nějakému šumu, tak je jeho krok vnímán jako podraz. (Beránčí algoritmus)
2. TF2T. Algoritmus který začíná spoluprací a podrazí jen tehdy, když byl dvakrát za sebou podražen.
3. Velký pes. Algoritmus který začne spoluprací. Pokud v minulé hře oba spolupracovali, spolupracuje dál, pokud byl podražen, podrazí. Pokud v minulé hře podrazil a podraz se mu vyplatil (=soupeř spolupracoval), bude dál podrážet. Pokud podráží oba, nabídne spolupráci. (Pragmatický algoritmus)
4. TFT. Algoritmus začne spoluprací a pak opakuje poslední krok soupeře - podrazí za podraz, spolupracuje při spolupráci. (Čistící algoritmus)
5. Dobrý. Algoritmus se rozhoduje náhodně. Spolupracuje, ale v jednom případu ze čtyř podrazí.
6. Malý pes. Chová se stejně jako velký pes, ale začíná podrazem.
7. Špatný. Rozhoduje se náhodně, většinou podrazí, v jednom ze čtyř případů spolupracuje.
8. Podrazák. Vždy podrazí.

Tyto algoritmy tedy spolu zápasí podle principů, které jsem popsal v minulých článcích. Sehrají spolu deset her, prvních devět má 20-30 kol, poslední dorovnává počet kol na 280 (z hlediska pravidel je to jedno, algoritmy nevědí kolik kol která hra má; dorovnání je jen kvůli snazšímu porovnávání her). Po deseti hrách je vyhodnocen zisk jednotlivých hráčů a ten, jehož zisk byl nejnižší, mutuje.

Mutace probíhá dle jednoduchých pravidel: V polovině případů se algoritmus změní tak, že převezme algoritmus nejúspěšnějšího hráče.
V druhé polovině případů se změní o jeden či dva kroky v "posloupnosti algoritmů" směrem k algoritmu výherce, tedy "horším" či "lepším" směrem. Pokud výherce i poražený používají stejný algoritmus, změní se poražený o jeden či dva kroky náhodným směrem. Posun je většinou o jeden krok, v jednom případě ze čtyř o dva.

Mutační algoritmus sleduje tím nejprostším způsobem egoistický cíl, tedy maximalizaci vlastního zisku, a zároveň simuluje jednak naprosté "bezzásadové" změny ("Kašlu na to, budu to dělat jako ten co vyhrál"), ale i povlovné posuny "o kousek", kdy se hráč snaží své chování změnit co nejmíň, aby "neslevil ze zásad", aby "se nezpronevěřil" či aby si "moc nezadal".


Aplikací této jednoduché logiky vznikl dynamický simulátor. Můžete určit složení skupiny a klikáním na tlačítko Hra spouštět další a další generace. Můžete sledovat, jak algoritmy mutují a pomocí listboxů můžete simulovat např. napadení Podrazáky či velké mutace několika jedinců. Můžete také sledovat, jaké jsou zisky jednotlivých algoritmů, kdo kolikrát podrazil, jaké jsou průměrné zisky na 1000 kol, kolikrát jaký algoritmus během 1000 kol podrazí či jaký má který algoritmus z podrazu zisk.

Hrál jsem si s ním několik večerů a dospěl jsem k několika zajímavým zjištěním.

Nejprve jsem zkoušel, nakolik je stabilní homogenní prostředí, tedy takové, kdy všichni hráči používají stejný vzorec chování. Nepřekvapilo, že společenství samých podrazáků je velmi stabilní. Jakoukoli mutaci směrem k "dobru" okamžitě využije a donutí jejího nositele, aby se stal taky podrazákem. Takové společenství dokáže narušit jen několik "čistících algoritmů"

Nepřekvapuje ani to, že společenství čistých kavek není nikterak stabilní. Za čas se v takovém společenství vlivem mutace objeví TF2T či Velcí psi, získají převahu a donutí kavky zmutovat.

TF2T je poměrně stabilní společenství, ale za čas přemutuje do společenství Velkých psů.

Skupina Velkých psů je evolučně úspěšná a tvoří druhou velmi stabilní skupinu. Menší či větší mutace jednoho či dvou členů celkem bez potíží zvládne. Zároveň má mezi všemi algoritmy nejvyšší zisk na krok hry.

TFT je algoritmus velmi zvláštní tím, že má tendenci mutovat "k lepšímu". Společenství není v čase stabilní a mutacemi se dopracuje nakonec na společenství Velkých psů. Spolu s TFT mohou dobře koexistovat TF2T. Ale tato koexistence netrvá dlouho a nakonec se drobnými mutacemi rozšíří Velký pes.

Samí Dobří mohou zmutovat přes TFT na Velké psy. Pokud ovšem některý zmutuje na Špatného, společenství se po několik generací propadá hlouběji a hlouběji a končí jako samí podrazáci.

Malí psi jsou rovněž relativně stabilní a odolní, pokud ovšem mutací nevznikne jeden podrazák. Ten se téměř okamžitě rozšíří a zaplní celé společenství.

Špatní během několika málo generací přejdou v samé Podrazáky.


Z hlediska stability jsou tedy dvě stabilní populace - samí Podrazáci nebo samí Velcí psi. Společenství podrazáků je dostatečně známé i z reality, společenství Velkých psů se vyznačuje tím, že jsou "v jádru dobří", ale pokud jim projde podraz, budou podrážet dál, dokud to pro ně bude výhodné. Proto jsem Velkého psa nazval též "Pragmatickým algoritmem".

Při testování proběhlo několik milionů kol a nakonec vykrystalizovalo pořadí algoritmů podle ziskovosti. Nejziskovější je Velký pes (cca 5000), následován těsně TF2T, pak TFT (oba cca 4500) a s dalším odstupem jsou Kavky (3000). Následuje Malý pes, Podrazák, Dobrý a Špatný. Pořadí podle toho, jak se "vyplatí" podraz, vedou kavky (ovšem hypoteticky, protože ty nikdy nepodrazí a takové zisky mohou mít jen díky neúmyslným podrazům, vznikajícím vlivem rušení a šumů). Po kavkách se s velkým náskokem před jinými vyplácí podraz Velkým psům. Pak zhruba stejně přináší podraz TFTa TF2T, s odstupem následuje Malý pes. Za Malým psem jsou Dobří, Podrazáci a nakonec Špatní - těm se podraz vyplatí ještě míň než Podrazákům... Důsledné podrážení se tedy vyplatí víc než podrážení s občasnou snahou o spolupráci. :)

Následně jsem zkoušel odolnost skupin proti "napadení zlem" - tedy proti objevení "špatných" algoritmů. Zde je už tolik možných kombinací, že popíšu jen několik zajímavostí:

Skupina kavek napadená podrazákem zmutuje na TF2T algoritmy, které dokáží nad podrazáky vyhrát. Následuje několik generací TFT/TF2T společenství a vývoj se ustálí na Velkých psech.

Skupina Velkých psů, napadena jedním, dvěma či třemi podrazáky útok ustojí - zmutuje na TFT algoritmy, které podrazáky vyženou a za čas se vrátí opět na Velké psy. Velcí psi ovšem neustojí útok Malých psů, kteří používají stejný postup jako ti Velcí, ale je na jejich straně výhoda onoho prvního kroku, kdy oni podrazí a Velcí spolupracují. Jsou tedy v takovémto souboji o trochu ziskovější, a to stačí k tomu, aby se rozšířili.

"Psí" algoritmy mají tu výhodu, že pokud nevyhrávají, tak často ani neprohrávají. Mohou tak relativně dobře přežít v cizích společenstvích (s výjimkou samých podrazáků či špatných) a využít toho, že mutují ostatní. Jakmile mutacemi vznikne většina Psů, tak se bleskurychle rozšíří po celé skupině.

TFT algoritmy jsem nazval "čistícími". Jediné dokáží odolat útoku Špatných, Dobrých i Podrazáků, zastavit jejich šíření a konsolidovat skupinu. Pokud opravdu důsledně sledují egoistický cíl "maximálního zisku", zmutují nakonec na pragmatické Velké psy, kteří nejsou tak náchylní k "šumovým" podrazům. Tím se výkon společenství opět dostane na nejvyšší reálné hodnoty.

Zajímavé je, že TFT nedokáže čistit, vyskytne-li se mezi nimi jedna jediná ortodoxní kavka, která odmítá spolupracovat na společném cíli "ochrany společenství". Taková kavka se totiž stane okamžitě nejméně výnosným členem, ale protože odmítá mutovat, tak společenství nic nenutí k tomu, aby se měnilo. Bohužel takový status quo ale není pro zbytek skupiny výhodný - při kombinaci 6 TFT + 2 Podrazáci si TFT udržují zisky na téměř 7000 a nutí podrazáky zmutovat. Když se objeví ortodoxní kavka, tak toto nucení zeslábne, protože zisky podrazáků vzrostou na dvojnásobek a zisky TFT mírně poklesnou. Ortodoxní kavka tak nejenom brání vyčištění společenství tím, že se odmítá změnit, ale zároveň zvyšuje zisky podrazákům a tím zmenšuje tlak na změnu jejich chování.

Lze tedy říct, že samočištění funguje tehdy, pokud všichni důsledně sledují egoistický cíl maximalizace zisku. Sledování tohoto cíle totiž vede ke kooperaci a efektivnímu zničení škodiče. Ortodoxní pacifisté pomáhají paradoxně škůdci přežít a tak svým postojem škodí možná víc. (Paralely jistě najdete sami... Nejsme jako oni, že...)

Skupina podrazáků odolává jakýmkoli samovolným mutacím. Jediný způsob, jak ji proměnit, je nasadit do ní několik TFT. Ty jsou velmi tvrdé a svou drobnou ztrátu z prvního kroku spolupráce s podrazáckým okolím si dokáží vynahradit spoluprací s ostatními TFT. V simulaci leckdy stačilo vsadit mezi podrazáky dva TFT, které dokázaly přežít a díky mutacím "na vítěze" se nakonec pomalu rozšířily a převládly. Vyčistily tak společenství a pomalu se proměnily v efektivnější Velké psy.

Simulátor máte k dispozici, můžete si, pokud vás to baví, simulovat z plna hrdla a sledovat, jak se ty neživé algoritmy chovají docela inteligentně a racionálně... :)

A to i když jsou pravidla velmi prostá a zjednodušená...


Závěr je možná radostnější, než by se z předchozích dílů zdálo:

1. Existuje vzorec chování, které odpovídá Kantovu imperativu (tedy mohou se tak chovat všichni), a společenství, která se jím řídí, jsou stabilní (nepodléhají příliš drobným mutacím a excesům) a jsou odolná (dokáží se vypořádat s napadením příživnickými algoritmy). Takové společenství zároveň zajišťuje maximální možný dlouhodobý zisk pro všechny své členy.

2. Důsledné sledování egoistického cíle (maximálního zisku) nakonec často vede k vytvoření stabilního společenství nejefektivnějších algoritmů a k altruistickému výsledku - tedy nejvyššímu reálnému zisku pro všechny.

3. Absolutní dobro, nenásilí a spolupráce jsou výhodné pouze v nerušených uzavřených společenstvích bez mutací a šumů. V "reálných" společenstvích je výhodnější chování pragmatické, zde naopak ortodoxně mírumilovní představují vysoké riziko pro bezpečí a stabilitu společenství v případě napadení.

4. Zlo nemusí nakonec vždy zvítězit. Může být poraženo. Ovšem nejde to jinak, než být na zlého zlý a na hodného hodný. Nestačí být "jen hodný".


Na závěr miniseriálu bych rád poděkoval diskutujícím a komentátorům za jejich podnětné připomínky, nápady, návrhy a komentáře, byl jsem úrovní diskuse velmi příjemně překvapen.

Předpokládám, že se v budoucnu přihlásím ještě s jedním "vězeňským" článkem a simulátorem, kde nechám bojovat další Vámi navržené algoritmy. Teď děkuji všem čtenářům za pozornost a trpělivost s ne zrovna jednoduchými články a budu se těšit na vaše závěry, úvahy a aplikace.

Příště bych rád zareagoval na Pixyho článek o samočištění... Mám totiž dojem, že přílišná důvěra v skupinové samočistící mechanismy není na místě, protože ani samočistící mechanismy často nepočítají s některými vlastnostmi lidské psychiky...

Páčil sa Vám tento článok? Pridajte si blogera medzi obľúbených a my Vám pošleme email keď napíše ďalší článok
Pridaj k obľúbeným

Hlavné správy

EKONOMIKA

Brusel vyšetruje dotácie pre Jaguar v Nitre. Môžu Briti odísť?

Európskej komisii sa nepozdávajú 130-miliónové dotácie ani súvisiace investície za pol miliardy eur.

KOMENTÁRE

Vydrží to ešte Most alebo padne?

Trpezlivosť voličov nemožno skúšať donekonečna.


Už ste čítali?