Finding Optimal Solutions to Rubik's Cube Using Pattern Databases

Slides:



Advertisements
Similar presentations
Heuristic Functions By Peter Lane
Advertisements

1 Dual lookups in Pattern Databases Ariel Felner, Ben-Gurion Univ. Israel Uzi Zahavi, Bar-Ilan Univ. Israel Jonathan Schaeffer, Univ. of Alberta, Canada.
Review: Search problem formulation
Heuristic Search techniques
Institute for Knowledge and Agent Technology 1 Entertainment and Computer Games Universiteit Maastricht / IKAT
Informed search strategies
AI Pathfinding Representing the Search Space
Artificial Intelligence Presentation
An Introduction to Artificial Intelligence
HEURISTIC SEARCH Ivan Bratko Faculty of Computer and Information Sc. University of Ljubljana.
Finding Search Heuristics Henry Kautz. if State[node] is not in closed OR g[node] < g[LookUp(State[node],closed)] then A* Graph Search for Any Admissible.
Classic AI Search Problems
Heuristics CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Informed Search Methods How can we improve searching strategy by using intelligence? Map example: Heuristic: Expand those nodes closest in “as the crow.
CSCI 5582 Fall 2006 CSCI 5582 Artificial Intelligence Lecture 4 Jim Martin.
Recent Progress in the Design and Analysis of Admissible Heuristic Functions Richard E. Korf Computer Science Department University of California, Los.
CSCE 580 ANDREW SMITH JOHNNY FLOWERS IDA* and Memory-Bounded Search Algorithms.
Problem-solving as search. History Problem-solving as search – early insight of AI. Newell and Simon’s theory of human intelligence and problem-solving.
Use “Search” for Pathfinding FactorySchool Library Hospital Park Newsagent University church Example from Alison Cawsey’s book start finish.
Additive pattern database heuristics
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 22, 2010.
1 Advances in Pattern Databases Ariel Felner, Ben-Gurion University Israel
Research Related to Real-Time Strategy Games Robert Holte November 8, 2002.
Informed Search Methods How can we make use of other knowledge about the problem to improve searching strategy? Map example: Heuristic: Expand those nodes.
Compressing a Single PDB Presented by: Danielle Sauer CMPUT 652 Project December 1, 2004.
1 Solving Ponnuki-Go on Small Board Paper: Solving Ponnuki-Go on small board Authors: Erik van der Werf, Jos Uiterwijk, Jaap van den Herik Presented by:
Pattern Databases Robert Holte University of Alberta November 6, 2002.
Non-Conservative Cost Bound Increases in IDA* Doug Demyen.
Heuristics CSE 473 University of Washington. © Daniel S. Weld Topics Agency Problem Spaces SearchKnowledge Representation Planning PerceptionNLPMulti-agentRobotics.
Using Abstraction to Speed Up Search Robert Holte University of Ottawa.
Telerik Software Academy academy.telerik.com. 1. Heuristics 2. Greedy 3. Genetic algorithms 4. Randomization 5. Geometry 2.
Li Wang Haorui Wu University of South Carolina 04/02/2015 A* with Pattern Databases.
CS 416 Artificial Intelligence Lecture 5 Informed Searches Lecture 5 Informed Searches.
Informed Search Methods. Informed Search  Uninformed searches  easy  but very inefficient in most cases of huge search tree  Informed searches  uses.
N Course written by Richard E. Korf, UCLA. n The slides were made by students of this course from Bar-ilan University, Tel-Aviv, Israel.
Heuristic Search Andrea Danyluk September 16, 2013.
Artificial Intelligence for Games Informed Search (2) Patrick Olivier
CSE 573: Artificial Intelligence Autumn2012 Heuristics & Pattern Databases for Search With many slides from Dan Klein, Richard Korf, Stuart Russell, Andrew.
Multilevel Caches Microprocessors are getting faster and including a small high speed cache on the same chip.
Heuristic Functions. A Heuristic is a function that, when applied to a state, returns a number that is an estimate of the merit of the state, with respect.
Heuristic Functions.
G5AIAI Introduction to AI Graham Kendall Heuristic Searches.
For Monday Read chapter 4 exercise 1 No homework.
Reading Material Sections 3.3 – 3.5 Sections 4.1 – 4.2 “Optimal Rectangle Packing: New Results” By R. Korf (optional) “Optimal Rectangle Packing: A Meta-CSP.
Artificial Intelligence Solving problems by searching.
Lecture 3 Problem Solving through search Uninformed Search
Jordan Abbatiello, Adam Corbett and Shanade Beharry.
Fast nearest neighbor searches in high dimensions Sami Sieranoja
Finding Near-Duplicate Web Pages: A Large-Scale Evaluation of Algorithms By Monika Henzinger Presented.
Heuristic Functions.
Done Done Course Overview What is AI? What are the Major Challenges?
Lookahead pathology in real-time pathfinding
Limitations of Front-to-End Bidirectional Heuristic Search
Heuristic Search Henry Kautz.
Artificial Intelligence Problem solving by searching CSC 361
Types of Algorithms.
Russell and Norvig: Chapter 3, Sections 3.4 – 3.6
Finding Heuristics Using Abstraction
Chapter 4: Divide and Conquer
EA C461 – Artificial Intelligence
Artificial Intelligence
Heuristics Local Search
Heuristic Search Thank you Michael L. Littman, Princeton University for sharing these slides.
Principles of Computing – UFCFA3-30-1
Problem Spaces & Search
Heuristics Local Search
Problem Spaces & Search
CS 416 Artificial Intelligence
CMSC 471 Fall 2011 Class #4 Tue 9/13/11 Uninformed Search
A Guaranteed Bidirectional Search
Presentation transcript:

Finding Optimal Solutions to Rubik's Cube Using Pattern Databases Richard E. Korf Computer Science UCLA Presented By Christopher Brown

The Cube Erno Rubik of Hungary, 1974. Cubies: Edges = 12 w/ 2 orientations each Corners = 8 w/ 3 orientations each 12 different “universes” of cubes

The Cube 43,252,003,274,489,856,000 Possible Cubes!! Cubies: Edges = 12 w/ 2 orientations each Corners = 8 w/ 3 orientations each 12! * 2^12 * 8! * 3^8 = 519,024,039,293,878,272,000 / 12 = 43,252,003,274,489,856,000 43 Quintillion

How Many Moves? At Depth 17, the total number of nodes is not even 20 Quintillion..there must be at least some at depth 18. Superflip

Heuristics Expected Values Manhattan Distance Problem? Expected value is an average – gives a good approximation, since otherwise you could only compare similar heuristics and hard to combine – not often feasible Calculated through random sampling Problem w/ Manhattan Distance 1 Move = 8 changes Divide total by 8 to stay admissible.

Heuristics Pattern Database Corners Edges Major Restriction: Memory Problem w/ Manhattan Distance 1 Move = 8 changes Divide total by 8 to stay admissible. Expected value = 5.5 Corners = Expected value 8.764 4 bits / entry Table: 42 MB 6 Edges = 7.668 Table: 20 MB 7 Edges = ? 244 MB of memory

Experiment Max of 3 heuristics admissible 10 Random Cubes 100 move random walks to generate 700,000 nodes / second Conjecture that the diameter of the space is 20 moves. (superflip) 100 moves is reasonable

Experiment Sun Ultra Sparc 1 workstation # nodes stable 116 – 127 for depth 17 complete to depth 16 = 9.5 billion complete to depth 17 = 122 billion 2 days complete depth 18 – 4 weeks?

Results Performance e – expected value d – depth of search IDA* should be similar to brute force of d – e Is this true? At depth 17 brute force for depth (17 – 9 = 8) -> 1.37 billion nodes Experimentally: IDA * at depth 17 -> 122 billion nodes What happened? Experimentally, the search ignores larger heuristic values, and focuses on smaller ones, so the average of encountered nodes is below the expected value. But, estimating expected value from branching factor is pessimistic. Cancel? n - states m – # of heuristic values in memory t – running time o fIDA* d – depth ≈ logb n e – ex. val ≈ logb m t ≈ bd-e ≈ blog n-log m ≈ n / m – estimates well

Other Research Fiat (1989) - Bidirectional search O(bd/2)time, O(bd/4) space 10,000 vs 700,000 nodes/sec 500 bytes vs ½ byte per permutation Not faster with more memory t ≈ n/m, then O(n1/2) time takes O(n1/2) space build time? One-time cost

Finding Optimal Solutions to Rubik's Cube Using Pattern Databases First Optimal Solver Expected Heuristic Values Pattern Databases Christopher Brown cdbrown@mtu.edu Korf, Richard E. “Finding Optimal Solutions to Rubik's Cube Using Pattern Databases” Proceedings of the Fourteenth National Conference on Artificial Intelligence (AAAI-97), Providence, RI, July, 1997, pp. 700-705. Reprinted in Games in AI Research, Jaap ven den Herik and Hiroyuki Iida, Universiteit Maastricht, 1999, pp. 129-141.