formal logic

40
CS 331 Dr M M Awais 1 FOL Formal Logic Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference : Chapter Two The predicate Calculus Luger’s Book Examples included from Norvig and Russel.

Upload: iden

Post on 23-Jan-2016

83 views

Category:

Documents


1 download

DESCRIPTION

Formal Logic. The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference : Chapter Two The predicate Calculus Luger’s Book Examples included from Norvig and Russel. First-order logic. Whereas propositional logic assumes the world contains facts , - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Formal Logic

CS 331 Dr M M Awais 1

FOL

Formal LogicFormal Logic

• The most widely used formal logic method is

FIRST-ORDER PREDICATE LOGIC

Reference: Chapter Two The predicate Calculus

Luger’s Book

Examples included from Norvig and Russel.

Page 2: Formal Logic

CS 331 Dr M M Awais 2

FOL

First-order logic

• Whereas propositional logic assumes the world contains facts,

• first-order logic (like natural language) assumes the world contains– Objects: people, houses, numbers, colors, baseball

games, wars, …– Relations: red, round, prime, brother of, bigger than,

part of, comes between, …– Functions: father of, best friend, one more than, plus,

Page 3: Formal Logic

CS 331 Dr M M Awais 3

FOL

Syntax of FOL: Basic elements

• Constants john, 2, lums,...

• Predicates brother, >,...

• Functions sqrt, leftsideOf,...

• Variables X,Y,A,B...

• Connectives , , , , • Equality =

• Quantifiers ,

Page 4: Formal Logic

CS 331 Dr M M Awais 4

FOL

Truth in first-order logic• Sentences are true with respect to a model and an

interpretation

• Model contains objects (domain elements) and relations among them

• Interpretation specifies referents forconstant symbols → objectspredicate symbols → relationsfunction symbols → functional relations

• An atomic sentence predicate(term1,...,termn) is trueiff the objects referred to by term,,..., term ,are in the relation referred to by predicate

Page 5: Formal Logic

CS 331 Dr M M Awais 5

FOL

Alphabets-IAlphabets-I

Predicates, variables, functions,constants, connectives, quantifiers, and delimiters

Constants: (first letter small)bLUE a colorsanTRO a carcrow a birdVariables: (first letter capital)Dog: an element that is a dog, but unspecifiedColor: an unspecified color

Page 6: Formal Logic

CS 331 Dr M M Awais 6

FOL

Alphabets-IIAlphabets-IIFunction:

Maps Sentences to Objects

Ali is father of Babar father(babar) = ali

father_of(baber) = ali

• Interpretation has to be very clear.

• If you write father(baber), the answer should be ali

• For the above functions the arity is 1

(number of arguments to the function)

Page 7: Formal Logic

CS 331 Dr M M Awais 7

FOL

Alphabets-IIAlphabets-IIFunctions:1) shahid likes zahid likes(shahid) =

zahid

2) atif likes abid likes(atif) = abid

3) Constants to Variables likes(X) = Y

{X,Y} have two possible BINDINGSBINDINGS

{X, Y} could be {shahid, zahid}

Or

{X,Y} could be {atif, abid}

likes(X) =Y

Substitutions:

For 1 to be true:{shahid/X, zahid/Y}

For 2 to be true:{atif/X, abid/Y}

Page 8: Formal Logic

CS 331 Dr M M Awais 8

FOL

Alphabets-IIAlphabets-IIPredicate

Maps Sentences to Truth Values (True/False)

1) Shahid is student student(shahid)

2) Sana is a girl girl(sana)

3) Father of baber is elder than Hamza

elder(father(babar), hamza)

For 1 and 2 arity is 1 and for 3 the arity is 2

Page 9: Formal Logic

CS 331 Dr M M Awais 9

FOL

Alphabets-IIAlphabets-IIPredicate

1) Shahid is a good studentstudent(shahid,good) or good_student(shahid)

2) Sana is a friend of Saima, Sana and Saima both are girls

friend_of(sana,saima)^girl(sana)^girl(saima)

3) Bill helps Fred

helps(bill,fred)

Page 10: Formal Logic

CS 331 Dr M M Awais 10

FOL

Atomic sentencesAtomic sentence = predicate (term1,...,termn)

or term1 = term2

term = function (term1,...,termn) or constant

or variable • brother(john,richard)• greater(length(leftsideOf(squareA)), length(leftsideOf(squareB)))• >(length(leftsideOf(squareA)), length(leftsideOf(squareB)))

Functions cannot be atomic sentences

Page 11: Formal Logic

CS 331 Dr M M Awais 11

FOL

Alphabets-IIIAlphabets-IIIConnectives:^ andv or~ not

ImplicationQuantificationAll persons can seeThere is a person who cannot see

Universal quantifiers (ALL)Existential quantifiers (There exists)

Page 12: Formal Logic

CS 331 Dr M M Awais 12

FOL

Complex sentences

• Complex sentences are made from atomic sentences using connectives

S, S1 S2, S1 S2, S1 S2, S1 S2,

sibling(ali,hamza) sibling(hamza,ali) >(1,2) ≤ (1,2) (1 is greater than 2 or less than equal to 2)

>(1,2) >(1,2) (1 is greater than 2 and is not greater than equal to 2)

Page 13: Formal Logic

CS 331 Dr M M Awais 13

FOL

ExamplesExamples

My house is a blue, two-story, with red shutters, and is a corner houseblue(my-house)^two-story(my-house)^red-shutters(my-

house)^corner(my-house)

Ali bought a scooter or a carbought(ali , car) v bought(ali , scooter)

IF fuel, air and spark are present the fuel will combustpresent(spark)^present(fuel)^present(air)

combustion(fuel)

Page 14: Formal Logic

CS 331 Dr M M Awais 14

FOL

Universal quantification <variables> <sentence>Everyone at LUMS is smart:

X at(X, lums) smart(X)

X P is true in a model m iff P is true with X being each possible object in the model

• Roughly speaking, equivalent to the conjunction of instantiations of P

at(rabia,lums) smart(rabia) at(shahid,lums) smart(shahid) at(lums,lums) smart(lums) ...

Page 15: Formal Logic

CS 331 Dr M M Awais 15

FOL ExamplesExamplesAll people need air

X[person(X) need_AIR(X)]

The owner of the car also owns the boat

[owner(X , car) ^ car(X , boat)]

Formulate the following expression in the PC:“Ali is a computer science student but not a pilot or

a football player”

cs_STUDENT(ali) ( pilot(ali) ft_PLAYER(ali) )

Page 16: Formal Logic

CS 331 Dr M M Awais 16

FOL

ExamplesExamples

Restate the sentence in the following way:

1. Ali is a computer science (CS) student

2. Ali is not a pilot

3. Ali is not a football player

cs_student(ali)^

~pilot(ali)^

~football_player(ali)

Page 17: Formal Logic

CS 331 Dr M M Awais 17

FOL

ExamplesExamplesStudying fuzzy systems is exciting and applying logic is great

fun if you are not going to spend all of your time slaving over the terminal

X(~slave_terminal(X) [fs_eciting(X)^logic_fun(X)])

Every voter either favors the amendment or despises it

X[voter(X) [favor(X , amendment) v despise(X,amendment)]

^ ~[favor(X , amendment) v

despise(X , amendment)] (this part simply endorses the statement, may not be required)

Page 18: Formal Logic

CS 331 Dr M M Awais 18

FOL

Undecidable Predicate

• For which exhaustive testing is required• Example:

X likes(zahra, X)• This sentence is computationally impossible to

calculate• Scope of problem domain is to be limited to

remove this problem, – i.e., X is a variable representing final year female

student in the AI class, compared to an X representing all the people in the city of Lahore

Page 19: Formal Logic

CS 331 Dr M M Awais 19

FOL

Robotic Arm Example

•Represent the initial details of the system•Generate sentences of descriptive and or implicative nature•Modify the facts using new sentences

a

b

c

d

Page 20: Formal Logic

CS 331 Dr M M Awais 20

FOL

Example: Robotic Arm

• Represent the initial details of the systems

a

b

c

d

on(a,b)on( c,d)ontable(b)ontable(d)clear(a)clear(c)hand_empty

Page 21: Formal Logic

CS 331 Dr M M Awais 21

FOL

Goal:To pick a block and place it over another block

Define predicate: stack_on(X,Y)General sentence:

Conditions ConclusionsWhat could the conditions?

hand_emptyclear (X)clear (Y)pick (X)put_on (X,Y)

a

b

c

d

hand_empty ^ clear (X) ^ clear (Y) ^ pick (X) ^ put_on (X,Y) stack_on (X,Y)

Page 22: Formal Logic

CS 331 Dr M M Awais 22

FOL

Goal:To pick a block and place it over another block

hand_empty ^ clear (X) ^ clear (Y) ^ pick (X) ^ put_on (X,Y) stack_on (X,Y)

hand_empty ^ clear (X) pick (X) clear(Y) ^ pick (X) put_on (X,Y)

put_on (X,Y) stack_on (X,Y)

Semantically more correct

hand_empty could be written as empty(hand), if hand_empty is in the knowledge base, then hand is empty otherwise false.

put_on (X,Y) stack_on (X,Y)is in fact equivalence

Page 23: Formal Logic

CS 331 Dr M M Awais 23

FOL

Example: Robotic Arm• Modify details of the systems

a

b

c

d

on(b,a)on( c,d)ontable(b)ontable(d)clear(a)clear(c)hand_empty

a

b

c

d

on(b,a)on( c,d)on(e,a)ontable(b)ontable(d)clear(c)clear(e)hand_empty

e

Page 24: Formal Logic

CS 331 Dr M M Awais 24

FOL

Models for FOL: Example

Page 25: Formal Logic

CS 331 Dr M M Awais 25

FOL

A common mistake to avoid

• Represent: Everyone at LUMS is smart

X at(X,lums) smart(X)X at(X, lums) smart(X)• Common mistake:

using as the main connective with : means“Everyone is at LUMS and everyone is smart”“Everyone at LUMS is smart” • Typically, is the main connective with

Page 26: Formal Logic

CS 331 Dr M M Awais 26

FOL

Existential quantification <variables> <sentence>

• Someone at LUMS is smart: X at(X,lums) smart(X)

X P is true in a model m iff P is true with X being some possible object in the model

• Roughly speaking, equivalent to the disjunction of instantiations of P

at(sana,lums) smart(sana) at(bashir,lums) smart(bashir) at(lums,lums) smart(lums) ...

Page 27: Formal Logic

CS 331 Dr M M Awais 27

FOL

Another common mistake to avoid

• Typically, is the main connective with

• Common mistake: using as the main connective with :

X at(X,lums) smart(X)

is true if there is anyone who is not at LUMS!• Even if the antecedent is false the sentence can

still be true (see the truth table of implication).

Page 28: Formal Logic

CS 331 Dr M M Awais 28

FOL

Properties of quantifiers X Y is the same as Y X X Y is the same as Y X

X Y is not the same as Y X X Y loves(X,Y)

“There is a person who loves everyone in the world” Y X 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,car) X likes(X,car) X likes(X,bread) X likes(X,bread)

Page 29: Formal Logic

CS 331 Dr M M Awais 29

FOL

Equality

• term1 = term2 is true under a given interpretation if and only if term1 and term2 refer to the same object

• Sibling in terms of Parent:X,Y sibling(X,Y)

[(X = Y) M,F (M = F) parent(M,X) parent(F,X) parent(M,Y) parent(F,Y)]

Page 30: Formal Logic

CS 331 Dr M M Awais 30

FOL

Using FOL

The kinship domain:• 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)

Page 31: Formal Logic

CS 331 Dr M M Awais 31

FOL

Rules: Wumpus world

• Perception T,S,B percept([S,B,glitter],T) glitter(T)

• Reflex T glitter(T) bestAction(grab,T)

Page 32: Formal Logic

CS 331 Dr M M Awais 32

FOL

Deducing Squares/PropertiesWhat are Adjacent Squares

X,Y,A,B adjacent([X,Y],[A,B]) [A,B] {[X+1,Y], [X-1,Y],[X,Y+1],[X,Y-1]}

Properties of squares:S,T at(agent,S,T) breeze(T) breezy(S)

Squares are breezy near a pit:Diagnostic rule---infer cause from effect

S breezy(S) adjacent(R,S) pit(R)Causal rule---infer effect from cause

R pit(R) [S adjacent(R,S) breezy(S)]

Page 33: Formal Logic

CS 331 Dr M M Awais 33

FOL

Knowledge engineering in FOL

1. Identify the task2. Assemble the relevant knowledge3. Decide on a vocabulary of predicates, functions,

and constants4. Encode general knowledge about the domain5. Encode a description of the specific problem

instance6. Pose queries to the inference procedure and get

answers7. Debug the knowledge base

8.9.10.11.12.13.

Page 34: Formal Logic

CS 331 Dr M M Awais 34

FOL

The electronic circuits domain

One-bit full adder

Page 35: Formal Logic

CS 331 Dr M M Awais 35

FOL

The electronic circuits domain

1. Identify the task– Does the circuit actually add properly?

(circuit verification)2. Assemble the relevant knowledge

– Composed of wires and gates; Types of gates (AND, OR, XOR, NOT)

– Irrelevant: size, shape, color, cost of gates3. Decide on a vocabulary

– Alternatives:type(x1) = xortype(x1, xor)xor(x1)

–•

–•–

Page 36: Formal Logic

CS 331 Dr M M Awais 36

FOL

The electronic circuits domain4. Encode general knowledge of the domain

T1,T2 connected(T1, T2) signal(T1) = signal(T2) T signal(T) = 1 signal(T) = 0– 1 ≠ 0 T1,T2 connected(T1, T2) connected(T2, T1) G type(G) = OR signal(out(1,G)) = 1 N

signal(in(N,G)) = 1 G type(G) = AND signal(out(1,G)) = 0 N

signal(in(N,G)) = 0 G type(G) = XOR signal(out(1,G)) = 1

signal(in(1,G)) ≠ signal(in(2,G)) G type(G) = NOT signal(out(1,G)) ≠

signal(in(1,G))–

Page 37: Formal Logic

CS 331 Dr M M Awais 37

FOL

The electronic circuits domain

5. Encode the specific problem instancetype(x1) = xor type(x2) = xor

type(a1) = and type(a2) = and

type(o1) = or

connected(out(1,x1),in(1,x2)) connected(in(1,c1),in(1,x1))

connected(out(1,x1),in(2,a2)) connected(in(1,c1),in(1,a1))

connected(out(1,o2),in(1,o1)) connected(in(2,c1),in(2,x1))

connected(out(1,a1),in(2,o1)) connected(in(2,c1),in(2,a1))

connected(out(1,x2),out(1,c1)) connected(in(3,c1),in(2,x2))

connected(out(1,o1),out(2,c1)) connected(in(3,c1),in(1,a2))

Page 38: Formal Logic

CS 331 Dr M M Awais 38

FOL

The electronic circuits domain

6. Pose queries to the inference procedureWhat are the possible sets of values of all the

terminals for the adder circuit? I1,I2,I3,O1,O2 signal(in(1,c_1)) = I1 signal(in(2,c1)) = I2 signal(in(3,c1)) = I3 signal(out(1,c1)) = O1 signal(out(2,o1)) = O2

7. Debug the knowledge baseMay have omitted assertions like 1 ≠ 0

–•

Page 39: Formal Logic

CS 331 Dr M M Awais 39

FOL

Summary

• First-order logic:– objects and relations are semantic primitives– syntax: constants, functions, predicates,

equality, quantifiers

• Increased expressive power: sufficient to define wumpus world

Page 40: Formal Logic

CS 331 Dr M M Awais 40

FOL

Operations

• Unification: Algorithm for determining the subitutions needed to make two predicate calculus expressions match

• Skolemization: A method of removing or replacing existential quantifiers

• Composition: If S and S` are two substitutions sets, then the composition of S and S` (SS`) is obtained by applying the elements of S to the elements of S` and finally adding the results