- By
**snow** - Follow User

- 109 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' Limitations of Propositional Logic' - snow

**An Image/Link below is provided (as is) to download presentation**

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Limitations of Propositional Logic

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

5.3 Predicate Logic - Introduction

- 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

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

- Objects
- Predicates (facts)
- Variables

Assume we have the following assertions (facts)

- 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

Write predicate logic sentences for these facts :

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)

Thus, we can writeWe also can write compound statements such as:

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

Suppose we have the following rule (relation)

R1:if x is-a horse

x is-parent-of y

y is-fast

then x is valuable

Bindings

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.

Bindings

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

- 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.

Forward Chaining

- 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.

Disadvantages of Forward Chaining

- 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

- 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).

Backward Chaining

- The previous example now becomes:

Backward Chaining

- 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.

Backward Chaining

- 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

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

- Objects
- Predicates (facts)
- Variables
- Quantifiers

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)

Quantifiers

- Existential quantifier (∃)
- ∃x– “there exists an x”
- One or more values of x are guaranteed to exist
- Universal quantifier (∀)
- ∀x – “for all x”
- The expression is stating something is true for all values that x can assume

Examples of Predicate Logic

- (~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

Represent the following sentences in predicate logic

- 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

Download Presentation

Connecting to Server..