Professional Documents
Culture Documents
And-Or Graphs
Here the alternatives often involve branches where some or all must be satisfied
before we can progress.
For example if I want to learn to play a Frank Zappa guitar solo I could
(Fig. 2.2.1)
Constraint Satisfaction
Algorithm:
1. Propagate available constraints:
o Open all objects that must be assigned values in a complete
solution.
o Repeat until inconsistency or all objects assigned valid values:
Select an object and strengthen as much as possible the set
of constraints that apply to object.
If set of constraints different from previous set then open
all objects that share any of these constraints.
Remove selected object.
2. If union of constraints discovered above defines a solution return
solution.
3. If union of constraints discovered above defines a contradiction return
failure
Here we will consider some extensions to Semantic nets that overcome a few
problems (see Exercises) or extend their expression of knowledge.
Basic idea: Break network into spaces which consist of groups of nodes and
arcs and regard each space as a node.
Consider the following: Andrew believes that the earth is flat. We can encode
the proposition the earth is flat in a space and within it have nodes and arcs the
represent the fact (Fig. 15). We can the have nodes and arcs to link
this space the rest of the network to represent Andrew's
belief.
Now consider the quantified expression: Every parent loves their child To
represent this we:
Here we have to construct two spaces one for each x,y. NOTE: We can
express variables as existentially qualified variables and express the event
of love having an agent p and receiver b for every parent p which could
simplify the network (See Exercises).
Also If we change the sentence to Every parent loves child then the node of the
object being acted on (the child) lies outside the form of the general statement.
Thus it is not viewed as an existentially qualified variable whose value may
depend on the agent. (See Exercises and Rich and Knight Book for examples of
this) So we could construct a partitioned network as in Fig. 16
Frames
• a class (set), or
• An instance (an element of a class).
Scripts
Entry Conditions
-- These must be satisfied before events in the script can occur.
Results
-- Conditions that will be true after events in script occur.
Props
-- Slots representing objects involved in events.
Roles
-- Persons involved in the events.
Track
-- Variations on the script. Different tracks may share components of the
same script.
Scenes
-- The sequence of events that occur. Events are represented
in conceptual dependency form.
Scripts are useful in describing certain situations such as robbing a bank. This
might involve:
• Getting a gun.
• Hold up a bank.
• Escape with the money.
• Gun, G.
• Loot, L.
• Bag, B
• Get away car, C.
The Roles might be:
• Robber, S.
• Cashier, M.
• Bank Manager, O.
• Policeman, P.
• S is poor.
• S is destitute.
There are 3 scenes: obtaining the gun, robbing the bank and the getaway.
Advantages of Scripts:
Disadvantages:
Non-Monotonic Reasoning
Default reasoning
We have already seen examples of this and possible ways to represent this
knowledge.
We will discuss two approaches to do this:
• Non-Monotonic logic.
• Default logic.
DO NOT get confused about the label Non-Monotonic and Default being
applied to reasoning and a particular logic. Non-Monotonic reasoning is
generic descriptions of a class of reasoning. Non-Monotonic logic is a specific
theory. The same goes for Default reasoning and Default logic.
Non-Monotonic Logic
states that for all x is x plays an instrument and if the fact that x can improvise
is consistent with all other knowledge then we can conclude that x is a jazz
musician.
Now this states that Quakers tend to be pacifists and Republicans tend not to
be.
Quaker(Nixon)
Republican(Nixon)
This now leads to our total knowledge becoming inconsistent.
Default Logic
Now this is similar to Non-monotonic logic but there are some distinctions:
• New inference rules are used for computing the set of plausible
extensions. So in the Nixon example above Default logic can support
both assertions since is does not say anything about how choose between
them -- it will depend on the inference being made.
• In Default logic any non monotonic expressions are rules of inference
rather than expressions.
Due to Lecture time limitation. This topic is not dealt with in any great depth.
Please refer to the further reading section.
Basically TMSs:
• This is a simple TMS in that it does not know anything about the
structure of the assertions themselves.
• Each supported belief (assertion) in has a justification.
• Each justification has two parts:
o An IN-List -- which supports beliefs held.
o An OUT-List -- which supports beliefs not held.
• This states:
• All events must be exhaustive. This means that in order to compute all
probabilities the set of possible events must be closed. Thus if new
information arises the set must be created afresh and all probabilities
recalculated.
Thus Simple Bays’ rule-based systems are not suitable for uncertain reasoning.
• Certainty factors,
• Dempster-Shafer models,
• Bayesian networks.
3
1. A control module prepares the focus of attention for execution:
1. If the focus of attention is a knowledge source -- a blackboard
object is chosen to serve as its context (knowledge centered
scheduling).
2. If the focus of attention is a blackboard object -- a knowledge
source to process that object is chosen and instantiated with the
object as its context (event centered scheduling).
3. If both a blackboard object and a knowledge source are the focus
of attention an instance of the knowledge source is made ready for
execution with the object as its context.
UNSTACK (A, B)
-- pick up clear block A from block B;
STACK (A, B)
-- Place block A using the arm onto clear block B;
PICKUP (A)
-- lift clear block A with the empty arm;
PUTDOWN (A)
-- Place the held block A onto a free space on the table.
ON (A, B)
-- Block A is on block B.
ONTABLE (A)
-- Block A is on the table.
CLEAR (A)
-- Block A has nothing on it.
HOLDING (A)
-- The arm holds block A.
ARMEMPTY
-- The arm holds nothing.
Using logic but not logical notation we can say that if the arm is holding a
block it is not empty If block A is on the table it is not on any other block If
block A is on block B, block B is not clear.