- 82 Views
- Uploaded on
- Presentation posted in: General

Limitations of Propositional Logic

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

1. It is too weak, i.e., has very limited expressiveness:

- Each rule has to be represented for each situation:e.g., “don’t go forward if the wumpus is in front of you” takes 64 rules
2. It cannot keep track of changes:

- If one needs to track changes, e.g., where the agent has been before then we need a timed-version of each rule. To track 100 steps we’ll then need 6400 rules for the previous example.
Its hard to write and maintain such a huge rule-base

Inference becomes intractable

- Greater expressive power than propositional logic
- Predicate logic expression consists of a predicate name followed by a list of arguments
- The number of elements in the list of arguments is the predicate’s arity
- Two quantifiers can be applied to predicate variables

Predicate Logic is more expressive, because it allows us to represent :

- Objects
- Predicates (facts)
- Variables

- Comet is a horse
- Prancer is a horse
- Comet is parent of Dasher
- Comet is a parent of Prancer
- Prancer is fast
- Dasher is a parent of Thunder
- Thunder is fast
- Thunder is a horse
- Dasher is a horse

To do so, we need to understand the concepts of:

- Objects
- Comet, Prancer, Dasher, etc

- Predicates (facts)
- horse [horse(Comet)]
- parent-of [parent-of(Comet,Dasher)]

- Variables
- horse(x)

Comet is a horse

Prancer is a horse

Comet is parent of Dasher

Comet is a parent of Prancer

Prancer is fast

Dasher is a parent of Thunder

Thunder is fast

Thunder is a horse

Dasher is a horse

horse(Comet)

horse(Prancer)

parent-of(Comet,Dasher)

parent-of(Comet,Prancer)

fast(Prancer)

parent-of(Dasher,Thunder)

fast(Thunder)

horse(Thunder)

horse(Dasher)

- not( horse(Schafer) )
- horse(Comet) and parent-of(Comet,Dasher)
- winner(Prancer) implies fast(Prancer)

R1:if x is-a horse

x is-parent-of y

y is-fast

then x is valuable

In general, there will be variables in the rules which stand for arbitrary objects. We need to find bindings for them so that the rule is applicable.

R1:if x is-a horse

x is-parent-of y

y is-fast

then x is valuable

From these we can deduce that there are two possible bindings applicable to the rule:

x = Comet and y = Prancer

x = Dasher and y = Thunder

Since x is valuable, Comet is valuable and Dasher is valuable

- Forward Chaining or data-driven inference works by repeatedly: starting from the current state, matching the premises of the rules (the IF parts), and performing the corresponding actions (the then parts) that usually update the knowledge base or working memory.
- The process continues until no more rules can be applied, or some cycle limit is met.

- In this example there are no more rules, so we can draw the inference chain:
- This seems simple enough, but this had few initial facts and few rules.

- Many rules may be applicable at each stage – so how should we choose which one to apply next at each stage?
- The whole process is not directed towards a goal, so how do we know when to stop applying the rules?

- Backward chaining or goal-driven inference works towards a final state by looking at the working memory to see if the sub-goal states already exist there. If not, the actions (the THEN parts) of the rules that will establish the sub-goals are identified and new sub-goals are set up for achieving the premises of those rules (the IF parts).

- The previous example now becomes:

- The first part of the chain works back from the goal until only the initial facts are required, at which point we know how to traverse the chain to achieve the goal state.

- Advantage
- The search is goal directed, so we only apply the rules that are necessary to achieve the goal.

- Disadvantage
- The goal has to be known.
- Fortunately, many AI systems can be formulated in a goal based fashion.

Predicate Logic is more expressive, because it allows us to represent :

- Objects
- Predicates (facts)
- Variables
- Quantifiers

- A key to predicate logic we have been ignoring is the inclusion of quantifiers
- You should recall from discrete that you can also write statements such as
- x fast(x) implies horse(x)
- y fast(y) implies valuable(y)

- Existential quantifier (∃)
- ∃x– “there exists an x”
- One or more values of x are guaranteed to exist

- ∃x– “there exists an x”
- Universal quantifier (∀)
- ∀x – “for all x”
- The expression is stating something is true for all values that x can assume

- ∀x – “for all x”

- (~Win(you) ⇒ Lose(you)) /\ (Lose(you) ⇒ Win(me))
- If you don’t win, then you lose and if you lose then I win

- (∃x)[Natural_number(x) /\ Divisible_by_2(x)]
- Some natural numbers are even

- (∀x){[Animal(x) /\ Has_Hair(x) /\ Warm_Blooded(x)] ⇒ Mammal(x)}
- If x is a warm-blooded animal with hair then x is a mammal

- Schafer is a Hoosier
- Hoosiers like basketball.
- Children of basketball fans are basketball fans.
- Basketball fans like the month of March.
- Margaret is Schafer's daughter