General Game Playing (GGP)

Größe: px
Ab Seite anzeigen:

Download "General Game Playing (GGP)"

Transkript

1 General Game Playing (GGP) Seminararbeit von Benjamin Brandmüller Am Institut für Angewandte Informatik und Formale Beschreibungsverfahren (AIFB) Anschrift: Leipziger Allee 4, Karlsruhe Matrikelnummer: Studiengang: Informationswirtschaft (Bachelor) Fachsemester: 7. Semester Seminar: AI for Decision Making and Game Playing Computers Betreuerin: Dipl.-Inform.Wirt. Carolin Michels Bearbeitungszeit: 27. Oktober Februar 2011

2 Ich versichere hiermit wahrheitsgemäß, die Arbeit bis auf die dem Aufgabensteller bereits bekannte Hilfe selbstständig angefertigt, alle benutzten Hilfsmittel vollständig und genau angegeben und alles kenntlich gemacht zu haben, was aus Arbeiten anderer unverändert oder mit Abänderungen entnommen wurde. 1 X Benjamin Brandmüller Karlsruhe

3 Inhaltsverzeichnis Einleitung... 3 Grundlagen... 3 GDL-Spezifikation... 3 Relationen... 4 Definitionen... 6 Erweiterung der Definitionen... 8 Competition... 9 Algorithmen Enhanced Iterative Deepening A* (Enhanced IDA) Mini-Max Alpha-beta pruning Monte Carlo Tree Search (MCTS) Player CADIA-Player Architektur Spielbaum/Zustandsraum (Such-)Strategien Fluxplayer Suche Evaluierungsfunktion Vergleich Methodik Intelligenz Entwicklungspotenzial Zusammenfassung und Ausblick Wissenstransfer Stochastische Spiele in GDL Übertragung auf unternehmerische Probleme Abbildungsverzeichnis Literaturverzeichnis

4 Einleitung Das General Game Playing ist ein vergleichsweise junges Forschungsgebiet der künstlichen Intelligenz (AI = Artificial Intelligence), welches sich mit automatisierten Playern (genannt Bots ) beschäftigt, die vorab unbekannte Spiele spielen. Diese Bots entwickeln zur Laufzeit, gegeben eine hinreichende Spezifikation eines Spiels, ad-hoc Strategien, die es ihnen ermöglichen ein beliebiges Spiel ohne jegliche menschliche Interaktion zu spielen (Genesereth, Love, & Pell, 2005). Hierzu nutzen sie diverse AI-Technologien wie knowledge representation, reasoning, learning und rational decision making (Genesereth, Love, & Pell, 2005). Die Einsatzmöglichkeiten sind hierbei lediglich durch die Ausdrucksmächtigkeit der Sprache beschränkt. Dies unterscheidet sie wesentlich von bisher bekannten, hochspezialisierten Bots (z.b. Deep Blue ), die nur in der Lage sind ein einziges Spiel zu spielen und dementsprechend eine anwendungsbezogene Strategie besitzen. General Game Player agieren hingegen auf einer Meta-Ebene, die erstmalig 1992 vom Wissenschaftler Barney Pell in seiner Publikation METAGAME in Symmetric Chess-Like Games (Pell, 1992) thematisiert wurde. Pell legte damit den Grundstein für das GGP und gründete damit einen neuen Forschungszweig, der seit 2005 im Rahmen der AAAI Conference (Genesereth, Love, & Pell, 2005) durch jährliche Wettbewerbe angetrieben wird. Eine standardisierte Spezifikation der Spiele unterstützt diese Entwicklung und ermöglicht den Entwurf von vergleichbaren Playern (Love, Hinrichs, & Genesereth, 2006). Die Aufgaben des General Game Player sind somit klar definiert: Er muss den Code kompilieren, einen Spiel-Graphen erstellen, sowie Evaluierungs- und Suchfunktionen darauf anwenden. Insbesondere bei Spielen mit unvollständiger Information stellt die Evaluierung und Suche eine große Herausforderung dar. Erfolgreiche Player, wie CADIA oder Flux, bedienen sich hierbei an den aus der Informatik bekannten Algorithmen, wie Monte Carlo Tree Search (MCTS) oder Enhanced Iterative Deepening A* (Enhanced IDA). Diese Seminararbeit vermittelt dem Leser zunächst grundlegendes Wissen über das General Game Playing, um im Anschluss zwei erfolgreiche Player zu beschreiben und miteinander zu vergleichen. Zum Schluss wird es einen Ausblick in aktuelle Entwicklungen geben. Grundlagen GDL-Spezifikation 1 Die Spezifikation der Game Description Language (GDL) stellt einen Standard zur formalen Beschreibung von Spielen dar. Die aktuelle Version beschränkt sich insbesondere auf diskrete, deterministische Multiplayer-Spiele mit vollständiger Information. Dies schränkt die Vielfalt an beschreibbaren Spielen stark ein, da sämtliche Spiele, die z.b. eine zufällige Komponente 2 enthalten, nicht modelliert 1 Vgl. (Love, Hinrichs, & Genesereth, 2006) und (Bihlmeyer, Faber, Ielpa, Lio, & Pfeifer) 2 Dazu gehören z.b. alle Spiele mit einem Würfel. 3

5 werden können. Trotz dieser Einschränkung wäre es äußerst inpraktikabel ein Spiel einfach als einen Graphen mit sämtlichen möglichen Zuständen zu modellieren, da die Anzahl der Zustände u.u. enorm hoch sein kann 3. Stattdessen versucht die GDL ein Spiel durch eine kompakte Menge an Transitionen zu beschreiben, die auf eine beschränkte Menge von initialen Fakten angewendet werden kann und so zu neuen Fakten führt. Die Umsetzung der GDL erfolgt in der Sprache KIF, dessen Syntax für das weitere Verständnis kurz erläutert wird: wird zu?x (,, (h(, ), )) wird zu (f a?x (g (h c?y) e)) ( (1, 1, )) wird zu (true (cell 1 1?x)) ( (1, 1, )) wird zu (not (true (cell 1 1?x))) ( ) ( ( ) ( ) wird zu (<= (p?x) (q?x) (not (r?x))) ( ) ( ( ) ( ( ) ( )) wird zu (<= (p?x) (q?x) (or (r?x) (s?x))) Die GDL Spezifikation basiert wesentlich auf der datalog Syntax und erweitert diese um Funktionen als Konstanten, sowie Rekursionsrestriktionen, die dafür sorgen, dass die Semantik dennoch endlich bleibt. Diese Konzepte gliedern sich in Relationen und Definition und sollen im Folgenden erläutert werden: Relationen 4 Relationen sind elementare Konzepte der GDL. Sie sind die Instrumente mittels derer ein Spiel und seine Regeln beschrieben wird. Die GDL unterscheidet folgende Relationen: Role Relation Die role Relation definiert die Namen und Zugleich die Anzahl der Spieler. Für das gewählte Beispiel wäre es also: (role xplayer) (role oplayer) True Relation Die true Relation beschreibt Fakten, die in Form eines ground Terms dargestellt werden. Die Syntax einer true Relation ist true(fact). Sei control eine Funktion, die beschreibt welcher Spieler an der Reihe ist. Dann bezeichnet der atomare Satz (true (control xplayer)) einen Status in dem der ground Term (control xplayer) wahr ist. D.h. xplayer ist an der Reihe. Init Relation Analog zur true Relation bezeichnet auch die init Relation Fakten, die in Form eines ground Terms dargestellt werden. Allerdings sind Ausdrücke dieser Relation nur im Startzustand gültig und beschreiben somit die Ausgangssituation eines Spiels. Bei Tic-Tac-Toe bedeutet das, dass alle Zellen leer ( b wie blank ) sind und einer der Spieler an der Reihe ist: 3 Beim Schach gibt es Zustände 4 Zum besseren Verständnis werden vereinzelte Relationen anhand des Beispiels Tic-Tac-Toe erklärt. 4

6 (init (cell 1 1 b)) (init (cell 1 2 b)) (init (cell 1 3 b)) (init (control xplayer)) Next Relation Genauso bezeichnet auch die next Relation wahre Fakten. Allerdings beschreibt sie Fakten die im nächsten Zustand nach dem aktuellen Zustand wahr sind. So wechseln sich die Spieler z.b. bei Tic-Tac-Toe ab: (<= (next (control xplayer)) (true (control oplayer))) (<= (next (control oplayer)) (true (control xplayer))) Legal Relation Die legal Relation beschreibt erlaubte Spielzüge eines Spielers. Sie allokiert Spielzüge und Player unter Berücksichtigung des aktuellen Zustands, der durch die true Relationen beschrieben wird. Bei Tic-Tac-Toe z.b. darf ein Spieler nur leere Zellen markieren, sofern er an der Reihe ist. Der andere Spieler darf keinen Zug ausführen (noop): (<= (legal?w (mark?x?y)) (true (cell?x?y b)) (true (control?w))) (<= (legal xplayer noop) (true (control oplayer))) (<= (legal oplayer noop) (true (control xplayer))) Does Relation Die does Relation ist der Syntax in der legal Relation sehr ähnlich. Allerdings beschreibt sie tatsächliche gewählte Spielzüge eines Spielers. Sie wird benötigt, um den Folgezustand in Abhängigkeit des gewählten Spielzuges zu modellieren. Im Beispiel bedeutet es, dass eine Zelle markiert wird, sobald ein Spieler diese auswählt: (<= (next (cell?m?n x)) (does xplayer (mark?m?n)) (true (cell?m?n b))) Der Vollständigkeit wegen müsste zudem beschrieben werden, dass alle anderen Zellen unverändert bleiben. Goal Relation Die goal Relation definiert das Ziel des Spiels. Hierbei können ganzzahlige Punkte von 0 bis 100 auf die jeweiligen Spieler verteilt werden. Beim Tic-Tac-Toe bekommt entweder ein Spieler alle Punkte und gewinnt das Spiel (100:0) oder es gibt ein Unentschieden (50:50). Das Ziel der Spieler ist es jedoch, durch eine markierte Reihe zu gewinnen. Demnach lautet die goal Relation für den Spieler xplayer: (<= (goal xplayer 100) (line x)) 5

7 Terminal Relation Terminal Relationen beschreiben wann ein Spiel beendet ist und definieren so die Endzustände. Im gewählten Beispiel ist dies der Fall, sobald ein Spieler eine Reihe markiert, oder keine Spielzüge mehr möglich sind: (<= terminal (line x)) (<= terminal (line o)) (<= terminal (not open)) Die terminal Relation gibt nicht an, welcher Spieler gewonnen hat und welche Auszahlung bekommt! Definitionen Neben den Relationen geben die Definitionen Rahmenbedingungen vor, wie die Relationen eingesetzt werden dürfen. Diese Bedingungen werden im folgenden Abschnitt vorgestellt: Vokabular Das Vokabular besteht aus einer Menge von Termen und atomaren Sätzen. Term Ein Term ist eine Variable oder eine Konstante. Kleinbuchstaben repräsentieren hierbei Konstanten. Variablen hingegen, werden als Großbuchstaben dargestellt. Atomarer Satz Ein atomarer Satz der Arität n ist die Komposition einer Konstanten mit einem Tupel aus N Termen der Form p(1, 1,X). Literale Ein Literal ist ein atomarer Satz oder dessen Negation. Ground Expressions Ein Ausdruck heißt ground, wenn dieser keine Variablen enthält. Datalog Regeln Eine Datalog Regel ist eine Implikation der Form: h wobei der head h ein atomarer Satz und jedes im body ein Literal oder eine Disjunktion von Literalen 5 ist. Zudem muss die Safety erfüllt sein. Dies bedeutet, dass eine Variable, die im head oder in einem negativen Literal auftaucht außerdem in einem positiven Literal im body stehen muss. Der Ausdruck distinct wird dabei als negatives Literal behandelt. Durch diese Anforderung wird sichergestellt, dass ein Modell nur endlich groß ist und eine Regel stets eindeutig interpretierbar ist. Außerdem müssen die Regeln so gewählt werden, dass die Rekursionsrestriktion erfüllbar ist 6. 5 Die Disjunktion wurde in der GDL ergänzt, um Berechnungen von Spielbeschreibungen durch General Game Player zu beschleunigen. Sie hat keine zusätzliche Bedeutung für die Definition. 6 Siehe Abschnitt Rekursionsrestriktion 6

8 Abhängigkeitsgraph Sei Δ eine Menge von Datalog Regeln. Dann sind die Knoten des Abhängigkeitsgraphen für Δ die atomaren Sätze des Vokabulars. Sofern es eine Regel mit im head und im body gibt, so existiert im Abhängigkeitsgraphen eine Kante von nach. Wenn ein negatives Literal ist, so wird diese Kante mit gekennzeichnet. Stratifizierbare Datalog Regeln Eine Menge von Datalog Regeln heißt stratifizierbar, wenn es im dazugehörigen Abhängigkeitsgraphen keinen Zyklus mit einer Kante gibt, die mit gekennzeichnet ist. Diese Definition ist von besonderer Bedeutung, da sie logische Inkonsistenzen und Mehrdeutigkeiten vermeidet und somit eine wesentliche Anforderung an jede Datalog Regel ist. Modell Ein Modell der Sprache L besteht aus einer Menge von ground atomaren Sätzen aus L. Erfüllbarkeit Folgende Ausdrücke eines Modells M sind erfüllbar, sofern deren dahinterstehende Bedingung wahr ist: (, ) genau dann, wenn und syntaktisch nicht der selbe Term sind (,, ) genau dann, wenn (,, ) genau dann, wenn der Ausdruck in M nicht erfüllbar ist genau dann, wenn N gilt: ist in M erfüllbar genau dann, wenn N für das gilt: ist in M erfüllbar h genau dann, wenn entweder oder h oder beides in M erfüllbar ist. ( ) genau dann, wenn ( ) erfüllbar in für jeden ground Term Entailment Eine Menge Δ an Datalog Regeln, die keine Negation enthält, heißt Horn. Für diese Menge gibt es genau ein minimales, erfüllbares Modell, wobei ein Modell M kleiner als N ist, wenn. Dieses minimale Modell ist der Sinngehalt der Menge. Entailment 7 bedeutet, dass Δ genau dann einen Ausdruck impliziert, sofern dieser in M erfüllbar ist. Stratum Sei a ein atomarer Satz in einer Menge Δ an stratifizierbaren Datalog Regeln. Dann ist a in Stratum i, wenn die maximale Anzahl von -Kanten, in jedem Pfad vom Knoten a im Abhängigkeitsgraphen zu Δ, gleich i ist. Eine Regel ist in Stratum i sofern der head einen atomaren Satz in Stratum i beinhaltet. Stratifizierbare Datalog Semantik Jede Regel in eine Menge Δ von stratifizierbaren Datalog Regeln hat ein endliches Stratum 8. Zudem gibt es mindestens eine Regel mit Stratum 0. Diese Regeln sind 7 Im deutschen Sprachgebrauch auch als semantische Implikation bezeichnet 8 Dies wird durch die Safety sichergestellt (siehe Definition Datalog Regeln ) 7

9 Horn und haben somit ein minimales Modell. Dieses Modell wird durch die Fakten, die durch Regeln mit Stratum 1 geschaffen werden, zum Modell erweitert. Durch Wiederholung dieses Prozesses mit den Regeln in Stratum 2 wird dieses zum Modell erweitert usw. Die Stratifizierbare Datalog Semantik von Δ ist das Modell mit maximalem Stratum k für jede Regel in Δ. Stratifizierbares Entailment Genauso gilt auch für die stratifizierbare Datalog Semantik die semantische Implikation, die als stratifizierbares Entailment bezeichnet wird. Rekursionsrestriktion In einer Regel der Form (,, ) (,, ) gilt {1,, } entweder ist ground oder {1,, } mit = (,, ). Erweiterung der Definitionen Um die beschriebene Semantik der Relationen sicherzustellen müssen zusätzliche Restriktionen eingeführt werden, die syntaktisch korrekte, aber ungewollte Ausdrücke vermeiden. So besagt folgende Regel (<= (role p) (true q)), dass p ein (neuer) Player ist, sofern q erfüllt ist. Allerdings fordert die Spezifikation, dass die Anzahl der Spieler fix und nicht abhängig von den Zuständen zur Laufzeit sind. Die oben beschriebenen Definitionen werden daher wie folgt ergänzt: GDL Restriktionen Wenn Δ eine GDL Beschreibung und dessen Abhängigkeitsgraph ist, muss folgendes für Δ gelten: Die role Relation darf nur in ground atomaren Sätzen auftauchen (z.b. im head ohne body. Eine Veränderung der Spieler, wie im oben genannten Beispiel wird somit verhindert. Die init Relation darf nur im head einer Datalog Regel auftauchen. Der init Knoten in enthält zudem keine der folgenden Komponenten: true, does, next, legal, goal oder terminal. Dies kapselt den Startzustand als reine Beschreibung ab und verhindert Kanten, die dorthin zurückführen. Die true Relation taucht nur im body einer Datalog Regel auf Fakten werden nicht durch die true Relation geschaffen, sondern nur durch diese beschrieben. Die next Relation taucht nur im head einer Datalog Regel auf Die next Relation beschreibt Fakten im nächsten Zustand und ist kein Ersatz für die true Relation Die does Relation taucht nur im body einer Datalog Regel auf. In G gibt es zudem keinen Pfad zwischen dem does Knoten und einem legal, goal oder terminal Knoten. 8

10 Die does Relation ist kein Fakt der durch andere Fakten geschaffen wird, sondern dient der Beschreibung von Zustandsveränderungen. Sie ist eine dynamische Komponente und ist daher ungeeignet zur Verwendung in legal, goal oder terminal Koten All diese Definitionen gewährleisten nun eindeutige Interpretationen mittels derer ein General Game Player seine Züge wählen und Zustände berechnen kann. Allerdings stellt die GDL zusätzliche Anforderungen an eine Beschreibung, da sie möglicherweise nie endet oder nicht zu gewinnen ist: Terminiertheit Eine Beschreibung in GDL terminiert, wenn alle Sequenzen von legalen Spielzügen im Startzustand nach einer endlichen Anzahl von Schritten zu einem Endzustand führen Spielbarkeit Eine Beschreibung in GDL ist spielbar, wenn jede Rolle in jedem Zustand, der kein Endzustand ist, mind. einen legalen Spielzug hat. Gewinnbarkeit Eine Beschreibung in GDL ist stark gewinnbar, wenn es für eine Rolle eine Sequenz gibt, die zu einem Endzustand führt, indem die Punktzahl für diesen Spieler maximal ist. Eine Beschreibung in GDL ist schwach gewinnbar, wenn es für jede Rolle eine Sequenz von gemeinsamen Spielzügen von allen Rollen gibt, die zu einem Endzustand führt, indem die Punktzahl für diese Rolle maximal ist. Wohl definierte Spiele Eine Beschreibung in GDL ist wohl definiert, wenn sie die Anforderungen an die Terminiertheit, Spielbarkeit und Gewinnbarkeit erfüllt. Competition 9 Im Zuge der 20. nationalen Konferenz für künstliche Intelligenz in Pittsburgh, hat die Association for the Advancement of Artificial Intelligence (AAAI) zum ersten Mal die jährliche Competition (AAAI, 2005) im General Game Playing in Zusammenarbeit mit der Stanford University ins Leben gerufen. Der Wettbewerb ist offen für alle General Game Player und mit einem Preisgeld i.h.v $ ausgeschrieben. Damit möchte die AAAI die Performance der Player vergleichen, um diesen Forschungszweig voranzutreiben. In der Qualifikationsrunde des Wettbewerbs, werden Spiele unterschiedlichster Komplexität und Art (Single Player, kooperativ, kompetitiv, ) gespielt. Basierend auf der Anzahl legaler Spielzüge, gewonnener Spiele und benötigter Zeit, werden die besten Player ausgesucht, um dann gegeneinander in Spielen steigender Komplexität anzutreten. Um mehrere Player gegeneinander antreten zu lassen, wird jedoch ein Game Manager benötigt. Dieser verteilt die Beschreibung eines Spiels an die Player, bestimmt den aktuellen Zustand eines Spiels, aktualisiert diesen in Folge von Spielzügen, verifiziert die Spielzüge der Spieler und berechnet die Gewinnauszahlungen, sobald das Spiel beendet ist. Technisch wird der Game Manager als Web- Service bereitgestellt. Er kommuniziert mit den Playern über Nachrichten unter 9 Vgl. (Genesereth, Love, & Pell, 2005) 9

11 Verwendung von HTTP auf Basis einer TCP/IP-Verbindung. Diese Nachrichten können folgende Kommandos enthalten 100 : Start Kommando: ( ) ü Play Kommando: Stopp Kommando:, ä ü ü ü ( ( ) ) ) ü ( ( 1 2 ) ) ) ü Auf dieselbe Art und Weise können die Player mit dem Gamemaster kommuni- ein zieren, wobei sie im Wesentlichen lediglich ihre Spielzüge übermitteln. Sollte Player innerhalb der Playclock keinen legalen Zug gesendet haben, wählt der Ga- eines me Manager einen legalen Spielzug zufällig aus. Folgendes Sequenzdiagramm veranschaulicht den exemplarischen Ablauf Tic-Tac-Toe-Spiels: Abbildung 1: Sequenzdiagramm GGP Competition Quelle: eigene Darstellung 10 Vgl. (Love, Hinrichs, & Genesereth, 2006) 10

12 Algorithmen Enhanced Iterative Deepening A* (Enhanced IDA) 11 Um Enhanced IDA zu verstehen, muss zunächst der grundlegende Algorithmus A* erläutert werden: Der A*-Algorithmus verwendet eine Heuristik, um eine optimale Lösung zu finden. Hierbei wird jedem bekannten Knoten x eines Graphen ein Wert f(x) zugeordnet, der die minimalen Kosten vom Startknoten zum Zielknoten unter Verwendung von x angibt. f(x) setzt sich dabei wie folgt zusammen: ( ) = ( ) + h( ) 12 ä Dabei gilt es zu beachten, dass zunächst nur der Startknoten bekannt ist. Sobald der kürzeste Pfad zu einem bekannten Knoten gefunden wurde, wird dieser als abschließend untersucht (Closed List) markiert und expandiert. Dadurch wird die Menge der bekannten Knoten (Open List) erweitert und sukzessive (aufsteigend nach f(x)) abgearbeitet. Der Algorithmus terminiert entweder, wenn der Zielknoten abschließend untersucht wurde und gibt die entsprechend optimale Lösung aus, oder er terminiert sobald die Open List leer ist und demzufolge alle möglichen Knoten expandiert wurden. Letzteres liefert keine Lösung. (Hart, Nilsson, & Raphael, 1968) Aufgrund der Komplexität der meisten Spiele ist dieses Vorgehen jedoch inpraktikabel, da die Anzahl der Knoten enormen Speicherbedarf hätte. Angelehnt an iterative deepening depth-first search (IDDFS) wird daher die Tiefe der Suche iterativ erhöht, sobald der Algorithmus keine Lösung findet. Hierbei verwendet der Algorithmus zur Tiefenbestimmung nicht die Höhe des Baumes, sondern die momentan niedrigsten Kosten f(x). Da diese Variante Transpositionstabellen verwendet, ist sie um einen Speicher erweitert, was dem Algorithmus den Namen Enhanced IDA verleiht. Mini-Max 13 Der Mini-Max Algorithmus basiert auf der simplen Annahme, dass unser Gegner unsere Auszahlung minimiert 14 und versucht mit diesen Gegebenheiten unsere Auszahlung zu maximieren. D.h. bei einem vollständig expandierten Spielbaum beginnt der Algorithmus auf der Blattebene und wählt abwechselt auf jeder Ebene die maximale bzw. minimale Auszahlung aus, sodass wir bis zur Wurzel hin die maximale Auszahlung und dessen Pfad kennen. Problematisch wird dieses Verfahren in der Umsetzung, da der vollständig expandierte Baum betrachtet wird und dies sehr viel Rechenzeit benötigt. Aufgrund der Playclock, die im Rahmen einer AAAI Competition 15 vorgegeben wird, ist es somit in den meisten Fällen nicht möglich den kompletten Baum zu berechnen. Stattdessen wird daher die Tiefe vorab beschränkt und iterativ im gegeben Zeitfenster erhöht, bis die Zeit abgelaufen oder der komplette Baum expandiert wurde. 11 Vgl. (Russell & Norvig, 2009) 12 Auf Evaluierungsmöglichkeiten der heuristischen Funktion wird im Kapitel Fluxplayer näher eingegangen 13 Vgl. (Finnsson, CADIA-Player: A General Game Playing Agent, 2007) 14 Diese Annahme ist insbesondere für Nullsummenspiele plausibel, da der Gegner seine Auszahlung maximieren wird, was die Minimierung unserer Auszahlung zur Folge hat. 15 Siehe Kapitel Competition 11

13 Der Algorithmus kann durch eine kleine Modifikation auch für Multi-Player- Spiele angewandt werden, wenn die Auszahlungen als Tupel dargestellt oder zu einem Gegner aufaddiert (Paranoid algorithm) werden. Alpha-beta pruning 16 Das alpha-beta pruning ist ein Verfahren, welches zur effizienteren Berechnung beim Mini-Max-Algorithmus angewandt wird. Hierzu werden ganze Äste von der Suche ausgeschlossen, sofern sie das Ergebnis nicht mehr beeinflussen können. Die Idee ist, dass Teilbäume abgeschnitten werden sollen, die nicht in Frage kommen, da beim Minimieren (Maximieren) ein anderer Teilbaum des Zweigs auf selber Ebene bereits eine niedrigere (höhere) Auszahlung hat als der aktuell betrachtete Knoten ( -Cut bzw. -Cut). Folgendes Beispiel veranschaulicht das Vorgehen: (, ) Max (-, ) (7, ) Min (-, ) (-,7) (7, ) -Cut Max 3 7 Abbildung 2: alpha-beta pruning 8 -Cut 1 4 Min Quelle: eigene Darstellung Der -Cut resultiert daraus, dass der linke Knoten größer als das beta ist. Eine weitere Betrachtung an dieser Stelle hätte keinen Sinn, da eine größere Auszahlung im Rahmen des Minimierungsprozesses im nächsten Schritt vom Gegner nicht ausgewählt wird. Die Betrachtung braucht außerdem nicht fortgesetzt werden, da eine kleinere Auszahlung im aktuellen Maximierungsprozess nicht in Erwägung gezogen wird. Der -Cut resultiert daraus, dass der größte Wert kleiner als das ist. Die weitere Betrachtung des Teilbaumes kann abgebrochen werden, da die 4 in die Minimierungsebene rutschen würde, sodass der Gegner auf keinen Fall einen Wert größer als 4 wählen müsste. Die größtmögliche Zahl auf der folgenden Maximierungsebene wäre also eine 4, die aufgrund der 7 im linken Knoten nicht gewählt wird. Der Wurzelknoten enthält dementsprechend eine 7 als größtmögliche Auszahlung, unabhängig davon was die Teilbäume an den Schnitten bereithalten. Die Schnitte im Beispiel werden als flache Schnitte bezeichnet, da sie in derselben Ebene auftreten in der der Schnitt herbeigeführt wurde. Dies unterscheidet sie von tiefen Schnitten, die in tieferen Ebenen auftreten können. Monte Carlo Tree Search (MCTS) 17 Im Gegensatz zu anderen Algorithmen, wie Enhanced IDA, verwendet der Monte Carlo Algorithmus kein domänenspezifisches Wissen, sondern schätzt die erwartete Auszahlung (, ) einer Aktion a im Zustand s auf Basis von Simulationen. Damit der Algorithmus anwendbar ist, müssen jedoch folgende Voraussetzungen erfüllt sein: 16 Vgl. (Reinefeld, 1989) 17 Vgl. (Chaslot, 2010) 12

14 Die Auszahlungen sind beschränkt Die Informationen sind vollständig Die Spieldauer ist begrenzt MCTS berechnet den Knotenwert iterativ in vier Schritten: Selektion: Dieser Schritt bestimmt welcher Pfad als nächstes betrachtet wird. Die Auswahlstrategie bestimmt hierbei das Verhältnis zwischen exploitation (Wähle den derzeit besten Pfad anhand von (, ) 18 ) und exploration (Wähle einen anderen Pfad, um die bisherigen Bewertungen zu verifizieren). Eine dieser Strategien, UCT 19, wird im späteren Kapitel (Such-)Strategien bei der Vorstellung des CADIA-Players näher erläutert Expansion: Pro Simulationsdurchlauf (Episode) wird ein neuer Knoten der Betrachtung hinzugefügt. In der Regel wird hier der erste unbekannte Knoten gewählt, der im Pfad des Selektionsschrittes auftritt Simulation: In der Simulation wird ein Spielverlauf mit beispielhaften Spielzügen durchgespielt. Die Wahl der Spielzüge erfordert ebenfalls eine Strategie, die den Tradeoff zwischen zügiger Simulation und verbesserter Simulation unter Verwendung von Heuristiken regelt Backpropagation: Die Knotenwerte werden anhand der Ergebnisse aus der Simulation angepasst. Die Strategie in diesem Schritt besteht darin, einen sinnvollen Knotenwert zu wählen, der auf den Auszahlungen der bisher durchgeführten Simulationen basiert. Der Durchschnitt ist hierbei häufig ein geeigneter Wert Player CADIA-Player 20 Der CADIA-Player gehört zu den erfolgreichsten Playern der AAAI Competition. Er gewann diesen bereits drei Mal und hat somit mehrfach seine guten Strategien unter Beweis gestellt. Doch wie genau sehen diese Strategien aus und was macht CADIA so erfolgreich? Dieser Frage soll das folgende Kapitel nachgehen: Architektur Die Architektur des CADIA-Players kann in vereinfachter Form wie folgt dargestellt werden: Abbildung 3: Architektur CADIA-Player GGP http Server http Game Agent Interface Game Play Interface Game Logic Interface Quelle: eigene Darstellung 18 Entspricht dem Vorgehen bei einem greedy-algorithmus 19 UCT = Upper Confidence Bound algorithm applied to trees 20 Vgl. (Finnsson, CADIA-Player: A General Game Playing Agent, 2007) und (Finnsson & Björnsson, Simulation-Based Approach to General Game Playing, 2008) 13

15 Hinzu kommt ein File System, welches die Kompilierung einer Spielbeschreibung übernimmt. Der http-server ist lediglich eine Erweiterung des Players, die dazu dient mit dem Game Manager auf der AAAI-Competition kommunizieren zu können 21. Der eigentliche Player besteht demzufolge lediglich aus dem Game Agent, Play und Logic Interface. Das Game Agent Interface ist die Schicht, die die externe Kommunikation übernimmt und die gespielten Spiele koordiniert. Dieses Interface übermittelt zwar die Spielzüge, allerdings ruft es für diese Entscheidung das Game Play Interface auf, welches den Spielzug wählt und die eigentliche Intelligenz beinhaltet. In dieser Schicht sind zwei Player implementiert, die situationsbedingt zum Einsatz kommen: Der eine Player verwendet ein MCTS-Verfahren in der UCT-Variante und der andere Player wendet den Enhanced IDA an. Das Game Logic Interface liefert Informationen über legale Züge und kalkuliert Zustandsänderungen für bestimmte Spielzüge. Sobald ein Spiel beendet wurde, kalkuliert es zudem die Auszahlungen aller Spielteilnehmer. Spielbaum/Zustandsraum Der Spielbaum wird im Game Play Interface modelliert und hat eine simple Struktur die im Folgenden bottom-up erläutert wird: Auf der untersten Ebene sind die Zustand-Aktions-Knoten, die in einer Action Hash Tabelle gespeichert werden. Sie referenzieren Aktionen und beinhalten einen geschätzten Wert, sowie die Anzahl der Besuche. Beides wird im Rahmen des UCT-Algorithmus von Bedeutung sein 22. Die State Hash Tabelle beinhaltet alle möglichen Aktionen in einem Zustand, wobei jede Aktion durch eine Action Hash Tabelle repräsentiert wird. Der Zustandsraum ist erneut eine Hash Tabelle, die aus mehreren State Hash Tabelle besteht. Jede Ebene steht dabei für eine bestimmte Tiefe des Spielbaums. (Such-)Strategien Wahl der Spieler Wie zuvor erwähnt, nutzt CADIA-Player situationsbedingt zwei unterschiedliche Suchalgorithmen. Bei Single-Player Spielen, beginnt CADIA bereits während der playclock die optimale Lösung mittels Enhanced IDA zu finden. Wurde innerhalb der playclock bereits eine Teillösung größer 0 gefunden wird Enhanced IDA weiterhin verwendet. Ansonsten wird zum UCT-Player gewechselt. Da der Schwerpunkt des Players auf dem UCT-Player liegt, wurde der Enhanced IDA Player allerdings nur rudimentär in einer vereinfachten Version implementiert: Es werden keinerlei Heuristiken verwendet, die sich aus der Spielbeschreibung ergeben könnten. Somit ist h( ) stets 0 und ( ) nimmt nur den Wert der bisherigen Kosten ( ) an. In Two- oder Multi-Player Spielen wird von Anfang an der UCT-Player eingesetzt, wobei bei Multi-Player Spielen der paranoide Ansatz 23 verwendet wird und diese Spiele somit auf ein Two-Player Spiel gematched werden. 21 siehe Kapitel Competition 22 Siehe Abschnitt UCT Player 23 siehe Abschnitt Mini-Max 14

16 UCT Player Der UCT Player verwendet den MCTS-Algorithmus, um seine Spielzüge zu bestimmen. Hierbei wird UCT im Rahmen der Selektion zur Lösung des exploration-exploitation Tradeoffs verwendet 24. Dieser UCT-Algorithmus 25 ist eine speziell für die Baumsuche konfigurierte Variante, die auf dem UCB-Algorithmus 26 basiert. Die Idee von UCB ist, dass der Wert einer Aktion a zum Zeitpunkt t um den sogenannten UCB-Bonus erhöht wird. Dieser Bonus erhöht sich jedes Mal, wenn eine Aktion nicht betrachtet wird und verringert sich, falls doch. Empirische Studien zeigten, dass folgende Formel einen sinnvollen Bonus für den CADIA- Player darstellt: ( ) (, ) bezeichnet hierbei einen Parameter, der bei CADIA den fixen Wert hat, aber in der ursprünglichen Form nach (Auer, Cesa-Bianchi, & Fischer, 2002) den Wert besitzt. ( ) gibt an, wie oft der Zustand besucht wurde und (, ) wie oft eine Aktion im Zustand s simuliert wurde. Die nächste zu wählende Aktion a zum Zeitpunkt t ergibt sich somit aus: = (, ) + ( ) (, ) Allerdings wurde im Rahmen der Implementierung ein zusätzlicher Diskontierungsfaktor eingeführt, der dafür sorgt, dass außerdem frühere Auszahlungen präferiert werden. Fluxplayer 28 Anders als der CADIA-Player verwendet der ebenfalls erfolgreiche 29 Fluxplayer nicht den simulationsbasierten Ansatz, sondern setzt auf Heuristiken und versucht domänenspezifisches Wissen aus den Regeln abzuleiten. Da dieses Vorgehen bei größeren Spielbäumen an seine Grenzen stößt, wird situationsbedingt eine Fuzzylogik eingesetzt um den Grad zu bestimmen zudem ein Zustand zum Sieg führt. Für das Reasoning verwendet der Fluxplayer das Flux System 30, was dem Player auch seinen Namen verleiht. Doch wie geht der Fluxplayer bei der Suche vor? Das soll im folgenden Abschnitt erläutert werden: Suche Der Fluxplayer verwendet den oben beschrieben Enhanced IDA-Algorithmus für die Suche. Für die Erweiterung der Transpositionstabelle wird hierbei die maximale Tiefe des derzeit besten Pfads gewählt, da insbesondere die Tiefensuche beschleunigt werden soll. Diese Strategie ist dahingehend plausibel, dass die betrachteten Spiele stets nach endlichen Schritten terminieren und so relativ schnell 24 siehe Abschnitt Monte Carlo Tree Search (MCTS) 25 Vgl. (Kocsis & Szepesvári, 2006) 26 Vgl. (Auer, Cesa-Bianchi, & Fischer, 2002) 27 Dieser ergibt sich aus empirischen Beobachtungen. Zukünftig soll der Algorithmus jedoch durch ein dynamisches verbessert werden. 28 Vgl. (Schiffel & Thielscher, 2007) 29 Insbesondere in den Anfängen der Competition kam der Player mehrfach unter die besten drei und hat die Competition auch schon gewonnen 30 Vgl. (Thielscher, 2005) 15

17 ein Endzustand erreicht wird. Außerdem ist die Wahl des besten Pfades sinnvoll, da genau dieser häufig durchsucht wird und die Vorteile der Transpositionstabelle so besonders zur Geltung kommen. Die Verwendung einer historischen Heuristik 31 sorgt zudem dafür, dass gute Spielzüge aus vergleichbaren Situationen verwendet werden, um so eventuell einen Cut auszulösen 32 oder den optimalen Pfad zu finden. Je nach Spielart wird demzufolge der Mini-Max-Algorithmus in Verbindung mit alpha-beta-pruning Techniken verwendet. Bei nicht rundenbasierten Spielen, wird gemäß dem paranoide Ansatz das Spiel als Sequenz modelliert, sodass der Fluxplayer beginnt und die Spielzüge der Anderen danach ausgeführt werden. Trotz der Terminiertheit aller Spiele der GDL beschränkt der Fluxplayer die Suchtiefe und verwendet eine Evaluierungsfunktion, um die Kosten des verbleibenden Pfads zu berechnen. Aufgrund der Vielfalt der Spielvarianten muss diese zur Laufzeit generiert werden. Die dahinterstehende Idee ist eine Fuzzylogik, die den Grad eines Zustands bestimmt, zudem dieser ein Endzustand ist indem ein hoher Zielwert erreicht wird. So ergibt sich im Zustand z folgender Wert für die heuristische Funktion h( ): h( ) = 1 ö h(, ) ü 100 ( ( ), ), wenn ( ) h(, ) = ( ( ), ), wenn ( ) h(, ) nimmt dabei den Wert einer Evaluierungsfunktion in z an, wobei diese Wahl abhängig davon ist, ob der Zielwert laut Spielbeschreibung erstrebenswert ist oder nicht. Wenn dies der Fall ist, bewertet die Evaluierungsfunktion den Grad zudem der Zustand z ein Endzustand ist, ansonsten bewertet es den Grad zudem dieser gerade kein Endzustand ist. Diese Bewertung wird durch T-Normen bzw. T-Co-Normen realisiert. Die detaillierte Zusammensetzung der Evaluierungsfunktion, als wesentliches Element der Heuristik, soll im folgenden Kapitel erläutert werden. Evaluierungsfunktion Angelehnt an die Arbeit von (Kuhlmann & Stone, 2006) kategorisiert der Fluxplayer die Syntax der Spielbeschreibung zunächst in fünf Grundelemente, um Strukturen zu identifizieren: successor Relationen, Zähler, Spielfelder, Markierungen, Spielsteine. Diese Strukturen werden zunächst näher beschrieben: Successor Relationen Successor Relationen sind Ausdrücke der Form: (<successor>?<var1>?<var2>) Sie werden verwendet, um eine Ordnung oder Rangfolge anzugeben, indem <var2> als Nachfolger von <var1> gekennzeichnet wird. 31 Vgl. (Schaeffer, 1989) 32 Siehe Abschnitt Alpha-beta pruning 16

18 Zähler Aufgrund der Sortierung von Objekten, können auch Zähler identifiziert werden, die diese Rangfolge iterativ erhöhen. Hierzu wird die Spielbeschreibung auf Ausdrücke der Form (<= (next (<counter>?<var1>)) (true (<counter>?<var2>)) (<successor>?<var2>?<var1>)) durchsucht. Diese Zähler im Rahmen der Suche zu entfernen, kann zu einer Effizienzsteigerung führen. Spielfelder Spielfelder werden als zweidimensionale Gitter definiert, in denen jede Zelle genau einen Wert besitzt. Demzufolge weisen ternäre Funktionen in der Spielbeschreibung auf die Belegung einen Spielfeldes hin. Durch interne Simulationen wird dieser Verdacht nochmals verifiziert, da eine der drei Variablen (output) den Inhalt einer Zelle repräsentiert und dieser pro Zelle eindeutig sein muss. Eine bestimmte Zelle wird durch die anderen beiden Variablen (input) zugeordnet, die demzufolge als Koordinaten interpretiert werden können. Sind die Input-Variablen mittels einer successor Relation in einer Rangfolge geordnet, spricht man von einem sortierten Spielbrett 33. Markierungen Sobald ein Spielfeld identifiziert wurde, können auch Markierungen aus der Spielbeschreibung entnommen werden. Dies sind nämlich genau die Objekte, die die Zellen des Spielbretts belegen. Mittels einer successor Relation geordnete Markierungen repräsentieren die Anzahl eines Objekts. Spielsteine Markierungen, die nur eine einzige Zelle belegen können, werden als Spielsteine definiert. Durch Simulation von Spielen, können diese innerhalb weniger Durchläufe mit großer Sicherheit identifiziert und zugeordnet werden. Auf Basis dieser Strukturen, kann nun die generalisierte Evaluierungsfunktion verbessert werden. Denn der Abstand in einem Zustand zu einem Zielwert kann nun präzise anhand der gegebenen Spielbeschreibung ermittelt werden. So wird der Wert der möglichen Zustände in einem Spiel mit einem geordneten Spielbrett wie folgt ermittelt: 17 ( (,, ), ) = (,, ) (, ) (, 1) + (, ) (, 2) (,, ) bezeichnet dabei die Belegung der Zelle (, ) mit dem Inhalt, die im Zustand evaluiert werden soll. bezeichnet dabei die Anzahl der möglichen Ausprägungen von (,, ). Auf Basis der successor Relationen, können die Abstände von zwei Zellen gemessen werden, indem die Anzahl der Schritte (, ) von nach ermittelt werden. (, 1) ( (, 2) ) bezeichnet dabei die Anzahl an Möglichkeiten für Werte von ( ). Wie gut oder schlecht dieser Wert nun für die Wahl eines Zuges ist, kann wie gewohnt mit der oben beschriebenen Heuristik bewertet werden, die erstrebenswerte Werte mit einbezieht. 33 Z.B. ein gewöhnliches Schachbrett, welches nach Zahlen und Buchstaben sortiert ist.

19 Vergleich Methodik Wir haben nun zwei Player kennengelernt, die völlig unterschiedliche Ansätze bei der Suche nach optimalen Spielzügen verwenden. Auf der einen Seite stürzt sich der CADIA-Player auf die Simulation von Spielen ohne das vorhandene domänenspezifische Wissen voll auszuschöpfen. Auf der anderen Seite leitet der gegensätzliche Fluxplayer insbesondere Wissen aus der Spielbeschreibung ab und nutzt Simulationen lediglich, um das gewonnen Wissen zu verifizieren. Mit dieser Methodik ist der Fluxplayer dem CADIA-Player bei umfangreichen Single-Player Spielen zwar überlegen, da dieser mit seiner starken Vereinfachung des Enhanced IDA Algorithmus schnell an seine Grenzen gerät, aber unter Verwendung des ausgefeilten MCTS-Algorithmus kann der CADIA-Player seine Stärke zeigen. Intelligenz Nach dem Primärfaktormodell von Thurston 34 können die Player insbesondere hinsichtlich der Dimensionen Wahrnehmungsgeschwindigkeit und Sprachverständnis unterschieden werden: In beiden Kategorien liegt der Fluxplayer deutlich vorne. Fluxplayer interpretiert die Spielbeschreibungen und verknüpft Informationen um Wissen daraus abzuleiten. Er versteht somit die GDL und kann dieses Verständnis für die Suche nutzen. CADIA-Player erstellt aus diesen Beschreibungen, durch Reasoning lediglich einen Spielbaum, um diesen möglichst effizient durch Simulationen zu durchsuchen. Andere Dimensionen der Intelligenz sind hier nicht anwendbar oder zeigen keine Differenzen auf. Da das Treffen guter Entscheidungen in keinem Intelligenzmodell als Maßstab für Intelligenz verwendet wird, lässt sich schlussfolgern, dass CADIA-Player zwar der erfolgreichere, aber Fluxplayer der intelligentere Player ist. 35 Entwicklungspotenzial Empirische Untersuchungen 36 zeigen die Stärken und Schwächen des Fluxplayer in Abhängigkeit der Spielart deutlich auf: In Spielen, in denen eine bestimmte Menge einer Sache erreicht werden muss, kommen die Vorteile der Evaluierungsfunktion deutlich zum Vorschein. Die Nutzung dieses Wissens verschafft dem Fluxplayer Vorteile, die bei CADIA z.b. ungenutzt bleiben. Allerdings ist der Fluxplayer abhängig von der Aussagekraft der Evaluierungsfunktion. Liefert diese auf einer bestimmten Suchebene dieselben Werte, ist die Wahl des nächsten Spielzuges schwierig. Daher gibt es hier Potenziale in der Ausgestaltung der Evaluierungsfunktion. Zudem gibt es ungenutzte Potenziale im Bereich des Wissenstransfers, da bereits erlangtes Wissen aus einem Match nicht wiederverwendet wird. CADIA-Player profitiert durch gute Parallelisierbarkeit im Zeitalter von Multi- Core-Prozessoren und entwickelt sich so stets durch neue technologische Fortschritte weiter. Aber auch in der Programmierlogik gibt es insbesondere im Bereich der Heuristiken zahlreiche Möglichkeiten, die Suchergebnisse zu verbessern. Auch der oben angesprochene -Parameter basiert lediglich auf Erfahrungen und ist noch nicht zwingend optimal gewählt. 34 Vgl. (Klaus, 2003) 35 Dies stellt in Frage, ob die AAAI Competition dann überhaupt noch die Forschung im Bereich der künstlichen Intelligenz vorantreibt oder vielmehr nur einen Unterhaltungswert hat. 36 Vgl. (Schiffel & Thielscher, 2007) 18

20 Zusammenfassung und Ausblick Zusammenfassend stellen wirr fest, dass das junge Forschungsgebiet im General Game Playing bereits innerhalb kurzer Zeit sehr ausgefeilte Methoden entwickelt hat, die zur Entscheidungsfindung beitragen. Nichts desto trotz gibt es immernoch große Entwicklungspotenziale. Insbesondere können wir beimm Fluxplayer zwar schon erste Züge menschlicher Intelligenz feststellen, aber diese sind nochh in den Anfängen und es wird vermutlich noch viele Jahre dauern, bis man diese Form von Intelligenz tatsächlich nutzen kann, um menschliche Intelligenz in Teilberei- Aus- chen zu ersetzen. Auf Basis aktueller Forschungenn kann bereits heute ein blick gegeben werden, wie sich General Game Player zukünftigg weiterentwickeln könnten: Wissenstransfer Es gibt mehrere wissenschaftliche Arbeiten die sich mit dem Thema T beschäftigen Wissen aus vergleichbaren Situationen zu transferieren. Im Umfeld des General Game Playing ist insbesondere der Ansatz nach (Banerjee & Stone, 2007) von Bedeutung, der sich auf den Markov Decision Process nachh (Sutton & Barto, 1998) im Rahmen des Reinforcement Learning stützt. Die Idee ist, einenn Spiel- andere baum auf features mit hohem Abstraktionsgrad zu reduzieren,, um späterr Spiele als Instanzen dieses features f zu mappen. So können bereits berechnete Knotenwerte, wiederverwendet werden. Ein großer Vorteil dieser d Methode ist, dass zahlreiche Features bereits vor einerr Competition gespeichert werden können und der Player bereits mit großem Vorwissen in den Wettbewerb geschickt wird. Die startclock kannn dann verwendet werden, um lediglich ein passendes Feature zu identifizieren. Folgendes Schaubild verdeutlicht das Vorgehen zur Generierung von Features: Abbildung 4: Abstrahierung von Spielbäumen Quelle: (Banerjee & Stone, 2007) 19

21 Es erscheint plausibel, dass das abstrahierte Feature auf mehrere Spiele übertragen werden kann. Ausschlaggebend hierfür sind nach (Banerjee & Stone, 2007) insbesondere folgende Strukturen: Größe des Spielbretts Anzahl der verfügbaren Aktionen Semantik der Zustände/Aktionen Gewinnkriterien Auf Basis dieses Ansatzes sind aber noch zahlreiche andere Möglichkeiten des Wissenstransfers denkbar, sodass wir vermutlich noch lange nicht an Grenzen des machbaren gestoßen sind. Stochastische Spiele in GDL Wie im oben beschriebenen Kapitel 37 bereits erwähnt wurde findet die GDL ihre Grenzen bei der Beschreibung von Spielen, die durch stochastische Ereignisse beeinflusst werden. Die Arbeit von (Kulick, Block, & Rojas, 2009) liefert einen Ansatz, um die GDL um Zufallsereignisse zu erweitern. Hierfür schlagen die Autoren folgende neue Relation vor: random <name> <value> <expression> Der erste Parameter bezeichnet hierbei den Namen der Zufallsvariablen, der für Ereignisse desselben Zufallsexperiments gleich sein muss. Dieser Ausdruck ist bewusst atomar und keine Variable, da sie nicht von den Spielern, sondern von einer zentralen Instanz (dem Game Manager) unifiziert werden. Der zweite Parameter ist eine ganzzahlige Zahl, die die Wahrscheinlichkeit für das Ereignis (dritter Parameter) angibt. Das Ereignis ist ein beliebiger GDL- Ausdruck, dessen Wahrscheinlichkeit aus ( ) = ergibt. Die Zufallsvariable darf aufgrund der Kommunikationsstruktur bei einer Competition lediglich in der legal-relation auftauchen. So wird sichergestellt, dass dem Player das Ergebnis des Zufallsexperiments tatsächlich übermittelt wird. Allerdings ist die Verwendung der Zufallsvariablen auch in Implikationen erlaubt, um Abhängigkeiten der Wahrscheinlichkeiten im Spielverlauf modellieren zu können. 38 Neben dieser stochastischen Erweiterung gibt es auch noch weitere Ideen, die zum Beispiel die Kommunikation unter den Playern ermöglichen soll, um so kooperative Spiele besser umsetzen zu können. Selbst die Entwickler der GDL entwickeln bereits eigene Ansätze, um Spiele partieller Information darstellen zu können. Auch hier gibt es also zahlreiche Möglichkeiten bisherige Strukturen zu erweitern, um die Realität besser abzubilden. (Genesereth, Love, & Pell, 2005) Übertragung auf unternehmerische Probleme Mit der zunehmenden Weiterentwicklung der Player rückt auch die Kommerzialisierung dieser Player zunehmend in den Vordergrund. So ist es zukünftig vorstellbar, dass unternehmerische Entscheidungen durch solche Player unterstützt werden. Selbst wenn sie nicht die menschliche Intelligenz ersetzen, können Systeme wie der CADIA-Player gute Entscheidungen treffen. Allerdings sind solche Systeme lediglich bei Problemen brauchbar, die nicht mehr in angemessener Zeit durch menschliche Intelligenz gelöst werden können. So wird man die Entwick- 37 Siehe Kapitel GDL-Spezifikation 38 Zum Beispiel kann in einem Kartendeck jede Karte in der Regel nur einmal gezogen werden. Die Wahrscheinlichkeit eine gezogene Karte ein weiteres Mal zu ziehen, sinkt damit auf 0. 20

22 lung der GDL zur besseren Beschreibung der Umwelt und die damit einhergehende Anpassung der Player abwarten müssen, bevor sie tatsächliche Einsatzfelder in der Wirtschaft finden. Selbst dann gilt es jedoch den Einsatz solcher Systeme unter moralischen Aspekten gründlich zu evaluieren: Kann ein solch automatisiertes System tatsächlich die Verantwortung für den Erfolg eines Unternehmens und die damit zusammenhängenden Arbeitsplätze übernehmen? Die Akzeptanz dafür diese Verantwortung nicht mehr an Personen zu binden, wäre vermutlich gering, sodass wir lediglich auf entscheidungsunterstützende Systeme hoffen können, aber nicht auf den Ersatz menschlichen Handelns. Eine ausführliche Behandlung dieser ethischen Frage kann in (Wallach, 2010) nachgelesen werden. Abbildungsverzeichnis Abbildung 1: Sequenzdiagramm GGP Competition Abbildung 2: alpha-beta pruning Abbildung 3: Architektur CADIA-Player Abbildung 4: Abstrahierung von Spielbäumen Literaturverzeichnis AAAI. (2005). Call for Participation - First Annual General Game Playing Competition. Twentieth National Conference on Artificial Intelligence, (p. 1). Pittsburgh. Auer, P., Cesa-Bianchi, N., & Fischer, P. (2002). Finite-time Analysis of the Multiarmed Bandit Problem. Machine Learning, pp Banerjee, B., & Stone, P. (2007). General Game Learning using Knowledge Transfer. IJCAI'07 Proceedings of the 20th international joint conference on Artifical intelligence, pp Bihlmeyer, R., Faber, W., Ielpa, G., Lio, V., & Pfeifer, G. (n.d.). Retrieved Januar 23, 2011, from DLV - User Manual: JUNCTIVE.DATALOG Chaslot, G. M.-B. (2010). Monte-Carlo Tree Search. Maastricht: Universiteit Maastricht. Finnsson, H. (2007, Dezember). CADIA-Player: A General Game Playing Agent. Reykjavik: Reykjavik University - School of Computer Science. Finnsson, H., & Björnsson, Y. (2008). Simulation-Based Approach to General Game Playing. Proceedings of the Twenty-Third AAAI Conference on Artificial Intelligence, pp Genesereth, M., Love, N., & Pell, B. (2005). General Game Playing: Overview of the AAAI Competition. AI Magazine Volume 26 Number 2, pp Hart, P. E., Nilsson, N. J., & Raphael, B. (1968, Juli). A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Transactions of Systems Science and Cybernetics, Vol. SSC-4, No. 2, pp Klaus, K. (2003). Schlüsselbegriffe der Psychologischen Diagnostik. Beltz. Kocsis, L., & Szepesvári, C. (2006). Bandit based Monte-Carlo Planning. European Conference on Machine Learning (ECML), pp

23 Kuhlmann, G., & Stone, P. (2006). Automatic heuristic construction for general game playing. AAAI'06 proceedings of the 21st national conference on Artificial intelligence - Volume 2, pp Kulick, J., Block, M., & Rojas, R. (2009). General Game Playing mit stochastischen Spielen. Freie Universität Berlin. Love, N., Hinrichs, T., & Genesereth, M. (2006). General Game Playing: Game Description Language Specification. Stanford, CA 94305: Stanford University. Pell, B. (1992). METAGAME in Symmetric Chess-Like Games. Cambridge, UK: University of Cambridge. Reinefeld, A. (1989). Spielbaum-Suchverfahren. Berlin: Springer. Russell, S., & Norvig, P. (2009). Artificial Intelligence: A Modern Approach, 3. Edition. Prentice Hall. Schaeffer, J. (1989). The history heuristic and alpha-beta search enhancements in practice. IEEE Transactions on Pattern Analysis and Machine Intelligence. Schiffel, S., & Thielscher, M. (2007). Fluxplayer: A Successful General Game Player. Proceedings of the Twenty-Second AAAI Conference on Artificial Intelligence, pp Sutton, R., & Barto, A. (1998). Reinforcement Learning: An Introduction. Cambridge: MIT Press. Thielscher, M. (2005). FLUX: A Logic Programming Method for Reasoning Agents. Theory and Practice of Logic Programming, pp Wallach, W. (2010). Moral Machines - Teaching Robots Right from Wrong. Oxford University Press. 22

Der Alpha-Beta-Algorithmus

Der Alpha-Beta-Algorithmus Der Alpha-Beta-Algorithmus Maria Hartmann 19. Mai 2017 1 Einführung Wir wollen für bestimmte Spiele algorithmisch die optimale Spielstrategie finden, also die Strategie, die für den betrachteten Spieler

Mehr

Einführung in Heuristische Suche

Einführung in Heuristische Suche Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?

Mehr

Machine Learning Spielen allgemeiner Spiele. Stefan Edelkamp

Machine Learning Spielen allgemeiner Spiele. Stefan Edelkamp Machine Learning Spielen allgemeiner Spiele Stefan Edelkamp Themen Allgemeines Spiel Einführung Game Desciption Language (GDL) Spielen allgemeiner Spiele Heuristiken im allgemeinen Spiel und Verbesserungen

Mehr

Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann

Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann General Game Playing Einschränkungen des derzeitigen Formalismus: Spiele sind endlich diskret deterministisch vollständige

Mehr

Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen

Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Optimierungsprobleme

Mehr

General Game Playing

General Game Playing General Game Playing Martin Günther mguenthe@uos.de 17. Juni 2010 1 / 31 1997: Deep Blue schlägt Kasparov Motivation: warum General Game Playing? AAAI General Game Playing Competition 2 / 31 Motivation:

Mehr

9. Heuristische Suche

9. Heuristische Suche 9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany rudolf.kruse@cs.uni-magdeburg.de S Heuristische Suche Idee: Wir nutzen eine (heuristische)

Mehr

6. Spiele Arten von Spielen. 6. Spiele. Effizienzverbesserung durch Beschneidung des Suchraums

6. Spiele Arten von Spielen. 6. Spiele. Effizienzverbesserung durch Beschneidung des Suchraums 6. Spiele Arten von Spielen 6. Spiele Kombinatorische Spiele als Suchproblem Wie berechnet man eine gute Entscheidung? Effizienzverbesserung durch Beschneidung des Suchraums Spiele mit Zufallselement Maschinelles

Mehr

Praktikum Algorithmen-Entwurf (Teil 7)

Praktikum Algorithmen-Entwurf (Teil 7) Praktikum Algorithmen-Entwurf (Teil 7) 28.11.2005 1 1 Vier gewinnt Die Spielregeln von Vier Gewinnt sind sehr einfach: Das Spielfeld besteht aus 7 Spalten und 6 Reihen. Jeder Spieler erhält zu Beginn des

Mehr

Entwicklung einer KI für Skat. Hauptseminar Erwin Lang

Entwicklung einer KI für Skat. Hauptseminar Erwin Lang Entwicklung einer KI für Skat Hauptseminar Erwin Lang Inhalt Skat Forschung Eigene Arbeit Risikoanalyse Skat Entwickelte sich Anfang des 19. Jahrhunderts Kartenspiel mit Blatt aus 32 Karten 3 Spieler Trick-taking

Mehr

B A C H E L O R A R B E I T. Formale Beschreibung von Auktionstypen zum automatisierten Reasoning durch Agenten. von Benjamin Brandmüller

B A C H E L O R A R B E I T. Formale Beschreibung von Auktionstypen zum automatisierten Reasoning durch Agenten. von Benjamin Brandmüller B A C H E L O R A R B E I T Formale Beschreibung von Auktionstypen zum automatisierten Reasoning durch Agenten von Benjamin Brandmüller eingereicht am 30.09.2011 beim Institut für Angewandte Informatik

Mehr

Sokoban. Knowledge Engineering und Lernen in Spielen. Mark Sollweck Fachbereich 20 Seminar Knowledge Engineering Mark Sollweck 1

Sokoban. Knowledge Engineering und Lernen in Spielen. Mark Sollweck Fachbereich 20 Seminar Knowledge Engineering Mark Sollweck 1 Sokoban Knowledge Engineering und Lernen in Spielen Mark Sollweck 29.04.2010 Fachbereich 20 Seminar Knowledge Engineering Mark Sollweck 1 Überblick Sokoban Spielregeln Eigenschaften Lösungsansatz IDA*

Mehr

2. Spiele. Arten von Spielen. Kombinatorik. Spieler haben festgelegte Handlungsmöglichkeiten, die durch die Spielregeln definiert werden.

2. Spiele. Arten von Spielen. Kombinatorik. Spieler haben festgelegte Handlungsmöglichkeiten, die durch die Spielregeln definiert werden. . Spiele Arten von Spielen. Spiele. Spiele Arten von Spielen Kombinatorik Spieler haben festgelegte Handlungsmöglichkeiten, die durch die Spielregeln definiert werden. Kombinatorische Spiele als Suchproblem

Mehr

3. Das Reinforcement Lernproblem

3. Das Reinforcement Lernproblem 3. Das Reinforcement Lernproblem 1. Agierender Agent in der Umgebung 2. Discounted Rewards 3. Markov Eigenschaft des Zustandssignals 4. Markov sche Entscheidung 5. Werte-Funktionen und Bellman sche Optimalität

Mehr

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) 5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Datenstruktur BDD 2 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer:

Mehr

Dynamisches Huffman-Verfahren

Dynamisches Huffman-Verfahren Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über

Mehr

2. Spielbäume und Intelligente Spiele

2. Spielbäume und Intelligente Spiele 2. Spielbäume und Intelligente Spiele Arten von Spielen 2. Spielbäume und Intelligente Spiele Kombinatorische Spiele als Suchproblem Wie berechnet man eine gute Entscheidung? Effizienzverbesserung durch

Mehr

Thinking Machine. Idee. Die Thinking Machine Visualisierung versucht, die Denkprozesse eines Schachcomputers sichtbar zu machen

Thinking Machine. Idee. Die Thinking Machine Visualisierung versucht, die Denkprozesse eines Schachcomputers sichtbar zu machen Thinking Machine (http://www.turbulence.org/spotlight/thinking/) Idee Die Thinking Machine Visualisierung versucht, die Denkprozesse eines Schachcomputers sichtbar zu machen Sie wurde von Martin Wattenberg

Mehr

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld Westfählische Wilhelms-Universität Eulersche Graphen Autor: 21. Mai 2015 Inhaltsverzeichnis 1 Das Königsberger Brückenproblem 1 2 Eulertouren und Eulersche Graphen 2 3 Auffinden eines eulerschen Zyklus

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 6. Klassische Suche: Datenstrukturen für Suchalgorithmen Malte Helmert Universität Basel 7. März 2014 Klassische Suche: Überblick Kapitelüberblick klassische Suche:

Mehr

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften 1 Michael Beetz Technische Universität München Wintersemester 2004/05 Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche 2 3 der Eigenschaften der 4 : 8-Puzzle 5 Heuristiken und ihre Eigenschaften

Mehr

Künstliche Intelligenz

Künstliche Intelligenz Künstliche Intelligenz Vorlesung 4: Suchverfahren Informierte Suche 1/132 INFORMIERTE SUCHSTRATEGIEN (ISS) Benutzt neben der Definition des Problems auch problemspezifisches Wissen. Findet Lösungen effizienter

Mehr

Der Bestimmtheitssatz

Der Bestimmtheitssatz 2. Spielbäume und Intelligente Spiele Der Minimax-Algorithmus Der Bestimmtheitssatz Satz 2.1. Gegeben sei ein Spiel, das die folgenden Eigenschaften hat: 1. Das Spiel wird von zwei Personen gespielt. 2.

Mehr

Handlungsplanung und Allgemeines Spiel Allgemeine Verbesserungen. Peter Kissmann

Handlungsplanung und Allgemeines Spiel Allgemeine Verbesserungen. Peter Kissmann Handlungsplanung und Allgemeines Spiel Allgemeine Verbesserungen Peter Kissmann Themen Allgemeines Spiel Einführung Game Desciption Language (GDL) Spielen allgemeiner Spiele Evaluationsfunktionen im allgemeinen

Mehr

Samuel's Checkers Program

Samuel's Checkers Program Samuel's Checkers Program Seminar: Knowledge Engineering und Lernen in Spielen 29.06.2004 Ge Hyun Nam Überblick Einleitung Basis Dame-Programm Maschinelles Lernen Auswendiglernen Verallgemeinerndes Lernen

Mehr

Heuristische Verfahren

Heuristische Verfahren Heuristische Verfahren Bei heuristischen Verfahren geht es darum in polynomieller Zeit eine Näherungslösung zu bekommen. Diese kann sehr gut oder sogar optimal sein, jedoch gibt es keine Garantie dafür.

Mehr

Künstliche Intelligenz

Künstliche Intelligenz Künstliche Intelligenz Übungsblatt #1 Modellierung & Suche Prof. Dr. J. Fürnkranz, Dr. G. Grieser Aufgabe 1.1 Wir betrachten folgende Welt: Welt: Die Welt der Staubsauger-Akteure besteht aus Räumen, die

Mehr

Handlungsplanung und Allgemeines Spiel Ausblick: GDL-II. Peter Kissmann

Handlungsplanung und Allgemeines Spiel Ausblick: GDL-II. Peter Kissmann Handlungsplanung und Allgemeines Spiel Ausblick: GDL-II Peter Kissmann Themen Allgemeines Spiel Einführung Game Desciption Language (GDL) Spielen allgemeiner Spiele Evaluationsfunktionen im allgemeinen

Mehr

Intelligente Systeme

Intelligente Systeme Intelligente Systeme Spiele Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de Institut für Intelligente Kooperierende Systeme Fakultät für Informatik Otto-von-Guericke Universität Magdeburg

Mehr

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20 Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:

Mehr

Reinforcement Learning

Reinforcement Learning Reinforcement Learning 1. Allgemein Reinforcement Learning 2. Neuronales Netz als Bewertungsfunktion 3. Neuronales Netz als Reinforcement Learning Nils-Olaf Bösch 1 Allgemein Reinforcement Learning Unterschied

Mehr

Beweisen mit Semantischen Tableaux

Beweisen mit Semantischen Tableaux Beweisen mit Semantischen Tableaux Semantische Tableaux geben ein Beweisverfahren, mit dem ähnlich wie mit Resolution eine Formel dadurch bewiesen wird, dass ihre Negation als widersprüchlich abgeleitet

Mehr

Universität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008. Jun.-Prof. Dr. B. Beckert. 21.

Universität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008. Jun.-Prof. Dr. B. Beckert. 21. Name, Vorname: Matrikel-Nr.: Studiengang: Universität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008 Jun.-Prof. Dr. B. Beckert 21. Februar 2008 Informatik (Diplom) Computervisualistik

Mehr

1. Einführung in Temporallogik CTL

1. Einführung in Temporallogik CTL 1. Einführung in Temporallogik CTL Temporallogik dient dazu, Aussagen über Abläufe über die Zeit auszudrücken und zu beweisen. Zeit wird in den hier zunächst behandelten Logiken als diskret angenommen

Mehr

Seminar A - Spieltheorie und Multiagent Reinforcement Learning in Team Spielen

Seminar A - Spieltheorie und Multiagent Reinforcement Learning in Team Spielen Seminar A - Spieltheorie und Multiagent Reinforcement Learning in Team Spielen Michael Groß mdgrosse@sbox.tugraz.at 20. Januar 2003 0-0 Matrixspiel Matrix Game, Strategic Game, Spiel in strategischer Form.

Mehr

Künstliche Intelligenz Logische Agenten & Resolution

Künstliche Intelligenz Logische Agenten & Resolution Künstliche Intelligenz Logische Agenten & Resolution Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Inferenz-Algorithmus Wie könnte ein

Mehr

Handlungsplanung und Allgemeines Spiel Evaluationsfunktionen. Peter Kissmann

Handlungsplanung und Allgemeines Spiel Evaluationsfunktionen. Peter Kissmann Handlungsplanung und Allgemeines Spiel Evaluationsfunktionen Peter Kissmann Themen Allgemeines Spiel Einführung Game Desciption Language (GDL) Spielen allgemeiner Spiele Evaluationsfunktionen im allgemeinen

Mehr

Knoten-Partitionierung in feste Eigenschaften ist NP-schwer

Knoten-Partitionierung in feste Eigenschaften ist NP-schwer Knoten-Partitionierung in feste Eigenschaften ist NP-schwer Seminar: Ausgewählte Kapitel der Informatik bei Prof. Dr. R. Schrader Seminarvortrag von Nils Rosjat Wintersemester 09 / 10 1 Einleitung Dieser

Mehr

General Game Playing mit stochastischen Spielen

General Game Playing mit stochastischen Spielen 1 General Game Playing mit stochastischen Spielen Johannes Kulick, Marco Block und Raúl Rojas Freie Universität Berlin Institut für Informatik Takustr. 9, 14195 Berlin, Germany {kulick,block,rojas}@inf.fu-berlin.de

Mehr

Wissensbasierte Suche

Wissensbasierte Suche Wissensbasierte Suche Jürgen Dorn Inhalt uninformierte Suche wissensbasierte Suche A* und IDA* Algorithmus Suche in Und/Oder-Graphen Jürgen Dorn 2003 Wissensbasierte Suche 1 Suche Suche in (expliziten

Mehr

Uninformierte Suche in Java Informierte Suchverfahren

Uninformierte Suche in Java Informierte Suchverfahren Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

Seminar aus maschinellem Lernen MCTS und UCT

Seminar aus maschinellem Lernen MCTS und UCT Seminar aus maschinellem Lernen MCTS und UCT 26. November 2014 TU Darmstadt FB 20 Patrick Bitz 1 Übersicht Historisches zu MCTS MCTS UCT Eigenschaften von MCTS Zusammenfassung 26. November 2014 TU Darmstadt

Mehr

Seminararbeit zur Spieltheorie. Thema: Rationalisierbarkeit und Wissen

Seminararbeit zur Spieltheorie. Thema: Rationalisierbarkeit und Wissen Seminararbeit zur Spieltheorie Thema: Rationalisierbarkeit und Wissen Westfälische-Wilhelms-Universität Münster Mathematisches Institut Dozent: Prof. Dr. Löwe Verfasst von: Maximilian Mümken Sommersemester

Mehr

Flüsse in Netzwerken

Flüsse in Netzwerken Proseminar Theoretische Informatik, Prof. Wolfgang Mulzer, SS 17 Flüsse in Netzwerken Zusammenfassung Gesa Behrends 24.06.2017 1 Einleitung Unterschiedliche technische Phänomene wie der Flüssigkeitsdurchfluss

Mehr

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie Was ist Logik? Geschichte der Logik eng verknüpft mit Philosophie Begriff Logik wird im Alltag vielseitig verwendet Logik untersucht, wie man aus Aussagen andere Aussagen ableiten kann Beschränkung auf

Mehr

Kombinatorische Spiele mit Zufallselementen

Kombinatorische Spiele mit Zufallselementen Kombinatorische Spiele mit Zufallselementen Die Realität ist nicht so streng determiniert wie rein kombinatorische Spiele. In vielen Situationen spielt der Zufall (Risko) eine nicht zu vernachlässigende

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

Zustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche

Zustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche Zustandsraumsuche: Blinde und Heuristische Suche Einführung in die KI Übungsstunde am 01.11.04 Benmin Altmeyer 1 Heute im Angebot Was ist Suche? Suche als Probemlösung Zustandsraumsuche Vollständigkeit

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Dynamische Programmierung. Problemlösungsstrategie der Informatik als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung

Mehr

Uninformierte Suche in Java Informierte Suchverfahren

Uninformierte Suche in Java Informierte Suchverfahren Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2008/2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln 8-Damen-Problem Gegeben: Schachbrett

Mehr

Isomorphie von Bäumen

Isomorphie von Bäumen Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................

Mehr

Greedy Algorithms - Gierige Algorithmen

Greedy Algorithms - Gierige Algorithmen Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2

Mehr

Grundlagen der Künstlichen Intelligenz Einführung Minimax-Suche Bewertungsfunktionen Zusammenfassung. Brettspiele: Überblick

Grundlagen der Künstlichen Intelligenz Einführung Minimax-Suche Bewertungsfunktionen Zusammenfassung. Brettspiele: Überblick Grundlagen der Künstlichen Intelligenz 22. Mai 2015 41. Brettspiele: Einführung und Minimax-Suche Grundlagen der Künstlichen Intelligenz 41. Brettspiele: Einführung und Minimax-Suche Malte Helmert Universität

Mehr

Künstliche Intelligenz

Künstliche Intelligenz Künstliche Intelligenz Intelligente Agenten Claes Neuefeind Sprachliche Informationsverarbeitung Universität zu Köln 26. Oktober 2011 Agenten Konzept des Agenten Rationalität Umgebungen Struktur von Agenten

Mehr

Verfeinerungen des Bayesianischen Nash Gleichgewichts

Verfeinerungen des Bayesianischen Nash Gleichgewichts Spieltheorie Sommersemester 007 Verfeinerungen des Bayesianischen Nash Gleichgewichts Das Bayesianische Nash Gleichgewicht für Spiele mit unvollständiger Information ist das Analogon zum Nash Gleichgewicht

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Universität Koblenz-Landau Fachbereich Informatik Klausur Einführung in die Künstliche Intelligenz / WS 2003/2004. Jun.-Prof. Dr. B.

Universität Koblenz-Landau Fachbereich Informatik Klausur Einführung in die Künstliche Intelligenz / WS 2003/2004. Jun.-Prof. Dr. B. Universität Koblenz-Landau Fachbereich Informatik Klausur Einführung in die Künstliche Intelligenz / Künstliche Intelligenz für IM Name, Vorname: Matrikel-Nr.: Studiengang: WS 2003/2004 Jun.-Prof. Dr.

Mehr

1 Kürzeste Pfade in Graphen

1 Kürzeste Pfade in Graphen Praktikum Algorithmen-Entwurf (Teil 3) 03.11.2011 1 1 Kürzeste Pfade in Graphen Es sei ein gerichteter Graph G = (V, E) mit V = n Knoten, E = m Kanten und Kantengewichten c : E R gegeben. Ein Pfad in G

Mehr

Real-time MCTS (4.7) Seminar aus maschinellem Lernen

Real-time MCTS (4.7) Seminar aus maschinellem Lernen Real-time MCTS (4.7) Seminar aus maschinellem Lernen 20.01.2015 Real-time MCTS David Kaufmann 1 Übersicht Real-time MCTS Was ist das? Beispiele für MCTS in Spielen Tron Ms. Pac-Man 20.01.2015 Real-time

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale

Mehr

Accountability in Algorithmic. Decision Making.

Accountability in Algorithmic. Decision Making. Accountability in Algorithmic Decision Making Vural Mert, Larcher Daniel 1. Juni 2016 Zusammenfassung Diese Seminararbeit gibt einen kurzen Überblick über die Algorithmische Entscheidungsfindung, deren

Mehr

Knowledge-Based system. Inference Engine. Prof. Dr. T. Nouri.

Knowledge-Based system. Inference Engine. Prof. Dr. T. Nouri. 12.01.2008 Knowledge-Based system Inference Engine Prof. Dr. T. Nouri Taoufik.Nouri@FHN.CH 2 / 30 Inhalt Grundlagen Wozu Inference? Aufbau Knowledge Based System Strategien für Folgerungen Suchstrategien

Mehr

Knowledge Engineering und Lernen in Spielen. Thema: Opening Book Learning von: Thomas Widjaja

Knowledge Engineering und Lernen in Spielen. Thema: Opening Book Learning von: Thomas Widjaja Knowledge Engineering und Lernen in Spielen Thema: Opening Book Learning von: Thomas Widjaja Gliederung Allgemeines Drei Beispielverfahren zum Anpassen eines Opening Books Deep Blue Logistello (Michael

Mehr

Backgammon. Tobias Krönke. Technische Universität Darmstadt Fachbereich Informatik Fachgebiet Knowledge Engineering

Backgammon. Tobias Krönke. Technische Universität Darmstadt Fachbereich Informatik Fachgebiet Knowledge Engineering Technische Universität Darmstadt Fachbereich Informatik Fachgebiet Knowledge Engineering Seminar zu Knowledge Engineering und Lernen in Spielen, 2010 Gliederung Gliederung Startaufstellung Abbildung: GNU

Mehr

Relationen und DAGs, starker Zusammenhang

Relationen und DAGs, starker Zusammenhang Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind

Mehr

Deduktives Lernen Explanation-Based Learning

Deduktives Lernen Explanation-Based Learning Deduktives Lernen Explanation-Based Learning Algorithmus grundlegende Idee anhand eines Beispiels Eigenschaften von EBL Utility Problem Implementierung als PROLOG Meta-Interpreter Operationalisierung 1

Mehr

HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016

HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016 HM I Tutorium 1 Lucas Kunz 27. Oktober 2016 Inhaltsverzeichnis 1 Theorie 2 1.1 Logische Verknüpfungen............................ 2 1.2 Quantoren.................................... 3 1.3 Mengen und ihre

Mehr

TUD Computer Poker Challenge

TUD Computer Poker Challenge TUD Computer Poker Challenge The Challenge of Poker Björn Heidenreich 31. März 2008 The Challenge of Poker Björn Heidenreich 1 Anforderungen an einen guten Poker-Spieler Hand Strength Hand Potential Bluffing

Mehr

Mehrdimensionale Arrays

Mehrdimensionale Arrays Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil X Michael Roth (h_da) Informatik (CT) WS 2012/2013

Mehr

Stochastische Approximation des Value at Risk

Stochastische Approximation des Value at Risk Stochastische Approximation des Value at Risk Annemarie Bitter Motivation Eines der wichtigsten Projekte der Versicherungswirtschaft ist derzeit die sogenannte Solvency-II-Richtlinie der Versicherungsaufsicht.

Mehr

Reinforcement Learning

Reinforcement Learning Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Reinforcement Learning Uwe Dick Inhalt Problemstellungen Beispiele Markov Decision Processes Planen vollständige MDPs Lernen unbekannte

Mehr

Spieltheorie: UCT. Stefan Edelkamp

Spieltheorie: UCT. Stefan Edelkamp Spieltheorie: UCT Stefan Edelkamp Monte Carlo Simulation Alternative zu Minimax-Algorithmen mit Alpha-Beta Pruning: zufällige Spielabläufe (Simulationen) laufen und ermessen den Wert eines Spieles. Erfolgreich

Mehr

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990. Ein polynomieller Algorithmus für das N-Damen Problem 1 Einführung Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre

Mehr

Kapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin

Kapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin Kapitel 1 Einleitung 1.1. Begriff des Algorithmus Eine der ältesten Beschreibungstechniken für Abläufe: Benannt nach dem Mathematiker Al-Khwarizmi (ca. 780...840), der am Hof der Kalifen von Bagdad wirkte.

Mehr

Algorithmen und Datenstrukturen Heapsort

Algorithmen und Datenstrukturen Heapsort Algorithmen und Datenstrukturen 2 5 Heapsort In diesem Kapitel wird Heapsort, ein weiterer Sortieralgorithmus, vorgestellt. Dieser besitzt wie MERGE-SORT eine Laufzeit von O(n log n), sortiert jedoch das

Mehr

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Bäume und Wälder Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Ida Feldmann 2-Fach Bachelor Mathematik und Biologie 6. Fachsemester Inhaltsverzeichnis Einleitung 1 1. Bäume

Mehr

DWH Automatisierung mit Data Vault 2.0

DWH Automatisierung mit Data Vault 2.0 DWH Automatisierung mit Data Vault 2.0 Andre Dörr Trevisto AG Nürnberg Schlüsselworte Architektur, DWH, Data Vault Einleitung Wenn man die Entwicklung von ETL / ELT Prozessen für eine klassische DWH Architektur

Mehr

Das Problem des Handlungsreisenden

Das Problem des Handlungsreisenden Seite 1 Das Problem des Handlungsreisenden Abbildung 1: Alle möglichen Rundreisen für 4 Städte Das TSP-Problem tritt in der Praxis in vielen Anwendungen als Teilproblem auf. Hierzu gehören z.b. Optimierungsprobleme

Mehr

Simulation als epistemologische Grundlage für intelligente Roboter

Simulation als epistemologische Grundlage für intelligente Roboter 1 Simulation als epistemologische Grundlage für intelligente Roboter Andreas Tolk The MITRE Corporation Umut Durak Deutsches Zentrum für Luft- und Raumfahrt e.v. (DLR) Public Release No. 17-0085 2017 The

Mehr

Genetische Programmierung

Genetische Programmierung 15. Juli 2007 Anfang der 90er von John R. Koza entwickelt. Verfahren zur automatisierten Erstellung von Programmen. Von der Evolution inspiriert. Anforderungen an die Möglichst korrekte Lösung ergeben

Mehr

Algorithmen und Datenstrukturen 2-1. Seminar -

Algorithmen und Datenstrukturen 2-1. Seminar - Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8

Mehr

Bayes-Netze (2) Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg

Bayes-Netze (2) Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg Bayes-Netze (2) Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl KI) Bayes-Netze (2) 1 / 23 Gliederung 1 Zusammenhang zwischen Graphenstruktur

Mehr

Kapitel L:II. II. Aussagenlogik

Kapitel L:II. II. Aussagenlogik Kapitel L:II II. Aussagenlogik Syntax der Aussagenlogik Semantik der Aussagenlogik Eigenschaften des Folgerungsbegriffs Äquivalenz Formeltransformation Normalformen Bedeutung der Folgerung Erfüllbarkeitsalgorithmen

Mehr

Auslastungs- und Potenzialspiele

Auslastungs- und Potenzialspiele Definition Existenz Konvergenzzeit Matroidspiele Algorithmische Spieltheorie Sommer 2017 Definition Existenz Konvergenzzeit Matroidspiele Auslastungsspiele Existenz eines reinen Nash-Gleichgewichtes Konvergenzzeit

Mehr

Spiele. Programmierpraktikum WS04/05 Lange/Matthes 106

Spiele. Programmierpraktikum WS04/05 Lange/Matthes 106 Spiele Programmierpraktikum WS04/05 Lange/Matthes 106 Theorie eines Spiels mathematisch: k-spieler Spiel ist Graph G = (V, E) wobei V partitioniert in V 1,..., V k Knoten v V heissen Konfigurationen oft

Mehr

Künstliche Intelligenz

Künstliche Intelligenz Künstliche Intelligenz Logische Agenten Claes Neuefeind Sprachliche Informationsverarbeitung Universität zu Köln 02. November 2011 Logische Agenten Wissensbasierte Agenten Eine Modellwelt Aussagen Logik

Mehr

Vortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik)

Vortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik) Vortrag Suchverfahren der Künstlichen Intelligenz Sven Schmidt (Technische Informatik) Suchverfahren der Künstlichen Intelligenz Grundlagen Zustandsraumrepräsentation Generische Suche Bewertung von Suchstrategien

Mehr

Ablauf. 1 Imitationsdynamik. 2 Monotone Auszahlung. 3 Entscheidung gegen iterativ dominierte Strategien. 4 Beste-Antwort-Dynamik 2 / 26

Ablauf. 1 Imitationsdynamik. 2 Monotone Auszahlung. 3 Entscheidung gegen iterativ dominierte Strategien. 4 Beste-Antwort-Dynamik 2 / 26 Spieldynamik Josef Hofbauer and Karl Sigmund: Evolutionary Games and Population Dynamics, Cambridge, Kap. 8 Simon Maurer Saarbrücken, den 13.12.2011 1 / 26 Ablauf 1 Imitationsdynamik 2 Monotone Auszahlung

Mehr

7.2 Conjoining Specifications

7.2 Conjoining Specifications Seminar: Spezifikation und Verifikation verteilter Systeme 7.2 Conjoining Specifications Teil 2: Das Kompositions-Theorem Dirk Fahland 1 TLA & Komposition in TLA Jede TLA-Formel Mi lässt sich in eine äquivalente

Mehr

Konzepte der AI. Maschinelles Lernen

Konzepte der AI. Maschinelles Lernen Konzepte der AI Maschinelles Lernen http://www.dbai.tuwien.ac.at/education/aikonzepte/ Wolfgang Slany Institut für Informationssysteme, Technische Universität Wien mailto: wsi@dbai.tuwien.ac.at, http://www.dbai.tuwien.ac.at/staff/slany/

Mehr

AI in Computer Games. Übersicht. Motivation. Vorteile der Spielumgebung. Techniken. Anforderungen

AI in Computer Games. Übersicht. Motivation. Vorteile der Spielumgebung. Techniken. Anforderungen Übersicht AI in Computer Games Motivation Vorteile der Spielumgebung Techniken Anwendungen Zusammenfassung Motivation Vorteile der Spielumgebung Modellierung glaubwürdiger Agenten Implementierung menschlicher

Mehr

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme Universität Hamburg Fachbereich Mathematik Seminar: Proseminar Graphentheorie Dozentin: Haibo Ruan Sommersemester 2011 Ausarbeitung zum Modulabschluss Graphentheorie spannende Bäume, bewertete Graphen,

Mehr

Angewandte Stochastik

Angewandte Stochastik Angewandte Stochastik Dr. C.J. Luchsinger 13 Allgemeine Theorie zu Markov-Prozessen (stetige Zeit, diskreter Zustandsraum) Literatur Kapitel 13 * Grimmett & Stirzaker: Kapitel 6.9 Wie am Schluss von Kapitel

Mehr

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21. Theorie der Informatik 19. Mai 2014 21. einige NP-vollständige Probleme Theorie der Informatik 21. einige NP-vollständige Probleme 21.1 Übersicht 21.2 Malte Helmert Gabriele Röger 21.3 Graphenprobleme

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie. Einführung (1/3) 3 Wir verfolgen nun das Ziel, Komplexitätsklassen mit Hilfe von charakteristischen Problemen zu beschreiben und zu strukturieren Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2009 11. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik quasthoff@informatik.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

Unterscheidung: Workflowsystem vs. Informationssystem 1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise

Mehr