Presentation is loading. Please wait.

Presentation is loading. Please wait.

Building Control Algorithms For State Space Search

Similar presentations


Presentation on theme: "Building Control Algorithms For State Space Search"— Presentation transcript:

1 Building Control Algorithms For State Space Search
Chapter 6 Building Control Algorithms For State Space Search Contents Recursion-Based Search Production Systems The Blackboard Architecture for Problem Solving CSC411 Artificial Intelligence

2 Artificial Intelligence
Recursive Search Recursive search A recursive step: procedure calls itself A terminating condition Depth-first recursive search algorithm CSC411 Artificial Intelligence

3 Recursive Search with Global Variables
Global variables : open and closed CSC411 Artificial Intelligence

4 Pattern-Driven Reasoning
Problem: Given a set of assertions (predicate expressions) Determine whether a given goal is a logical consequence of the given set of assertions Solution Use unification to select the implications (rules) whose conclusions match the goal Unify the goal with the conclusion of the rule Apply the substitutions throughout the rule Transform the rule premise into a new subgoal If the subgoal matches a fact, terminate Otherwise recur on the subgoal Recursive algorithm – next page CSC411 Artificial Intelligence

5 Artificial Intelligence
Pattern-driven Reasoning CSC411 Artificial Intelligence

6 Artificial Intelligence
Some Issues The order of assertions Logical connectives in the rule premises Logical negation CSC411 Artificial Intelligence

7 Artificial Intelligence
CSC411 Artificial Intelligence

8 Artificial Intelligence
CSC411 Artificial Intelligence

9 Artificial Intelligence
A production system. Control loops until working memory pattern no longer matches the conditions of any productions. CSC411 Artificial Intelligence

10 Artificial Intelligence
Trace of a simple production system. CSC411 Artificial Intelligence

11 The 8-puzzle as a production system
CSC411 Artificial Intelligence

12 Artificial Intelligence
The 8-puzzle searched by a production system with loop detection and depth-bound. CSC411 Artificial Intelligence

13 The Knight’s Tour Problem
Problem: find a series of legal moves in which the knight lands on each square of the chessboard exactly once Legal moves of a chess knight. CSC411 Artificial Intelligence

14 Artificial Intelligence
A 3 x 3 chessboard with move rules for the simplified knight tour problem. CSC411 Artificial Intelligence

15 Artificial Intelligence
Production rules for the 3 x 3 knight problem. CSC411 Artificial Intelligence

16 Artificial Intelligence
A production system solution to the 3 x 3 knight’s tour problem. CSC411 Artificial Intelligence

17 Artificial Intelligence
Control Algorithms The general recursive path definition X path(X,X) X,Y[path(X,Y)  Z[move(X,Z)  path(Z,Y)]] The revised path definition to avoid infinite loop X,Y[path(X,Y)  Z[move(X,Z)  (been(Z))  assert(been(Z))  path(Z,Y)]] CSC411 Artificial Intelligence

18 Artificial Intelligence
The recursive path algorithm as production system. CSC411 Artificial Intelligence

19 A Production System in Prolog
Farmer, wolf, goat, and cabbage problem A farmer with his wolf, goat, and cabbage come to the edge of a river they wish to cross. There is a boat at the river’s edge, but, of course, only the farmer can row. The boat also can carry only two things, including the rower, at a time. If the wolf is ever left alone with the goat, the wolf will eat the goat; similarly if the goat is left alone with the cabbage, the goat will eat the cabbage. Devise a sequence of crossings of the river so that all four characters arrives safely on the other side of the river. Representation state(F, W, G, C) describes the location of Farmer, Wolf, Goat, and Cabbage Possible locations are e for east, w for west, bank Initial state is state(w, w, w, w) Goal state is state(e, e, e, e) Predicates opp(X, Y) indicates that X and y are opposite sides of the river Facts: opp(e, w). opp( w, e). CSC411 Artificial Intelligence

20 Artificial Intelligence
Sample crossings for the farmer, wolf, goat, and cabbage problem. CSC411 Artificial Intelligence

21 Artificial Intelligence
Portion of the state space graph of the farmer, wolf, goat, and cabbage problem, including unsafe states. CSC411 Artificial Intelligence

22 Artificial Intelligence
Production Rules in Prolog Unsafe states unsafe(state(X, Y, Y, C)) :- opp(X, Y). unsafe(state(X, W, Y, Y)) :- opp(X, Y). Move rules move(state(X, X, G, C), state(Y, Y, G, C))) :- opp(X, Y), not(unsafe(state(Y, Y, G, C))), writelist([‘farms takes wolf’, Y, Y, G, C]). move(state(X, W, X, C), state(Y, W, Y, C)) :- opp(X, Y), not(unsafe(state(Y, W, Y, C))), writelist([‘farmers takes goat’, Y, W, Y,C]). move(state(X, W, G, X), state(Y, W, G, Y)) :- opp(X, Y), not(unsafe(state(Y, W, G, Y))), writelist(‘farmer takes cabbage’, Y, W, G, Y]). move(state(X, W, G, C), state(Y, W, G, C)) :-opp(X, Y), not(unsafe(state(Y, W, G, C))), writelist([‘farmer takes self’, Y, W, G, C]). move(state(F, W, G, C), state(F, W, G, C)) :- writelist([‘Backtrack from ‘, F, W, G, C]), fail. Path rules Path(Goal, Goal, Stack) :- write(‘Solution Path Is: ‘), nl, reverse_print_stack(Stack). Path(State, Goal, Stack) :- move(State, Next), not(member_stack(Next, Stack)), stack(Next, Stack, NewStack), path(Next, Goal, NewStack), !. Start rule Go(Start, Goal) :- empty_stack(EmptyStack), stack(Start, EmptyStack, Stack), path(Start, Goal, Stack). Question ?- go(state(w, w, w, w), state(e, e, e, e) CSC411 Artificial Intelligence

23 Artificial Intelligence
Data-driven search in a production system. CSC411 Artificial Intelligence

24 Artificial Intelligence
Goal-driven search in a production system. CSC411 Artificial Intelligence

25 Artificial Intelligence
Bidirectional search missing in both directions, resulting in excessive search. CSC411 Artificial Intelligence

26 Artificial Intelligence
Bidirectional search meeting in the middle, eliminating much of the space examined by unidirectional search. CSC411 Artificial Intelligence

27 Artificial Intelligence
Major advantages of production systems for artificial intelligence Separation of Knowledge and Control A Natural Mapping onto State Space Search Modularity of Production Rules Pattern-Directed Control Opportunities for Heuristic Control of Search Tracing and Explanation Language Independence A Plausible Model of Human Problem-Solving CSC411 Artificial Intelligence

28 Extend production systems Separate productions into modules
Blackboard architecture Extend production systems Separate productions into modules Each module is an agent -- knowledge source A single global structure -- blackboard CSC411 Artificial Intelligence


Download ppt "Building Control Algorithms For State Space Search"

Similar presentations


Ads by Google