Cooperative Pathfinding

Slides:



Advertisements
Similar presentations
Artificial Intelligence
Advertisements

Heuristic Search techniques
Ch 4. Heuristic Search 4.0 Introduction(Heuristic)
Pathfinding AI John See 29 Nov, 13 Dec 2010.
Informed Search Methods Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 4 Spring 2004.
Solving Problem by Searching
CSE 380 – Computer Game Programming Pathfinding AI
Alford Academy Business Education and Computing1 Advanced Higher Computing Based on Heriot-Watt University Scholar Materials Problem abstraction and symbolic.
Self-Organizing Hierarchical Routing for Scalable Ad Hoc Networking David B. Johnson Department of Computer Science Rice University Monarch.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
CPSC 322, Lecture 4Slide 1 Search: Intro Computer Science cpsc322, Lecture 4 (Textbook Chpt ) January, 12, 2009.
1 Minimal Spanning Tree This is a technique used when we need to connect many places to a system(network).
CPSC 322, Lecture 13Slide 1 CSPs: Arc Consistency & Domain Splitting Computer Science cpsc322, Lecture 13 (Textbook Chpt 4.5,4.8) February, 02, 2009.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6961:Internet Protocols Quiz 1: Solutions Time: 60 min (strictly enforced) Points: 50 YOUR.
Research Related to Real-Time Strategy Games Robert Holte November 8, 2002.
Uninformed Search Reading: Chapter 3 by today, Chapter by Wednesday, 9/12 Homework #2 will be given out on Wednesday DID YOU TURN IN YOUR SURVEY?
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
1 Ceng 585 Paper Presentation D*-Lite Path Finding Algorithm and its Variations Can Eroğul
Strategies for Implementing Dynamic Load Sharing.
Routing 2 Outline –Maze Routing –Line Probe Routing –Channel Routing Goal –Understand maze routing –Understand line probe routing.
Aodv. Distance vector routing Belman principle AODV - overview Similar to DSR –On demand –Route request when needed and route reply when a node knows.
Chapter 5.4 Artificial Intelligence: Pathfinding.
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
Using Abstraction to Speed Up Search Robert Holte University of Ottawa.
Dijkstra’s Algorithm and Heuristic Graph Search David Johnson.
Lab 3 How’d it go?.
Graphs II Robin Burke GAM 376. Admin Skip the Lua topic.
1 Game AI Path Finding. A Common Situation of Game AI A Common Situation of Game AI Path Planning Path Planning –From a start position to a destination.
1 CO Games Development 1 Week 6 Introduction To Pathfinding + Crash and Turn + Breadth-first Search Gareth Bellaby.
Representing and Using Graphs
P ROBLEM Write an algorithm that calculates the most efficient route between two points as quickly as possible.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
Informed (Heuristic) Search
Content Addressable Networks CAN is a distributed infrastructure, that provides hash table-like functionality on Internet-like scales. Keys hashed into.
Search with Costs and Heuristic Search 1 CPSC 322 – Search 3 January 17, 2011 Textbook §3.5.3, Taught by: Mike Chiang.
Toward More Realistic Pathfinding Authored by: Marco Pinter Presentation Date: 11/17/03 Presented by: Ricky Uy.
CHAPTER 8 SEARCHING CSEB324 DATA STRUCTURES & ALGORITHM.
Heuristic Search Andrea Danyluk September 16, 2013.
Optical Network Security Daniel Stewart. Preliminary work Dijkstra's Algorithm Dijkstra's algorithm, is a graph search algorithm that solves the single-
a/b/g Networks Routing Herbert Rubens Slides taken from UIUC Wireless Networking Group.
1 Data Structures CSCI 132, Spring 2014 Lecture 1 Big Ideas in Data Structures Course website:
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 CH. 8: SWITCHING & DATAGRAM NETWORKS 7.1.
The Ant System Optimization by a colony of cooperating agents.
CSCE 552 Spring 2010 AI (III) By Jijun Tang. A* Pathfinding Directed search algorithm used for finding an optimal path through the game world Used knowledge.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Chapter 3 Solving problems by searching. Search We will consider the problem of designing goal-based agents in observable, deterministic, discrete, known.
Introduction to Spatial Computing CSE 5ISC
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Problem Solving Agents
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Mark Redekopp David Kempe
Heuristic Search Introduction to Artificial Intelligence
The Knight’s Tour Graphs, Algorithms, Abstraction and Decomposition
Abstraction Transformation & Heuristics
Routing: Distance Vector Algorithm
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Finding Heuristics Using Abstraction
Dynamic Programming.
Problem Solving and Searching
Problem Solving and Searching
Register-Transfer (RT) Synthesis
CO Games Development 1 Week 8 Depth-first search, Combinatorial Explosion, Heuristics, Hill-Climbing Gareth Bellaby.
Routing.
HW 1: Warmup Missionaries and Cannibals
Informed Search Idea: be smart about what paths to try.
HW 1: Warmup Missionaries and Cannibals
Informed Search Idea: be smart about what paths to try.
Informed Search.
Depth-First Searches.
Presentation transcript:

Cooperative Pathfinding David Silver

Overview The problem Solution methods Live demo (!?) Results Local repair A* Cooperative A* Hierarchical, Cooperative A* Windowed, Hierarchical, Cooperative A* Live demo (!?) Results

The Problem N agents N goals Find N paths Such that no two paths overlap

The Problem with the Problem Search space is enormous e.g. 100x100 gridworld ~(10,000)N states Branching factor of 5N {N, E, S, W, wait} for each agent Need to solve in real-time e.g. complete search within 1ms

Reformulating the Problem Err… isn’t this course called Single Agent Search? So simplify the problem to a series of single agent searches. Two approaches considered: A* with local repair Cooperative A*

1. A* with Local Repair Search for route to goal Ignore other agents If collision is imminent, route again Increase agitation level with each reroute Cross fingers and hope for the best

Problems with Local Repair Failure to reach goal Long solution lengths Frequent recalculation Appearance of ‘stupidity’

2. Cooperative A* Consider each agent in turn, greedily Search for a route to goal, avoiding reserved states Mark the agent’s route in a reservation table Basic heuristic uses Manhattan distance

Search Space The new search space has 3 dimensions 2 dimensional grid Time dimension Reservation table marks illegal states Mark each state on any agent’s path Sparse data structure Implemented using hash table

Problems with Cooperative A* Poor heuristic, many nodes expanded Need to improve heuristic Problems with agents at destination Need to continue searching Sensitive to agent order Dynamically rotate through agent orders

How to improve the heuristic? Pattern databases no good Search space too large Goal may be different each time Map may change dynamically So use hierarchical A* (Holte) Search for goal at abstract level Use abstract distance as heuristic 3 ideas for reusing abstract search

3. Hierarchical, Cooperative A* Domain abstraction Ignore time dimension Ignore reservation table Basic gridworld search Cooperative A* as before But using abstract distance as heuristic Abstract distance computed on demand

Reverse, Resumable A* Search backwards from Goal Search towards Start But only terminate when requested node is reached Keep Open, Closed lists Resume search whenever a new node is requested Consistent heuristic required

4. Windowed, Hierarchical, Cooperative A* Break up search into manageable pieces Like an intermediate abstraction layer Full search up to N steps Ignore time/reservations after N steps After N steps this is the same as abstract layer So use abstract distance to complete search

Windowing S window N abstract edge d(N,G) = h(N,G) G

Continuing the search Continue search after reaching destination May need to get out of the way Use edge costs: 0 if sitting on destination 1 for other edges Abstract distance to goal for final edge

Using Windows Compute window for all agents initially Then recompute each agent when half way through window Stagger computation to spread out processing time Can keep abstract distances until destination changes

Demo I hope this works!

Results: nodes expanded

Results: path length

Further ideas Additional layers in the hierarchy Prioritising agents e.g. ignore half the reservations Prioritising agents Overriding low priority agents Abstracting in space as well as time e.g. Using N-cliques