- 107 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' Artificial Intelligence' - sarah-fitzgerald

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

### Artificial Intelligence

### First-Order Logic

Knowledge Representation Problem

Knowledge bases

- Knowledge base = set of sentences in a formal language

Stages of Knowledge Use

- Acquisition
- structure of facts
- integration of old & new knowledge
- Retrieval (recall)
- roles of linking and chunking
- means of improving recall efficiency

Representation

- Set of syntactic and semantic conventions which make it possible to describe things
- Syntax
- specific symbols allowed and rules allowed
- Semantics
- how meaning is associated with symbol arrangements allowed by syntax

Knowledge Representation Schemas

- Logic based representation – first order predicate logic, Prolog
- Procedural representation – rules, production system
- Network representation – semantic networks, conceptual graphs
- Structural representation – scripts, frames, objects

Conceptual Graphs

- each concept has got its type and an instance

general concept – a concept with a wildcard instance

specific concept – a concept with a concrete instance

- there exsists a hierarchy of types subtype:
- concept w is specialisation of concept v iftype(v)>type(w) or instance(w)::type(v)

colour

dog:*X

brown

colour

dog:Emma

brown

animal

dog

cat

Types of Knowledge

- Objects
- both physical & concepts
- Events
- usually involve time
- maybe cause & effect relationships
- Performance
- how to do things
- META Knowledge
- knowledge about how to use knowledge

Basic connectives and truth tables

statements (propositions): declarative sentences that are

either true or false--but not both.

Eg. Ahmed Hassan wrote Gone with the Wind.

2+3=5.

not statements:

What a beautiful morning!

Get up and do your exercises.

"The number x is an integer."

is not a statement because its truth value cannot be determined until a numerical value is assigned for x.

Propositional logic

- Logical constants: true, false
- Propositional symbols: P, Q, S, ... (atomic sentences)
- Sentences are combined by connectives:

...and [conjunction]

...or [disjunction]

...implies [implication / conditional]

..is equivalent [biconditional]

...not [negation]

- Literal: atomic sentence or negated atomic sentence

Examples of PL sentences

- P means “It is hot.”
- Q means “It is humid.”
- R means “It is raining.”
- (P Q) R

“If it is hot and humid, then it is raining”

- Q P

“If it is humid, then it is hot”

- A better way:

Hot = “It is hot”

Humid = “It is humid”

Raining = “It is raining”

s: Aya goes out for a walk.

t: The moon is out.

u: It is snowing.

: If the moon is out and it is not snowing, then

Aya goes out for a walk.

If it is snowing and the moon is not out, then Aya

will not go out for a walk.

Logical equivalence

- Two sentences are logically equivalent} iff true in same models: α ≡ ß iff α╞ βand β╞ α

Identity laws

Like adding 0

Domination laws

Like multiplying by 0

Idempotent laws

Delete redundancies

Double negation

“I don’t like you, not”

Commutativity

Like “x+y = y+x”

Associativity

Like “(x+y)+z = y+(x+z)”

Distributivity

Like “(x+y)z = xz+yz”

De Morgan

Tables of Logical EquivalencesExcluded middle

Negating creates opposite

Definition of implication in terms of Not and Or

Tables of Logical EquivalencesA compound statement is called a tautology(T0) if it is

true for all truth value assignments for its component statements.

If a compound statement is false for all such assignments, then it is called a contradiction(F0).

: tautology

: contradiction

Propositional Logic - 2 more defn…

A tautology is a proposition that’s always TRUE.

A contradiction is a proposition that’s always FALSE.

T

T

F

F

Tautology example

Demonstrate that

[¬p(p q )]q

is a tautology in two ways:

- Using a truth table – show that [¬p(p q )]q is always true
- Using a proof (will get to this later).

Derivational Proof Techniques

EG: consider the compound proposition

(p p ) ((sr)t) ) (qr )

Q: Why is this a tautology?

Derivational Proof Techniques

A: Part of it is a tautology (p p ) and the disjunction of True with any other compound proposition is still True:

(p p ) ((sr)t )) (qr )

- T ((sr)t )) (qr )
- T

Derivational techniques formalize the intuition of this example.

Tautology by proof

[¬p(p q )]q

Tautology by proof

[¬p(p q )]q

[(¬pp)(¬pq)]q Distributive

[ F (¬pq)]q ULE

[¬pq ]q Identity

Tautology by proof

[¬p(p q )]q

[(¬pp)(¬pq)]q Distributive

[ F (¬pq)]q ULE

[¬pq ]q Identity

¬[¬pq ] q ULE

Tautology by proof

[¬p(p q )]q

[(¬pp)(¬pq)]q Distributive

[ F (¬pq)]q ULE

[¬pq ]q Identity

¬[¬pq ] q ULE

[¬(¬p)¬q ] q DeMorgan

Tautology by proof

[¬p(p q )]q

[(¬pp)(¬pq)]q Distributive

[ F (¬pq)]q ULE

[¬pq ]q Identity

¬[¬pq ] q ULE

[¬(¬p)¬q ] q DeMorgan

[p ¬q ] q Double Negation

Tautology by proof

[¬p(p q )]q

[(¬pp)(¬pq)]q Distributive

[ F (¬pq)]q ULE

[¬pq ]q Identity

¬[¬pq ] q ULE

[¬(¬p)¬q ] q DeMorgan

[p ¬q ] q Double Negation

p [¬q q ]Associative

Tautology by proof

[¬p(p q )]q

[(¬pp)(¬pq)]q Distributive

[ F (¬pq)]q ULE

[¬pq ]q Identity

¬[¬pq ] q ULE

[¬(¬p)¬q ] q DeMorgan

[p ¬q ] q Double Negation

p [¬q q ]Associative

p [q ¬q ]Commutative

Tautology by proof

[¬p(p q )]q

[(¬pp)(¬pq)]q Distributive

[ F (¬pq)]q ULE

[¬pq ]q Identity

¬[¬pq ] q ULE

[¬(¬p)¬q ] q DeMorgan

[p ¬q ] q Double Negation

p [¬q q ]Associative

p [q ¬q ]Commutative

p T ULE

Tautology by proof

[¬p(p q )]q

[(¬pp)(¬pq)]q Distributive

[ F (¬pq)]q ULE

[¬pq ]q Identity

¬[¬pq ] q ULE

[¬(¬p)¬q ] q DeMorgan

[p ¬q ] q Double Negation

p [¬q q ]Associative

p [q ¬q ]Commutative

p T ULE

T Domination

Examples

- “I don’t study well and fail” is logically equivalent to “If I study well, then I don’t fail”
- Write a C program that represents the compound proposition (pq)r

Limitations of propositional logic

- So far we studied propositional logic
- Some English statements are hard to model in propositional logic:
- “If your roommate is wet because of rain, your roommate must not be carrying any umbrella”
- Pathetic attempt at modeling this:
- RoommateWetBecauseOfRain => (NOT(RoommateCarryingUmbrella0) AND NOT(RoommateCarryingUmbrella1) AND NOT(RoommateCarryingUmbrella2) AND …)

Problems with propositional logic

- No notion of objects
- No notion of relations among objects
- RoommateCarryingUmbrella0 is instructive to us, suggesting
- there is an object we call Roommate,
- there is an object we call Umbrella0,
- there is a relationship Carrying between these two objects
- Formally, none of this meaning is there
- Might as well have replaced RoommateCarryingUmbrella0 by P

Syntax

Constants

- Constants refer to objects, functions and relationships.

Ahmed, Mona, loves, happy,

- Simple sentences express relationships among objects.

loves(Ahmed, Mona)

They are called atoms.

- Compound sentences capture relationships among relations.

loves(x,y) Þ loves(y,x)

loves(x,y) Ù loves(y,x) Þ happy(x)

- Relations can be unary as well.

tall(Tomy)

Elements of first-order logic

- Objects:can give these names such as Umbrella0, Person0, John, Earth, …
- Relations:Carrying(., .), IsAnUmbrella(.)
- Carrying(Person0, Umbrella0), IsUmbrella(Umbrella0)
- Relations with one object = unary relations = properties
- Functions: Roommate(.)
- Roommate(Person0)
- Equality: Roommate(Person0) = Person1

Example with Functions

E.g. Mona loves her dog.

loves(Mona, dog_of (Mona))

Note: We are allowed to relate sentences only.

So, we can say:

loves(Mona, dog_of (Mona)) Ù

loves(Mona, cat_of (Mona))

But not,

loves(Mona,

dog_of (Mona) Ù cat_of (Mona))

E.g. How about saying that Ahmed has a big nose?

Ahmed is an object and

nose_of (Ahmed)

is a function that constructs an object from the argument object.

Then, we can write:

big(nose_of (Ahmed))

First-Order Logic: ,

- The language that we have described so far, consisting of atoms and the connectives (,,,,,) is typically called predicate logic.
- To extend it to first-order logic, we need to add quantifiers.
- The purpose of quantifiers is to allow us to say things about sets of objects.
- To say that Heba loves everything we write:

x. loves (Heba, x)

We can think of as a big conjunction. For example, if there are only three objects Heba, dog, and cat, what the above asserts is:

loves (Heba, dog) loves (Heba, cat) loves (Heba, Heba)

- To say that Hassan loves something we write:

x. loves (Hassan, x)

We can think of as a big disjunction. For example, if there are only three objects as above, then what we are asserting is:

loves (Hassan, dog) loves (Hassan, cat) loves (Hassan, Hassan)

First Order Predicate Logic –

- enriched by variables, predicates, functions
- quantifiers ,

friends(father(david),father(andrew))

Y friends(Y, petr)

X likes(X,ice_cream)

X Y Z parent(X,Y) parent(X,Z) siblings(Y,Z)

Reasoning about many objects at once

- Variables: x, y, z, … can refer to multiple objects
- New operators “for all” and “there exists”
- Universal quantifier and existential quantifier
- for all x: CompletelyWhite(x) => NOT(PartiallyBlack(x))
- Completely white objects are never partially black
- there exists x: PartiallyWhite(x) AND PartiallyBlack(x)
- There exists some object in the world that is partially white and partially black

Practice converting English to first-order logic

- “John has an umbrella”
- there exists y: (Has(John, y) AND IsUmbrella(y))
- “Anything that has an umbrella is not wet”
- for all x: ((there exists y: (Has(x, y) AND IsUmbrella(y))) => NOT(IsWet(x)))
- “Any person who has an umbrella is not wet”
- for all x: (IsPerson(x) => ((there exists y: (Has(x, y) AND IsUmbrella(y))) => NOT(IsWet(x))))

More practice converting English to first-order logic

- “John has at least two umbrellas”
- there exists x: (there exists y: (Has(John, x) AND IsUmbrella(x) AND Has(John, y) AND IsUmbrella(y) AND NOT(x=y))
- “John has at most two umbrellas”
- for all x, y, z: ((Has(John, x) AND IsUmbrella(x) AND Has(John, y) AND IsUmbrella(y) AND Has(John, z) AND IsUmbrella(z)) => (x=y OR x=z OR y=z))

Even more practice converting English to first-order logic…

- “Duke’s basketball team defeats any other basketball team”
- for all x: ((IsBasketballTeam(x) AND NOT(x=BasketballTeamOf(Duke))) => Defeats(BasketballTeamOf(Duke), x))
- “Every team defeats some other team”
- for all x: (IsTeam(x) => (there exists y: (IsTeam(y) AND NOT(x=y) AND Defeats(x,y))))

- Translate the following into English.
- x hesitates(x) lost(x)
- He who hesitates is lost.
- x business(x) like(x,Showbusiness)
- There is no business like show business.
- x glitters(x) gold(x)
- Not everything that glitters is gold.
- x t person(x) time(t) canfool(x,t)
- You can fool some of the people all the time.

Translating English to FOL

Every gardener likes the sun.

x gardener(x) likes(x,Sun)

You can fool some of the people all of the time.

x t person(x) time(t) can-fool(x,t)

You can fool all of the people some of the time.

x t (person(x) time(t) can-fool(x,t))

x (person(x) t (time(t) can-fool(x,t)))

All purple mushrooms are poisonous.

x (mushroom(x) purple(x)) poisonous(x)

No purple mushroom is poisonous.

x purple(x) mushroom(x) poisonous(x)

x (mushroom(x) purple(x)) poisonous(x)

There are exactly two purple mushrooms.

x y mushroom(x) purple(x) mushroom(y) purple(y) ^ (x=y) z (mushroom(z) purple(z)) ((x=z) (y=z))

Clinton is not tall.

tall(Clinton)

X is above Y iff X is on directly on top of Y or there is a pile of one or more other objects directly on top of one another starting with X and ending with Y.

x y above(x,y) ↔ (on(x,y) z (on(x,z) above(z,y)))

Equivalent

Equivalent

Resolution for first-order logic

- for all x: (NOT(Knows(John, x)) OR IsMean(x) OR Loves(John, x))
- John loves everything he knows, with the possible exception of mean things
- for all y: (Loves(Jane, y) OR Knows(y, Jane))
- Jane loves everything that does not know her
- What can we unify? What can we conclude?
- Use the substitution: {x/Jane, y/John}
- Get: IsMean(Jane) OR Loves(John, Jane) OR Loves(Jane, John)
- Complete (i.e., if not satisfiable, will find a proof of this), if we can remove literals that are duplicates after unification
- Also need to put everything in canonical form first

Properties of quantifiers

- x y is the same as yx
- x y is the same as yx
- x y is not the same as yxx y Loves(x,y)
- “There is a person who loves everyone in the world” yx Loves(x,y)
- “Everyone in the world is loved by at least one person”
- Quantifier duality: each can be expressed using the other x Likes(x,IceCream) x Likes(x,IceCream) x Likes(x,Broccoli) xLikes(x,Broccoli)

Using FOL

- Brothers are siblings
- x,y Brother(x,y) Sibling(x,y)
- One\'s mother is one\'s female parent
- m,c Mother(c) = m (Female(m) Parent(m,c))
- “Sibling” is symmetric
- x,y Sibling(x,y) Sibling(y,x)
- A first cousin is a child of a parent’s sibling
- x,y FirstCousin(x,y) p,ps Parent(p,x) Sibling(ps,p) Parent(ps,y)

An example

- Sameh is a lawyer.
- Lawyers are rich.
- Rich people have big houses.
- Big houses are a lot of work.
- We would like to conclude that Sameh’s house is a lot of work.
- Natural languages are ambiguous so we can have different axiomatizations.

Axiomatization 1

- lawyer(Sameh)
- x lawyer(x) rich(x)
- x rich(x) y house(x,y)
- x,y rich(x) house(x,y) big(y)
- x,y ( house(x,y) big(y) work(y) )
- 3 and 4, say that rich people do have at least one house and all their houses are big.
- Conclusion we want to show:

house(Sameh, S_house) work(Sameh, S_house)

- Or, do we want to conclude that John has at least one house that needs a lot of work? I.e.
- y house(Sameh,y) work(y)

Amir and the cat

- Everyone who loves all animals is loved by someone.
- Anyone who kills an animal is loved by no one.
- Mohamed loves all animals.
- Either Mohamed or Amir killed the cat, who is named SoSo.
- Did Amir kill the cat?

Download Presentation

Connecting to Server..