ˇsachy, backgammon, poker
Transkript
Hry šachy, backgammon, poker Hry vs. Prohledávánı́ stavového prostoru • Máme dva hráče, kteřı́ se střı́dajı́ na tahu • definované možné tahy, cı́lové pozice, výhru 1.hráče v cı́lových pozicı́ch, protihráč má výhru opačného znaménka • Prohledávánı́ st. prostoru ⇒ Minimax • Metoda větvı́ a mezı́ ⇒ α–β prořezávánı́ Historie: • algoritmus pro optimálnı́ strategii (Von Neumann, 1944) • konečný horizont, aproximace (Zuse, 1945; Shannon, 1950; Samuel, 1952– 57) • prořezávánı́ (McCarthy, 1956) Typy her plná informace neúplná informace deterministické pravděpodobnostnı́ šachy, dáma, go backgammon bridge, poker, scrabble Minimax • Optimálnı́(+-) strategie pro deterministickou hru s plnou informacı́ • Idea: vybrat tah s nejvyššı́ minimax hodnotou = nejlepšı́ zisk proti nejlepšı́ hře Přı́klad hry, každý jen jeden tah: 3 MAX A1 A3 A2 3 MIN A 11 3 A 12 12 2 A 21 A 13 8 2 2 A 31 A 22 A 23 4 6 14 A 32 A 33 5 2 Minimax algoritmus function Minimax-Decision(game) returns an operator for each op in Operators[game] do Value[op] ← Minimax-Value(Apply(op, game), game) end return the op with the highest Value[op] function Minimax-Value(state, game) returns a utility value if Terminal-Test[game](state) then return Utility[game](state) else if max is to move in state then return the highest Minimax-Value of Successors(state) else return the lowest Minimax-Value of Successors(state) Vlastnosti Minimaxu • Úplný?? Ano, pokud je strom konečný (šachy na to majı́ speciálnı́ pravidla) • Optimálnı́?? Ano, proti optimálnı́mu protihráči. Jinak?? • Časová složitost?? O(bm ) (b možných tahů, m max. hloubka stromu) • Prostorová složitost?? O(bm) (prohledávánı́ do hloubky) Pro šachy, b ≈ 35, m ≈ 100 v “rozumných” hrách ⇒ přesné řešenı́ nedosažitelné Reálné meze • Máme-li 100 vteřin, prohledáme 104 uzlů za vteřinu ⇒ 106 uzlů za tah Standardnı́ přı́stup: • cutoff test např. maximálnı́ hloubka • ohodnocovacı́ funkce ( evaluation function) = odhadovaná výhodnost pozice Ohodnocovacı́ funkce Black to move White to move White slightly better Black winning Pro šachy je to typicky lineárnı́ vážený součet ”jevů” features Eval(s) = w1 f1 (s) + w2 f2 (s) + . . . + wn fn (s) např., w1 = 9 s f1 (s) = (počet bı́lých dam) – (počet černých dam) Prořezávánı́ MinimaxCutoff je stejné jako MinimaxValue kromě 1. test Terminal? je nahrazen testem Cutoff? 2. Utility je nahrazena Eval V šachách: bm = 106 , b = 35 ⇒ m=4 4-tahy dopředu vidı́ i hodně špatný hráč! 4-tahy ≈ začátečnı́k 8-tahů ≈ typické PC, dobrý šachista (člověk) 12-tahů ≈ Deep Blue, Kasparov α–β pruning example Vlastnosti α–β prořezávánı́ • Prořezávánı́ neměnı́ výsledek • Dobré uspořádánı́ tahů k prohledávánı́ zvyšuje efektivitu prořezávánı́ • S “ideálnı́m uspořádánı́m,” je časová složitost = O(bm/2 ) ⇒ zdvojnásobı́ hloubku prohledávánı́ ⇒ může snadno projı́t 8 tahů dopředu a hrát dobré šachy • Jednoduchý přı́klad usuzovánı́ o tom, které výpočty jsou relevantnı́ (meta-usuzovánı́) Co jsou α–β? MAX MIN .. .. .. MAX MIN V • α je nejvyššı́ ”jistá” hodnota (pro max) dosud nalezená na aktuálnı́ větvi • Pokud je V horšı́ než α, max si ho určitě nevybere ⇒ prořežeme • Podobně β je nejnižšı́ ”jistá” hodnota (pro min) The α–β algorithm Základ je Minimax + obhospodařovánı́ α, β + prořezávánı́ function Max-Value(state, game, α, β) returns the minimax value of state inputs: state, current state in game game, game description α, the best score for max along the path to state β, the best score for min along the path to state if Cutoff-Test(state) then return Eval(state) for each s in Successors(state) do α ← Max(α, Min-Value(s, game, α, β)) if α ≥ β then return β end return α function Min-Value(state, game, α, β) returns the minimax value of state if Cutoff-Test(state) then return Eval(state) for each s in Successors(state) do β ← Min( β, Max-Value(s, game, α, β)) if β ≤ α then return α end return β Deterministické hry v praxi • Dáma (Checkers): Chinook ukončil čtyřicetiletou vládu mistra světa Marion Tinsley v roce 1994. Použı́val databázi všech koncovek pro 8 a méně kamenů, tj. pro 443,748,401,247 pozic. • Šachy: Deep Blue porazil mistra světa Gary Kasparova v roce 1997. Deep Blue má speciálnı́ HW, složité ohodnocovánı́ a dalšı́ heuristiky. • Go: mistři odmı́tajı́ hrát s počı́tači, protože počı́tače jsou přı́liš slabé. V GO je b > 300, čili nelze uvažovat celou goovnici, ale jen ”patterns”. Nedeterministické hry • Např. Backgammon, kostky určujı́ povolené tahy • Obrázek zjednodušen na 2 možnosti vrhu mı́sto 21. MAX 3 CHANCE −1 0.5 MIN 2 2 0.5 0.5 4 4 7 0.5 0 4 6 −2 0 5 −2 Algoritmus pro nedeterministické hry • Expectiminimax dává optimálnı́ hru • Stejné jako Minimax, pouze musı́me také zpracovat ”chance” uzly průměrem hodnot váženým pravděpodobnostı́: ... if state is a chance node then return weightedAverage of ExpectiMinimax-Value of Successors(state) ... • Obdoba α–β prořezávánı́ je možná, jsou-li hodnoty na listech omezené. Nedeterministické hry v praxi • Náhoda rozšiřuje b: 21 různých vrhů dvou kostek Backgammon ≈ 20 přı́pustných tahů (až 6,000 s vrhem 1-1) hloubka 4 = 20 × (21 × 20)3 ≈ 1.2 × 109 • S prohlubovánı́m hloubky se zmenšuje pravděpodobnost návštěvy uzlu ⇒ hodnota informace z prohledávánı́ klesá • α–β prořezávánı́ je daleko méně efektivnı́ • TDGammon použı́vá hloubku prohledávánı́ 2 + a velice dobrou ohodnocovacı́ funkci Eval ≈ na úrovni světových mistrů Poznámka: Teorie her Hra: já i oponent volı́me tah, pak (hned) dostaneme výplatu podle matice já \ oponent A B A B (10,0) (3,15) (3,7) (5,10) Nashovo equilibrium - strategie, kterou nenı́ ani pro jednoho hráče výhodné měnit Hlavnı́ body • Minimax • α–β prořezávánı́ • nedeterministické hry • ke hrám s neúplnou informacı́ se trochu vrátı́me časem Co umı́te z logiky? • výroková logika, axiomy, důkaz • predikátová logika, volná proměnná, otevřená a uzavřená formule • prenexnı́ tvar formule, konjunktivně disjunktnı́ forma • Hornovská klauzule (asi ne, budeme probı́rat) • rezolučnı́ metoda, Skolemovská funkce? (asi ne, budeme probı́rat) Wumpus World Percepts Breeze, Glitter, Smell 4 Breeze Stench Breeze Actions Left turn, Right turn, Forward, Grab, Release, Shoot Goals Get gold back to start without entering pit or wumpus square 3 Stench PIT Breeze PIT Gold 2 Breeze Stench Breeze 1 Breeze PIT START 1 2 3 4 Environment Squares adjacent to wumpus are smelly Squares adjacent to pit are breezy Glitter if and only if gold is in the same square Shooting kills the wumpus if you are facing it Shooting uses up the only arrow Grabbing picks up the gold if in the same square Releasing drops the gold in the same square
Podobné dokumenty
Dokazování v predikátové logice
Je-li např. S = {p(x), q(y , f (y , z))} a I jako výše, dostaneme pro
zobrazenı́ a → 2 stejnou asociovanou H-realizaci jako výše, zatı́mco
pro zobrazenı́ a → 1 dostaneme H-realizaci asociovano...
prednaska Dvouhracove hry
hodnotou β. je-li minmax > β pak se tato část stromu se neprohledává
na každé MIN úrovni před tı́m než ohodnotı́me následnı́ky, rovnáme minmax hodnotu s hodnotou α. je-li minmax < α pak ...
Algoritmy realizující počítačového hráče v jednoduchých deskových
Ilustrace beta-řezu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Přı́klad alfa-ořezánı́. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Počáte...
Bakalarske statnice
4. odevzdánı́ vypracované bakalářské práce ve stanoveném termı́nu.
Předmět lze splnit jeho úspěšným absolvovánı́m nebo uznánı́m z předchozı́ho
studia.
Ústnı́ část státnı́ závě...
1 Základy 2 Výroková logika 3 Formáln´ı axiomatický systém logiky
Axiomy: A → (B → A), (A → (B → C)) → ((A → B) → (A → C)), (¬B → ¬A) → (A → B)
Odvozovacı́ pravidlo modus ponens: z formulı́ A,A → B (předpoklady) se odvodı́ formule B (závěr ).
Důkaz je libovol...
Cylindrická algebraická dekompozice
Poznámka 2. Pokud je množina polynomů rozložitelná na oblasti B, pak
jimi definovaná algebraická dekompozice B × R je cylindrická.
Algebraická dekompozice D je CAD prostoru Rk+1 za předpo...
první přednášky
Pracuje nad And/Or stromem (implicitně zadaným)
PNS určı́ splnitelnost cı́le: ano/ne/nevı́m (tj. přesnou minimax. hodn.)
Určen pro koncovky a lokálnı́ cı́le (vzetı́ figury, spojenı́ v go)
• P...
Zpracování řeči
• Fertility model: P( Fertility = n|word F ) – česká podstatná jména
budou mı́t fertility 2, prvnı́ se přetvořı́ na člen, druhý se přeložı́
• Překlad slow: P(word E |word F )
• Offset mo...
Základy matematické logiky
Lemma 2.6. Necht’ všechny prvotnı́ formule ve výrokové formuli A jsou obsaženy
mezi P1 , . . . , Pn . Pak pro lib. ohodnocenı́ v prvotnı́ch formulı́ platı́ P1v , . . . , Pnv ⊢ Av .
Důkaz: Indu...