Intelligente Spelen

advertisement
Intelligente Spelen
Pieter Spronck
Open Universiteit, Universiteit van Tilburg
TouW Informatica Symposium, 13-11-2010
Wat is kunstmatige intelligentie?
Kunstmatige intelligentie
Kunstmatige intelligentie is de studie van intelligent
gedrag, en het onderzoek naar hoe intelligent gedrag
geïmiteerd kan worden in machines.
Intelligent gedrag
Filosofie: Wat is denken? Wat betekent het om
te kunnen denken? Wat is intelligent gedrag?
Informatica: Hoe kunnen we intelligent gedrag
met een machine imiteren?
Biologie/Psychologie: Wat kunnen we leren over
mensen en dieren door de imitatie van
intelligent gedrag?
Drie belangrijke categorieën
-
-
-
Kennissystemen:
Kennissystemen: computer als hulpmiddel
- Informatie verzamelen
- Redeneren
- Data mining
Autonome agenten
agenten:: computers in de wereld
- Robots / voertuigen
- Avatars
- Adaptief / robuust gedrag
Gaming: mensen in een computerwereld
- Entertainment
- Edutainment
- Serious gaming en simulaties
Wat kan kunstmatige intelligentie?
Zoeken
Startpositie
Doel /
Oplossing
Nim
- Om de beurt nemen de
spelers 1, 2, of 3 munten
- Degene die de laatste
munt neemt, verliest
Nim intelligentie
Analyse
- Ik win als de computer de laatste
te munt moet nemen
- Ik moet dus 1 munt over laten
- Bij 2 munten neem ik 1, bij 3 neem ik 2, bij 4 neem ik 3
- Bij 5 munten kan ik nog niet winnen
- en ik laat 2, 3, of 4 munten over
- dus kan de computer winnen!
- Ik moet dus 5 munten over laten
- Bij 6 munten neem ik 1, etcetera...
- Ik moet dus 9 munten over laten
- etcetera...
- Ik moet dus 13 munten over laten
- Dat kan ik doen door 2 munten te nemen!
Generalisatie
- Speel zo dat er 1+4N munten blijven liggen
- Indien dat niet kan, speel iets willekeurigs
- De eerste speler kan dus winst afdwingen als het spel
start met een aantal munten dat niet 1+4N is
- Anders kan de tweede speler winst afdwingen
- Dit is gemakkelijk te implementeren
- Zo werken traditionele kennissystemen
Zoekbomen
- Laat de computer
(veel) mogelijke
voortzettingen
onderzoeken
- Speel de zet die tot
goede resultaten
lijkt te leiden
Schaken versus Go
Monte Carlo
Case Based Reasoning
-
Leren van ervaring
Munten
Gepakt
Wint?
15
2
0
13
2
1
11
3
0
8
1
1
7
1
0
5
2
0
3
2
1
1
1
0
15
2
1
13
2
0
11
2
1
9
2
0
7
2
1
5
1
0
4
3
1
1
1
0
15
1
0
14
1
1
13
2
0
11
2
1
9
3
0
6
1
1
Knowledge discovery
- Kennis ontdekken
- Machine-learning technieken
- Data mining
- Neurale netwerken
- Evolutionair leren
- Reinforcement leren
- Genetische programmering
- ...
Leren Nim begrijpen
- Bepaal een formule voor aantal te nemen munten
- Beschikking over
- Cijfers 1 t/m 9
–
- Mathematische operatoren
-
ADD
SUB
MOD
MIN
MAX
- Variabele t voor aantal munten
- Voorbeeld
- SUB(ADD(t,1),t)
+
t
t
1
max
Nim opgelost
- De computer ontdekt een formule
om Nim perfect te spelen
- Deze formule is niet door de
programmeur bedacht!
- Alleen de basisonderdelen en het
“denkmechanisme” worden door
de programmeur verschaft
1
mod
+
t
4
3
De kwaliteit van kunstmatige
intelligentie in spelen
KI in computerspelen
Spel architectuur
updates
Speltoestand
informatie
informatie
Renderer
informatie
Simulator
(Physics+Animaties)
acties
Controllers
Controllers
Agenten
(Game AI+Human)
(Game
AI+Human)
(bestuurd
door
KI of mens)
Changes in Gaming
Oblivion Buffoon
AI has not changed at all
Ultima VI: The False Prophet (1990)
De illusie van menselijk gedrag
- KI in spelen gaat over de illusie van menselijk (of
natuurlijk) gedrag
- Slim, tot op zekere hoogte
- Onvoorspelbaar maar rationeel
- Beïnvloed door emoties
- Lichaamstaal om emoties over te brengen
- Geïntegreerd in omgeving
- Adaptief
- Door het toenemend realisme van spelwerelden, wordt
het steeds lastiger om de illusie in stand te houden
Technische situatie
Het is al moeilijk datgene dat werkt te behouden in
nieuwe spelen
Complexe KI = Slimme KI?
“Slimme KI was geprogrammeerd in het spel. De geesten
verzamelden zich, vielen de speler aan, en verspreidden zich.
Iedere geest had zijn
eigen kunstmatige
intelligentie.”
Het perceptie venster
Zorg ervoor dat de KI van een agent is afgestemd
op zijn doel en de aandacht die hij krijgt van de
speler
Meer lijkt op fouten en slordige programmering
Gedragsverandering valt meer op dan gedrag
Voor incidentele personages zijn slechts twee
gedragingen nodig:
nodig: ““normaal
normaal”” en “in contact met de
speler””
speler
De toekomst van kunstmatige
intelligentie in spelen
Onderzoek naar spel KI
- Een computer een spel laten
spelen
- Spelen oplossen
- Andere doelen
- Effectief spel
- Sterk spel
- Onverslaanbaar spel
- Adaptief spel
- Interesant spel
- Amusant spel
- Menselijk spel
Effectief, sterk, onverslaanbaar
- Perfect
- Awari
- Go-Moku
- Onverslaanbaar
- Checkers
- Scrabble
- Wereldkampioen
- Schaken
- Dammen
- Grootmeesterniveau
- Poker
- Shogi
- Sterke amateur
- Go
Adaptief
computer-controlled
team
Knowledge
Base A
generate
script
Script A
script
control
weight updates
Knowledge
Base B
generate
script
Script B
humancontrolled team
script
control
human
control
Combat
human
control
Interessant, amusant
Menselijk?
Ontwikkelingen
- Adaptiviteit en leren
- Speler modellering
- Emergente intelligentie
Adaptiviteit en leren
- Automatisch herstellen van foutief gedrag
- Automatisch ontwikkelen van nieuwe strategieën
- Automatische schaling van speelsterkte
Speler modellering
overeenstemming?
Model
Acties
Preferenties
Stijl
Ervaringen
Feedback
updates
Mens
voorspelling
observaties
acties
acties
Spel KI
Spelwereld
observaties
Poker
Recent Work
- David Thue’s PaSSAGE
Emergent gedrag
Aarzelende uitgevers
-
Kan het niet gesuggereerd worden? (“faken”)
Worden niet de verkeerde lessen geleerd?
Is het niet erg moeilijk te implementeren?
Is het niet erg moeilijk en tijdrovend om te testen?
Zijn de bestaande technieken niet te inefficiënt?
Is het niet zinloos?
Meer informatie
-
Open Universiteit
- Kunstmatige Intelligentie I
- Expert systemen
- Neurale netwerken
- Evolutionary computing
- Kunstmatige Intelligentie II
- Agent systems
- Reinforcement learning
-
- Artificial Intelligence for Games
Pieter Spronck
- OU: [email protected]
- UvT: [email protected]
- http://www.spronck.net
Download