Unit 2
Unit 2
Artificial Intelligence
       NPTEL Links (Unit-2)
a_part_of
department hostel
a_part_of is_a
ako
science_faculty
is_a
                       renuka
Detailed Representation of Frame
            Network     frame0
                        f_name: university
                        phone: (default: - 011686971)
                        address : (default - IIT Delhi)
frame1 frame2
frame11 frame21
frame12 frame13
                           Z
            Father             Parent
            X                       Y
                     Gfather
            Cont…Example
• Represent clausal rule “Male(X), Female(X) 
  Human(X)” using binary representation as “Isa(X,
  male), Isa(X, female)  Isa( X, human)”     and
  subsequently in ESNet as follows:
            male
                     Isa             Isa
                                 X         human
                           Isa
            female
       Inference Rules in ESNet
● Inference rules are embedded in the representation
  itself.
● The inference that “for every action of giving, there is
  an action of taking” in clausal logic written as
        “Action(E, take)  Action(E, give)”.
     ESNet               Action
                    E                  take
                         Action
                    E                  give
                          Cont…
● The inference rule such as “an actor of taking action
  is also the recipient of the action” can be easily
  represented in clausal logic as:
   − Here E is a variable representing an event where an action
     of taking is happening).
    Recipient(E, Y)  Acton(E, take), Actor (E, Y)
   ESNet                               Action
                                E               take
                   Recipient
                                    Actor
                                Y
                          Example
Represent the following clauses of Logic in ESNet.
  Recipient(E, Y)  Acton(E, take), Actor (E, Y)
  Object (e, apple).
  Action(e, take).
  Actor (e, john) .
apple
                         Object
                e                        E           Recipient
        Actor                   Action       Actor
                Action
     john                take                  Y
          Contradiction
• The contradiction in the ESNet arises if we
  have the following situation.
                   Part_of
           P                 X
                                 Isa
               Part_of
                             Y
               Deduction in ESNet
● Both of the following inference mechanisms are available in
  ESNet.
   − Forward reasoning inference (uses bottom up approach)
        Bottom Up Inferencing: Given an ESNet, apply the
         following reduction (resolution) using modus ponen
         rule of logic ({A  B, B} then A).
   − Backward reasoning inference (uses top down approach).
        Top Down Inferencing: Prove a conclusion from a given
         ESNet by adding the denial of the conclusion to the
         network and show that the resulting set of clauses in
         the network is inconsistent.
Example: Bottom Up Inferencing
          Given set of clauses                 Inferencing
       human                           human
               Isa
                 X                          Isa
                        Isa
man john
john Isa
      human                             human
              Isa                               Isa
                X                                 X
                       Isa                Isa          Isa
man man
 john
               Logic and Deduction
• Logic is used to formalize deduction
• Deduction = derivation of true statements (called conclusions)
  from statements that are assumed to be true (called
  premises)
• Natural language is not precise, so the careless use of logic
  can lead to claims that false statements are true, or to claims
  that a statement is true, even though its truth does not
  necessarily follow from the premises
   => Logic provides a way to talk about truth and correctness in a
       rigorous way, so that we can prove things, rather than make
       intelligent guesses and just hope they are correct
        Why Propositional Logic?
• Propositional logic is a good vehicle to introduce
  basic properties of logic; used to:
   – Associate natural language expressions with semantic
     representations
   – Evaluate the truth or falsity of semantic
     representations relative to a knowledge base
   – Compute inferences over semantic representations
• One of the simplest and most common logic
   – The core of (almost) all other logics
    What is Propositional Logic?
• An unambiguous formal language, akin to a
  programming language
  – Syntax: Vocabulary for expressing concepts
    without ambiguity
  – Semantics: Connection to what we're reasoning
    about
     • Interpretation - what the syntax means
  – Reasoning: How to prove things
     • What steps are allowed
TECHNICAL SOLUTIONS
                      36
SYNTAX
         37
                                Syntax
•   Logical constants: true, false
•   Propositional symbols: P, Q, S, ...
•   Wrapping parentheses: ( … )
•   Atomic formulas: Propositional Symbols or logical constants
•   Formulas are either atomic formulas, or can be formed by combining
    atomic formulas with the following connectives:
       ...and            [conjunction]
 ...or [disjunction]
            42
                  Semantics
•   Interpretations
•   Equivalence
•   Substitution
•   Models and Satisfiability
•   Validity
•   Logical Consequence (Entailment)
•   Theory
Semantics – Some Informal Definitions
• Given the truth values of all symbols in a sentence, it can be “evaluated”
  to determine its truth value (True or False)
• A model for a KB is a “possible world” (assignment of truth values to
  propositional symbols) in which each sentence in the KB is True
• A valid sentence or tautology is a sentence that is True under all
  interpretations, no matter what the world is actually like or how the
  semantics are defined (example: “It’s raining or it’s not raining”)
• An inconsistent sentence or contradiction is a sentence that is False under
  all interpretations (the world is never like what it describes, as in “It’s
  raining and it’s not raining”)
• P entails Q, written P ⊧ Q, means that whenever P is True, so is Q; in other
  words, all models of P are also models of Q
                   Interpretations
• In propositional logic, truth values are assigned to the atoms
  of a formula in order to evaluate the truth value of the
  formula
• An assignment is a function
                            v : P → {T,F}
  v assigns a truth value to any atom in a given formula (P is the
  set of all propositional letters, i.e. atoms)
  Suppose F denotes the set of all propositional formulas. We
  can extend an assignment v to a function
                            v : F → {T,F}
  which assigns the truth value v(A) to any formula A in F. v is
  called an interpretation.
             Interpretations (cont’)
• Example:
   – Suppose v is an assignment for which
                         v(p) = F, v(q) = T.
   – If A = (¬p → q) ↔ (p V q), what is v(A)?
     Solution:
        v(A)    = v((¬p → q) ↔ (p V q))
                = v(¬p → q) ↔ v(p V q)
                = (v(¬p) → v(q)) ↔ (v(p) V v(q))
                = (¬v(p) → v(q)) ↔ (v(p) V v(q))
                = (¬F → T) ↔ (F V T)
                = (T → T) ↔ (F V T)
                = T↔T
                = T
                         Equivalence
• If A,B are formulas are such that
                             v(A) = v(B)
  for all interpretations v, A is (logically) equivalent to B:
                                A≡B
• Example: ¬p V q ≡ p → q since both formulas are true in all
  interpretations except when v(p) = T, v(q) = F and are false for
  that particular interpretation
• Caution: ≡ does not mean the same thing as ↔ :
   – A ↔ B is a formula (syntax)
   – A ≡ B is a relation between two formula (semantics)
   Theorem: A ≡ B if and only if A ↔ B is true in every interpretation; i.e. A
     ↔ B is a tautology.
     Equivalence and Substitution –
               Examples
• Examples of logically equivalent formulas
• Example: Simplify
  – Solution:
             Models and Satisfiability
• A propositional formula A is satisfiable iff v(A) = T in some interpretation
  v; such an interpretation is called a model for A.
    – A is unsatisfiable (or, contradictory) if it is false in every interpretation
• A set of formulas U = {A1,A2,…,An} is satisfiable iff there exists an
  interpretation v such that v(A1) = v(A2) =…= v(An) = T; such an
  interpretation is called a model of U.
    – U is unsatisfiable if no such interpretation exists
• Relevant properties:
    –   If U is satisfiable, then so is U − {Ai} for any i = 1, 2,…, n
    –   If U is satisfiable and B is valid, then U U {B} is also satisfiable
    –   If U is unsatisfiable and B is any formula, U U {B} is also unsatisfiable
    –   If U is unsatisfiable and some Ai is valid, then U − {Ai} is also unsatisfiable
                                 Validity
• A is valid (or, a tautology), denoted ⊧ A, iff v(A) = T, for all interpretations v
• A is not valid (or, falsifiable), denoted ⊭ A if we can find some
  interpretation v, such that v(A) = F
• Relationship between validity, satisfiability, falsifiability, and
  unsatisfiability:
                 Validity (cont’)
• Examples:
   – Valid (tautology):
   – Not valid, but satisfiable:
   – False (contradiction):
• Theorem:
  (a) A is valid if and only if ¬A is unsatisfiable
  (b) A is satisfiable if and only if ¬A is falsifiable
 Logical   Consequence (i.e. Entailment)
• Let U be a set of formulas and A a formula. A is a (logical)
  consequence of U, if any interpretation v which is a model of
  U is also a model for A:
                              U⊧A
• Example:
   If some interpretation v is a model for the set
                              , it must satisfy
            54
           Inference Methods
• Several basic methods for determining
  whether a given set of premises
  propositionally entails a given conclusion
  – Truth Table Method
  – Deductive (Proof) Systems
  – Resolution
                   Truth Table Method
• One way of determining whether or not a set of premises logically entails
  a possible conclusion is to check the truth table for the logical constants of
  the language
• This is called the truth table method and can be formalized as follows:
    – Step 1: Starting with a complete truth table for the propositional constants,
      iterate through all the premises of the problem, for each premise eliminating
      any row that does not satisfy the premise
    – Step 2: Do the same for the conclusion
    – Step 3: Finally, compare the two tables; If every row that remains in the
      premise table, i.e. is not eliminated, also remains in the conclusion table, i.e. is
      not eliminated, then the premises logically entail the conclusion
                             Example
• Simple sentences:
   – Amy loves Pat: lovesAmyPat
   – Amy loves Quincy: lovesAmyQuincy
   – It is Monday: ismonday
• Premises:
   – If Amy loves Pat, Amy loves Quincy:
        lovesAmyPat  lovesAmyQuincy
   – If it is Monday, Amy loves Pat or Quincy:
        ismonday  lovesAmyPat  lovesAmyQuincy
• Question:
   – If it is Monday, does Amy love Quincy?
     i.e. is ismonday  lovesAmyQuincy entailed by the premises?
Step 1: Truth table for the premises
   lovesAmyP lovesAmyQu ismonday   lovesAmyPa ismonday 
   at        incy                  t         lovesAmyPa
                                   lovesAmyQu t 
                                   incy       lovesAmyQu
                                              incy
   T          T         T          T          T
   T          T         F          T          T
   T          F         T          F          T
   T         F          F          F          T
   F         T          T          T          T
   F         T          F          T          T
   F         F          T          T          F
   F         F          F          T          T
     Step 1: Eliminate non-sat
          interpretations
lovesAmyP lovesAmyQu ismonday   lovesAmyPa ismonday 
at        incy                  t         lovesAmyPa
                                lovesAmyQu t 
                                incy       lovesAmyQu
                                           incy
T          T         T          T          T
T          T         F          T          T
T          F         T          F          T
T         F          F          F          T
F         T          T          T          T
F         T          F          T          T
F         F          T          T          F
F         F          F          T          T
Step 2: Truth table for the conclusion
   lovesAmyP lovesAmyQu ismonday   ismonday 
   at        incy                  lovesAmyQuincy
   T          T         T                   T
   T          T         F                   T
   T          F         T                   F
   T         F          F                   T
   F         T          T                   T
   F         T          F                   T
   F         F          T                   F
   F         F          F                   T
     Step 2: Eliminate non-sat
          interpretations
lovesAmyP lovesAmyQu ismonday   ismonday 
at        incy                  lovesAmyQuincy
T          T         T                   T
T          T         F                   T
T          F         T                   F
T         F          F                   T
F         T          T                   T
F         T          F                   T
F         F          T                   F
F         F          F                   T
            Step 3: Comparing tables
• Finally, in order to make the determination of logical entailment, we
  compare the two rightmost tables and notice that every row remaining in
  the premise table also remains in the conclusion table.
    – In other words, the premises logically entail the conclusion.
• The truth table method has the merit that it is easy to understand
    – It is a direct implementation of the definition of logical entailment.
• In practice, it is awkward to manage two tables, especially since there are
  simpler approaches in which only one table needs to be manipulated
    – Validity Checking
    – Unsatisfability Checking
                    Validity checking
• Approach: To determine whether a set of sentences
                                     {j1,…,jn}
  logically entails a sentence j, form the sentence
                                (j1  … jn  j)
  and check that it is valid.
• To see how this method works, consider the previous example and write
  the tentative conclusion as shown below.
 (lovesAmyPat  lovesAmyQuincy)  (ismonday  lovesAmyPat  lovesAmyQuincy)
                         (ismonday  lovesAmyQuincy)
• Then, form a truth table for our language with an added column for this
  sentence and check its satisfaction under each of the possible
  interpretations for our logical constants
          Unsatisfability Checking
• It is almost exactly the same as the validity checking
  method, except that it works negatively instead of
  positively.
• To determine whether a finite set of sentences {j1,…,jn}
  logically entails a sentence j, we form the sentence
                         (j1  … jn  j)
  and check that it is unsatisfiable.
raining  wet   (p  q)  r
raining         pq
wet             r
• Example:
   1. p  q                                                           Premise
   2. q  r                                                           Premise
   3. (q  r)  (p  (q  r))                                         II
   4. p  (q  r)                                                     MP : 3,2
   5. (p  (q  r))  (( p  q) (p  r))                ID
   6. (p  q)  (p  r )                                 MP : 5,4
   7. p  r                                                           MP : 6,1
                        Proofs (cont’)
• If there exists a proof of a sentence j from a set D of premises and the
  standard axiom schemata using Modus Ponens, then j is said to be
  provable from D, written as
                                     D⊢j
• There is a close connection between provability and logical entailment (⊧):
                A set of sentences D logically entails a sentence j
                         if and only if j is provable from D
• Soundness Theorem:
                If j is provable from D, then D logically entails j.
• Completeness Theorem:
                If D logically entails j, then j is provable from D.
                       Proofs (cont’)
• The concept of provability is important because it suggests how we can
  automate the determination of logical entailment
   – Starting from a set of premises D, we enumerate conclusions from this
     set
   – If a sentence j appears, then it is provable from D and is, therefore, a
     logical consequence
   – If the negation of j appears, then j is a logical consequence of D
     and j is not logically entailed (unless D is inconsistent)
   – Note that it is possible that neither j nor j will appear
                               Resolution
• Propositional resolution is an extremely powerful rule of inference for
  Propositional Logic
• Using propositional resolution (without axiom schemata or other rules of
  inference), it is possible to build a theorem prover that is sound and
  complete for all of Propositional Logic
• The search space using propositional resolution is much smaller than for
  standard propositional logic
• Propositional resolution works only on expressions in clausal form
    – Before the rule can be applied, the premises and conclusions must be converted to this
      form
                       Clausal Forms
• A clause is a set of literals which is assumed (implicitly) to be a
  disjunction of those literals
   – Example:
• Unit clause: clause with only one literal; e.g. {¬q}
• Clausal form of a formula: Implicit conjunction of clauses
• Example:
  Abbreviated notation:
• Notation:
   – l-literal, lc-complement of l
   – C-clause (a set of literals)
   – S-a clausal form (a set of clauses)
    Resolution – Properties of Clausal
                  Forms
(1) If l appears in some clause of S, but lc does not appear in any
   clause, then, if we delete all clauses in S containing l, the new
   clausal form S' is satisfiable if and only if S is satisfiable
   Example: Satisfiability of
                  is equivalent to satisfiability of
(2) Suppose C = {l} is a unit clause and we obtain S' from S by
   deleting C and lc from all clauses that contain it; then, S is
   satisfiable if and only if S' is satisfiable
   Example:                                 is satisfiable iff
                                            is satisfiable
                Resolution – Properties of Clausal Forms (cont’)
clash on
                         86
                Problem Example
• For each of these sets of premises, what relevant
  conclusion or conclusions can be drawn? Explain the rules
  of inference used to obtain each conclusion from the
  premises.
  (a) “If I eat spicy foods, then I have strange dreams.” “I have
  strange dreams if there is thunder while I sleep.” “I did not
  have strange dreams.”
  (b) “I am dreaming or hallucinating.” “I am not dreaming.”
  “If I am hallucinating, I see elephants running down the
  road.”
  (c) “If I work, it is either sunny or partly sunny.” “I worked
  last Monday or I worked last Friday.” “It was not sunny on
  Tuesday.” “It was not partly sunny on Friday.”
                         Solution (a)
(a) “If I eat spicy foods, then I have strange dreams.” “I have strange
     dreams if there is thunder while I sleep.” “I did not have strange
     dreams.”
• The relevant conclusions are: “I did not eat spicy food” and
     “There is no thunder while I sleep”.
• Let the primitive statements be:
      –   s, ‘I eat spicy foods’
      –   d, ‘I have strange dreams’
      –   t, ‘There is thunder while I sleep’
•    Then the premises are translated as: s → d, t → d, and ¬d.
•    And the conclusions: ¬s, ¬t.
•    Steps Reason
1.   s → d premise
2.   ¬d              premise
3.   ¬s              Modus Tollens to Steps 1 and 2
4.   t → d premise
5.   ¬t              Modus Tollens to Steps 4 and 2.
                     Solution (b)
(b) “I am dreaming or hallucinating.” “I am not dreaming.” “If I
    am hallucinating, I see elephants running down the road.”
• The relevant conclusion is: “I see elephants running down
    the road.”.
• Let the primitive statements be:
      – d, ‘I am dreaming’
      – h, ‘I am hallucinating’
      – e, ‘I see elephants running down the road’
•    Then the premises are translated as: d ∨ h, ¬d, and h → e.
•    And the conclusion: e.
•    Steps Reason
1.   d ∨ h premise
2.   ¬d             premise
3.   h              rule of disjunctive syllogism to Steps 1 and 2
4.   h→e            premise
5.   e              Modus Ponens to Steps 4 and 3
                       Solution (c)
(c) “If I work, it is either sunny or partly sunny.” “I worked last Monday or I
      worked last Friday.” “It was not sunny on Tuesday.” “It was not partly
      sunny on Friday.”
• There is no single relevant conclusion in this problem, its main difficulty
      is to to represent the premises so that one is able infer anything at all.
      One possible relevant conclusion is: “It was sunny or partly sunny last
      Monday or it was sunny last Friday.”.
• Let the primitive statements be:
        – wm, ‘I worked last Monday’
        – wf , ‘I worked last Friday’
        – sm, ‘It was sunny last Monday’
        – st, ‘It was sunny last Tuesday’
        – sf , ‘It was sunny last Friday’
        – pm, ‘It was partly sunny last Monday’
        – pf , ‘It was partly sunny last Friday’
• Then the premises are translated as: wm ∨ wf , wm → (sm ∨ pm), wf →
      (sf ∨ pf ), ¬st, and ¬pf .
• And the conclusion: sf ∨ sm ∨ pm.
                  Solution (c) – Method 1
•     Steps               Reason
1.    wf → (sf ∨ pf )                  premise
2.    ¬wf ∨ sf ∨ pf                    expression for implication
3.    ¬pf → (¬wf ∨ sf )   expression for implication
4.    ¬pf                              premise
5.    ¬wf ∨ sf                         modus ponens to Steps 3 and 4
6.    wf → sf                          expression for implication
7.    wm ∨ wf                          premise
8.    ¬wm → wf                         expression for implication
9.    ¬wm → sf                         rule of syllogism to Steps 8 and 6
10.   wm ∨ sf                          expression for implication
11.   ¬sf → wm                         expression for implication
12.   wm → (sm ∨ pm)      premise
13.   ¬sf → (sm ∨ pm)     rule of syllogism to Steps 11 and 12
14.   sf ∨ sm ∨ pm                     expression for implication.
            Solution (c) – Method 2 (Use the rule of resolution)
• Steps            Reason
1. wf → (sf ∨ pf ) premise
2. ¬wf ∨ sf ∨ pf   expression for implication
3. ¬pf             premise
4. ¬wf ∨ sf        rule of resolution to Steps 2 and 3
5. wm ∨ wf         premise
6. wm ∨ sf         rule of resolution to Steps 4 and 5
7. wm → (sm ∨ pm)         premise
8. ¬wm ∨ sm ∨ pm expression for implication
9. sf ∨ sm ∨ pm    rule of resolution to Steps 7 and 8
        Rule-Based Deduction Systems
The way in which a piece of knowledge is expressed by a
   human expert carries important information,
    example: if the person has fever and feels tummy-pain then she
       may have an infection.
In logic it can be expressed as follows:
 Notice that:
    – (i) and (ii) are logically equivalent to the original sentence
    – they have lost the main information contained in its
      formulation.
      Forward production
           systems
• The main idea behind the
  forward/backward production systems
  is:
   – to take advantage of the implicational
     form in which production rules are
     stated by the expert
   – and use that information to help
     achieving the goal.
• In the present systems the formulas
  have two forms:
   – rules
   – and facts
          Forward production systems
• Facts
    – Facts are expressed in AND/OR form.
    – An expression in AND/OR form consists on sub-expressions of
      literals connected by & and V symbols.
    – An expression in AND/OR form is not in clausal form.
       Forward production systems
Rule-Based Deduction Systems
      Steps to transform facts into AND/OR form for forward
           system:
      1. Eliminate (temporarily) implication symbols.
      2. Reverse quantification of variables in first disjunct
           by moving negation symbol.
      3. Skolemize existential variables.
      4. Move all universal quantifiers to the front an drop.
      5. Rename variables so the same variable does not
           occur in different main conjuncts
            -       Main conjuncts are small AND/OR trees, not necessarily
                    sum of literal clauses as in Prolog.
      EXAMPLE
         Original formula:              u. v. {q(v, u) & ~[[r(v) v p(v)] &
                s(u,v)]}
            converted formula: q(w, a) & {[~r(v) & ~p(v)] v
             ~s(a,v)}
                  Conjunction of two
                  main conjuncts                Various variables in conjuncts
    All variables appearing on the final expressions are assumed to be universally
    quantified.
                         Rule-Based Deduction Systems: forward production
     F-rules                                 systems
     Rules in a forward production system will be applied to the AND/OR graph
            to produce new transformed graph structures.
     We assume that rules in a forward production system are of the form:
     L ==> W,
     where L is a literal and W is a formula in AND/OR form.
     •      Recall that a rule of the form (L1 V L2) ==> W is equivalent to the pair
            of rules: L1 ==> W V L2 ==> W.
                 AND node          prove that: “there exists         OR node
                                   someone who is not a terrier
                                   or who is noisy.”
                      Skolem          Restored
                      function        implicati
                                      on
              Rule-Based Deduction Systems
       forward production systems
A full example:
•     Fact: Fido barks and bites, or Fido is not a dog.
•     (R1) All terriers are dogs.
•     (R2) Anyone who barks is noisy.
R2 applied forward
                                                         {fido/z}
     noisy(fido)                goal nodes
{fido/z}
      noisy(z)                                     ~terrier(z)
Backward production systems
B-Rules
We restrict B-rules to expressions of the form: W ==> L,
     where W is an expression in AND/OR form and L is a literal,
     and the scope of quantification of any variables in the implication is the
             entire implication.
     Recall that W==>(L1 & L2) is equivalent to the two rules: W==>L1 and
             W==>L2.
An important property of logic is the duality between assertions and
       goals in theorem-proving systems.
Duality between assertions and goals allows the goal expression to be
       treated as if it were an assertion.
Conversion of the goal expression into AND/OR form:
1.    Elimination of implication symbols.
2.    Move negation symbols in.
3.    Skolemize existential variables.
4.    Drop existential quantifiers. Variables remaining in the AND/OR
      form are considered to be existentially quantified.
Goal clauses are conjunctions of literals and the disjunction of these
       clauses is the clause form of the goal well-formed formula.
         Example 1 of formulation of Rule-Based Deduction
                             Systems
1. Facts:
            dog(fido)                                       x. y.[cat(x) & dog(y) & ~afraid(x,y)]
                                                R
            ~barks(fido)                        2
            wags-tail(fido)
            meows(myrtle)
                                                        [cat(x)       dog(y)           ~afraid(x,y)]
Rules:
            R1: [wags-tail(x1) & dog(x1)] 
            friendly(x1)
            R2: [friendly(x2) & ~barks(x2)]                                                    R2
            ~afraid(y2,x2)                                          Y=Fido
            R3: dog(x3)  animal(x3)
            R4: cat(x4)  animal(x4)
            R5: meows(x5)  cat(x5)
                                                                             [friendly(x2)   ~barks(x2)
Suppose we want to ask if there are a cat and a
                                                            dog(fido)
         dog such that the cat is unafraid of the
         dog.                                                                   R1
 The goal expression is:
            x. y.[cat(x) & dog(y) & ~afraid(x,y)]
                                                            wags-tail(x1) dog(x1)]
                                                                   X1=Fid
                                                                   o                     ~barks(x2=fido)
                      We treat the goal                       wags-tail(fido)
                      expression as an                 R5
                      assertion                                              X1=Fid
                                                                             o
                                                       x=x5                  dog(fido)
                                                meows(x5=myrtle)
          Rule-Based Deduction Systems
2.    The blocks-word situation is described by the following
      set of wffs:
      on_table(a)             clear(e)
                                              Homework:
                                             formulation of Rule-Based
      on_table(c)             clear(d)           Deduction Systems
      on(d,c)                 heavy(d)
      on(b,a)                 wooden(b)
      heavy(b)                on(e,b)
The following statements provide general knowledge about
      this blocks word:
      Every big, blue block is on a green block.
      Each heavy, wooden block is big.
      All blocks with clear tops are blue.
      All wooden blocks are blue.
Represent these statements by a set of implications having
      single-literal consequents.
Draw a consistent AND/OR solution tree (using B-rules) that
      solves the problem: “Which block is on a green block?”
                   HOMEWORK Problem 2.
               Transformation of rules and goal:
Facts:
         f1:   on_table(a)                f6: clear(e)
         f2:   on_table(c)                f7: clear(d)
         f3:   on(d,c)                 f8: heavy(d)
         f4:   on(b,a)                 f9: wooden(b)
         f5:   heavy(b)      f10: on(e,b)
Rules:
  R1: big(y1) ^ blue(y1)  green(g(y1)) Every big, blue block is on a
         green block.
  R2: big(y0) ^ blue(y0)  on(y0,g(y0))        “ “ “ “ “ “ “ “
      “
  R3: heavy(z) ^ wooden(z)  big(z)       Each heavy, wooden block is big.
  R4: clear(x)  blue(x)                All blocks with clear tops are blue.
  R5: wooden(w)  blue(w)                All wooden blocks are blue.
Goal:
  green(u) ^ on(v,u)        Which block is on a green block?
   HOMEWORK PROBLEM 3. Information
         Retrieval System
   pickup(X) :
        preconditions: clear(X), handempty.
        deletlist: on(X,_), clear(X), handempty.
        addlist: holding(X).
                                      Planning
• The Frame Problem in Planning
• This is the problem of how to keep track in a
  representation of the world of all the effects that an
  action may have.
• The action representation given is the one introduced by
  STRIPS (Nilsson) and is an attempt to a solution to the
  frame problem
    – but it is only adequate for simple actions in simple worlds.
Planning                                  c
                                           a
                                                     d
                                                     b
                                                                                       a
                                                                                       b
     Initial situation
                                                                                       c
                   next situation
     on(c,a)
     clear(c)    1
     handemptyunstack(c,a)
                                 2
                  holding(c)putdown(c)                                                 Conditio
                                                                                       ns for
     ontable(b)                                3                                       action
     clear(b)                handemptypickup(b)
                                                           4
                              clear(c) holding(b)stack(b,c)            5
     ontable(a) clear(a)                                 handemptypickup(a)
                                                                                   6
                                                          clear(b) holding(a)stack(a,b)
                                                          on(b,c)               on(a,b            go
                                                                                )                 al
Assignment Questions (Unit -2)
Ques 1: Describe how the two SCRIPS rules pickup(x) and stack(x,y) could be
combined into a macro-rule put(x,y).
    What are the preconditions, delete list and add list of the new rule.
    Can you specify a general procedure for creating macro-rules components?