Adversarial search je hledání, kde zkoumáme problém, který nastává, když se snažíme plánovat dopředu před světem a ostatní agenti plánují proti nám.
- V předchozích tématech jsme studovali vyhledávací strategie, které jsou spojeny pouze s jediným agentem, jehož cílem je najít řešení, které se často projevuje ve formě sledu akcí.
- Mohou však nastat situace, kdy více než jeden agent hledá řešení ve stejném vyhledávacím prostoru, a tato situace obvykle nastává při hraní her.
- Prostředí s více než jedním agentem se nazývá multiagentní prostředí , ve kterém je každý agent protivníkem jiného agenta a hraje proti sobě. Každý agent musí zvážit akci jiného agenta a vliv této akce na jeho výkon.
- Tak, Vyhledávání, ve kterých se dva nebo více hráčů s protichůdnými cíli snaží prozkoumat stejný prostor pro hledání řešení, se nazývají adversarial searches, často známé jako hry. .
- Hry jsou modelovány jako vyhledávací problém a funkce heuristického hodnocení, a to jsou dva hlavní faktory, které pomáhají modelovat a řešit hry v AI.
Typy her v AI:
Deterministický | Šance se pohybuje | |
---|---|---|
Perfektní informace | Šachy, dáma, jděte, Othello | Vrhcáby, monopol |
Nedokonalé informace | Bitevní lodě, slepé, piškvorky | Most, poker, scrabble, jaderná válka |
Příklad: Backgammon, Monopoly, Poker atd.
Poznámka: V tomto tématu probereme deterministické hry, plně pozorovatelné prostředí, nulový součet a kde každý agent působí alternativně.
Hra s nulovým součtem
- Hry s nulovým součtem jsou hledáním protivníků, které zahrnuje čistou soutěž.
- Ve hře s nulovým součtem je zisk nebo ztráta užitku každého agenta přesně vyvážena ztrátami nebo zisky užitku jiného agenta.
- Jeden hráč hry se snaží maximalizovat jednu hodnotu, zatímco druhý hráč se ji snaží minimalizovat.
- Každý tah jednoho hráče ve hře se nazývá ply.
- Šachy a tic-tac-toe jsou příklady hry s nulovým součtem.
Hra s nulovým součtem: Vestavěné myšlení
Hra s nulovým součtem zahrnovala vložené myšlení, ve kterém se jeden agent nebo hráč snaží přijít na to:
- Co dělat.
- Jak se rozhodnout o přesunu
- Musí myslet i na soupeře
- Soupeř také přemýšlí, co dělat
Každý z hráčů se snaží zjistit odezvu soupeře na jejich akce. To vyžaduje vestavěné myšlení nebo zpětné uvažování k vyřešení herních problémů v AI.
Formalizace problému:
Hru lze definovat jako typ vyhledávání v AI, který může být formalizován z následujících prvků:
Herní strom:
Herní strom je strom, kde uzly stromu jsou stavy hry a okraje stromu jsou pohyby hráčů. Strom hry zahrnuje počáteční stav, funkci akcí a funkci výsledku.
Příklad: strom hry Tic-Tac-Toe:
Následující obrázek ukazuje část herního stromu pro hru tic-tac-toe. Níže jsou uvedeny některé klíčové body hry:
- Hrají dva hráči MAX a MIN.
- Hráči mají alternativní tah a začínají s MAX.
- MAX maximalizuje výsledek stromu hry
- MIN minimalizuje výsledek.
Příklad vysvětlení:
- Z počátečního stavu má MAX 9 možných tahů, protože začíná jako první. MAX místo x a MIN místo o a oba hráči hrají střídavě, dokud nedosáhneme listového uzlu, kde má jeden hráč tři v řadě nebo jsou všechna políčka vyplněna.
- Oba hráči spočítají každý uzel, minimax, hodnotu minimax, což je nejlepší dosažitelná užitečnost proti optimálnímu protivníkovi.
- Předpokládejme, že oba hráči jsou si dobře vědomi piškvorek a hrají tu nejlepší hru. Každý hráč dělá, co může, aby zabránil dalšímu ve výhře. MIN ve hře jedná proti Maxovi.
- Takže ve stromu hry máme vrstvu Max, vrstvu MIN a každá vrstva se nazývá jako Vrstva . Max umístí x, poté MIN položí o, aby zabránil Maxovi ve výhře, a tato hra pokračuje až do koncového uzlu.
- V tomto buď vyhraje MIN, vyhraje MAX, nebo je to remíza. Tento herní strom je celým prostorem pro hledání možností, které MIN a MAX hrají jako piškvorky a střídavě se střídají.
Adversarial Search pro postup minimax tedy funguje následovně:
- Jeho cílem je najít optimální strategii, aby MAX vyhrál hru.
- Sleduje přístup hloubkového vyhledávání.
- Ve stromu hry se optimální listový uzel může objevit v jakékoli hloubce stromu.
- Šířte hodnoty minimax až do stromu, dokud nebude objeven terminálový uzel.
V daném herním stromu lze optimální strategii určit z minimální hodnoty každého uzlu, kterou lze zapsat jako MINIMAX(n). MAX preferuje přechod do stavu maximální hodnoty a MIN preferuje přechod do stavu minimální hodnoty, pak: