Finding Heuristics Using Abstraction

Slides:



Advertisements
Similar presentations
Algorithm Design Techniques
Advertisements

Heuristic Functions By Peter Lane
Informed search algorithms
Heuristic Searches. Feedback: Tutorial 1 Describing a state. Entire state space vs. incremental development. Elimination of children. Closed and the solution.
Heuristic Search techniques
Informed search algorithms
AI Pathfinding Representing the Search Space
An Introduction to Artificial Intelligence
A* Search. 2 Tree search algorithms Basic idea: Exploration of state space by generating successors of already-explored states (a.k.a.~expanding states).
Solving Problem by Searching
Search in AI.
Mahgul Gulzai Moomal Umer Rabail Hafeez
Games with Chance Other Search Algorithms CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 3 Adapted from slides of Yoonsuck Choe.
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
Research Related to Real-Time Strategy Games Robert Holte November 8, 2002.
Cooperating Intelligent Systems Informed search Chapter 4, AIMA 2 nd ed Chapter 3, AIMA 3 rd ed.
Informed Search Idea: be smart about what paths to try.
Using Abstraction to Speed Up Search Robert Holte University of Ottawa.
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.
Heuristic Search In addition to depth-first search, breadth-first search, bound depth-first search, and iterative deepening, we can also use informed or.
Computer Science CPSC 322 Lecture A* and Search Refinements (Ch 3.6.1, 3.7.1, 3.7.2) Slide 1.
Li Wang Haorui Wu University of South Carolina 04/02/2015 A* with Pattern Databases.
Informed search algorithms Chapter 4. Best-first search Idea: use an evaluation function f(n) for each node –estimate of "desirability"  Expand most.
Informed search strategies Idea: give the algorithm “hints” about the desirability of different states – Use an evaluation function to rank nodes and select.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Review: Tree search Initialize the frontier using the starting state While the frontier is not empty – Choose a frontier node to expand according to search.
A* optimality proof, cycle checking CPSC 322 – Search 5 Textbook § 3.6 and January 21, 2011 Taught by Mike Chiang.
Heuristic Functions.
Computer Science cpsc322, Lecture 7
Review: Tree search Initialize the frontier using the starting state
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Programming Abstractions
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Heuristic Functions.
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.
Department of Computer Science
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
Introduction to Artificial Intelligence
Abstraction Transformation & Heuristics
Problem Solving by Searching
Heuristic Search Henry Kautz.
Artificial Intelligence Problem solving by searching CSC 361
Games with Chance Other Search Algorithms
HW #1 Due 29/9/2008 Write Java Applet to solve Goats and Cabbage “Missionaries and cannibals” problem with the following search algorithms: Breadth first.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Programming Abstractions
Crowd Simulation (INFOMCRWS) - A* Search
Searching for Solutions
Heuristics Local Search
Informed search algorithms
Advanced Analysis of Algorithms
Informed search algorithms
CS Fall 2016 (Shavlik©), Lecture 10, Week 6
Heuristics Local Search
CO Games Development 1 Week 8 Depth-first search, Combinatorial Explosion, Heuristics, Hill-Climbing Gareth Bellaby.
Comp3710 Artificial Intelligence Thompson Rivers University
Workshop: A* Search.
HW 1: Warmup Missionaries and Cannibals
More advanced aspects of search
Informed Search Idea: be smart about what paths to try.
Search.
The Rich/Knight Implementation
HW 1: Warmup Missionaries and Cannibals
CS 416 Artificial Intelligence
Search.
Reading: Chapter 4.5 HW#2 out today, due Oct 5th
Informed Search Idea: be smart about what paths to try.
Supplemental slides for CSE 327 Prof. Jeff Heflin
The Rich/Knight Implementation
Unit II Game Playing.
Presentation transcript:

Finding Heuristics Using Abstraction Kenny Denmark Jason Isenhower Ross Roessler so did we decide who is presenting what slides?

Background A* uses heuristics for efficient searching Initially, heuristics provided by "expert" Challenge is to have program create heuristics

Valtorta's Theorem Every node expanded by blind search (BFS, Dijkstra's) in the original graph will be expanded either when generating the heuristic using blind search, or in the actual A* search. You can never win, you always expand as many or more nodes.

Valtorta's Barrier Number of nodes expanded when blindly searching a space Cannot be broken using an embedded transformation for heuristics

Abstractions Embedded Homomorphic adds more transitions (edges) to the system ex. constraint relaxation in Towers of Hanoi Homomorphic merges groups of states and transitions into one state can possibly break Valtorta's barrier!

Embedded Heuristic Example

Homomorphic Example N x N grid Get from bottom left (1,1) to bottom right (N,1) Required N2 expansions for blind search Homomorphic mapping- ignore 2nd coordinate Requires N expansions

Admissible vs Monotone Admissible: gives a cost for reaching the goal from the current node that is that is less or equal to the actual cost Monotone: same as admissible but also never requires backtracking. The cost takes into account both the distance travelled and the distance remaining. mention trivial vs non-trivial. every problem has a trivial/useless solution such as h(n) = 1 for all n

Absolver II Find heuristics for a given problem Uses abstracting transformations reduce cost expand goals Reduces tree size using speedups removes redundant and irrelevant nodes Found admissible heuristics for 6 of the 13 problems Found 8 new ones, 5 of which were effective Creates hierarchies of abstraction to find heuristics an abstracting transformation might be allowing tiles to overlap each other in the 8 puzzle reduce cost = adding a shortcut so the heuristic's found path is guaranteed to be <= to the actual path expand goals = ?? adding more goal states so they are easier to find? redundant nodes: after the problem is abstracted/relaxed nodes, some nodes become redundant and can be removed irrelevant nodes: if the goal node is simplified, then nodes leading to it may only alter values not specified in the node, in which case these nodes can be dropped. EX: a simplified goal node for the 8 puzzle only specifies where tile 1 should be, so any node that doesn't deal with moving tile 1 can be dropped because it is irrelevant to that goal. effective: 1 or more orders of magnitude improvement over exhaustive search if a solution can't be found in the abstracted layer, then it can't be found in the original version as the abstraction is a simplified/easier version of the problem

Rubik's Cube First non-trivial heuristic Explored only 10^-15 % of the abstracted space 8 orders of magnitude faster than breadth- first search Center-Corner center corner: calculates the minimum number of moves to get the center positions in place and adds the minumum number of moves to get the corners in place

Fool's Disk Explored 2.4% of the abstracted space 45 times fewer states than exhaustive search Diameters

Fool's Disk want each column to add to a specific number rotate each disk to change the values of the column so opposite columns can be combined to greatly reduce the size of the search tree if the total for "all numbers" doesn't add up, then it is impossible for the problem to be solved fools disk has many solutions with the same value, so the heuristic simply removes arrangements that can't work

Hierarchical Search Using A*

Max-degree STAR Abstraction Technique state with the largest degree (most adjacent nodes) is grouped together with its neighbors within a certain distance to form a single abstract state repeated until all states have been assigned to some abstract state not suitable for search spaces in which different operators have different costs the certain distance is called the "abstraction radius"

Building the Abstraction Hierarchy Base level is original problem To generate abstraction hierarchy, max- degree abstraction technique is used first on the base level, and then recursively on each level of abstraction the highest level will be trivial (only one state)

Combining Sources of Heuristic Information to combine multiple sources of heuristic information, take their maximum. This is guaranteed to be admissible if the individual heuristics are admissible may not be monotone even if individual heuristics are monotone

Naive Hierarchical A* At each step of algorithm, a state is removed from OPEN list and "expanded" for a state S to be added to the OPEN list, h(S) must be known h(S) is computed by searching the next higher level of abstraction and combining that information with other estimates Problem with this version: to solve a single base level problem, this technique must solve other problems at each level of abstraction

Testing Method the various hierarchical A* techniques were evaluated empirically on 8 state spaces Test problems for each state space were generated by choosing 100 pairs of states at random (S1 and S2) These states define 2 problems to be solved: <start=S1,goal=S2>,<start=S2,goal=S1> Average number of nodes expanded over these 200 tests is used as a metric for comparison the 8 state spaces = appendix C of main paper

Blind Search vs. Naive Hierarchical A*

Caching h*-caching optimal-path caching P-g caching

Table 2

Abstraction Granularity In the previous table, the abstraction radius was 2 (state is grouped with its immediate neighbors) Positive effects of increasing radius: abstract spaces contain fewer states single abstract search produces heuristic values for more states Negative effects of increasing radius: heuristic is less discriminating (less useful) Method in paper: run hierarchical A* with abstractions set to 2-5 (or larger values for larger search spaces). This eventually caused the number of nodes expanded to reach a minimum, after which increasing the radius after this point would increase the number of nodes expanded

Table 3

Key Point- CPU Seconds Node expansions generally less CPU seconds generally more Node expansions not necessarily best measurement of efficiency? just wanted to add this in because they mentioned it in the paper, even though i think they said they could make their code more efficient to make the CPU time go down.

Questions?