background image

WPROWADZENIE 

DO SZTUCZNEJ  INTELIGENCJI

POLITECHNIKA WARSZAWSKA

WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA

MEL

MEL

NS 586

Dr in

Ŝ

. Franciszek Dul

©  F.A. Dul 2007

background image

6.  GRY 

POSZUKIWANIA     

W OBECNOŚCI PRZECIWNIKA

©  F.A. Dul 2007

W OBECNOŚCI PRZECIWNIKA

background image

Gry

Poka

Ŝ

emy, w jaki sposób agent mo

Ŝ

osi

ą

gn

ąć

 zamierzony cel je

Ŝ

eli musi 

kooperowa

ć

 lub konkurowa

ć

 albo nawet 

walczy

ć

 z innymi agentami.

©  F.A. Dul 2007

walczy

ć

 z innymi agentami.

background image

• Czym s

ą

 gry?

• Decyzje optymalne w grach.
• Przycinanie 

α

β

.

• Gry z elementami hazardu.
• Nieidealne decyzje podejmowane w czasie 

rzeczywistym.

Plan rozdziału

©  F.A. Dul 2007

background image

6.1. Czym s

ą

 gry? 

Istota gier: s

ą

 to zadania z wieloma agentami działaj

ą

cymi 

(konkuruj

ą

cymi) w tym samym 

ś

rodowisku.

• Co robi

ą

 inni agencji i w jaki sposób wpływaj

ą

               

na działania naszego agenta?

Ś

rodowiska wieloagentowe mog

ą

 by

ć

 kooperatywne   

lub konkurencyjne; 

• Konkurencyjne 

ś

rodowiska wieloagentowe prowadz

ą

  

do zada

ń

 poszukiwania z przeciwnikiem, czyli gier.

©  F.A. Dul 2007

do zada

ń

 poszukiwania z przeciwnikiem, czyli gier.

Jaki jest cel analizy gier?

• Zabawa, hazard;  
• S

ą

 to zagadnienia interesuj

ą

ce, ale cz

ę

sto bardzo 

trudne;

• S

ą

 łatwe do sformułowania; agenci mog

ą

 zwykle 

wykonywa

ć

 niewiele działa

ń

;

• Słu

Ŝ

y budowie robotów które maj

ą

 działa

ć

 w 

ś

rodowisku 

nieprzyjaznym; 

background image

Relacja gier i poszukiwa

ń

 

Poszukiwania – nie ma przeciwnika.

• Rozwi

ą

zanie jest heurystyczn

ą

 metod

ą

 osi

ą

gni

ę

cia celu.

• Heurystyki i CSP mog

ą

 znale

źć

 rozwi

ą

zanie optymalne.

• Funkcja szacuj

ą

ca - oszacowanie kosztu przej

ś

cia          

od startu do celu poprzez dany w

ę

zeł.

• Przykłady: planowanie dróg, opracowywanie 

harmonogramów.

6.1. Gry

©  F.A. Dul 2007

Gry – s

ą

 przeciwnicy. 

• Rozwi

ą

zanie jest 

strategi

ą

gry

, czyli odpowiedzi

ą

         

na ka

Ŝ

de działanie przeciwnika;

• Ograniczenia czasowe gry wymuszaj

ą

 znajdywanie 

rozwi

ą

za

ń

 przybli

Ŝ

onych.

• Funkcja szacuj

ą

ca - oszacowanie „dobroci” sytuacji.

• Przykłady: szachy, warcaby, Trik-trak (backgammon), 

kółko i krzy

Ŝ

yk (Tic-Tac-Toe), Othello, Go.

background image

Klasyfikacja gier

6.1. Gry

 

Deterministyczne 

Hazardowe 

Informacja 
pełna 

Szachy,  
Warcaby,         
Go,             
Othello, 
Kółko i krzy

Ŝ

yk 

Trik-trak 
(backgammon), 
Monopoly 

©  F.A. Dul 2007

Kółko i krzy

Ŝ

yk 

Informacja 
niepełna 

 

Bryd

Ŝ

,       

Poker,  
Scrabble,   
wojna atomowa 

 

 

background image

6.2. Definicja gry 

W grze uczestnicz

ą

 dwaj gracze: MAX i MIN.

Gra jako poszukiwanie 

• Stan pocz

ą

tkowy: np. ustawienie szachów                      

na szachownicy;

• gr

ę

 rozpoczyna MAX; 

• ruchy wykonuj

ą

 naprzemian a

Ŝ

 do zako

ń

czenia gry;

• zwyci

ę

zca otrzymuje nagrod

ę

, przegrany ponosi kar

ę

.

©  F.A. Dul 2007

na szachownicy;

• Funkcja nast

ę

pnika: lista ruchów (stanów) spełniaj

ą

cych 

reguły gry;

• Test ko

ń

ca - czy gra si

ę

 zako

ń

czyła?

• Funkcja u

Ŝ

yteczno

ś

ci - definiuje warto

ś

ci stanów 

ko

ń

cowych, np. zwyci

ę

zca (+1), przegrany (-1)         

oraz  remis(0) w grze kółko i krzy

Ŝ

yk (tic-tac-toe).

Gracz MAX u

Ŝ

ywa algorytmu przeszukiwania drzewa             

do wyznaczenia nast

ę

pnego ruchu.  

background image

Drzewo gry w kółko i krzy

Ŝ

yk 

6.2.  Definicja gry

©  F.A. Dul 2007

background image

Strategie optymalne

Znale

źć

strategi

ę

 warunkow

ą

 dla gracza MAX przy zało

Ŝ

eniu, 

Ŝ

e MIN jest przeciwnikiem nieomylnym.

Znaj

ą

c drzewo gry strategi

ę

 optymaln

ą

 mo

Ŝ

na wyznaczy

ć

    

na podstawie warto

ś

ci minimax dla ka

Ŝ

dego w

ę

zła. 

6.2.  Definicja gry

Zało

Ŝ

enie - obaj gracze graj

ą

 optymalnie.

Nale

Ŝ

y wybra

ć

 ruch do w

ę

zła który ma najwi

ę

ksz

ą

 warto

ść

 

minimax:

©  F.A. Dul 2007

Odpowiada to uzyskaniu najkorzystniejszego wyniku przy 
najlepszej grze.

minimax:

MINIMAX-VALUE(n) =

UTILITY(n)

If is a terminal

max

successors(n)

MINIMAX-VALUE(s

If is a max node

min

successors(n)

MINIMAX-VALUE(s

If is a min node

background image

Algorytm MINIMAX

6.2.  Definicja gry

Zasada algorytmu minimax dla dwóch graczy MAX i MIN

©  F.A. Dul 2007

Drzewo gry dla dwóch przeciwników.

background image

Algorytm MINIMAX

6.2.  Definicja gry

Zasada algorytmu minimax dla dwóch graczy MAX i MIN

©  F.A. Dul 2007

Warto

ś

ci funkcji kosztu dla w

ę

złów ko

ń

cowych.

background image

Algorytm MINIMAX

6.2.  Definicja gry

Zasada algorytmu minimax dla dwóch graczy MAX i MIN

©  F.A. Dul 2007

MIN wybiera posuni

ę

cia odpowiadaj

ą

ce warto

ś

ciom

najmniejszym...

background image

Algorytm MINIMAX

6.2.  Definicja gry

Wybór minimax 

Zasada algorytmu minimax dla dwóch graczy MAX i MIN

©  F.A. Dul 2007

Algorytm minimax maksymalizuje wi

ę

c najgorszy wynik gracza

MAX.

…za

ś

MAX – posuni

ę

cia odpowiadaj

ą

ce warto

ś

ciom 

najwi

ę

kszym.

background image

Algorytm MINIMAX

6.2.  Definicja gry

function MINIMAX-DECISION(statereturns an action

inputs: state, current state in game
v

MAX-VALUE(state)

return the action in SUCCESSORS(state) with value v

function MAX-VALUE(statereturns a utility value

if TERMINAL-TEST(statethen return UTILITY(state)

-

©  F.A. Dul 2007

function MIN-VALUE(statereturns a utility value

if TERMINAL-TEST(statethen return UTILITY(state)

← ∞

for a,s in SUCCESSORS(statedo

MIN(v,MAX-VALUE(s))

return v

-

for a,s in SUCCESSORS(statedo

MAX(v,MIN-VALUE(s))

return v

background image

Własno

ś

ci algorytmu MINIMAX

6.2.  Definicja gry

• Zupełno

ść

Tak, je

Ŝ

eli drzewo jest sko

ń

czone.

• Czas

O(b

m

)

• Pami

ęć

O(bm) (poszukiwanie w gł

ą

b)

• Optymalno

ść

Tak (przeciwko graj

ą

cemu optymalnie 

przeciwnikowi)

Dla typowej partii szachów: b ~ 35, m ~ 100 co oznacza,      

©  F.A. Dul 2007

Dla typowej partii szachów: b ~ 35, m ~ 100 co oznacza,      

Ŝ

e rozwi

ą

zanie 

ś

cisłe jest zupełnie nieosi

ą

galne.

Najwi

ę

ksz

ą

 wad

ą

 algorytmu MINIMAX jest wykładniczy wzrost 

czasu wyznaczania rozwi

ą

zania ze wzrostem liczby ruchów.

Rozwi

ą

zaniem problemu jest zastosowanie algorytmów 

obcinania gał

ę

zi drzewa poszukiwa

ń

background image

Idea: odrzcanie (przycinanie) tych gał

ę

zi drzewa poszukiwa

ń

które s

ą

 nieperspektywiczne.

[-

,+

]

Zakres mo

Ŝ

liwych warto

ś

ci

6.3. Algorytm przycinania 

αααα

ββββ

©  F.A. Dul 2007

[-

, +

]

background image

Idea: odrzcanie (przycinanie) tych gał

ę

zi drzewa poszukiwa

ń

które s

ą

 nieperspektywiczne.

[-

,+

]

6.3.  Algorytm przycinania 

αααα

ββββ

©  F.A. Dul 2007

[-

,3]

background image

6.3.  Algorytm przycinania 

αααα

ββββ

Idea: odrzcanie (przycinanie) tych gał

ę

zi drzewa poszukiwa

ń

które s

ą

 nieperspektywiczne.

[-

,+

]

©  F.A. Dul 2007

[-

,3]

background image

Idea: odrzcanie (przycinanie) tych gał

ę

zi drzewa poszukiwa

ń

które s

ą

 nieperspektywiczne.

[3,+

]

6.3.  Algorytm przycinania 

αααα

ββββ

©  F.A. Dul 2007

[3,3]

background image

Idea: odrzcanie (przycinanie) tych gał

ę

zi drzewa poszukiwa

ń

które s

ą

 nieperspektywiczne.

[3,+

]

Ten w

ę

zeł jest 

gorszy dla MAX

6.3.  Algorytm przycinania 

αααα

ββββ

©  F.A. Dul 2007

[-

,2]

[3,3]

background image

Idea: odrzcanie (przycinanie) tych gał

ę

zi drzewa poszukiwa

ń

które s

ą

 nieperspektywiczne.

[-

,14]

[-

,2]

[3,14]

[3,3]

≥≥≥≥

3

≤≤≤≤

14

≤≤≤≤

14

6.3.  Algorytm przycinania 

αααα

ββββ

©  F.A. Dul 2007

[-

,14]

[-

,2]

[3,3]

≤≤≤≤

14

background image

Idea: odrzcanie (przycinanie) tych gał

ę

zi drzewa poszukiwa

ń

które s

ą

 nieperspektywiczne.

[-

,5]

[-

,2]

[3,5]

[3,3]

≥≥≥≥

3

≤≤≤≤

5

≤≤≤≤

5

6.3.  Algorytm przycinania 

αααα

ββββ

©  F.A. Dul 2007

[-

,5]

[-

,2]

[3,3]

≤≤≤≤

5

background image

Idea: odrzcanie (przycinanie) tych gał

ę

zi drzewa poszukiwa

ń

które s

ą

 nieperspektywiczne.

[2,2]

[-

,2]

[3,3]

[3,3]

6.3.  Algorytm przycinania 

αααα

ββββ

©  F.A. Dul 2007

[2,2]

[-

,2]

[3,3]

background image

Idea: odrzcanie (przycinanie) tych gał

ę

zi drzewa poszukiwa

ń

które s

ą

 nieperspektywiczne.

[2,2]

[-

,2]

[3,3]

[3,3]

6.3.  Algorytm przycinania 

αααα

ββββ

©  F.A. Dul 2007

[2,2]

[-

,2]

[3,3]

background image

Zasada ogólna przycinania 

αααα

-

ββββ

• Rozwa

Ŝ

my w

ę

zeł le

Ŝą

cy 

gdzie

ś

 na drzewie. 

• Je

Ŝ

eli gracz MAX mo

Ŝ

dokona

ć

 lepszego wyboru 

w w

ęź

le rodzica lub 

gdziekolwiek wy

Ŝ

ej (

αααα

w

ę

zeł nigdy nie bi

ę

dzie 

6.3.  Algorytm przycinania 

αααα

ββββ

©  F.A. Dul 2007

w

ę

zeł nigdy nie bi

ę

dzie 

osi

ą

gni

ę

ty.

• Gał

ąź

 z w

ę

złem mo

Ŝ

by

ć

 przyci

ę

ta.

background image

Dlaczego algorytm nosi nazw

ę

 „przycinanie 

αααα

-

ββββ

” ?

• Niech

αααα

b

ę

dzie najlepsz

ą

  

(najwi

ę

ksz

ą

) warto

ś

ci

ą

 na 

gał

ę

zi gracza MAX. 

• Je

Ŝ

eli jest gorsze ni

Ŝ

 

αααα

gracz MAX ominie gał

ąź

 

na której  znajduje si

ę

 v

– Mo

Ŝ

na przyci

ąć

 t

ę

 gał

ąź

.

6.3.  Algorytm przycinania 

αααα

ββββ

©  F.A. Dul 2007

– Mo

Ŝ

na przyci

ąć

 t

ę

 gał

ąź

.

ββββ

definiuje si

ę

 podobnie 

dla gracza MIN.

background image

Algorytm przycinania 

αααα

-

ββββ

function ALPHA-BETA-SEARCH(statereturns an action

inputs: state, current state in game
v

MAX-VALUE(state, -

, +

)

return the action in SUCCESSORS(state) with value v

function MAX-VALUE(state,

α

,

β

returns a utility value

if TERMINAL-TEST(statethen return UTILITY(state)

-

for a,s in SUCCESSORS(statedo

MAX( v, MIN-VALUE(s,

α

,

β

) )

β

6.3.  Algorytm przycinania 

αααα

ββββ

©  F.A. Dul 2007

MAX( v, MIN-VALUE(s,

α

,

β

) )

if v

β

then return v

α

MAX(

α

,v)

return v

function MIN-VALUE(state,

α

,

β

returns a utility value

if TERMINAL-TEST(statethen return UTILITY(state)

+

for a,s in SUCCESSORS(statedo

MIN( v, MAX-VALUE(s,

α

,

β

) )

if v

α

then return v

β

MIN(

β

,v)

return v

background image

Własno

ś

ci algorytmu przycinania 

αααα

-

ββββ

• Przycinanie nie wpływa na ko

ń

cowy wynik gry. 

• Przycina

ć

 mo

Ŝ

na całe gał

ę

zie (poddrzewa).

• Wła

ś

ciwe uporz

ą

dkowanie (kolejno

ść

) ruchów 

zwi

ę

ksza efektywno

ść

 przycinania.

• Czas oblicze

ń

 przy idealnym uporz

ą

dkowaniu ruchów 

~O(b

m/2

). Pozwala to podwoi

ć

 gł

ę

boko

ść

 poszukiwa

ń

.

6.3.  Algorytm przycinania 

αααα

ββββ

©  F.A. Dul 2007

background image

6.4. Gry z niepełn

ą

 informacj

ą

 

Algorytmy MINMAX i przycinania 

α

-

β

wymagaj

ą

 zbyt wielu 

oszacowa

ń

 warto

ś

ci na gał

ę

ziach, co zaj

ę

łoby za du

Ŝ

o czasu 

w grach rzeczywistych.

Poprawa efektywno

ś

ci algorytmów gier (Shannon, 1950) 

• Wprowadzenie ustalonej gł

ę

boko

ś

ci poszukiwa

ń

 tak, aby 

nie przekroczy

ć

 limitu czasu ustalonego w danej grze;

• Zast

ą

pienie TERMINAL-TEST przez CUTOFF-TEST;

©  F.A. Dul 2007

• Zast

ą

pienie TERMINAL-TEST przez CUTOFF-TEST;

• Zastosowanie heurystycznej funkcji EVAL zamiast funkcji 

u

Ŝ

yteczno

ś

ci w przycinaniu 

α

-

β

:

if TERMINAL-TEST(statethen return UTILITY(state

)

if CUTOFF-TEST(state,depththen return EVAL(state)

background image

Funkcja heurystyczna EVAL

Idea: oszacowanie przewidywanego wyniku gry pocz

ą

wszy 

od aktualnego stanu.

Efektywno

ść

 gry zale

Ŝ

y od jako

ś

ci funkcji EVAL:

• funkcja EVAL powinna porz

ą

dkowa

ć

 w

ę

zły ko

ń

cz

ą

ce gr

ę

 

w taki sam sposób jak funkcja UTILITY,

• obliczenia nie mog

ą

 trwa

ć

 zbyt długo,

• dla stanów nieko

ń

cowych funkcja EVAL powinna by

ć

 

6.4.  Gry z niepełn

ą

 informacj

ą

©  F.A. Dul 2007

• dla stanów nieko

ń

cowych funkcja EVAL powinna by

ć

 

silnie skorelowana z aktualn

ą

 szans

ą

 wygranej.

W szachach EVAL jest zazwyczaj 

liniow

ą

sum

ą

 wa

Ŝ

on

ą

 

starsze

ń

stwa 

figur

Eval(s) w

1

f

1

(s) + w

2

f

2

(s) + … + w

n

f

n

(s)

Np. w

1

= 9 dla 

f

1

(s) = (liczba białych królowych) – (liczba czarnych królowych)

Addytywno

ść

 funkcji EVAL zakłada niezale

Ŝ

no

ść

 sytuacji 

szachowych.

background image

Efekt wyj

ś

cia poza horyzont

Poszukiwania o ustalonej 

ę

boko

ś

ci nie zauwa

Ŝą

 mo

Ŝ

liwej 

zmiany pionka na królow

ą

6.4.  Gry z niepełn

ą

 informacj

ą

Funkcja EVAL w postaci kombinacji liniowej sytuacji jest 
jednak u

Ŝ

yteczna tylko dla stanów zmieniaj

ą

cych si

ę

 

umiarkowanie. 

©  F.A. Dul 2007

background image

Jak to działa w praktyce?

Załó

Ŝ

my, 

Ŝ

e na jeden ruch mamy 100 sekund, a mo

Ŝ

emy 

sprawdza

ć

 10

4

w

ę

złów/s.

Mo

Ŝ

emy zatem sprawdza

ć

 

10

6

w

ę

złów na jeden ruch.

b

m

= 10

, b=35

m = 4  posuni

ę

cia naprzód

Analiza mniej ni

Ŝ

 czterech posuni

ęć

 naprzód cechuje gracza 

beznadziejnego!

6.4.  Gry z niepełn

ą

 informacj

ą

©  F.A. Dul 2007

beznadziejnego!

• 4 ruchy - nowicjusz,
• 8 ruchów - mistrz, komputer PC,
• 12 ruchów - arcymistrz Kasparow, komputer Deep Blue.

background image

6.5. Gry z losowo

ś

ci

ą

W wielu grach wyst

ę

puj

ą

 elementy losowe, odzwierciedlaj

ą

ce 

nieprzewidywalno

ść

 rzeczywisto

ś

ci.

Gra Trik-Trak (Backgammon) zawiera losowo

ść

 w postaci 

rzutów kostk

ą

0        1     2     3     4      5    6             7      8     9   10   11   12   

13    

©  F.A. Dul 2007

Mo

Ŝ

liwe ruchy:  (5-10,5-11), (5-11,19-24),(5-10,10-16) 

oraz (5-11,11-16)

25      24    23   22   21   20   19          18    17   16   15   14   13    

background image

6.5. Gry z losowo

ś

ci

ą

Do analizy gier losowych nie wystarcza drzewo dla ruchów 
MAX – MIN. 
Nale

Ŝ

y je uzupełni

ć

 

w

ę

złami losowymi

(chance nodes).

©  F.A. Dul 2007

C

W w

ę

złach losowych wyboru gał

ę

zi dokonuje si

ę

 na 

podstawie prawdopodobie

ń

stw poszczególnych mo

Ŝ

liwo

ś

ci.

background image

6.5. Gry z losowo

ś

ci

ą

Algorytmy M

INMAX

dla gier losowych wykorzystuje warto

ść

 

oczekiwan

ą

 obliczan

ą

 wzgl

ę

dem wszystkich mo

Ŝ

liwych 

zdarze

ń

E

XPECTIMINIMAX(n) =

U

TILITY(n)

If is a terminal

Uogólnienie algorytmu M

INMAX

dla gier losowych w postaci 

algorytmu E

XPECTIMINMAX

©  F.A. Dul 2007

U

TILITY(n)

If is a terminal

max

s

successors(n)

E

XPECTIMINIMAX(s)

If is a MAX node

min

s

successors(n)

E

XPECTIMINIMAX(s

If is a MIN node

successors(n)

P

(s)

·

E

XPECTIMINIMAX(s) If is a CHANCE node

background image

6.5. Gry z losowo

ś

ci

ą

Przykład działania algorytmu E

XPECTIMINMAX

dla gry Trik-Trak.

0        1     2     3     4      5    6             7      8     9   10   11   12   

13    

C

©  F.A. Dul 2007

Mo

Ŝ

liwe ruchy:  (5-10,5-11), (5-11,19-24),(5-10,10-16) 

oraz (5-11,11-16)

25      24    23   22   21   20   19          18    17   16   15   14   13    

background image

6.5. Gry z losowo

ś

ci

ą

Przykład działania algorytmu E

XPECTIMINMAX

dla gry Trik-Trak.

0        1     2     3     4      5    6             7      8     9   10   11   12   

13    

C

©  F.A. Dul 2007

Mo

Ŝ

liwe ruchy:  (5-10,5-11), (5-11,19-24),(5-10,10-16) 

oraz (5-11,11-16)

25      24    23   22   21   20   19          18    17   16   15   14   13    

Prawdopodobie

ń

stwa par [1,1] , ... , [6,6] wynosz

ą

 1/36.

Prawdopodobie

ń

stwa pozostałych rzutów – 1/18.

background image

6.5. Gry z losowo

ś

ci

ą

Przykład działania algorytmu E

XPECTIMINMAX

dla gry Trik-Trak.

0        1     2     3     4      5    6             7      8     9   10   11   12   

13    

C

©  F.A. Dul 2007

Mo

Ŝ

liwe ruchy:  (5-10,5-11), (5-11,19-24),(5-10,10-16) 

oraz (5-11,11-16)

25      24    23   22   21   20   19          18    17   16   15   14   13    

Prawdopodobie

ń

stwa par [1,1] , ... , [6,6] wynosz

ą

 1/36.

Prawdopodobie

ń

stwa pozostałych rzutów – 1/18.

Obliczenie warto

ś

ci oczekiwanej pozwala wybra

ć

 gał

ąź

 

poszukiwa

ń

.

background image

Karty − gry losowe z niepełn

ą

 informacj

ą

Gry w karty s

ą

 interesuj

ą

ce, gdy

Ŝ

 wyst

ę

puj

ą

 w nich zarówno 

losowo

ść

 jak i niepewno

ś

ci informacji:

• pocz

ą

tkowy rozkład kart jest losowy,

• gracze nie znaj

ą

 rozkładu kart przeciwników.

6.5. Gry z losowo

ś

ci

ą

Losowo

ść

 wyst

ę

puje tylko na pocz

ą

tku gry.

Poniewa

Ŝ

 brak jest pełnej informacji o rozkładzie kart,             

to mo

Ŝ

na wykorzystywa

ć

 tylko t

ę

 informacj

ę

, która jest 

dost

ę

pna w danej chwili.

©  F.A. Dul 2007

to mo

Ŝ

na wykorzystywa

ć

 tylko t

ę

 informacj

ę

, która jest 

dost

ę

pna w danej chwili.

Do analizy gier w karty mo

Ŝ

na u

Ŝ

y

ć

 algorytmu MINIMAX.

Idea

: obliczy

ć

 warto

ś

ci MINIMAX dla ka

Ŝ

dego ruchu              

w ka

Ŝ

dym rozdaniu i wybra

ć

 ruchy z najwi

ę

kszymi 

warto

ś

ciami oczekiwanymi. 

Program GIB do gry w bryd

Ŝ

a działa nast

ę

puj

ą

co:

• generuje sto rozda

ń

 zgodnych z licytacj

ą

,

• wybiera te ruchy, które wygraj

ą

 wi

ę

cej lew. 

background image

Szachy

W roku 1997 komputer Deep Blue pokonał arcymistrza 

ś

wiata Garego Kasparowa w sze

ś

ciu partiach. 

6.6. Osi

ą

gni

ę

cia programów AI dla gier

©  F.A. Dul 2007

DeepBlue analizował sze

ść

 milionów pozycji w ci

ą

gu 

sekundy u

Ŝ

ywaj

ą

c bardzo wyszukanego szacowania oraz 

pewnych metod nieujawnionych, co umo

Ŝ

liwiło przedłu

Ŝ

anie 

ś

cie

Ŝ

ek poszukiwa

ń

 nawet do 40 ruchów do przodu. 

background image

Warcaby

W roku 1994 program Chinook zako

ń

czył czterdziestoletnie 

panowanie geniusza warcabów, wielokrotnego mistrza 

ś

wiata, dr Mariona Tinsleya. 

6.6.  Osi

ą

gni

ę

cia programów AI dla gier

©  F.A. Dul 2007

Chinook u

Ŝ

ywał w tym celu bazy danych zawieraj

ą

cej 

wst

ę

pnie obliczone ko

ń

cówki gry opisuj

ą

ce 444,000,000,000

pozycje dla o

ś

miu lub mniejszej liczby pionków.

background image

Othello (Reversi)

Mistrzowie odrzucaj

ą

 gr

ę

 z komputerami, gdy

Ŝ

 s

ą

 one zbyt 

dobre. Program Logistello wygrał mistrzostwa 

ś

wiata w roku 

1997 wynikiem 6:0.

Go

Mistrzowie odrzucaj

ą

 gr

ę

 z komputerami, gdy

Ŝ

 s

ą

 one        

za słabe. W tej grze b > 361 wi

ę

c wi

ę

kszo

ść

 programów 

u

Ŝ

ywa baz wiedzy które sugeruj

ą

 mo

Ŝ

liwe ruchy. 

Najlepsze programy: Goemate Go4++, osi

ą

gaj

ą

 zaledwie 

6.6.  Osi

ą

gni

ę

cia programów AI dla gier

©  F.A. Dul 2007

Najlepsze programy: Goemate Go4++, osi

ą

gaj

ą

 zaledwie 

poziom słabych amatorów. 

Bryd

Ŝ

Program Bridge Baron™ wygrał po raz pierwszy mistrzostwa 

ś

wiata w roku 1997, a ogółem - pi

ę

ciokrotnie. 

Program GIB wygrał mistrzostwa 

ś

wiata w roku 2000.

Trik-Trak (Backgammon)

Program TD-G

AMMON

uwa

Ŝ

any jest za jednego z trzech 

najlepszych graczy na 

ś

wiecie. 

background image

Podsumowanie

• Gry s

ą

 przyjemne (ale czasami niebezpieczne...)

• W grach dwóch graczy o sumie zerowej z pełn

ą

 

informacj

ą

 algorytm M

INIMAX

pozwala wyznaczy

ć

 

ruchy optymalne. 

• Niemo

Ŝ

no

ść

 analizy całego drzewa zmusza do u

Ŝ

ycia 

funkcji szacuj

ą

cych u

Ŝ

yteczno

ś

ci stanów w grze.

• Gry ilustruj

ą

 wiele wa

Ŝ

nych kwestii dotycz

ą

cych AI:

• gra perfekcyjna jest nieosi

ą

galna, konieczna jest 

©  F.A. Dul 2007

• gra perfekcyjna jest nieosi

ą

galna, konieczna jest 

aproksymacja;

• niepewno

ść

 wymaga u

Ŝ

ycia metod statystycznych.

• Gry dorównuj

ą

 mistrzom w wielu przypadkach: 

szachach, warcabach, Othello, Trik-Traku i innych.

• Uwa

Ŝ

a si

ę

Ŝ

e gry s

ą

 tym dla sztucznej inteligencji, 

czym wy

ś

cigi Grand Prix Formuły I s

ą

 dla rozwoju 

automobilizmu.

background image

Podsumowanie

W

ą

tpliwo

ść

Wprawdzie programy AI s

ą

 w stanie pokona

ć

 nawet 

arcymistrzów, ale musz

ą

 one korzysta

ć

 z heurystyk 

wymy

ś

lonych przez człowieka. 

Czy zatem mo

Ŝ

na uwa

Ŝ

a

ć

Ŝ

e s

ą

 to rzeczywi

ś

cie byty      

cechuj

ą

ce si

ę

 sztuczn

ą

 inteligencj

ą

©  F.A. Dul 2007