Umělá inteligence I. Roman Barták, KTIML. roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak



Podobné dokumenty
P r a V I d l a. C Esk A Pr Av i dla

Cesta kolem světa za 80 dní. Cesta kolem světa pro 2-6 hráčů od 10 let od Michaela Rienecka, Kosmos 2004

SOUTĚŽNÍ ŘÁD. 1. Základní ustanovení. 2. Řízení soutěží. 3. Účastníci soutěže 1.1

c sin Příklad 2 : v trojúhelníku ABC platí : a = 11,6 dm, c = 9 dm, α = Vypočtěte stranu b a zbývající úhly.

1 METODICKÉ POKYNY AD HOC MODUL 2007: Pracovní úrazy a zdravotní problémy související se zaměstnáním

Obsah: Algoritmus Minimax. 7 9 Nedeterministick і hry 7 9 Hry s nep 0 0esn 0 5mi znalostmi

1.7. Mechanické kmitání

1.2.7 Druhá odmocnina

TIP: Pro vložení konce stránky můžete použít klávesovou zkratku CTRL + Enter.

Šipka sa skladá z hrotu, těla, násadky a letky.

Pokud se vám tyto otázky zdají jednoduché a nemáte problém je správně zodpovědět, budete mít velkou šanci v této hře zvítězit.

4. ročník. Zpracovala: Mgr. Zuzana Ryzí, ZŠ Lysice, 1. stupeň

( x ) 2 ( ) Další úlohy s kvadratickými funkcemi. Předpoklady: 2501, 2502

řádově různě rostoucí rostou řádově stejně rychle dvě funkce faktor izomorfismus neorientovaných grafů souvislý graf souvislost komponenta

2.3.6 Vektory - shrnutí

Vážení klienti, Upozorníme i na praktické důsledky nesjednání pravidelného pracoviště při poskytování cestovních náhrad. TaxVision, s.r.o.

MATEMATIKA A BYZNYS. Finanční řízení firmy. Příjmení: Rajská Jméno: Ivana

Etiketa v podnikání a písemném styku. Ing. Zlatko Tvrdoň

Statutární město Most Radniční 1 Most. Úsvit. Projekt partnerské spolupráce při zlepšování situace v sídlišti Chanov

které je třeba si položit před zakoupením levného CAD programu

Okrsková kola ve vybíjené pro hochy a dívky základních škol

PRAVIDLA FOTBALOVÉHO TURNAJE V MALÉ KOPANÉ POCINOVICE OPEN CUP 2015

Tel/fax: IČO:

MONFISH Junior BOAT CUP 2016

Hra Života v jednom řádku APL

Regulovaný vysokonapěťový zdroj 0 až 30 kv

Podpůrný výukový materiál s využitím ICT* Podpůrný výukový materiál reedukační hodiny *

1.3 Druhy a metody měření

Školní kolo soutěže Mladý programátor 2016, kategorie A, B

OHNĚ, OHNIŠTĚ, TÁBOŘIŠTĚ OHNĚ

Osvětlovací modely v počítačové grafice

1.2.5 Reálná čísla I. Předpoklady:

Vyvažování tuhého rotoru v jedné rovině přístrojem Adash Vibrio

Stále ještě váháte s přihlášením? Když už jsme řádně přihlášeni? Jak bude turnaj koncipován?

Měření hustoty kapaliny z periody kmitů zkumavky

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

Algoritmizace a programování

Hry a UI historie. von Neumann, 1944 algoritmy perfektní hry Zuse, Wiener, Shannon, přibližné vyhodnocování

Směrnice k Pravidlům hry ICCF Turnaje jednotlivců a družstev (platné od )

Metody hodnocení rizik

Láska. Láska a odpovědné předávání lidského života. Cíl: Poznání zákonitosti odpovědného předávání lidského života. Obsah:

Předmět: Ročník: Vytvořil: Datum: ŠČERBOVÁ M. PAVELKA V. NOSNÍKY NOSNÍKY

Krok za krokem basket balem

Operace nad celými tabulkami

VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s. Fakulta ekonomických studií katedra řízení podniku. Předmět: ŘÍZENÍ LIDSKÝCH ZDROJŮ (B-RLZ)

Základní škola, Staré Město, okr. Uherské Hradiště, příspěvková organizace. Komenské 1720, Staré Město, Metodika

R O Z S U D E K J M É N E M R E P U B L I K Y

Počet hráčů: 2-4 Věk: od 10 let Hrací doba: cca 45 minut. byliny = 3 body (5/5) lebka (0/10)

STUDNY a jejich právní náležitosti.

Modul Řízení objednávek.

Trubkový dveřní zavírač model RTS neviditelný dveřní zavírač

NÁVRHOVÝ PROGRAM VÝMĚNÍKŮ TEPLA FIRMY SECESPOL CAIRO PŘÍRUČKA UŽIVATELE

Kreativní malování. s dětmi. Dana Cejpková

Elektrická měření 4: 4/ Osciloskop (blokové schéma, činnost bloků, zobrazení průběhu na stínítku )

Krize ve vztahu. Udělejte si audit partnerského vztahu

TVORBA MULTIMEDIÁLNÍCH PREZENTACÍ. Mgr. Jan Straka

Tisíce uživatelů v bance pracují lépe díky využití okamžitých informací o stavu kritických systémů

Příručka pro zadavatele E-ZAK krok za krokem

Návrh rozměrů plošného základu

MONTÁŽNÍ NÁVOD LIC VÍKO ŠACHTY SE ZAJIŠTĚNÍM

NUR - Interaktivní panel, D1

MANUÁL PRO HODNOCENÍ OTEVŘENÝCH TESTOVÝCH ÚLOH MATEMATIKA SADA B (TEST PRO PŘIJÍMACÍ ZKOUŠKY DO 8LETÉHO GYMNÁZIA)

Jméno: Zkouška. 1. stupeň

Zažijte opravdové vzrušení s tenisovou karetní hrou!

HERNÍ ŘÁD SMS soutěže Vyhraj vstupenky na Bayern Mnichov

Igems R9 je dodáván s novým USB klíčem. Pro nový klíč již není vyžadována instalace softwarových ovladačů. R9 však stále podporuje staré typy klíčů.

Herní plán KING OF DIAMONDS

Marketing. Modul 3 Zásady marketingu

Používání klávesnice. Zobrazit vše. V tomto článku

Vyhodnocení dotazníkového průzkumu v obci Kokory

Souhrn zjištění Audit vzdělávacího systému v ČR: Rizika a příležitosti (2015)

Studijní opora. Název předmětu: Organizační chování. Zpracoval: Mgr. Jaromír Ďuriš

Matematický KLOKAN kategorie Benjamín

NÁSTRAHY INTERNETU PRO DĚTSKÉ UŽIVATELE

Závazná pravidla pro MěÚ a Bytovou komisi Rady města Pelhřimov

Zaměstnání a podnikání, hrubá a čistá mzda.

primární tlačítko (obvykle levé). Klepnutí se nejčastěji používá k výběru (označení) položky nebo k otevření nabídky.

Pravidla malého fotbalu Pravidlo 1. Hrací plocha

URČENÉ PODMÍNKY PRO VEŘEJNOU VNITROSTÁTNÍ SILNIČNÍ LINKOVOU OSOBNÍ DOPRAVU

mísy na koření akční pole prostor pro karty koření 1 mlýnek na pepř

4 DVOJMATICOVÉ HRY. Strategie Stiskni páku Sed u koryta. Stiskni páku (8, 2) (5, 3) Sed u koryta (10, 2) (0, 0)

Výroba Hofmanových bočních louček pomocí hoblovky. Napsal uživatel Milan Čáp Čtvrtek, 30 Duben :47

využívá svých schopností

Pozvánka na valnou hromadu plenární zasedání. občanského sdružení s názvem Sdružení rodičů při III. ZŠ Zábřeh na Moravě

VYUŽITÍ NEURONOVÝCH SÍTÍ PROSTŘEDÍ MATLAB K PREDIKCI HODNOT NÁKLADŮ PRO ELEKTRICKÉ OBLOUKOVÉ PECE

4.5.1 Magnety, magnetické pole

PRAKTIKUM... Oddělení fyzikálních praktik při Kabinetu výuky obecné fyziky MFF UK. Odevzdal dne: Seznam použité literatury 0 1. Celkem max.

ZLATO ELFŮ. od Alana R. Moona

ČÁST II. ZÁKLADNÍ PODMÍNKY

I nohy si chtějí hrát! (cvičení nejen pro děti)

Stanovy horolezeckého oddílu "ROT SPORT"

3. Polynomy Verze 338.

Vizualizace v ArConu (1.část) světla a stíny

Doplňující informace. A. Komentář k položkám Podklad pro stanovení záloh příspěvku vlastníka (nájemného) a na služby pro období 01/ /2015.

Kótování na strojnických výkresech 1.část

RINGO. Průpravná cvičení. Na osla

Informace o zkoušce k získání profesního osvědčení učitele výuky a výcviku řízení motorových vozidel

NÁZEV ŠKOLY: Střední odborné učiliště, Domažlice, Prokopa Velikého 640. V/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Dětské hřiště v obci Rantířov

VY_32_INOVACE_OV_1AT_01_BP_NA_ELEKTRO_PRACOVISTI. Střední odborná škola a Střední odborné učiliště, Dubno

Transkript:

Umělá inteligence I Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Dnes Dosud popisované algoritmy nepředpokládaly přítomnost dalších agentů v prostředí, zvlášť ne agentů, kteří hrají proti nám. Dnes se podíváme na hraní her, jako na příklad kompetitivního multi-agentního prostředí hry dvou hráčů s nulovým součtem a úplnou informací (piškvorky, šachy) optimální (dokonalé) strategie (minimax, alfa-beta) nedokonalé strategie ( uříznuté prohledávání) hry s náhodným vstupem (vrhcáby backgammon)

Hry Matematická teorie her (oblast ekonomie) vidí multi-agentní prostředí jako hru, kde má každý agent důležitý vliv na ostatní agenty. je-li agentů moc, hovoříme o ekonomice (spíše než o hře) Umělá inteligence se zpravidla omezuje na hry dvou hráčů, kteří se střídají a mají nulový součet (zisk jednoho znamená ztrátu druhého). deterministické hry vs. náhoda úplná vs. částečná informace Proč hry a UI? Protože hry jsou těžké dobře reprezentovatelné (a agenti mají málo akcí) zábavné Máme dva hráče MAX a MIN Základní nastavení MAX začíná a potom se hráči střídají dokud hra neskončí hledáme strategii pro hráče MAX Opět se na hraní her podíváme jako na prohledávání: počáteční stav: stav desky a kdo je na tahu funkce následníka: seznam dvojic (tah, stav) počáteční stav a funkce následníka určují strom hry test ukončení: kdy hra končí (cílový stav) funkce zisku (utility): numerické ohodnocení koncového stavu (výhra, remíza, prohra je +1, 0, -1) vysoké hodnoty jsou dobré pro MAXe, nízké naopak pro MINa

tic-tac-toe Strom hry piškvorky Dva hráči střídavě kreslí křížky a kolečka dokud jeden nemá řadu tří svých symbolů nebo je vše obsazené. Všechny možné tahy pro hráče kreslícího křížek. Teprve u cílových stavů se ohodnotí výsledek (funkce zisku). Optimáln lní strategie Při klasickém prohledávání hledáme nějakou (nejkratší) cestu do cíle. U her také hledáme cestu do koncového stavu s největším ziskem, ale brání nám protivník MIN (určuje každý druhý krok na cestě), který hledá přesně opačné koncové stavy. MAX proto musí najít podmíněnou strategii, která určuje počáteční tah tah jako odpověď na každý tah MINa optimální strategie dá takový výsledek jako libovolná jiná strategie, která je hrána proti neomylnému protivníkovi

Hodnota minimax Optimální strategii budeme hledat pomocí hodnoty minimax vypočtené v každém uzlu stromu hry takto: MINIMAX-VALUE(n)= UTILITY(n) max s successors(n) MINIMAX-VALUE(s) min s successors(n) MINIMAX-VALUE(s) pokud je n cílový pokud v n hraje MAX pokud v n hraje MIN MAX maximalizuje nejhorší možný výstup. Předpokládáme, že MIN vybere pro sebe nejlepší tah. Začneme u cílových stavů s funkcí zisku. Algoritmus minimax Algoritmus předpokládá, že protihráč hraje optimálně. Pokud ne, je zisk ještě větší. Časová složitost O(b m ) Prostorová složitost O(bm) (b je počet akcí na uzel, m je délka hry)

Minimax a více v hráčů Pro hru více hráčů použijeme vektor hodnot a každý hráč (na svém tahu) optimalizuje svoji položku. Hráč vybírá pro sebe nejlepší možný vektor dle své položky. Hry více hráčů přinášejí další možnosti jako je třeba vytváření aliancí. Aliance se zdají být přirozeným důsledkem optimálních strategií každého hráče. Jsou-li A a B slabí a C silný, je pro A i B zpravidla optimální neútočit proti sobě, ale zaměřit se na C. Je-li potom C oslaben, aliance se často rozpadá. Lepší minimax? Algoritmus minimax vždy najde optimální strategii, ale musí prozkoumat celý strom hry (všechny možné partie). Nešlo by dosáhnout stejného výsledku rychleji? ANO! Nemusíme prozkoumávat všechny uzly, pokud jsou špatné. Tzv. α-β ořezávání eliminuje podstromy, kam se při hraní nedostaneme, protože tam nevede optimální strategie. = max(min(3,12,8),min(2,x,y),min(14,5,2)) = max(3,min(2,x,y),2) = max(3,z,2), kde z 2 = 3 x y MINIMAX hodnoty kořene nezávisí na hodnotách x a y, a proto není potřeba tyto uzly (a případné podstromy) prozkoumávat.

Máme první dolní odhad MINIMAX hodnoty kořene Ohodnocování MIN uzlu ukončíme ve chvíli, kdy dá horší (menší) MINIMAX hodnotu α-β ořezávání příklad U třetího MIN uzlu pořád můžeme najít lepší řešení U MIN uzlu pořád ještě můžeme najít lepší řešení a to v rozsahu 3,5. Tak to nevyšlo, optimum bylo 3. Pokud bychom poslední blok prozkoumávali v pořadí 2,5,12, stačilo by ohodnotit 2. Algoritmus α-β

Proč α-β? α je hodnota nejlepší volby (tj. ta největší), kterou jsme dosud nalezli pro hráče MAX pokud α není horší (není menší) než v, nebude MAX nikde hrát směrem k v, proto není potřeba strom pod v prozkoumávat β je hodnota nejlepší volby (tj. ta nejmenší), kterou jsme dosud nalezli pro hráče MIN podobně můžeme odříznout podstromy hráče MIN Vlastnosti: Oříznutím nepřijdeme o optimální řešení. Při perfektním uspořádání srazíme časovou složitost na O(b m/2 ), což dává větvící faktor b (minimax má b), takže lze prozkoumat uzly do dvojnásobné hlouby. Nedokonalé strategie Metody minimax i α-β musí prohledat strom hry až do listů pro získání dokonalé strategie. Není praktické při větší hloubce (hloubka = počet tahů pro dohrání hry). Můžeme jednoduše prohledávání větve ukončit dříve a použít heuristický odhad hodnoty MINIMAX. negarantuje nalezení optimální strategie, ale dokončí prohledávání v požadovaném čase Realizace: test ukončení test přerušení (cutoff) funkce zisku heuristická evaluační funkce EVAL

Evaluační funkce Poskytuje odhad zisku v daném podstromě (podobně jako funkce h v prohledávání). Kvalita výsledného algoritmu silně závisí na kvalitě heuristické evaluační funkce. Vlastnosti: koncové uzly musí uspořádat stejně jako funkce zisku výpočet nesmí trvat moc dlouho pro nekoncové uzly by měla být silně svázaná se skutečnou šancí vyhrát šance místo jistoty je zde z výpočtových důvodů (není čas prozkoumat vše) Jak takovou funkci ale najít? Očekávaná hodnota Evaluační funkce na základě vybraných vlastností, které umíme rychle rozpoznat, roztřídíme stavy do kategorií kategorii ohodnotíme podle podílu vítězných a prohrávajících stavů EVAL = (0.72 +1) + (0.20-1) + (0.08 0) = 0.52 Materiální hodnota odhadneme numerický příspěvek každé vlastnosti šachy: pěšák = 1, střelec = kůň = 3, věž = 5, královna = 9 tyto příspěvky zkombinujeme (např. vážený součet) EVAL(s) = w 1 f 1 (s) + w 2 f 2 (s) + + w n f n (s) Součet předpokládá nezávislost vlastností! Možno použít nelineární kombinace. příklady Bílý na tahu Černý vyhraje

Problémy s ořezo ezáním Situace se dramaticky změní uvažováním dalšího tahu za limitní hloubkou. Pro obě šachovnice je stejná materiální hodnota (lepší pro černou), ale vpravo vítězí bílý sebráním královny bez náhrady. uklidnění (quiescent): pokud zrovna protivník může brát, potom je odhad nestabilní a je dobré prozkoumat ještě pár tahů dopředu (například jen vybrané tahy) Efekt horizontu špatnou situaci tak odsunout až za horizont, tj. není rozpoznána, ale stejně nastane. Materiálně má více černý, ale pokud si bílý udělá z pěšáka královnu, tak vyhraje bílý. Černý může opakovaně dávat věží šach, takže několik tahů to nevypadá tak špatně. Možná vylepšen ení Singulární prodloužení prozkoumáme sekvenci tahů, které jsou v dané pozici jasně lepší než ostatní rychlý způsob jak prozkoumat oblast za limitní hloubkou (uklidnění je speciální případ) Dopředné prořezání některé tahy v dané pozici nejsou vůbec uvažovány (lidský přístup) nebezpečné, protože může minout optimální strategii bezpečné, pokud jsou například tahy symetrické Transpoziční tabulky podobně jako u pohledávání je možné si pamatovat jednou ohodnocené stavy, protože se do nich můžeme dostat jinou posloupností tahů

Náhoda a hry Reálný svět často obsahuje nepředvídatelné vnější události, které vedou k neočekávaným situacím. Hry simulují nepředvídatelnost zahrnutím prvku náhodnosti, jako je třeba hození kostkou. Vrhcáby (backgammon) cílem je přesunout vlastní kameny z počáteční pozice do koncové vítězí ten, kdo to udělá první hod kostkami určí, jaké tahy jsou v dané situaci povolené vzdálenost skoku Bílý může udělat čtyři legální tahy: (5-10,5-11), (5-11,19-24), (5-10,10-16), (5-11,11-16) Hry s náhodoun Do stromu hry s MAX a MIN uzly přidáme uzly náhody, kde větve popisují všechny možné výsledky hodu kostkou. 36 výsledků pro dvě kostky, 21 po odstranění symetrií (5-6 a 6-5) šance na double je 1/36, ostatní výsledky 1/18 Uzly náhody jsou vloženy do každé vrstvy resp. všude, kde je tah ovlivněn náhodou. V této vrstvě hází MAX. Místo MINIMAX hodnoty počítáme očekávanou hodnotu (dle rozložení šancí): EXPECTIMINIMAX-VALUE(n)= UTILITY(n) pokud je n cílový max s successors(n) MINIMAX-VALUE(s) pokud v n hraje MAX min s successors(n) MINIMAX-VALUE(s) pokud v n hraje MIN s successors(n) P(s). EXPECTIMINIMAX(s) pokud je n uzel náhody

Pozor na evaluační funkci (při cutoff) roli nehraje jen pořadí uzlů, ale i absolutní hodnoty měly by být lineární transformací očekávaného zisku v uzlu Hry s náhodoun diskuse Vlevo vychází lépe A 1 a vpravo A 2, přestože evaluační hodnoty uspořádají listy stejně. Časová složitost O(b m n m ), kde je n počet různých náhodných výsledků není realistické dostat se do větší hloubky, zvlášť pro větší náhodné větvení Použití ořezání à la α-β můžeme ořezat i u uzlů náhody, pokud máme omezenou funkci zisku pro výpočet očekávané hodnoty použijeme meze tam, kde hodnotu ještě nemáme Karty Na první pohled vypadají karty jako hra s náhodou, ale kostky jsou zde vrženy hned na začátku! Zajímavé na kartách je to, že (někdy) nevidíme všechny karty protihráče (tj. máme částečnou informaci). Příklad: karetní hra větší bere s otevřenými kartami Situace 1: MAX: 6 6 9 8 MIN: 4 2 10 5 1. MAX dá 9, MIN potvrdí barvu 10 vítěz MIN 2. MIN dá 2, MAX dá 6 vítěz MIN 3. MAX dá 6, MIN potvrdí barvu 4 vítěz MAX 4. MIN dá 5, MAX potvrdí barvu 8 vítěz MAX 9 je pro MAXe optimální první volba Situace 2: MAX: 6 6 9 8 MIN: 4 2 10 5 symetrický případ, 9 je opět pro MAXe optimální první volba Situace 3: MIN skryl první kartu ( 4 nebo 4), jaká je optimální první volba pro MAX? Nezávisle na 4 nebo 4 byl v předchozích situacích optimální první tah 9, tedy i teď je 9 optimální první tah. Opravdu?

Neúpln plná informace Příklad: cesta k bohatství (aneb karty jinak) Situace 1: Cesta A vede k hromadě zlata a cesta B vede na rozcestí. Vydejte se doleva a narazíte na mohylu drahokamů, ale vydejte se doprava a přejede Vás autobus. Kam půjdete (když drahokamy jsou cennější než zlato)? B a doleva Situace 2: Cesta A vede k hromadě zlata a cesta B vede na rozcestí. Vydejte se doprava a narazíte na mohylu drahokamů, ale vydejte se doleva a přejede Vás autobus. Kam půjdete? B a doprava Situace 3: Cesta A vede k hromadě zlata a cesta B vede na rozcestí. Vydejte se správně a narazíte na mohylu drahokamů, ale vydejte se špatně a přejede Vás autobus. Kam půjdete? rozumný člověk (ten kdo neriskuje ;-) jde A To je přesně stejný případ jako u příkladu s kartami. Na rozcestí B neznáme, která ze situací 1 a 2 nastává, stejně jako u karet nakonec také nevíme, zda MIN drží 4 nebo 4, takže je 50% šance neúspěchu. Poučení: Je potřeba uvažovat informaci, jakou budeme mít v každém stavu hry (chyba volby 9 je v tom, že MAX uvažoval jakoby v každém kroku viděl všechny karty). Šachy Hry jak si stojí UI? 1997 superpočítač Deep Blue poráží Kasparova 3.5 2.5 2002 běžné PC (program FRITZ) remízuje s Kramnikem Dáma Go 1994 program Chinook mistrem světa 29. 4. 2007 vyřešeno optimální řešení je remíza větvící faktor 361, což omezuje současné metody průměrný amatérský hráč je lepší než počítač Bridge 2000 program GIB dvanáctý na mistrovství světa programy Jack a Wbridge5 hrají na úrovni nejlepších hráčů