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