ˇsachy, backgammon, poker

Transkript

ˇsachy, backgammon, poker
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

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...

Více

prednaska Dvouhracove hry

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 ...

Více

Algoritmy realizující počítačového hráče v jednoduchých deskových

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...

Více

Bakalarske statnice

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ě...

Více

1 Základy 2 Výroková logika 3 Formáln´ı axiomatický systém logiky

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...

Více

Cylindrická algebraická dekompozice

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...

Více

první přednášky

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...

Více

Zpracování řeči

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...

Více

Základy matematické logiky

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...

Více