Heuristic Search in Empire-Based Games

Slides:



Advertisements
Similar presentations
Heuristic Search techniques
Advertisements

A* Search. 2 Tree search algorithms Basic idea: Exploration of state space by generating successors of already-explored states (a.k.a.~expanding states).
Ch 4. Heuristic Search 4.0 Introduction(Heuristic)
Traveling Salesperson Problem
Adversarial Search We have experience in search where we assume that we are the only intelligent being and we have explicit control over the “world”. Lets.
Anany Levitin ACM SIGCSE 1999SIG. Outline Introduction Four General Design Techniques A Test of Generality Further Refinements Conclusion.
Artificial Intelligence Adversarial search Fall 2008 professor: Luigi Ceccaroni.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2008.
Artificial Intelligence for Games Game playing Patrick Olivier
10/19/2004TCSS435A Isabelle Bichindaritz1 Game and Tree Searching.
Adversarial Search Board games. Games 2 player zero-sum games Utility values at end of game – equal and opposite Games that are easy to represent Chess.
Lecture 13 Last time: Games, minimax, alpha-beta Today: Finish off games, summary.
State Space 4 Chapter 4 Adversarial Games. Two Flavors Games of Perfect Information ◦Each player knows everything that can be known ◦Chess, Othello Games.
Mahgul Gulzai Moomal Umer Rabail Hafeez
This time: Outline Game playing The minimax algorithm
1 Using Search in Problem Solving Part II. 2 Basic Concepts Basic concepts: Initial state Goal/Target state Intermediate states Path from the initial.
1 search CS 331/531 Dr M M Awais A* Examples:. 2 search CS 331/531 Dr M M Awais 8-Puzzle f(N) = g(N) + h(N)
1 Heuristic Search 4 4.0Introduction 4.1An Algorithm for Heuristic Search 4.2Admissibility, Monotonicity, and Informedness 4.3Using Heuristics in Games.
Constraint Satisfaction Problems
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2006.
CIS 310: Visual Programming, Spring 2006 Western State College 310: Visual Programming Othello.
Depth Increment in IDA* Ling Zhao Dept. of Computing Science University of Alberta July 4, 2003.
Efficient Distance Computation between Non-Convex Objects by Sean Quinlan presented by Teresa Miller CS 326 – Motion Planning Class.
Compiler Optimization-Space Exploration Adrian Pop IDA/PELAB Authors Spyridon Triantafyllis, Manish Vachharajani, Neil Vachharajani, David.
GoogolHex CS4701 Final Presentation Anand Bheemarajaiah Chet Mancini Felipe Osterling.
Game Trees: MiniMax strategy, Tree Evaluation, Pruning, Utility evaluation Adapted from slides of Yoonsuck Choe.
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 2 Adapted from slides of Yoonsuck.
CISC 235: Topic 6 Game Trees.
KU NLP Heuristic Search Heuristic Search and Expert Systems (1) q An interesting approach to implementing heuristics is the use of confidence.
Game Playing.
林偉楷 Taiwan Evolutionary Intelligence Laboratory.
Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur Guided By – Prof. Amitabha Mukerjee.
Agents that can play multi-player games. Recall: Single-player, fully-observable, deterministic game agents An agent that plays Peg Solitaire involves.
DLS on Star (Single-level tree) Networks Background: A simple network model for DLS is the star network with a master-worker platform. It consists of a.
University of Amsterdam Search, Navigate, and Actuate – Search through Game Trees Arnoud Visser 1 Game Playing Search the action space of 2 players Russell.
Building Control Algorithms For State Space Search.
Standard Grade Physical Education Adaptation. Ways we can adapt activities  Rules  Equipment  Duration  Size/layout  No. of players.
Game Playing. Towards Intelligence? Many researchers attacked “intelligent behavior” by looking to strategy games involving deep thought. Many researchers.
Search exploring the consequences of possible actions.
Game Playing. Introduction One of the earliest areas in artificial intelligence is game playing. Two-person zero-sum game. Games for which the state space.
GAME PLAYING 1. There were two reasons that games appeared to be a good domain in which to explore machine intelligence: 1.They provide a structured task.
ENEE150 – 0102 ANDREW GOFFIN Functional Decomposition.
Parallel Programming in Chess Simulations Tyler Patton.
George F Luger ARTIFICIAL INTELLIGENCE 5th edition Structures and Strategies for Complex Problem Solving HEURISTIC SEARCH Luger: Artificial Intelligence,
HEURISTIC SEARCH 4 4.0Introduction 4.1An Algorithm for Heuristic Search 4.2Admissibility, Monotonicity, and Informedness 4.3Using Heuristics in Games 4.4Complexity.
Adversarial Search. Regular Tic Tac Toe Play a few games. –What is the expected outcome –What kinds of moves “guarantee” that?
Parallel Programming in Chess Simulations Part 2 Tyler Patton.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module 5 Adversarial Search (Thanks Meinolf Sellman!)
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.
Optimization Problems
Instructor: Vincent Conitzer
By: Casey Savage, Hayley Stueber, and James Olson
CS 460 Spring 2011 Lecture 4.
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
Pengantar Kecerdasan Buatan
Adversarial Search.
State Space 4 Chapter 4 Adversarial Games.
Optimization Problems
NIM - a two person game n objects are in one pile
Instructor: Vincent Conitzer
Pruned Search Strategies
Artificial Intelligence
Approaches to search Simple search Heuristic search Genetic search
Exercise: Dice rolls Write a method diceRoll that accepts an integer parameter representing a number of 6-sided dice to roll, and output all possible arrangements.
B-Trees.
Major Design Strategies
BUILDING STRONG HOME GROUPS
B-Trees.
Major Design Strategies
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning
Presentation transcript:

Heuristic Search in Empire-Based Games Nathan Freeburg

Introduction Goal Develop a hierarchical heuristic search algorithm to determine moves for a simple strategy game. Why heuristic search? Why hierarchical?

Heuristic Search What is it? Method of choosing branches in a state space which are more likely to lead to an acceptable solution to the problem. Often implemented through minimax search.

Search Example A A 2 2 B B C C D D -2 -2 -99 -99 2 2 E E F F G G H H I J J K K L L M M 4 4 2 2 -2 -2 1 1 -1 -1 -99 -99 5 5 4 4 2 2

Reducing the Search Space A full search for a game with n pieces and m moves per piece, to a depth of d, requires examination of (m^n)^d separate states. A full depth search for each piece, performed one at a time for all pieces, reduces the number of states to be examined to n(m^(d+1)). Remember moves made by other pieces at the current depth.

Algorithm Used Choose a piece to focus on. For all other pieces, perform a depth = 1 lookahead to determine best move at that level. Perform a full depth lookahead for the chosen piece to determine the best move. Repeat for all pieces.

Constructing a Hierarchy Split the decision making process into levels. Determine overall strategy at the highest level. Rule-based approach. Determine the moves necessary to implement that strategy at the next level. Heuristic search.

Test Game Loosely based on Empire, via Empire Lite. Only resources are cities. Advantage goes to attacker. Two win conditions. All opposing units eliminated. All cities occupied by one side.

Results Hierarchical heuristic search outperformed non-hierarchical search. Average move time was about 5 seconds for a lookahead depth of 8 on a 400 Mhz processor. Still too high for mainstream applications, but promising.

Further Work At a superficial level: further tuning of the heuristics and tightening of the code. Division of units into separate groups, each of which could be given different goals. More robust set of rules for decision making at the top level.

Conclusions Hierarchical heuristic search preferable to non-hierarchical, despite increase in complexity. Use in mainstream applications dependent on further increases in processing speed.