Pruning Techniques General Game Playing Lecture 8

Slides:



Advertisements
Similar presentations
BEST FIRST SEARCH - BeFS
Advertisements

1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Tic Tac Toe Architecture CSE 5290 – Artificial Intelligence 06/13/2011 Christopher Hepler.
Search Techniques MSc AI module. Search In order to build a system to solve a problem we need to: Define and analyse the problem Acquire the knowledge.
Multiversion Access Methods - Temporal Indexing. Basics A data structure is called : Ephemeral: updates create a new version and the old version cannot.
Game Playing CSC361 AI CSC361: Game Playing.
Temporal Indexing MVBT. Temporal Indexing Transaction time databases : update the last version, query all versions Queries: “Find all employees that worked.
Temporal Indexing MVBT. Temporal Indexing Transaction time databases : update the last version, query all versions Queries: “Find all employees that worked.
How computers play games with you CS161, Spring ‘03 Nathan Sturtevant.
Metagaming General Game PlayingLecture 5 Michael Genesereth Spring 2012.
Issues with Data Mining
October 3, 2012Introduction to Artificial Intelligence Lecture 9: Two-Player Games 1 Iterative Deepening A* Algorithm A* has memory demands that increase.
Lecture 3: Uninformed Search
Advanced Algorithm Design and Analysis (Lecture 14) SW5 fall 2004 Simonas Šaltenis E1-215b
Robust Real Time Face Detection
Game tree search Chapter 6 (6.1 to 6.3 and 6.6) cover games. 6.6 covers state of the art game players in particular. 6.5 covers games that involve uncertainty.
28.
Temporal Indexing MVBT. Temporal Indexing Transaction time databases : update the last version, query all versions Queries: “Find all employees that worked.
Propositional Nets General Game PlayingLecture 6 Michael Genesereth Spring 2012.
Understanding AI of 2 Player Games. Motivation Not much experience in AI (first AI project) and no specific interests/passion that I wanted to explore.
Game playing Types of games Deterministic vs. chance
ADVERSARIAL GAME SEARCH: Min-Max Search
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Code Optimization.
Announcements Homework 1 Full assignment posted..
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Iterative Deepening A*
Intro to Computer Science II
Chapter 9: Virtual Memory – Part I
PENGANTAR INTELIJENSIA BUATAN (64A614)
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
CS Fall 2016 (Shavlik©), Lecture 11, Week 6
Heuristic Search A heuristic is a rule for choosing a branch in a state space search that will most likely lead to a problem solution Heuristics are used.
Pengantar Kecerdasan Buatan
RE-Tree: An Efficient Index Structure for Regular Expressions
Temporal Indexing MVBT.
Temporal Indexing MVBT.
David Kauchak CS52 – Spring 2016
Artificial Intelligence Lecture No. 6
Informed Search and Exploration
Two-player Games (2) ZUI 2013/2014
CS 4700: Foundations of Artificial Intelligence
Games with Chance Other Search Algorithms
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Solving problems by searching
Propositional Calculus: Boolean Algebra and Simplification
Computer Science cpsc322, Lecture 13
Game playing.
Objective of This Course
Training a Neural Network
Introduction to Artificial Intelligence Lecture 9: Two-Player Games I
Path Planning using Ant Colony Optimisation
G5BAIM Artificial Intelligence Methods
More Metagaming General Game Playing Lecture 7
Overview of Query Evaluation
Game Playing Fifth Lecture 2019/4/11.
Solving problems by searching
Motion Graphs Davey Krill May 3, 2006.
Game Reformulation General Game Playing Lecture 7
Implementation of Learning Systems
Data Mining CSCI 307, Spring 2019 Lecture 24
Minimax strategies, alpha beta pruning
Data Structures and Algorithms
CS51A David Kauchak Spring 2019
Area Coverage Problem Optimization by (local) Search
CS51A David Kauchak Spring 2019
Unit II Game Playing.
Solving problems by searching
Data Mining CSCI 307, Spring 2019 Lecture 18
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning
Presentation transcript:

Pruning Techniques General Game Playing Lecture 8 Michael Genesereth Spring 2012

Metagaming Metagaming is match-independent game processing, i.e. game processing that is done independent of any particular opponent or any particular state. Objective of metagaming - to optimize performance in playing specific matches of the game. Usually done offline, i.e. during the startclock or between moves or in parallel with regular game play.

Game Reformulation Game Reformulation is transformation of a game into one or more different games that can be played more efficiently yet yield the same result. Sample Methods: Disjunctive Factoring Conjunctive Factoring Sequential Factoring - Bottleneck - Maze Symmetry - Tic-Tac-Toe Hierarchical Abstraction

Metagaming Ideal Trade-off - cost of processing vs savings Find cases where cost varies with size of small description (e.g. propnet) rather than with size of expanded game graph Techniques: Game Reformulation Pruning Techniques Evaluation Functions

Dead State Removal

Latches A latch is a proposition that persists indefinitely, i.e. once it becomes true, it stays true forever. Tictactoe: next(cell(M,N,x)) :- true(cell(M,N,x)) next(cell(M,N,o)) :- true(cell(M,N,o)) Latches: cell(1,1,x) cell(1,2,x) … cell(1,1,o)

Finding Latches Using Propnets Naïve algorithm for detecting latches - Try all combinations of values for base and input propositions in which p is true and check that it is true in the next state. NB: Effectively searches entire state space. Improved version - As above but restrict attention to those propositions that determine p. NB: Improved version frequently much better than naive.

Requirements and Antirequirements A proposition p is a requirement / antirequirement for a proposition q if and only if p is true / false in every state in which q is true. In Tictactoe, cell(1,1,x) is a requirement for row(1,x). cell(1,1,x) is an antirequirement for cell(1,1,o).

Inhibition A proposition p inhibits a proposition q if and only if p must be false to achieve q or retain q. In other words, whenever p is true in a state, q is false in the next state. Example in a minute.

Dead State Removal If a latch p inhibits a requirement for the goal in a game, then it is a good idea to avoid states in which p is true. Example (assuming p is a latch and inhibits q): goal(white,100) :- true(q) & true(r) Pruning game tree below any state in which p is true can save lots of computation.

Untwisty Corridor Roles: Robot Actions: a, b, c, d Bases: p, q1, …, q8, 1, …, 9 Goal: q8 Actions a, b, c make p true. Once true, p remains true. Action d successively sets q1, …, q8 iff p is false. Plan: d, d, d, d, d, d, d, d Game tree size: 349,525

Performance ? (time (genplan untwistycorridor)) 349,521 states 1,133,293 milliseconds. 597,682,424 bytes of memory allocated. (PROG D D D D D D D D) ? (time (strplan untwistycorridor)) 9 states 183 milliseconds 54,568 bytes of memory allocated.

And So Forth Hillclimbing Goal Proximity Etc.