Вы находитесь на странице: 1из 18

Introduction to Production Systems and

Issues in Design of Search Programmes

VALLURI NIKHIL CHANDRA


R NO : 19092007
Contents
 Production System
 Characteristics of PS
 Heuristic Search Process
 Issues in Design of Search
Process
What is Production System?
Definitions:
Since search form the core of many intelligent processes
Production Systems(PS) are Such structures that provides
and facilitates the describing and performing the search
processes. It Consists of...
• It works as a key : value procedural way.
• Left hand side has a pattern/set of rules and its right
counter part has a the operations that need to be
performed, if the rule is applied.
• One or More Databases
• Control strategy that specifies the order in which the rules
will be compared and a rule applier.
It also encompasses a family of general
Production system interpreters, including:

 Basic Production system languages , such as OPS5 and ACT*

 Hybrid Systems called “expert systems shells”, which provide


complete environment for the construction of Knowledge
based expert systems.

 Problem solving architectures like SOAR, a system based


approaches …etc
Production System Characteristics:

 We can characterise a Production System based on which Class of


Production System it belongs to and what is the Relationship
between the production system and problem type.

Classes of Production System:

 Monotonic : The application of a rule never prevents the later


application of another rule that could also have been applied at the
time the first rule was selected.

 NON- Monotonic: isn’t a monotonic!


 Partially Commutative : which have a property that if a set
of rules in this PS convert the state x of a process to state y , then
any permutations of those rules, that is allowable, will also
convert state x to state y.

 Commutative: A production system which is both monotonic


and partially commutative.

 Not Partially Commutative : which have a property that if a set


of rules in this PS convert the state x of a process to state y , then
any permutations of those rules, that is allowable, will never
convert state x to state y.
Classes of Problems : Ignorable, recoverable, irrecoverable, certain
and uncertain ..etc

•For example the regular card game we play belong to which sect of
above and which type of PS we should use ?

•Depending on the type of Problem and type of decomposition use the


PS.

•So the card game can be classified as Irrecoverable Uncertain


problem and in such case we go for a Not partially commutative and
NON Monotonic PS.

•But a definite Relationship cannot be stated between the class of PS and


Class of problems since all problems can be solved by all kinds of PS
Examples:

Monotonic Non-
Monotonic
Partially Theorem Robot
Commutative Proving navigation
(Ignorable/nat Blocks
ural Problem
formulation ) etc
Not Partially Irreversible Card games
Commutative process
(chemical
synthesis)
Heuristic Search Functions
 The problem in state space can be solved by searching a path
through space from initial state to goal state
 The process of solving the problem can usefully be modeled as a
Production System.
 As we learned we require a good and suitable control structure for
the production system so that the search can be as efficient as
possible.
 Some of the Control Strategies(Search Methodologies) are :

 BFS
 DFS
Even the “Chronological Backtracking” or any other
Heuristic Function which is a combination of above can
be used .
(0,0)

(0,3) (5,0)

(3,3) (2,3)

(5,1) (0,2)
DFS
(0,1)
(5,2)
(1,0)
(4,3)
(1,3)

(4,0)

BFS
(4,3)
Issues in Design of Search Programs
 Till now we viewed every search process(from initial state to
goal state) as traversal of tree.
 Let us consider the water and jug problem to understand the
“ISSUES” we face in these search techniques.
 Figure 1 Shows a part of search tree for the water jug problem.
 Generally, a search tree should provide us a single/multiple
paths from Initial state to solution state through the nodes.
 But in Practice instead of first building the tree , explicitly, and
then searching it , most search programs represent the tree,
implicitly in the rules and generate explicitly only those parts
that they decide to explore(partial search tree).
Figure 1
Issues in Design of Search Programs
Direction of Traverse: The direction in which to conduct the
search (forward vs. backward searching)
 Forward search describe the traverse from initial to goal state
where as the Backward search consider the solution state as the
starting point of traverse and reach the initial ground state.

Matching: In some of the search your PS may encounter a


situation where multiples rules on the left hand side are
satisfying the situation. During such situations the search
program need to run a efficient process for matching the rules
against states and this results in the efficiency of the process.
Issues in Design of Search Programs
Node Representation: For problems like chess , a node can be
fully represented by an array of positions . For water jug
problem it can be a pair of numbers. In more complex problems
these representations may not be so ease, as the outcomes may
vary and may need dynamic representations which is a tough
task.

Redundancy: As the search process proceed multiple similar


states may get generated creating “Lock Stages” in tree.
This kind of lock stages can be avoided by choosing proper
control strategies.
Issues in Design of Search Programs
 So instead of traversing a search Tree we traverse a search
Graph.
 Since all the nodes are saved in the search Graph , we can
eliminate the redundant node and will add a new
node/successor node only if that specific node isn’t
created/visited till now using an algorithm.
 This can be viewed in the Fig 2.

Cycles:
 But here in the directed graphs we could see the loop
like structures which are created due to redundancy
and may lead to paths with arbitrary length. So it may
become more difficult to show that a graph traversal
algorithm is guaranteed to terminate(Lock stage)
Issues in Design of Search Programs
 Graph search process are especially useful for dealing with the
partial commutative PS in which the given set of operations
may produce identical states regardless of the order in which
operations are applied.
 This is what we observed in the above water jug model
problem.
Additional Problems:
 Missionaries and Cannibals
 Crypto arithmetic…etc
Artificial intelligence is not merely a science of toy
problems but many of these techniques that have been
developed from these problems have become the Core
of the systems used to solve vital queries.

Вам также может понравиться