Document

advertisement
Representatie & Zoeken
College 4:
Zoeken met
heuristieken
2-speler bomen
mini-max zoeken
a-b pruning
Leeswijzer: Hoofdstuk 4.4
AI4
1
Verschillende typen bomen (1) 5
4
Single player or-bomen
3
2
c3
1
e1
b4
a4
a2
a1
AI4
c4
b5
c1
a b c d e
e5
d4
d3
e2
2
Verschillende typen bomen (2)
Single player and/or-bomen
= AND
zin
onderwerp
naam
johan
actie
anoniem
lidw.
woord
wodan
de een man hond
AI4
werkw.
speelt
werkw.
houdt
bijt van
voorwerp
johan
wodan
3
Verschillende typen bomen (3)
Multi-player bomen
wit
zwart
wit
zwart
AI4
4
Heuristiek voor 2-speler bomen
• Aanname: tegenstander zelfde kennis als ik
• MINiMAX-algorithme
– 2 spelers, MIN en MAX
– heuristiek h: hoog
= goed voor MAX
laag
= goed voor MIN
• Simpele methode:
genereer hele zoekboom
bereken h(n) voor alle bladeren
herhaal vanaf bladeren tot wortel:
Als ouder = MIN dan h(ouder)=min (h(kinderen))
Als ouder = MAX dan h(ouder)=max (h(kinderen))
AI4
5
Vb. van MINiMAX op totale zoekboom
1
1
0
1
1
0
1
0
1
0
AI4
MIN
0
1 MIN
0
1
MAX
MAX
MIN
MAX
6
Verbetering van MINiMAX (1)
Doorzoek boom slechts tot cut-off depth n
Gevaar: horizon-effect
3
3
3
2
AI4
0
9
35
MAX
0
9
7
0
MIN
2
7
2
4 2
MAX
6
15
6
MIN
7
Verbetering van MINiMAX (1)
Doorzoek niet de hele boom tot diepte n
3
3
3
2
0
5
35
AI4
MAX
0
2
0
0
MAX
2
2
MIN
1
MIN
8
Algorithme: a-b-pruning
• a (bij MAX knopen) = ondergrens voor MAX
= ondergrens voor h (a kan alleen groeien)
• b (bij MIN knopen) = bovengrens voor MIN
Algorithme






Onderzoek één tak tot cut-off diepte
Bereken h van alle broers
Als MIN: h(ouder) = maximimum van broers
b-grens(groutouder)=h(ouder)
Bekijk neefjes (= kinderen van ooms)
Stop met oom+kinderen zodra
h(n) b-grens(grootouder)
AI4
-:
omgekeerd bij MAX knopen
9
Analyse van a-b-pruning
• Beste gedrag als kinderen van MAX knopen
met hoogste h eerst gegenereerd worden
• Ditto voor MIN knopen
• Bij optimale ordening:
– b daalt tot b
(schaak: 35 6)
• Bij willekeurige ordening:
– b daalt tot b/log b
(schaak: 35 22)
• In praktijk:
– b daalt tot b3/4
(schaak: 35 14)
AI4
10
Geschiedenis & state-of-the-art (schaken)
• Herbert Simon (1957): voorspelling van
machine-wereldkampioen in 10 jaar...
• Belle (1982), speciale hardware, meester nivo
• HITECH (1985), grootmeesternivo, 106 posities/zet
• Deep Thought, 0.51012 posities/zet
• Deep Blue, 1024 parallele computers,
100-200 1012 posities/zet, kijkt 14 zetten vooruit
AI4
11
Geschiedenis & state-of-the-art (schaken)
• Nu:
– snelschaak (5-25 min):
machine verslaat Kasparov
– toernooischaak:
• machine bij top 100 (10?)
• machine verslaat Kasparov incidenteel
AI4
12
Mens versus Machine
• Schaken:
January 18, 2005. We have achieved a
milestone in our quest to solve the game of
top checkers.
100 We have a tentative proof that the
White Doctor opening (10-14 22-18 12-16) is a
draw. This means that our program when
playing Black (the weak side) will never lose.
When playing White, our program will never lose
and may win (if the opponent makes a mistake).
• Dammen:
TRUUS, Stef Keetman, top 30
• Checkers:
• Othello:
CHINOOK, Schaeffer, top 2 (1994)
> WK
• Go:
beginner nivo, b>360(!!)
$ 2.000.000 prijs
AI4
13
Download