JPS+: Over 100x Faster than A* Steve Rabin Principal Lecturer DigiPen Institute of Technology

Size: px
Start display at page:

Download "JPS+: Over 100x Faster than A* Steve Rabin Principal Lecturer DigiPen Institute of Technology"

Transcription

1 JPS+: Over 100x Faster than A* Steve Rabin Principal Lecturer DigiPen Institute of Technology

2 JPS+: Over 100x Faster than A* JPS+ now with Goal Bounding: Over 1000x Faster than A*

3 Slides:

4 Coming out April 2015 however, back in June 2014 however, 2 months ago

5 Two Primary Techniques (Node Pruning) JPS+ (ICAPS July 2014) Avoid redundant paths on grids Goal Bounding (developed in Jan 2015) Avoid wrong directions on any kind of map

6 Test Maps (movingai.com) 75 StarCraft maps (198,230 problems) 156 Dragon Age Origins maps (159,465 problems) 36 Warcraft III maps (50,971 problems)

7 Test Maps (movingai.com) 75 StarCraft maps (198,230 problems) 156 Dragon Age Origins maps (159,465 problems) 36 Warcraft III maps (50,971 problems)

8 A* JPS+ JPS+ Goal Bounding

9 A* JPS+ JPS+ Goal Bounding

10 A* JPS+ JPS+ Goal Bounding

11 A* JPS+ JPS+ Goal Bounding

12 A* JPS+ JPS+ Goal Bounding

13 Goal Bounding JPS+ 70x to 350x faster Avoid Redundant Paths 1400x to 5000x faster 20x to 60x faster Avoid Wrong Directions

14 StarCraft Maps: JPS

15 StarCraft Maps: Subgoal Graph

16 StarCraft Maps: JPS+ Goal Bounds

17 StarCraft Maps: Comparison JPS+ Subgoal Graph 0 JPS+ Goal Bounds

18 StarCraft Maps: Comparison JPS+ 0 Subgoal Graph 0 JPS+ Goal Bounds

19 JPS+ 1 value Per Edge 4 values Per Edge Goal Bounding Grids, NavMesh, Graphs Fast O(n) Precompute Avoid Redundant Paths No Map Changes Slow O(n2) Precompute Dijkstra, A*, Uniform other algorithms Cost Avoid Non-Uniform Wrong Cost Directions

20 Overview JPS+ Preprocessing & Runtime Goal Bounding Preprocessing & Runtime Results and Analysis Future Work

21 JPS+ Explained

22 Equivalent Paths on Grids

23 JPS Search Strategy

24 JPS Search Strategy

25 JPS Search Strategy

26 JPS Search Strategy

27 JPS Search Strategy

28 JPS Search Strategy

29 Forced Neighbor Cases

30 Fewer Open List Nodes

31 Four Types of Jump Points Primary Straight Diagonal Target

32 Primary Jump Points

33 Straight Jump Points

34 Straight Jump Point Distance

35 Diagonal Jump Points

36 Add in Wall Distances (0 or neg)

37 Four Types of Jump Points Primary Straight Diagonal Target (runtime)

38 JPS+ Runtime Example

39

40

41

42

43

44

45

46

47

48

49 Goal Bounding

50 A* Search Reachable optimally by exploring left Optimal goal bounds when exploring left

51 JPS+ Search Reachable optimally by exploring left Optimal goal bounds when exploring left

52 A* Search Goal Bounds JPS+ Search Goal Bounds

53 Goal Bounding A* Search

54 Goal Bounding A* Search

55 Goal Bounding A* Search

56 Goal Bounding A* Search

57 Goal Bounding A* Search

58 Goal Bounding A* Search

59 Goal Bounding A* Search

60 Goal Bounding A* Search

61 Goal Bounding A* Search

62 Goal Bounding A* Search

63 Goal Bounding A* Search

64 Goal Bounding A* Search

65 Goal Bounding A* Search

66

67

68 How to calculate Goal Bounds Dijkstra floodfill from each node When you put a node on the Closed list Update start node s Goal Bounds (for the edge it originally came from!) Embarrassingly parallel

69 Calculating Goal Bounds

70 Calculating Goal Bounds

71 Calculating Goal Bounds

72 Calculating Goal Bounds

73 Calculating Goal Bounds

74 Calculating Goal Bounds

75 Calculating Goal Bounds

76 Calculating Goal Bounds

77 Calculating Goal Bounds

78 Calculating Goal Bounds

79 Calculating Goal Bounds

80 Calculating Goal Bounds

81 Calculating Goal Bounds

82 Calculating Goal Bounds

83 Calculating Goal Bounds

84 Calculating Goal Bounds

85 Calculating Goal Bounds

86 Calculating Goal Bounds

87 Calculating Goal Bounds

88 Calculating Goal Bounds

89 Calculating Goal Bounds

90 Calculating Goal Bounds

91 Calculating Goal Bounds

92 Calculating Goal Bounds

93 Calculating Goal Bounds

94 Calculating Goal Bounds

95 Calculating Goal Bounds

96 Calculating Goal Bounds

97 Calculating Goal Bounds

98 Calculating Goal Bounds

99 Calculating Goal Bounds

100 Calculating Goal Bounds

101 Calculating Goal Bounds

102 Calculating Goal Bounds

103 Calculating Goal Bounds

104 Calculating Goal Bounds

105 Calculating Goal Bounds

106 Calculating Goal Bounds

107 Calculating Goal Bounds

108 Calculating Goal Bounds

109 Calculating Goal Bounds

110 Calculating Goal Bounds

111 Calculating Goal Bounds

112 Calculating Goal Bounds

113 Optimizations

114 JPS+ Goal Bounding Fast stack and unsorted Open list Only works for grids using Octile heuristic

115 Across the Cape (768x768) 2940 tests From 4.41 to Search A* JPS+ GB Max Open List Size Avg Size On PopCheapest

116 Across the Cape (768x768) 2940 tests From 4.41 to Search A* JPS+ GB Max Open List Size 3464 Avg Size On PopCheapest

117 Across the Cape (768x768) 2940 tests From 4.41 to Search A* JPS+ GB Max Open List Size Avg Size On PopCheapest

118 Across the Cape (768x768) 2940 tests From 4.41 to Search A* JPS+ GB Max Open List Size Avg Size On PopCheapest

119 Across the Cape (768x768) 2940 tests From 4.41 to Search A* JPS+ GB Max Open List Size Avg Size On PopCheapest x faster than A*

120 Arctic Station (768x768) 4100 tests From 4 to long Search A* JPS+ GB Max Open List Size Avg Size On PopCheapest

121 Arctic Station (768x768) 4100 tests From 4 to long Search A* JPS+ GB Max Open List Size Avg Size On PopCheapest

122 Arctic Station (768x768) 4100 tests From 4 to long Search A* JPS+ GB Max Open List Size Avg Size On PopCheapest x faster than A*

123 JPS+ Goal Bounding Function pointer table 256 wall permutations X 8 parent directions 2048 look-up table pointing at 42 functions

124 Problem: Dynamic Maps

125 Goal Bounding Gates

126 Goal Bounding Gates

127 Goal Bounding Gates

128 Recap

129 Goal Bounding JPS+ 70x to 350x faster Avoid Redundant Paths 1400x to 5000x faster 20x to 60x faster Avoid Wrong Directions

130 JPS+ 1 value Per Edge 4 values Per Edge Goal Bounding Grids, NavMesh, Graphs Fast O(n) Precompute Avoid Redundant Paths No Map Changes Slow O(n2) Precompute Dijkstra, A*, Uniform other algorithms Cost Avoid Non-Uniform Wrong Cost Directions

131 StarCraft Maps: Comparison JPS+ 0 Subgoal Graph 0 JPS+ Goal Bounds

132 Future Work Can Goal Bounding work with Subgoal? Can the precompute be done in O(n)? Are there better bounds than a box? How much does it actually speed up A* on a NavMesh?

133 Questions? me for source code Slides at:

Combining Bounding Boxes and JPS to Prune Grid Pathfinding

Combining Bounding Boxes and JPS to Prune Grid Pathfinding Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence (AAAI-16) Combining Bounding Boxes and JPS to Prune Grid Pathfinding Steve Rabin Dept. of Computer Science DigiPen Institute of Technology

More information

Combining Bounding Boxes and JPS to Prune Grid Pathfinding

Combining Bounding Boxes and JPS to Prune Grid Pathfinding Combining Bounding Boxes and JPS to Prune Grid Pathfinding Steve Rabin Dept. of Computer Science DigiPen Institute of Technology Redmond, WA, USA steve.rabin@gmail.com Nathan R. Sturtevant Dept. of Computer

More information

Canonical Orderings on Grids

Canonical Orderings on Grids Canonical Orderings on Grids Nathan R. Sturtevant Department of Computer Science University of Denver Denver, CO, USA sturtevant@cs.du.edu Steve Rabin Department of Computer Science DigiPen Institute of

More information

Map Abstraction with Adjustable Time Bounds

Map Abstraction with Adjustable Time Bounds Map Abstraction with Adjustable Time Bounds Sourodeep Bhattacharjee and Scott D. Goodwin School of Computer Science, University of Windsor Windsor, N9B 3P4, Canada sourodeepbhattacharjee@gmail.com, sgoodwin@uwindsor.ca

More information

Notes. Video Game AI: Lecture 5 Planning for Pathfinding. Lecture Overview. Knowledge vs Search. Jonathan Schaeffer this Friday

Notes. Video Game AI: Lecture 5 Planning for Pathfinding. Lecture Overview. Knowledge vs Search. Jonathan Schaeffer this Friday Notes Video Game AI: Lecture 5 Planning for Pathfinding Nathan Sturtevant COMP 3705 Jonathan Schaeffer this Friday Planning vs localization We cover planning today Localization is just mapping a real-valued

More information

Improving Jump Point Search

Improving Jump Point Search Improving Jump Point Search Daniel Harabor and Alban Grastien NICTA and The Australian National University firstname.lastname@nicta.com.au Abstract We give online and offline optimisation techniques to

More information

Identifying Hierarchies for Fast Optimal Search

Identifying Hierarchies for Fast Optimal Search Identifying Hierarchies for Fast Optimal Search Tansel Uras Sven Koenig Department of Computer Science University of Southern California Los Angeles, USA {turas, skoenig}@usc.edu Abstract Search with Subgoal

More information

Strict Theta*: Shorter Motion Path Planning Using Taut Paths

Strict Theta*: Shorter Motion Path Planning Using Taut Paths Proceedings of the Twenty-Sixth International Conference on Automated Planning and Scheduling (ICAPS 2016) Strict Theta*: Shorter Motion Path Planning Using Taut Paths Shunhao Oh and Hon Wai Leong Department

More information

Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences

Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences : A rule of thumb, simplification, or educated guess that reduces

More information

Multi-Agent Pathfinding with Real-Time Heuristic Search

Multi-Agent Pathfinding with Real-Time Heuristic Search Multi-Agent Pathfinding with Real-Time Heuristic Search Devon Sigurdson, Vadim Bulitko, William Yeoh, Carlos Hernández and Sven Koenig Computing Science, University of Alberta Email: {dbsigurd,buliko}@ualberta.ca

More information

Course Outline. Video Game AI: Lecture 7 Heuristics & Smoothing. Finding the best location out of several. Variable size units / special movement?

Course Outline. Video Game AI: Lecture 7 Heuristics & Smoothing. Finding the best location out of several. Variable size units / special movement? Course Outline Video Game AI: Lecture 7 Heuristics & Smoothing Nathan Sturtevant COMP 3705 http://aigamedev.com/ now has free interviews! Miscellaneous details Heuristics How better heuristics can be built

More information

Finding a Path. Advanced Pathfinding. Finding a Path. A* Pathfinding Search. Practical Path Planning 3/21/2016. Tile-Based Navigation Graphs IMGD 4000

Finding a Path. Advanced Pathfinding. Finding a Path. A* Pathfinding Search. Practical Path Planning 3/21/2016. Tile-Based Navigation Graphs IMGD 4000 3/21/2016 Finding a Path Often seems obvious and natural in real life e.g., Get from point A to B go around lake Advanced Pathfinding http://www.rocket5studios.com/tutorials/make-a-2d-game-withunity3d-using-only-free-tools-beginning-enemy-ai-with-a-pathfinding/

More information

Computer Vision & Digital Image Processing. Global Processing via Graph-Theoretic Techniques

Computer Vision & Digital Image Processing. Global Processing via Graph-Theoretic Techniques Computer Vision & Digital Image Processing Edge Linking Via Graph Theoretic Techniques Dr. D. J. Jackson Lecture 19-1 Global Processing via Graph-Theoretic Techniques The previous method for edge-linking

More information

Any-Angle Search Case Study: Theta* slides by Alex Nash / with contributions by Sven Koenig

Any-Angle Search Case Study: Theta* slides by Alex Nash / with contributions by Sven Koenig Any-Angle Search Case Study: Theta* slides by Alex Nash anash@usc.edu / alexwnash@gmail.com with contributions by Sven Koenig skoenig@usc.edu Table of Contents o Introduction o Analysis of Path Lengths

More information

Uniformed Search (cont.)

Uniformed Search (cont.) Uniformed Search (cont.) Computer Science cpsc322, Lecture 6 (Textbook finish 3.5) Sept, 16, 2013 CPSC 322, Lecture 6 Slide 1 Lecture Overview Recap DFS vs BFS Uninformed Iterative Deepening (IDS) Search

More information

Heuristic Search and Advanced Methods

Heuristic Search and Advanced Methods Heuristic Search and Advanced Methods Computer Science cpsc322, Lecture 3 (Textbook Chpt 3.6 3.7) May, 15, 2012 CPSC 322, Lecture 3 Slide 1 Course Announcements Posted on WebCT Assignment1 (due on Thurs!)

More information

Heuristic Search: A* CPSC 322 Search 4 January 19, Textbook 3.6 Taught by: Vasanth

Heuristic Search: A* CPSC 322 Search 4 January 19, Textbook 3.6 Taught by: Vasanth Heuristic Search: A* CPSC 322 Search 4 January 19, 2011 Textbook 3.6 Taught by: Vasanth 1 Lecture Overview Recap Search heuristics: admissibility and examples Recap of BestFS Heuristic search: A* 2 Example

More information

Informed search strategies (Section ) Source: Fotolia

Informed search strategies (Section ) Source: Fotolia Informed search strategies (Section 3.5-3.6) Source: Fotolia Review: Tree search Initialize the frontier using the starting state While the frontier is not empty Choose a frontier node to expand according

More information

Outline. Best-first search

Outline. Best-first search Outline Best-first search Greedy best-first search A* search Heuristics Admissible Heuristics Graph Search Consistent Heuristics Local search algorithms Hill-climbing search Beam search Simulated annealing

More information

Enhancements to Hierarchical Pathfinding Algorithms

Enhancements to Hierarchical Pathfinding Algorithms University of Denver Digital Commons @ DU Electronic Theses and Dissertations Graduate Studies 1-1-2016 Enhancements to Hierarchical Pathfinding Algorithms Xin Li University of Denver Follow this and additional

More information

Online Bridged Pruning for Real-Time Search with Arbitrary Lookaheads

Online Bridged Pruning for Real-Time Search with Arbitrary Lookaheads Online Bridged Pruning for Real-Time Search with Arbitrary Lookaheads Carlos Hernández Ulloa, Adi Botea, Jorge A. Baier,, Vadim Bulitko Chilean Center for Semantic Web Research IBM Research, Ireland Pontificia

More information

CSE 40171: Artificial Intelligence. Informed Search: A* Search

CSE 40171: Artificial Intelligence. Informed Search: A* Search CSE 40171: Artificial Intelligence Informed Search: A* Search 1 Homework #1 has been released. It is due at 11:59PM on 9/10. 2 Quick Recap: Search Quick Recap: Search Search problem: States (configurations

More information

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2: Search. Problem Solving Agents

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2: Search. Problem Solving Agents Class Overview COMP 3501 / COMP 4704-4 Lecture 2: Search Prof. 1 2 Problem Solving Agents Problem Solving Agents: Assumptions Requires a goal Assume world is: Requires actions Observable What actions?

More information

A* optimality proof, cycle checking

A* optimality proof, cycle checking A* optimality proof, cycle checking CPSC 322 Search 5 Textbook 3.6 and 3.7.1 January 21, 2011 Taught by Mike Chiang Lecture Overview Recap Admissibility of A* Cycle checking and multiple path pruning Slide

More information

Two-Oracle Optimal Path Planning on Grid Maps

Two-Oracle Optimal Path Planning on Grid Maps Twenty-Eighth International Conference on Automated Planning and Scheduling (ICAPS 2018) Two-Oracle Optimal Path Planning on Grid Maps Matteo Salvetti Daniel Harabor Monash University Australia Adi Botea

More information

IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. 5, NO. 3, SEPTEMBER Ramon Lawrence, Member, IEEE, and Vadim Bulitko

IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. 5, NO. 3, SEPTEMBER Ramon Lawrence, Member, IEEE, and Vadim Bulitko IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. 5, NO. 3, SEPTEMBER 2013 227 Database-Driven Real-Time Heuristic Search in Video-Game Pathfinding Ramon Lawrence, Member, IEEE, and

More information

ITCS 6150 Intelligent Systems. Lecture 5 Informed Searches

ITCS 6150 Intelligent Systems. Lecture 5 Informed Searches ITCS 6150 Intelligent Systems Lecture 5 Informed Searches Informed Searches We are informed (in some way) about future states and future paths We use this information to make better decisions about which

More information

Improving MPGAA* for Extended Visibility Ranges

Improving MPGAA* for Extended Visibility Ranges Proceedings of the Twenty-Seventh International Conference on Automated Planning and Scheduling (ICAPS 2017) Improving MPGAA* for Extended Visibility Ranges Carlos Hernández Depto. de Ciencias de la Ingeniería

More information

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2. Problem Solving Agents. Problem Solving Agents: Assumptions

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2. Problem Solving Agents. Problem Solving Agents: Assumptions Class Overview COMP 3501 / COMP 4704-4 Lecture 2 Prof. JGH 318 Problem Solving Agents Problem Solving Agents: Assumptions Requires a goal Assume world is: Requires actions Observable What actions? Discrete

More information

ME/CS 132: Advanced Robotics: Navigation and Vision

ME/CS 132: Advanced Robotics: Navigation and Vision ME/CS 132: Advanced Robotics: Navigation and Vision Lecture #5: Search Algorithm 1 Yoshiaki Kuwata 4/12/2011 Lecture Overview Introduction Label Correcting Algorithm Core idea Depth-first search Breadth-first

More information

Acknowledgements. Outline

Acknowledgements. Outline Acknowledgements Heuristic Search for Planning Sheila McIlraith University of Toronto Fall 2010 Many of the slides used in today s lecture are modifications of slides developed by Malte Helmert, Bernhard

More information

Real-Time Heuristic Search with Depression Avoidance

Real-Time Heuristic Search with Depression Avoidance Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence Real-Time Heuristic Search with Depression Avoidance Carlos Hernández Departamento de Ingeniería Informática Universidad

More information

COP 4531 Complexity & Analysis of Data Structures & Algorithms

COP 4531 Complexity & Analysis of Data Structures & Algorithms COP 4531 Complexity & Analysis of Data Structures & Algorithms Lecture 8 Data Structures for Disjoint Sets Thanks to the text authors who contributed to these slides Data Structures for Disjoint Sets Also

More information

I may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams

I may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams Disclaimer: I use these notes as a guide rather than a comprehensive coverage of the topic. They are neither a substitute for attending the lectures nor for reading the assigned material. I may not have

More information

Route planning / Search Movement Group behavior Decision making

Route planning / Search Movement Group behavior Decision making Game AI Where is the AI Route planning / Search Movement Group behavior Decision making General Search Algorithm Design Keep a pair of set of states: One, the set of states to explore, called the open

More information

CMPUT 396 Sliding Tile Puzzle

CMPUT 396 Sliding Tile Puzzle CMPUT 396 Sliding Tile Puzzle Sliding Tile Puzzle 2x2 Sliding Tile States Exactly half of the states are solvable, the other half are not. In the case of 2x2 puzzles, I can solve it if I start with a configuration

More information

Reach for A : an Efficient Point-to-Point Shortest Path Algorithm

Reach for A : an Efficient Point-to-Point Shortest Path Algorithm Reach for A : an Efficient Point-to-Point Shortest Path Algorithm Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Joint with Haim Kaplan and Renato Werneck Einstein

More information

6.141: Robotics systems and science Lecture 10: Motion Planning III

6.141: Robotics systems and science Lecture 10: Motion Planning III 6.141: Robotics systems and science Lecture 10: Motion Planning III Lecture Notes Prepared by N. Roy and D. Rus EECS/MIT Spring 2012 Reading: Chapter 3, and Craig: Robotics http://courses.csail.mit.edu/6.141/!

More information

Heuristic Search. Robert Platt Northeastern University. Some images and slides are used from: 1. CS188 UC Berkeley 2. RN, AIMA

Heuristic Search. Robert Platt Northeastern University. Some images and slides are used from: 1. CS188 UC Berkeley 2. RN, AIMA Heuristic Search Robert Platt Northeastern University Some images and slides are used from: 1. CS188 UC Berkeley 2. RN, AIMA Recap: What is graph search? Start state Goal state Graph search: find a path

More information

CS 387/680: GAME AI PATHFINDING

CS 387/680: GAME AI PATHFINDING CS 387/680: GAME AI PATHFINDING 4/16/2015 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2015/cs387/intro.html Reminders Check BBVista site for

More information

M-ary Search Tree. B-Trees. B-Trees. Solution: B-Trees. B-Tree: Example. B-Tree Properties. Maximum branching factor of M Complete tree has height =

M-ary Search Tree. B-Trees. B-Trees. Solution: B-Trees. B-Tree: Example. B-Tree Properties. Maximum branching factor of M Complete tree has height = M-ary Search Tree B-Trees Section 4.7 in Weiss Maximum branching factor of M Complete tree has height = # disk accesses for find: Runtime of find: 2 Solution: B-Trees specialized M-ary search trees Each

More information

Learning Where You Are Going and from Whence You Came: h- and g-cost Learning in Real-Time Heuristic Search

Learning Where You Are Going and from Whence You Came: h- and g-cost Learning in Real-Time Heuristic Search Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence Learning Where You Are Going and from Whence You Came: h- and g-cost Learning in Real-Time Heuristic Search Nathan

More information

ANY-ANGLE PATH PLANNING. Alex Nash

ANY-ANGLE PATH PLANNING. Alex Nash ANY-ANGLE PATH PLANNING by Alex Nash A Dissertation Presented to the FACULTY OF THE USC GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR

More information

Searching. Assume goal- or utilitybased. Next task to achieve is to determine the best path to the goal

Searching. Assume goal- or utilitybased. Next task to achieve is to determine the best path to the goal Searching Assume goal- or utilitybased agents: state information ability to perform actions goals to achieve Next task to achieve is to determine the best path to the goal CSC384 Lecture Slides Steve Engels,

More information

Heuristic Search. Rob Platt Northeastern University. Some images and slides are used from: AIMA

Heuristic Search. Rob Platt Northeastern University. Some images and slides are used from: AIMA Heuristic Search Rob Platt Northeastern University Some images and slides are used from: AIMA Recap: What is graph search? Start state Goal state Graph search: find a path from start to goal what are the

More information

M-ary Search Tree. B-Trees. Solution: B-Trees. B-Tree: Example. B-Tree Properties. B-Trees (4.7 in Weiss)

M-ary Search Tree. B-Trees. Solution: B-Trees. B-Tree: Example. B-Tree Properties. B-Trees (4.7 in Weiss) M-ary Search Tree B-Trees (4.7 in Weiss) Maximum branching factor of M Tree with N values has height = # disk accesses for find: Runtime of find: 1/21/2011 1 1/21/2011 2 Solution: B-Trees specialized M-ary

More information

Navigation Mesh based Pathfinding for large crowds

Navigation Mesh based Pathfinding for large crowds Navigation Mesh based Pathfinding for large crowds Robert Lindner Introduction This paper is about methods that can be used to get as much performance as possible while simulating the pathfinding of large

More information

Chapter 5.4 Artificial Intelligence: Pathfinding

Chapter 5.4 Artificial Intelligence: Pathfinding Chapter 5.4 Artificial Intelligence: Pathfinding Introduction Almost every game requires pathfinding Agents must be able to find their way around the game world Pathfinding is not a trivial problem The

More information

CS 343H: Artificial Intelligence

CS 343H: Artificial Intelligence CS 343H: Artificial Intelligence Lecture 4: Informed Search 1/23/2014 Slides courtesy of Dan Klein at UC-Berkeley Unless otherwise noted Today Informed search Heuristics Greedy search A* search Graph search

More information

Single-Robot and Multi-Robot Path Planning with Quality Guarantees Cognitive Robotics Summer School 2017

Single-Robot and Multi-Robot Path Planning with Quality Guarantees Cognitive Robotics Summer School 2017 Single-Robot and Multi-Robot Path Planning with Quality Guarantees Cognitive Robotics Summer School 207 Sven Koenig, the awesome people in his research group and their awesome collaborators University

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Nebel, Hué and Wölfl (Universität Freiburg) Constraint

More information

Search : Lecture 2. September 9, 2003

Search : Lecture 2. September 9, 2003 Search 6.825: Lecture 2 September 9, 2003 1 Problem-Solving Problems When your environment can be effectively modeled as having discrete states and actions deterministic, known world dynamics known initial

More information

CS 231: Algorithmic Problem Solving

CS 231: Algorithmic Problem Solving CS 231: Algorithmic Problem Solving Naomi Nishimura Module 5 Date of this version: June 14, 2018 WARNING: Drafts of slides are made available prior to lecture for your convenience. After lecture, slides

More information

Register Allocation. Note by Baris Aktemur: Our slides are adapted from Cooper and Torczon s slides that they prepared for COMP 412 at Rice.

Register Allocation. Note by Baris Aktemur: Our slides are adapted from Cooper and Torczon s slides that they prepared for COMP 412 at Rice. Register Allocation Note by Baris Aktemur: Our slides are adapted from Cooper and Torczon s slides that they prepared for COMP at Rice. Copyright 00, Keith D. Cooper & Linda Torczon, all rights reserved.

More information

Abstractions and small languages in synthesis CS294: Program Synthesis for Everyone

Abstractions and small languages in synthesis CS294: Program Synthesis for Everyone Abstractions and small languages in synthesis CS294: Program Synthesis for Everyone Ras Bodik Emina Torlak Division of Computer Science University of California, Berkeley Today Today: we describe why high-level

More information

Range Minimum Queries Part Two

Range Minimum Queries Part Two Range Minimum Queries Part Two Recap from Last Time The RMQ Problem The Range Minimum Query (RMQ) problem is the following: Given a fixed array A and two indices i j, what is the smallest element out of

More information

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 20 Priority Queues Today we are going to look at the priority

More information

INTRODUCTION TO HEURISTIC SEARCH

INTRODUCTION TO HEURISTIC SEARCH INTRODUCTION TO HEURISTIC SEARCH What is heuristic search? Given a problem in which we must make a series of decisions, determine the sequence of decisions which provably optimizes some criterion. What

More information

Heuristic Search for Planning

Heuristic Search for Planning Heuristic Search for Planning Sheila McIlraith University of Toronto Fall 2010 S. McIlraith Heuristic Search for Planning 1 / 50 Acknowledgements Many of the slides used in today s lecture are modifications

More information

Introduction to Visualization and Computer Graphics

Introduction to Visualization and Computer Graphics Introduction to Visualization and Computer Graphics DH2320, Fall 2015 Prof. Dr. Tino Weinkauf Introduction to Visualization and Computer Graphics Visibility Shading 3D Rendering Geometric Model Color Perspective

More information

Search: Advanced Topics and Conclusion

Search: Advanced Topics and Conclusion Search: Advanced Topics and Conclusion CPSC 322 Lecture 8 January 20, 2006 Textbook 2.6 Search: Advanced Topics and Conclusion CPSC 322 Lecture 8, Slide 1 Lecture Overview Recap Branch & Bound A Tricks

More information

Pathfinding. Advaith Siddharthan

Pathfinding. Advaith Siddharthan Pathfinding Advaith Siddharthan Context What is Intelligence? Rational? Search Optimisation Reasoning Impulsive? Quicker response Less predictable Personality/Emotions: Angry/Bored/Curious Overview The

More information

Local Search. (Textbook Chpt 4.8) Computer Science cpsc322, Lecture 14. May, 30, CPSC 322, Lecture 14 Slide 1

Local Search. (Textbook Chpt 4.8) Computer Science cpsc322, Lecture 14. May, 30, CPSC 322, Lecture 14 Slide 1 Local Search Computer Science cpsc322, Lecture 14 (Textbook Chpt 4.8) May, 30, 2017 CPSC 322, Lecture 14 Slide 1 Announcements Assignment1 due now! Assignment2 out today CPSC 322, Lecture 10 Slide 2 Lecture

More information

9/29/09 Comp /Comp Fall

9/29/09 Comp /Comp Fall 9/29/9 Comp 9-9/Comp 79-9 Fall 29 1 So far we ve tried: A greedy algorithm that does not work for all inputs (it is incorrect) An exhaustive search algorithm that is correct, but can take a long time A

More information

DBA* A Real-Time Path Finding Algorithm

DBA* A Real-Time Path Finding Algorithm DBA* A Real-Time Path Finding Algorithm By William Lee A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Bachelor of Arts Honours In The Irving K. Barber School of Arts and

More information

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro CMU-Q 15-381 Lecture 4: Path Planning Teacher: Gianni A. Di Caro APPLICATION: MOTION PLANNING Path planning: computing a continuous sequence ( a path ) of configurations (states) between an initial configuration

More information

6.141: Robotics systems and science Lecture 10: Implementing Motion Planning

6.141: Robotics systems and science Lecture 10: Implementing Motion Planning 6.141: Robotics systems and science Lecture 10: Implementing Motion Planning Lecture Notes Prepared by N. Roy and D. Rus EECS/MIT Spring 2011 Reading: Chapter 3, and Craig: Robotics http://courses.csail.mit.edu/6.141/!

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) Path Planning for Point Robots Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/mpa Class Objectives Motion planning framework Classic motion planning approaches 2 3 Configuration Space:

More information

Desktop Studio: Charts. Version: 7.3

Desktop Studio: Charts. Version: 7.3 Desktop Studio: Charts Version: 7.3 Copyright 2015 Intellicus Technologies This document and its content is copyrighted material of Intellicus Technologies. The content may not be copied or derived from,

More information

Robotic Motion Planning: A* and D* Search

Robotic Motion Planning: A* and D* Search Robotic Motion Planning: A* and D* Search Robotics Institute 6-75 http://voronoi.sbp.ri.cmu.edu/~motion Howie Choset http://voronoi.sbp.ri.cmu.edu/~choset 6-75, Howie Choset with slides from G. Ayorker

More information

CS 106X, Lecture 23 Dijkstra and A* Search

CS 106X, Lecture 23 Dijkstra and A* Search CS 106X, Lecture 23 Dijkstra and A* Search reading: Programming Abstractions in C++, Chapter 18 This document is copyright (C) Stanford Computer Science and Nick Troccoli, licensed under Creative Commons

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras

Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras (Refer Slide Time: 00:17) Lecture No - 10 Hill Climbing So, we were looking

More information

Approximate Nearest Neighbors. CS 510 Lecture #24 April 18 th, 2014

Approximate Nearest Neighbors. CS 510 Lecture #24 April 18 th, 2014 Approximate Nearest Neighbors CS 510 Lecture #24 April 18 th, 2014 How is the assignment going? 2 hcp://breckon.eu/toby/demos/videovolumes/ Review: Video as Data Cube Mathematically, the cube can be viewed

More information

lecture29: Shortest Path Algorithms

lecture29: Shortest Path Algorithms lecture29: Shortest Path Algorithms Largely based on slides by Cinda Heeren CS 225 UIUC 30th July, 2013 Outline 1 Announcements 2 3 4 Announcements lab graphs due Thursday, 8/1 final exam this Friday (8/2),

More information

Local Search. (Textbook Chpt 4.8) Computer Science cpsc322, Lecture 14. Oct, 7, CPSC 322, Lecture 14 Slide 1

Local Search. (Textbook Chpt 4.8) Computer Science cpsc322, Lecture 14. Oct, 7, CPSC 322, Lecture 14 Slide 1 Local Search Computer Science cpsc322, Lecture 14 (Textbook Chpt 4.8) Oct, 7, 2013 CPSC 322, Lecture 14 Slide 1 Department of Computer Science Undergraduate Events More details @ https://www.cs.ubc.ca/students/undergrad/life/upcoming-events

More information

Compressing Pattern Databases

Compressing Pattern Databases Compressing Pattern Databases Ariel Felner and Ram Meshulam Computer Science Department Bar-Ilan University Ramat-Gan, Israel 92500 Email: felner,meshulr1 @cs.biu.ac.il Robert C. Holte Computing Science

More information

Desktop Studio: Charts

Desktop Studio: Charts Desktop Studio: Charts Intellicus Enterprise Reporting and BI Platform Intellicus Technologies info@intellicus.com www.intellicus.com Working with Charts i Copyright 2011 Intellicus Technologies This document

More information

Heuristic (Informed) Search

Heuristic (Informed) Search Heuristic (Informed) Search (Where we try to choose smartly) R&N: Chap., Sect..1 3 1 Search Algorithm #2 SEARCH#2 1. INSERT(initial-node,Open-List) 2. Repeat: a. If empty(open-list) then return failure

More information

CSE 326: Data Structures B-Trees and B+ Trees

CSE 326: Data Structures B-Trees and B+ Trees Announcements (2/4/09) CSE 26: Data Structures B-Trees and B+ Trees Midterm on Friday Special office hour: 4:00-5:00 Thursday in Jaech Gallery (6 th floor of CSE building) This is in addition to my usual

More information

521495A: Artificial Intelligence

521495A: Artificial Intelligence 521495A: Artificial Intelligence Informed Search Lectured by Abdenour Hadid Adjunct Professor, CMVS, University of Oulu Slides adopted from http://ai.berkeley.edu Today Informed Search Heuristics Greedy

More information

Computer Game Programming Basic Path Finding

Computer Game Programming Basic Path Finding 15-466 Computer Game Programming Basic Path Finding Robotics Institute Path Planning Sven Path Planning needs to be very fast (especially for games with many characters) needs to generate believable paths

More information

CMU-Q Lecture 2: Search problems Uninformed search. Teacher: Gianni A. Di Caro

CMU-Q Lecture 2: Search problems Uninformed search. Teacher: Gianni A. Di Caro CMU-Q 15-381 Lecture 2: Search problems Uninformed search Teacher: Gianni A. Di Caro RECAP: ACT RATIONALLY Think like people Think rationally Agent Sensors? Actuators Percepts Actions Environment Act like

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Lecture 5 Heuristics. Last Time: A* Search

Lecture 5 Heuristics. Last Time: A* Search CSE 473 Lecture 5 Heuristics CSE AI Faculty Last Time: A* Search Use an evaluation function f(n) for node n. f(n) = estimated total cost of path thru n to goal f(n) = g(n) + h(n) g(n) = cost so far to

More information

Search and Games. Adi Botea. ANU Summer Schools in Logic and Learning February, 2009

Search and Games. Adi Botea. ANU Summer Schools in Logic and Learning February, 2009 Search and Games Adi Botea ANU Summer Schools in Logic and Learning February, 2009 Outline 1 Introduction 2 Problem Representation 3 Uninformed Search 4 Informed Search 5 Hierarchical Abstraction Outline

More information

ARTIFICIAL INTELLIGENCE. Informed search

ARTIFICIAL INTELLIGENCE. Informed search INFOB2KI 2017-2018 Utrecht University The Netherlands ARTIFICIAL INTELLIGENCE Informed search Lecturer: Silja Renooij These slides are part of the INFOB2KI Course Notes available from www.cs.uu.nl/docs/vakken/b2ki/schema.html

More information

Lecture 4. Convexity Robust cost functions Optimizing non-convex functions. 3B1B Optimization Michaelmas 2017 A. Zisserman

Lecture 4. Convexity Robust cost functions Optimizing non-convex functions. 3B1B Optimization Michaelmas 2017 A. Zisserman Lecture 4 3B1B Optimization Michaelmas 2017 A. Zisserman Convexity Robust cost functions Optimizing non-convex functions grid search branch and bound simulated annealing evolutionary optimization The Optimization

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

Intermediate Programming, Spring 2017*

Intermediate Programming, Spring 2017* 600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general

More information

Fast Near-Optimal Path Planning on State Lattices with Subgoal Graphs

Fast Near-Optimal Path Planning on State Lattices with Subgoal Graphs Fast Near-Optimal Path Planning on State Lattices with Subgoal Graphs Tansel Uras and Sven Koenig Department of Computer Science University of Southern California Los Angeles, USA {turas, skoenig}@usc.edu

More information

Basic Search Algorithms

Basic Search Algorithms Basic Search Algorithms Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Abstract The complexities of various search algorithms are considered in terms of time, space, and cost

More information

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 Outline Local search techniques and optimization Hill-climbing

More information

MICROMOUSE ALGORITHMS. Navigation, Path finding, and Maze Encoding

MICROMOUSE ALGORITHMS. Navigation, Path finding, and Maze Encoding MICROMOUSE ALGORITHMS Navigation, Path finding, and Maze Encoding FEEDBACK CONTROL Your mouse can never go perfectly straight in practice Mouse can drift to one side, traction may not be same on wheels,

More information

CmpSci 187: Programming with Data Structures Spring 2015

CmpSci 187: Programming with Data Structures Spring 2015 CmpSci 187: Programming with Data Structures Spring 2015 Lecture #9 John Ridgway February 26, 2015 1 Recursive Definitions, Algorithms, and Programs Recursion in General In mathematics and computer science

More information

Recap A Search Optimality of A. Search: A. CPSC 322 Search 5. Textbook 3.6. Search: A CPSC 322 Search 5, Slide 1

Recap A Search Optimality of A. Search: A. CPSC 322 Search 5. Textbook 3.6. Search: A CPSC 322 Search 5, Slide 1 Search: A CPSC 322 Search 5 Textbook 3.6 Search: A CPSC 322 Search 5, Slide 1 Lecture Overview 1 Recap 2 A Search 3 Optimality of A Search: A CPSC 322 Search 5, Slide 2 Search with Costs Sometimes there

More information

Advanced Digital Logic Design EECS 303

Advanced Digital Logic Design EECS 303 Advanced Digital Logic Design EECS 303 http://ziyang.eecs.northwestern.edu/eecs303/ Teacher: Robert Dick Office: L477 Tech Email: dickrp@northwestern.edu Phone: 847 467 2298 Outline 1. 2. 2 Robert Dick

More information

A and Branch-and-Bound Search

A and Branch-and-Bound Search A and Branch-and-Bound Search CPSC 322 Lecture 7 January 17, 2006 Textbook 2.5 A and Branch-and-Bound Search CPSC 322 Lecture 7, Slide 1 Lecture Overview Recap A Search Optimality of A Optimal Efficiency

More information

Recap Randomized Algorithms Comparing SLS Algorithms. Local Search. CPSC 322 CSPs 5. Textbook 4.8. Local Search CPSC 322 CSPs 5, Slide 1

Recap Randomized Algorithms Comparing SLS Algorithms. Local Search. CPSC 322 CSPs 5. Textbook 4.8. Local Search CPSC 322 CSPs 5, Slide 1 Local Search CPSC 322 CSPs 5 Textbook 4.8 Local Search CPSC 322 CSPs 5, Slide 1 Lecture Overview 1 Recap 2 Randomized Algorithms 3 Comparing SLS Algorithms Local Search CPSC 322 CSPs 5, Slide 2 Stochastic

More information

Lecture 6 Basic Graph Algorithms

Lecture 6 Basic Graph Algorithms CS 491 CAP Intro to Competitive Algorithmic Programming Lecture 6 Basic Graph Algorithms Uttam Thakore University of Illinois at Urbana-Champaign September 30, 2015 Updates ICPC Regionals teams will be

More information