Knowledge Representation Using Rules

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 19

Artificial Intelligence

Knowledge can be of following types


Declarative (statements)
Procedural (facts)
Heuristics (rule of thumb / experience)

08/12/21 1
Artificial Intelligence

Procedural v/s Declarative Knowledge


A Declarative representation is one in which knowledge is specified but
the use to which that knowledge is to be put in, is not given.
A Procedural representation is one in which the control information that
is necessary to use the knowledge is considered to be embedded in the
knowledge itself.
To use a procedural representation, we need to augment it with an
interpreter that follows the instructions given in the knowledge.
The difference between the declarative and the procedural views of
knowledge lies in where control information resides.

08/12/21 2
Artificial Intelligence

Procedural v/s Declarative Knowledge


Consider the example
man(Marcus)
man (Ceaser)
Person(Cleopatra)
Vx : man(x)  person(x)
Now we want to extract from this knowledge base the ans to the
question :
Ǝy : person (y)
Marcus, Ceaser and Cleopatra can be the answers

08/12/21 3
Artificial Intelligence

Procedural v/s Declarative Knowledge


As there is more than one value that satisfies the predicate, but only one
value is needed, the answer depends on the order in which the assertions
are examined during the search of a response.
If we view the assertions as declarative, then we cannot depict how they
will be examined. If we view them as procedural, then they do.
Let us view these assertions as a non deterministic program whose
output is simply not defined, now this means that there is no difference
between Procedural & Declarative Statements. But most of the machines
don’t do so, they hold on to what ever method they have, either sequential
or in parallel.
The focus is on working on the control model.

08/12/21 4
Artificial Intelligence

Procedural v/s Declarative Knowledge


man(Marcus)
man (Ceaser)
Vx : man(x)  person(x)
Person(Cleopatra)
If we view this as declarative then there is no difference with the previous
statement. But viewed procedurally, and using the control model, we used to
got Cleopatra as the answer, now the answer is marcus.
The answer can vary by changing the way the interpreter works.
The distinction between the two forms is often very fuzzy. Rather then
trying to prove which technique is better, what we should do is to figure out
what the ways in which rule formalisms and interpreters can be combined to
solve problems.
08/12/21 5
Artificial Intelligence

Logic Programming
Logic programming is a programming language paradigm in which
logical assertions are viewed as programs, e.g : PROLOG
A PROLOG program is described as a series of logical assertions, each
of which is a Horn Clause.
A Horn Clause is a clause that has at most one positive literal.
Eg p, ¬ p V q etc are also Horn Clauses.
Fig 6.1
The fact that PROLOG programs are composed only of Horn Clauses
and not of arbitrary logical expressions has two important consequences.
Because of uniform representation a simple & effective interpreter
can be written.
The logic of Horn Clause systems is decidable.
08/12/21 6
Artificial Intelligence

Logic Programming
Even PROLOG works on backward reasoning.
The program is read top to bottom, left to right and search is performed
depth-first with backtracking.
There are some syntactic difference between the logic and the PROLOG
representations as mentioned in Fig 6.1
The key difference between the logic & PROLOG representation is that
PROLOG interpreter has a fixed control strategy, so assertions in the
PROLOG program define a particular search path to answer any question.
Where as Logical assertions define set of answers that they justify,
there can be more than one answers, it can be forward or backward
tracking .

08/12/21 7
Artificial Intelligence

Logic Programming
Control Strategy for PROLOG states that we begin with a problem
statement, which is viewed as a goal to be proved.
Look for the assertions that can prove the goal.
To decide whether a fact or a rule can be applied to the current problem,
invoke a standard unification procedure.
Reason backward from that goal until a path is found that terminates
with assertions in the program.
Consider paths using a depth-first search strategy and use backtracking.
Propagate to the answer by satisfying the conditions.

08/12/21 8
Artificial Intelligence

Forward v/s Backward Reasoning


The objective of any search is to find a path through a problem space
from the initial to the final one.
There are 2 directions to go and find the answer
Forward
Backward
8-square problem
Reason forward from the initial states : Begin building a tree of move
sequences that might be solution by starting with the initial
configuration(s) at the root of the tree. Generate the next level of tree by
finding all the rules whose left sides match the root node and use the right
sides to create the new configurations. Generate each node by taking each
node generated at the previous level and applying to it all of the rules
whose left sides match it. Continue.
08/12/21 9
Artificial Intelligence

Forward v/s Backward Reasoning


Reason backward from the goal states : Reason backward from the
goal states : Begin building a tree of move sequences that might be
solution by starting with the goal configuration(s) at the root of the tree.
Generate the next level of tree by finding all the rules whose right sides
match the root node and use the left sides to create the new
configurations. Generate each node by taking each node generated at the
previous level and applying to it all of the rules whose right sides match
it. Continue. This is also called Goal-Directed Reasoning.
To summarize, to reason forward, the left sides(pre conditions) are
matched against the current state and the right sides(the results) are used
to generate new nodes until the goal is reached.
To reason backwards, the right sides are matched against the current
node and the left sides are used to generate new nodes.

08/12/21 10
Artificial Intelligence

Forward v/s Backward Reasoning


Factors that influence whether to choose forward or backward
reasoning :
Are there more possible start states or goal states? We would like to
go from smaller set of states to larger set of states.
In which direction is the branching factor (the average number of
nodes that can be reached directly from a single node) greater? We
would like to proceed in the direction with the lower branching
factor.
Will the program be asked to justify its reasoning process to the
user? It so, it is important to proceed in the direction that corresponds
more closely with the way user will think.
What kind of event is going to trigger a problem-solving episode?
If it is the arrival of a new fact , forward reasoning should be used. If
08/12/21
it a query to which response is desired, use backward reasoning. 11
Artificial Intelligence

Forward v/s Backward Reasoning


Home to unknown place example.
MYCIN
Bidirectional Search ( The two searches must pass each other)
Forward Rules : which encode knowledge about how to respond to
certain input configurations.
Backward Rules : which encode knowledge about how to achieve
particular goals.

08/12/21 12
Artificial Intelligence

Forward v/s Backward Reasoning


Backward-Chaining Rule Systems
PROLOG is an example of this.
These are good for goal-directed problem solving.
Hence Prolog & MYCIN are examples of the same.
Forward –Chaining Rule Systems
We work on the incoming data here.
The left sides of rules are matched with against the state
description.
The rules that match the state dump their right side assertions into
the state.
Matching is more complex for forward chaining systems.
08/12/21 OPS5, Brownston etc. are the examples of the same. 13
Artificial Intelligence

Combining Forward v/s Backward Reasoning


Patients example of diagnosis.
In some systems ,this is only possible in reversible rules.

08/12/21 14
Artificial Intelligence

Matching
Till now we have used search to solve the problems as the application
of appropriate rules.
 We applied them to individual problem states to generate new states to
which the rules can then be applied, until a solution is found.
We suggest that a clever search involves choosing from among the rules
that can be applied at a particular point, but we do not talk about how to
extract from the entire collection of rules those that can be applied at a
given point.
To do this we need matching.

08/12/21 15
Artificial Intelligence

Indexing
Do a simple search through all the rules, comparing each one’s
precondition to the current state and extracting all the ones that match.
But this has two problems
In order to solve very interesting problems , it will be necessary to
use a large number of rules, scanning through all of them at every
step of the search would be hopelessly inefficient.
It is not always immediately obvious whether a rule’s preconditions
are satisfied by a particular state.
To solve the first problem, use simple indexing. Eg. In Chess ,combine
all moves at a particular board state together.

08/12/21 16
Artificial Intelligence

Matching with Variables


The problem of selecting applicable rules is made more difficult when
preconditions are not stated as exact descriptions of particular situations
but rather describe properties that the situations must have.
Then we need to match a particular situation and the preconditions of a
given situation.
In many rules based systems, we need to compute the whole set of rules
that match the current state description. Backward Chaining Systems
usually use depth-first backtracking to select individual rules, but forward
chaining systems use Conflict Resolution Strategies.
One efficient many to many match algorithm is RETE

08/12/21 17
Artificial Intelligence

Complex & Approximate Matching


A more complex matching process is required when the preconditions
of a rule specify required properties that are not stated explicitly in the
description of the current state. In this case, a separate set of rules must be
used to describe how some properties can be inferred from others.
An even more complex matching process is required if rules should be
applied if their preconditions approximately match the current situation.
Example of listening to a recording of a telephonic conversation.
For some problems, almost all the action is in the matching of the rules
to the problem state. Once that is done, so few rules apply that the
remaining search is trivial. Example ELIZA

08/12/21 18
Artificial Intelligence

Conflict Resolution
The result of the matching process is a list of rules whose antecedents
have matched the current state description along with whatever variable
binding were generated by the matching process.
It is the job of the search method to decide on the order in which the
rules will be applied. But sometimes it is useful to incorporate some of the
decision making into the matching process. This phase is called conflict
resolution.
There are three basic approaches to the problem of conflict resolution in
the production system
Assign a preference based on the rule that matched.
Assign a preference based on the objects that matched.
Assign a preference based on the action that the matched rule
would perform.
08/12/21 19

You might also like