Problémy opísané ako hra

Slides:



Advertisements
Podobné prezentace
Sčítanie a odčítanie výrazov
Advertisements

ODBYT registračné pokladnice: kontrola stavu hotovosti
SPRÁVNE SEDENIE A DRŽANIE TELA NA VOZÍKU Mária Kořínková
Regulácia napätia alternátora
Pojmy súvisiace s podnikom a podnikaním
STAVEBNÝ DENNÍK V zmysle Stavebného zákona č. 50/1976 Zb. v znení neskorších predpisov - §46d.
SYSTÉMY SIEŤOVÉHO PLÁNOVANIA Metóda CPM
Tolerancie rozmerov Kód ITMS projektu:
Zápis do prvého ročníka v ZŠ s MŠ Jána Amosa Komenského, Hubeného 25
L1 cache Pamäť cache.
Stredná odborná škola automobilová Moldavská cesta 2, Košice
školský klub detí pri zš korňa
„Brutácia“ nepeňažného príjmu
Dane a odvody 2 PODNADPIS
Finančný trh PODNADPIS
Poistné a dane sa môžu len zvyšovať.
Násobenie výrazov – 2 (odstránenie zátvorky)
Údaje, informácie, znalosti Informatika
Údaje, informácie, znalosti Informatika
Obsah marketingového plánu
SME MEDZINÁRODNE CERTIFIKOVANÁ ŠKOLA.
Aplikácie pre mobilné zariadenia na rozvoj matematických kompetencií
Kreslenie v textovom dokumente 1.časť
Plánovanie a príprava hodiny
T.Zamborská L.Nedbalová 8.A
MATURITA Miroslava Drahošová
Rozpoznávanie slovných druhov alebo vetnej skladby
Časti počítača von Neumannovského typu
Spínaný zdroj v Počítači.
PaedDr. Jozef Beňuška
SCIO testy Národné porovnávacie skúšky (NPS)
7. Princíp náhradného aktívneho dvojpólu
Ústup od kritéria optimality
Kľúč na určovanie rastlín
Slovné druhy PODSTATNÉ MENÁ.
Deliť celok na rovnaké časti / opakovanie /.
Príklad spracovania konateľa s pravidelným príjmom
Leona Pavlíková,Lenka Kulifajová 9.A
Stredná odborná škola automobilová Moldavská cesta 2, Košice
Rastrova a Vektorov grafika
Licencie programov Precvičenie pojmov.
Poznámky z teórie kriviek a plôch Margita Vajsáblová
Organizačná štruktúra podniku
Moderné vzdelávanie pre vedomostnú spoločnosť/Projekt je spolufinancovaný zo zdrojov EÚ Inovácie v didaktike pre učiteľov predprimárneho vzdelávania.
Mechanika kvapalín.
Cabri geometry II Mgr. Róbert Truchan ZŠ Sačurov.
Pojem, modely zavádzania zlomkov, porovnávanie, operácie so zlomkami.
Maturitná skúška v školskom roku 2017/2018
CYKLICKÝ VÝVOJ EKONOMIKY
Divergentné úlohy v matematike
Perspektíva VYPRACOVAL: Ing.Ľudmila BENKOVÁ Jún 2014
Výskumný súbor.
Ako sa efektívne učiť.
Slovenský jazyk 4. ročník
Hardware Pamäťové média.
Médiá v našom živote.
Mesiac Martin Gonda 1.D.
MS POWERPOINT ZŠ, Z. Nejedlého 2 Spišská Nová Ves
Stredná odborná škola automobilová Moldavská cesta 2, Košice
Aplikácia sieťového grafu v príprave a realizácii projektu Metóda CPM a PERT Sieťový graf je definovaný dvojicou množín, kde množina uzlov U = ( u1 , u2,
Informačné systémy Simona Franková Mária Babčáková 3.Ag
Inteligentné rozhodovacie systémy
Ako nás Boh vedie? (téma)pre 7. ročník ZŠ (určenie)
Smerovanie Ing. Branislav Müller.
VLOOKUP (po česky SVYHLEDAT)
RIEŠENIE LINEÁRNYCH ROVNÍC A NEROVNÍC
ELDP Evidenčný List Dôchodkového Poistenia
MEDLINE Complete ~ Vyhľadávanie
4. Algoritmy a programovanie v jazyku Pascal Cykly a riadenie
Stredná odborná škola automobilová Moldavská cesta 2, Košice
Transkript prezentace:

Problémy opísané ako hra Sú veľmi vhodnou oblasťou výskumu, lebo: Obsahujú dobre definovaný problém Majú presnú reprezentáciu ľubovoľného stavu Kvalita ich riešenia je dobre merateľná Počítač hrá z pohľadu jedného hráča, ale musí brať do úvahy aj (neznáme) správanie druhého hráča Podstatný rozdiel je aj v obtiažnosti (pri šachu faktor vetvenia je 35, pri partii 50 ťahov má strom hľadania 35100 vrcholov, čo je 10154. Priestor problému obsahuje 1040 rôznych možných pozícií. Tu je nedostatok času na vyhodnotenie dôsledkov jednotlivého ťahu.

Riešenie problému hry 1. generovaním a testovaním 2. s využitím procedúr hľadania Generujú sa kroky, pričom by sa mali generovať iba dobré kroky Testujú sa generované kroky, tak, aby sa najlepšie kroky rozpoznali a prezreli čo najskôr Snažíme sa vložiť čo najviac heuristických znalostí tak do generátora ako aj do testera. Nestihne vygenerovať všetky kroky až po listy, tak si musí vybrať najlepší krok z hľadiska výhodnosti

Generovanie a testovanie Na ohodnotenie výhodnosti sa používa statická vyhodnocovacia funkcia – napr. spočítať podiel hodnôt bielych a čiernych kameňov Dal by sa využiť spôsob hľadania pomocou A*, urobiť niekoľko ťahov dopredu, ohodnotiť vrcholy heuristickou funkciou h, vybrať najlepší a potom sa vrátiť a urobiť ťah vedúci k najlepšiemu stavu To sa ale nedá urobiť pre hru s dvoma hráčmi – kritériá pre výber ťah sa pravidelne striedajú a súper nám môže zabrániť dosiahnuť víťazný stav

Hľadanie pre problém hry Dvaja hráči MAX a MIN, začína MAX Hra ako problém hľadania: Počiatočný stav – postavenie na hracej doske a označenie, kto je na ťahu Množina operátorov – to sú povolené ťahy Množina stavov – množina všetkých postavení na hracej doske Cieľový test – určuje, kedy sa hra končí Bodovacia funkcie – oceňuje výsledok hry, napr. +1, 0 a -1 pre výhru, remízu a prehru

Algoritmus MiniMax MIN zahrá vždy ťah, ktorý je pre MAXa najhorší možný, teda minimalizuje jeho skóre MAX sa snaží zvíťaziť a teda maximalizovať svoje skóre. Postup: Vygeneruje sa celý strom hľadania až po koncové stavy Rozhodne sa, ktoré postavenie je najlepšie: na listy sa aplikuje bodovacia funkcia a prenášajú sa hodnoty do vyšších úrovní až po koreň tak, že pri vrcholoch MAX sa prenáša maximum z hodnôt nasledovníkov a pri vrcho-loch MIN sa prenáša minimum, najlepšie postavenie je to, ktoré vedie k najväčšej hodnote koreňa, to sa zahrá

Príklad algoritmu MiniMax

Algoritmus MiniMax II Opísaný postup prezerá rôzne postupnosti ťahov Snaží sa nájsť takú postupnosť ktorá vedie k výhre Predpokladá sa, že hráč urobí (zo svojho pohľadu) najlepší ťah, ktorý môže urobiť, MAX vyberá ťah, ktorý vedie do nasledovníka s najväčším ohodno-tením a MIN s najmenším ohodnotením MiniMax v opísanom tvare robí dokonalé rozhod-nutia, za predpokladu, že je dosť času prezrieť strom až k listom, čo nebýva realistický predpo-klad, a preto sa robia modifikácie

Modifikácie MiniMaxu Prezeranie treba useknúť skôr než v cieľovom stave – na to sa použije usekávací test - listy sa potom ohodnotia namiesto bodovacej funkcie pomocou heuristickej vyhodnocovacej funkcie Takýto algoritmus robí nedokonalé rozhodnutia Iné vylepšenie – ide v podstate o variant hľadania do hĺbky, tak si budeme pamätať ohodnotenie dosiaľ nájdeného čiastočného riešenia – ak nájdeme horšie, tak zanecháme (usekneme) jeho rozvíjanie, čím sa ušetrí zbytočné hľadanie

Alfa-Beta usekávanie Pracuje s dvoma prahovými hodnotami: Alfa je dolné ohraničenie hodnoty, ktorú vôbec môže nadobudnúť stav, v ktorom je na ťahu MAX Beta je horné ohraničenie hodnoty, ktorú vôbec môže nadobudnúť stav, v ktorom je na ťahu MIN Usekáva sa podstrom, ak jeho ohodnotenie je horšie ako alfa alebo beta, pričom na začiatku je alfa mínus nekonečno, beta plus nekonečno Hodnoty alfa zastavia všetky ohodnotenia, ktoré sú príliš nízke a beta tie, ktoré sú príliš vysoké

Alfa-Beta usekávanie II Udržiavanie ohraničení sa vykoná pre daný uzol vtedy, keď všetci jeho nasledovníci dostanú minimaxové hodnoty. Platí: Alfa hodnoty uzla (vrátane koreňa) sa určí ako najväčšia minimaxová hodnota jeho nasledovníkov a nikdy sa nemôže zmenšiť Beta hodnota sa určí ako súčasná najmenšia minimaxová hodnota jeho nasledovníkov a nikdy sa nemôže zväčšiť

Príklad Alfa-Beta usekávania

Alfa-Beta usekávanie III Pravidlá prerušenia hľadania: hľadanie sa môže ukončiť pod každým MAX vrcholom, ktoré ho alfa hodnota nie je menšia ako beta hodnota ľubovoľ-ného z jeho predchodcov - beta usekávanie. Ako mimimaxová hodnota tohto MAX uzla sa použije jeho alfa hodnota – nemusí byť rovnaká, ako tá, ktorá by sa vrátila po úplnom hľadaní podľa algoritmu MiniMax, ale aj tak sa vyberie najlepší ťah

Alfa-Beta usekávanie IV Pravidlo II: hľadanie sa môže ukončiť pod každým MIN vrcholom, ktorého beta hodnota nie je väčšia ako alfa hodnota ľubovoľného z jeho predchodcov – to je alfa usekávanie. Ako výsledná minimaxová hodnota tohto MIN vrcholu sa použije jeho beta hodnota. Algoritmus skončí, keď všetci nasledovníci počia-točného vrcholu dostanú minimaxové hodnoty Najlepší je ťah, ktorý generuje nasledovníka s najväčšou minimaxovou hodnotou

Efektívnosť alfa-beta usekávania Použitím alfa-beta usekávania sa vždy nájde ťah, ktorý je tak dobrý ako ťah s použitím algoritmu MiniMax, ktorý hľadá do rovnakej hĺbky – ale alfa-beta ho nájde obyčajne po menšom hľadaní Efektívnosť hľadania významne závisí od poradia prehľadávaných uzlov – ak sa nájdu dobrí nasledovníci, usekne sa veľa pokračovaní V najhoršom prípade sa neušetrí nič oproti MiniMaxu a prehľadá sa celý strom

Efektívnosť II V ideálnom prípade sa zníži počet vrcholov na druhú odmocninu oproti MiniMaxu, to umožní preskúmať strom dvojnásobnej hĺbky Príklad so šachom – ani tak sa nevyhneme expo-nenciálnej explózii, ale aj tak zlepšenie prehľadá-vania o jeden polťah výrazne zlepšuje hernú silu programu – konkrétne pri šachu o 200 ELO bodov Spolu s alfa-beta usekávaním sa používa aj cyklic-ky sa prehlbujúce hľadanie (keď je obmedzený čas rozmýšľania)

Efektívnosť III Problém horizontu – program má určitý horizont (hĺbku m), za ktorým nič „nevidí“ – to sa rieši tak, že sa vyberú určité pozície, ktoré sa preskúmajú ešte o niekoľko polťahov nižšie ako ostatné vrcholy Funkcia, ktorá rozhodne, kedy sa bude prehľadávať hlbšie, sa nazýva extenzívna heuris- tika