Presentation is loading. Please wait.

Presentation is loading. Please wait.

Control Algorithms 1 Chapter 6 Control Algorithms 1 Chapter 6 Pattern Search.

Similar presentations


Presentation on theme: "Control Algorithms 1 Chapter 6 Control Algorithms 1 Chapter 6 Pattern Search."— Presentation transcript:

1 Control Algorithms 1 Chapter 6 Control Algorithms 1 Chapter 6 Pattern Search

2 So Far ◦Problem solving: search through states ◦Predicate calculus: medium for describing states ◦Sound inference: method for generating new states ◦Formal search techniques: BT,DF,BF ◦Reducing search space  Heuristic search  AB pruning  Passed over stochastic methods: will be explored in machine learning units

3 Next ◦Further search techniques that are part of AI  Pattern search  Production systems

4 Problem with Predicate Calculus No mechanism for applying rules Task --Develop a general search procedure for predicate calculus by applying recursive search to a space of logical inferences --Basis for prolog

5 Knight’s Tour Given a 3X3 matrix One move paths (place on board) 123 4 56 7 89 mv(1,8)mv(4,9) mv(8,3) mv(1,6)mv(4,3) mv(8,1) mv(2,9)mv(6,1) mv(9,2) mv(2,7)mv(6,7) mv(9,4) mv(3,4)mv(7,2) mv(3,8)mv(7,6)

6 Two-Move Paths (Place on board)

7 Three Move Paths There is a three move path from x to y if there is a 1 move path from x to some state z and a two move path from z to y (Place on board)

8 Example: path3(1,4) path3(1,4) {1/x,4/y) mv(1,z)^path2(z,4) prove 1 st conjunct {8/z} mv(1,8)^path2(8,4) 1 st conjunct is T, prove 2 nd conjunct {8/x,4/y} mv(8,z)^mv(z,4) prove 1 st conjunct {3/z} mv(8,3)^mv(3,4) both conjuncts are T T T T

9 What if mv(8,1) appeared before mv(8,3)? path3(1,4) {1/x,4/y) mv(1,z)^path2(z,4) {8/z} mv(1,8)^path2(8,4){8/x,4/y} mv(8,z)^mv(z,4){1/z} mv(8,1)^mv(1,4) f backtrack mv(8,z)^mv(z,4) {3/z} mv(8,3)^mv(3,4) T

10 To Generalize We have 1 move paths, 2 move paths, three move paths and, in general, But how do we stop?

11 Base Case

12 Produces an endless loop Suppose, again, that mv(8,1) appears before mv(8,3) path(1,4) mv(1,z)^path(z,4) {8/z} mv(1,8)^path(8,4) mv(8,z)^path(z,4) {1/z} mv(8,1)^path(1,4)

13 Solution Global Closed List: If a path has been tried, don’t retry path(1,4) mv(1,z)^path(z,4) {8/z} mv(1,8)^path(8,4) mv(8,z)^path(z,4) {1/z} mv(8,1)^path(1,4) Backtrack mv(8,z)^path(z,4) {3/z} mv(8,3)^path(3,4) mv(3,z)^path(z,4) {4/z} mv(3,4)^path(4,4) T T

14 Leads To: Pattern Search Goal Directed Depth First Control Structure Basis of Prolog Goal: return the substitution set that will render the expression true.

15 Here’s the Surprise Found on pp. 198-99 We’ve been running the algorithm informally all along

16

17 Six Cases: 1 - 3 1. If Current Goal is a member of the closed list --return F, Backtrack 2. If Current Goal unifies with a fact --Current Goal is T 3. If Current Goal unifies with a rule conclusion --apply unifying substitutions to the premise --try to prove premise --if successful, T

18 Six Cases: 4 - 6 4. Current Goal is a disjunction --Prove each disjunct until you exhaust them or find one that is T. 5. If Current Goal is a conjunction --try to prove each conjunct --if successful, apply substitutions to other conjuncts --if unsuccessful, backtrack, trying new substitutions until they are exhausted 6. If Current Goal is negated (~p) --Try to prove p --If successful, current goal is F --If unsuccessful, current goal is T --In the algorithm, returned substitution set is {} when ~p is true, because the algorithm failed to find a substitution set that would make p true (i.e., ~p is T only when p is F)


Download ppt "Control Algorithms 1 Chapter 6 Control Algorithms 1 Chapter 6 Pattern Search."

Similar presentations


Ads by Google