AI Unit-4
AI Unit-4
AI Unit-4
Dr. Anand M
Assistant Professor
Department of Data Science and Business Systems
SRM Institute of Science and Technology
Procedural v/s Declarative Knowledge
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.
2
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
3
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.
4
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.
5
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.
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.
6
A Declarative and a Procedural Representation
7
144
Answering Questions in PROLOG
8
145
Logic Programming
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 .
9
Logic Programming
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.
10
Forward v/s
Forward v/s Backward Reasoning
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.
11
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.
12
A Sample of the Rules for
Solving the 8-Puzzle
..
An Examples :
.
Start Goal
13
146
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 it a query to which response is desired, use backward
reasoning.
14
Forward v/s Backward Reasoning
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.
15
Forward v/s Backward Reasoning
Backward-Chaining Rule Systems
PROLOG & MYCIN is an example of this.
These are good for goal-directed problem solving.
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 than backward ones.
OPS5 is the examples of the same.
16
Combining Forward v/s Backward Reasoning
Patients example of diagnosis.
In some systems ,this is only possible in reversible rules.
17
MATCHING
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.
18
MATCHING
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.
19
Representation Affects Matching
20
149
MATCHING
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
21
Many to Many Matching
The temporal nature of data.
Rules usually do not alter the state description radically. Instead, a rule will typically add one or two element or delete one or two,
but most of the state description remain same.
23
A Bit of a Dialogue with ELIZA
24
151
Some ELIZA-like rules
25
152
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.
Conflict Resolution
Preferences based on rules.
- Rule order. E.g. PROLOG
- Prefer special cases over more general ones.
- There are two to decide which rule is general.
- If the set of preconditions of one rule contain all the preconditions of another(plus some others), then second rule is more general than
first.
- If the set of preconditions of one rule are same as those of another except that in first case variables are specified and in second there are
constants, then first rule is more general than second.
Preferences based on objects.
- Prefer some objects to others.
- If input sentence contained variety of keywords that ELIZA knew. If that happened, then ELIZA made use of the fact that some keywords had been
marked as being more significant then another.
P: I know everybody laughed at me.
ELIZA: You say you know everybody laughed at you. Or,
Who in particular are you thinking of?
Preferences based on states.
- Heuristic
153
Control Knowledge
• Intelligent program require search, search is computationally intractable unless it
is constrained by knowledge about the world.
• Knowledge about which paths are more likely to lead quickly to goal state is often
called search controlled knowledge. It can make many forms:
1. Knowledge about which states are more preferable to others.
2. Knowledge about which rule to apply in a given situation.
3. Knowledge about the order in which to pursue subgoals.
4. Knowledge about useful sequences of rules to apply.
28
Control Knowledge
• A number of AI systems represent their control knowledge with rules.
• SOAR: is a general architecture for building intelligent system. SOAR is based on set
of specific, cognitively motivated hypotheses about the structure of human problem
solving. In SOAR:
1. Long-Term Memory is stored as a set of productions (or rules).
2. Short-Term Memory (also called working memory) is a buffer is analogues to the state
description in problem solving.
3. All problem-solving activity takes place as a state space traversal.
4. All intermediate and final results of problem solving are remembered (or, chunked) for further
reference.
29
Control Knowledge
30
Representing knowledge in an uncertain
domain
Uncertain knowledge and reasoning
• Probability theory
• Bayesian networks
31
1. Probability theory
• Axioms of probability
• The measure of the occurrence of an event (random variable) A – a
function P:S R satisfying the axioms:
• 0 P(A) 1
• P(S) = 1 ( or P(true) = 1 and P(false) = 0)
• P(A B) = P(A) + P(B) - P(A B)
34
Definitions - cont
35
1.3 Product rule
36
1.4 Bayes’ rule and its use
hi – hypotheses (i=1,k);
e1,…,en - evidence
P(hi)
P(hi | e1,…,en)
P(e1,…,en| hi)
P ( e1 , e 2 , ... , e n | h i ) P ( h i )
P ( h i | e 1 , e 2 , . .. , e n ) = k
, i = 1, k
P ( e1 , e 2 , ... , e n | h j ) P ( h j )
j 1
38
Bayes’ Theorem - cont
PROSPECTOR
39
1.5 Inferences
40
Inferences
Tooth ~ Tooth
Catch ~ Catch Catch ~ Catch
Cavity 0.108 0.012 0.072 0.008
~ Cavity 0.016 0.064 0.144 0.576
41
2 Bayesian networks
• Represent dependencies among random variables
• Give a short specification of conditional probability distribution
• Many random variables are conditionally independent
• Simplifies computations
• Graphical representation
• DAG – causal relationships among random variables
• Allows inferences based on the network structure
42
2.1 Definition of Bayesian networks
43
Bayesian network - example
P(B) Burglary P(E)
0.001 Earthquake
0.002
B E P(A)
T T 0.95
T F 0.94 Alarm
F T 0.29
F F 0.001
A P(J) A P(M)
T 0.9 JohnCalls MaryCalls T 0.7
F 0.05 F 0.01
B E P(A | B, E)
T F
Conditional probability T T 0.95 0.05
table T F 0.94 0.06
F T 0.29 0.71
F F 0.001 0.999
44
2.2 Bayesian network semantics
45
2.3 Building the network
46
Building the network - cont
47
Compactness of node ordering
48
2.4 Probabilistic inferences
A V B
A B
P(A V B) = P(V) * P(A|V) * P(B|V)
A B
49
Probabilistic inferences
62
Fuzzy Relations
65
Table 5.8 Some Fuzzy Terms of Natural Language
66
Linguistic Variables
67
Extension Principle
68
Fuzzy Logic
• Just as classical logic forms the basis of expert systems, fuzzy logic
forms the basis of fuzzy expert systems.
• Initial state
A number of truth relations or rules for performance are created for
the clear (X), ontable (X), and gripping( ).