8puzzle in CP 1 4 6 2 7 3 5 8 1 4 2 7 6 3 5 8 initial state goal state A trivial example.

Slides:



Advertisements
Similar presentations
Solving Quadratic Equations Using the Zero Product Property
Advertisements

DCS Lecture how to solve it Patrick Prosser. Put a different number in each circle (1 to 8) such that adjacent circles cannot take consecutive numbers.
The upside of negativity Introduction to subtracting integers Video #5 about integers #1 about subtracting integers.
Constraint Satisfaction Problems Russell and Norvig: Chapter
Constraint Satisfaction Introduction to Artificial Intelligence COS302 Michael L. Littman Fall 2001.
Constraint Based Reasoning over Mutex Relations in Graphplan Algorithm Pavel Surynek Charles University, Prague Czech Republic.
Iterative Deepening A* & Constraint Satisfaction Problems Lecture Module 6.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
3.4 Artificial starting solution Page103
Problem Solving and Search Andrea Danyluk September 9, 2013.
Sorting CMSC 201. Sorting In computer science, there is often more than one way to do something. Sorting is a good example of this!
Part2 AI as Representation and Search
Let’s solve the equation: We shall use a scale to represent our equation. The variable x will be replaced with and the numbers will be represented with.
Minimization by Dr. Arshad zaheer
Using Search in Problem Solving
6 - 1 § 6 The Searching Strategies e.g. satisfiability problem x1x1 x2x2 x3x3 FFF FFT FTF FTT TFF TFT TTF TTT.
9.2 Knapsack Problem There are many other versions.
CPSC 322, Lecture 12Slide 1 CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12 (Textbook Chpt ) January, 29, 2010.
Constraint Satisfaction Problems
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Constraint Satisfaction Problem Solving Chapter 5.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
CS121 Heuristic Search Planning CSPs Adversarial Search Probabilistic Reasoning Probabilistic Belief Learning.
1.2 – Open Sentences and Graphs
Search Introduction to Artificial Intelligence COS302
Function: Definition A function is a correspondence from a first set, called the domain, to a second set, called the range, such that each element in the.
Autar Kaw Humberto Isaza Transforming Numerical Methods Education for STEM Undergraduates.
ALGEBRA TILES Variables such as ‘x’ and ‘y’ are used to represent an unknown number Algebra tiles are the generally accepted manipulative to help students.
By: Steven Jacob. Problem  Clark was calling on his cell-phone. Each minute costs 72 cents each. If he wants to know how much it would cost for each.
Review: Search problem formulation Initial state Actions Transition model Goal state (or goal test) Path cost What is the optimal solution? What is the.
A simple assessed exercise Ciaran McCreesh & Patrick Prosser + 21.
4.4 Equations as Relations
Jobshop scheduling. We have a set of resources a set of jobs a job is a sequence of operations/activities sequence the activities on the resources.
EE/Econ 458 The Simplex Method using the Tableau Method
Topic III The Simplex Method Setting up the Method Tabular Form Chapter(s): 4.
Jinsong Guo Jilin University, China Background  Filtering techniques are used to remove some local inconsistencies in the search algorithms solving.
Data Structures Using C++ 2E1 Recursion and Backtracking: DFS Depth first search (a way to traverse a tree or graph) Backtracking can be regarded as a.
CS 100Lecture 171 CS100J Lecture 17 n Previous Lecture –Programming concepts n Binary search n Application of the “rules of thumb” n Asymptotic complexity.
Integer programming, MA Operational Research1 Integer Programming Operational Research -Level 4 Prepared by T.M.J.A.Cooray Department of Mathematics.
Sets and Sentences Open Sentences Foundations of Real Analysis.
Introduction to Planning Dr. Shazzad Hosain Department of EECS North South Universtiy
CPSC 322, Lecture 18Slide 1 Planning: Heuristics and CSP Planning Jim Little UBC CS 322 October 15, 2014 Textbook §8.
Chapter 5 Constraint Satisfaction Problems
Solving Quadratic Equations Quadratic Equations: Think of other examples?
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Mauro Mezzini ANSWERING SUM-QUERIES : A SECURE AND EFFICIENT APPROACH University of Rome “La Sapienza” Computer Science Department.
Arc consistency AC5, AC2001, MAC. AC5 A generic arc-consistency algorithm and its specializations AIJ 57 (2-3) October 1992 P. Van Hentenryck, Y. Deville,
Put a different number in each circle (1 to 8) such that adjacent circles cannot take consecutive numbers.
Simplex Method Simplex: a linear-programming algorithm that can solve problems having more than two decision variables. The simplex technique involves.
EMIS 8373: Integer Programming Column Generation updated 12 April 2005.
BIL 472 SADI EVREN SEKER Constraint Satisfaction.
Solving Quadratic Equations Using the Zero Product Property March 18, 2014.
LINEAR AND INTEGER PROGRAMMING The Simplex Method: A tutorial in three acts.
Divisibility.
ALGEBRA TILES SOLVING EQUATIONS Replace the equation with tiles: Negative Positive -X X 1.
1 Math Pacing Graphing Linear Equations. Equations as Relations A linear equation can be written in the standard form of a linear equation: Ax + By =
Decision Support Systems INF421 & IS Simplex: a linear-programming algorithm that can solve problems having more than two decision variables.
Section 7.6 Functions Math in Our World. Learning Objectives  Identify functions.  Write functions in function notation.  Evaluate functions.  Find.
Automatic Test Generation
The Slope-Intercept Formula
EQUATION IN TWO VARIABLES:
Planning: Heuristics and CSP Planning
Solving Quadratic Equations by Factoring March 16, 2015
Connecting Algebra Tiles to Integer Tiles
Advanced consistency methods Chapter 8
8puzzle in CP.
When we multiply by 10 we are making the number ten times bigger.
Section 1.5 Adding Integers
Prepared by Po-Chuan on 2016/05/24
Solving Quadratic Equations by Factoring March 11, 2016
Presentation transcript:

8puzzle in CP

initial state goal state A trivial example

Representation

of states To get from initial state to a goal state we make a number of moves and moves take us to new states If we have a plan that takes us from I to G in n steps we will have n-1 states between I and G Represent a state as 9 constrained integer variables S[i] has a value [0..8], the tile in position i the value 0 corresponds to the blank tile Therefore for a plan, let’s say of 3 steps from I to G we will have states S[1..4][1..9] S[1][5] is the tile in the 5th position of the 1st state (and is 0 in our example)

Representation of moves There are 24 possible moves from a state position of blank (zero) possible moves (swaps) move numbers 1 (1,2),(1,4) 1,2 2 (2,1),(2,3),(2,5) 3,4,5 3 (3,2),(3,6) 6,7 4 (4,1),(4,5),(4,7) 8,9,10 5 (5,2),(5,4),(5,6),(5,8) 11,12,13,14, 6 (6,3),(6,5),(6,9) 15,16,17 7 (7,4),(7,8) 18,19 8 (8,5),(8,7),(8,9) 20,21,22 9 (9,6),(9,8) 23, We have n-1 move variables, where move[i] has a domain [1..24]

Representation of moves & states move[1] = 14 move[2] = 21 move[1] = 18 position of blank (zero) possible moves (swaps) move numbers 1 (1,2),(1,4) 1,2 2 (2,1),(2,3),(2,5) 3,4,5 3 (3,2),(3,6) 6,7 4 (4,1),(4,5),(4,7) 8,9,10 5 (5,2),(5,4),(5,6),(5,8) 11,12,13,14, 6 (6,3),(6,5),(6,9) 15,16,17 7 (7,4),(7,8) 18,19 8 (8,5),(8,7),(8,9) 20,21,22 9 (9,6),(9,8) 23,24

Constraints on a move If we are in state 1 and the blank tile is in position 1 and we make move 1 (swap(1,2)) then in state 2 the blank is in position 2 and what is in position 2 of in state 1 is now in position 1 in state 2

Constraints on a move

But … when we make a move, only the things that we move change! This is the frame problem (GOF AI) … and so on

Constraints on a move We also need to say that if the blank tile (zero) is not in a specific position we cannot make a specified move … and so on This is one of our propagation steps!

Solving The move variables are our decision variables Find values for the move variables that satisfy the constraints This will find a plan of n-1 steps if one exists

Bi-directional search Search from I to G and from G to I simultaneously Replace the variables move[i] introduce fmove[i] the forwards move from state i to state i+1 introduce bmove[i] the backward move from state i + 1 to I post all the constraints we had before in both directions! add the following constriants I call this a bridge between backward & forward moves We can now search in the following order fmove[1],bmove[n-1],fmove[2],bmove[n-2]...

Propagation through plans There is little if any propagation through plans

Propagation through plans There is little if any propagation through plans If in state i I cannot move the blank tile into position x then in state i+1 I cannot make a move out of position x! Example: If at time  I cannot put the bunch of flowers on the table then at time  +1 I cannot move the bunch of flowers from the table

Propagation through plans If in state i I cannot move the blank tile into position x then in state i+1 I cannot make a move out of position x! position of blank (zero) possible moves (swaps) move numbers 1 (1,2),(1,4) 1,2 2 (2,1),(2,3),(2,5) 3,4,5 3 (3,2),(3,6) 6,7 4 (4,1),(4,5),(4,7) 8,9,10 5 (5,2),(5,4),(5,6),(5,8) 11,12,13,14, 6 (6,3),(6,5),(6,9) 15,16,17 7 (7,4),(7,8) 18,19 8 (8,5),(8,7),(8,9) 20,21,22 9 (9,6),(9,8) 23,24 I call this a rippling constraint

My problems with planning what happens if we cannot find a plan in n-1 steps? Build a bigger model … or add another layer to the model like iterative dfs could we have a null move, i.e. a move[i] = 0 yes, but we have to condition the rippling constraint our rippling constraint can generate a contradiction otherwise! the model is BIG I’m working on something neater

That’s all for now folks