Date post: | 30-Sep-2018 |
Category: |
Documents |
Upload: | phamnguyet |
View: | 218 times |
Download: | 0 times |
First Order Logic (FOL)CE417: Introduction to Artificial IntelligenceSharif University of TechnologySpring 2017
Soleymani
βArtificial Intelligence: A Modern Approachβ, 3rd Edition, Chapter 8
Why FOL?
2
To represent knowledge of complex environments concisely
Expressive enough to represent a good deal of of our knowledge
E.g., βpits cause breezes in adjacent squaresβ needs many rules in
propositional logic but one rule in FOL
Natural language elements & FOL elements
Some basic elements of natural language (included also in FOL):
Nouns and noun phrases referring to objects (squares, pits, wumpus)
Some of objects are defined as functions of other objects
Verbs and verb phrases referring to relation among objects (is breezy,is adjacent to, shoot)
Examples:
Objects: people, houses, numbers, baseball games,β¦
Relations
Unary relation or property: red, round, prime,β¦
π-ary: brother of, bigger than, inside, part of, owns, comes between,β¦
Functions: father of, best friend, one more than, beginning of,β¦
FOL does not include all elements of natural language.
3
Symbols & interpretations
Types of symbols
Constant for objects
Predicate for relations
Function for functional relations
4
Example
5
π΅πππ‘βππ(π ππβπππ, π½πβπ)
πΉππ‘βππ(π½πβπ) = π»ππππ¦
πππππππ(πΉππ‘βππ(π ππβπππ), πππ‘βππ(π½πβπ))
βπ₯ πΎπππ π₯ β ππππ ππ π₯
βπ₯ πΆπππ€π π₯ β πππ»πππ π₯, π½πβπ
βπ₯, π¦ π΅πππ‘βππ π₯, π ππβπππ β§ π΅πππ‘βππ π¦, π ππβπππ β§ Β¬(π₯ = π¦)
Β¬πΎπππ(π ππβπππ) β πΎπππ(π½πβπ)
π₯, π¦ πππππππ(π₯, π¦) [ π₯ = π¦ βπ, π (π = π) ππππππ‘(π, π₯) ππππππ‘(π, π₯) ππππππ‘(π, π¦) ππππππ‘(π, π¦)]
Syntax of FOL: Basic elements
Logical elements
Connectives ,,,,
Quantifiers ,
Domain specific elements
Constants π½πβπ, π ππβπππ, β¦
Predicates π΅πππ‘βππ, ...
Functions πΏπππ‘πΏππππ,...
Non-logical general elements
Variables π₯, π¦, π, π, β¦
Equality =
6
Syntax of FOL: Atomic sentences
Atomic Sentence β Predicate | Predicate (Term,β¦, Term) |Term=Term
Term β Constant| variable| Function(Term,β¦)
Constant β Richard |A | X1|β¦
Variable β a | x | s | β¦
Function β Mother | LeftLeg |β¦
Predicate β True | False | After | Loves | Hascolor | β¦.
7
ObjectRelation
1) π΅πππ‘βππ(π ππβπππ, π½πβπ)
2) πΉππ‘βππ(π½πβπ) = π»ππππ¦
3) πππππππ(πΉππ‘βππ(π ππβπππ), πππ‘βππ(π½πβπ))
Syntax of FOL (BNF Grammar)
8
Sentence β Atomic Sentence | ComplexSentenceAtomic Sentence β Predicate | Predicate (Term,β¦, Term) |Term=Term
ComplexSentence β ( Sentence ) | Β¬ Sentence
| Sentence β§ Sentence | Sentence β¨ Sentence| Sentence Sentence | Sentence β Sentence| Quantifier variable, β¦Sentence
Term β Function(Term,β¦)
| Constant| variable
Quantifier β β | β
Constant β A | X1β¦
Variable β a | x | s | β¦
Predicate β True | False | After | Loves | Hascolor | β¦.
Function β Mother | LeftLeg |β¦
ππππππ‘ππ ππππππππππ: Β¬, =,β§,β¨, β, βΊ
Universal quantification
π₯ π(π₯) is true in a model π iff π(π₯) is true with π₯ beingeach possible object in the model
conjunction of instantiations of π(π₯)
9
Existential quantification
π₯ π(π₯) is true in a model π iff π(π₯) is true with π₯ beingsome possible object in the model
disjunction of instantiations of π(π₯)
10
Properties of quantifiers
π₯ π¦ π is the same as π¦ π₯ π π₯ π¦ π is the same as π¦ π₯ π π₯ π¦ π is not the same as π¦ π₯ π
π₯ π¦ πππ‘βππ(π₯, π¦) βThere is a person who is mother of everyone in the worldβ
π¦ π₯ πππ‘βππ(π₯, π¦) βEveryone in the world has a motherβ
Quantifier duality π₯ π β π₯π π₯ π β Β¬βπ₯ π
11
FOL: Kinship domain example
Objects: people
Functions:πππ‘βππ, πΉππ‘βππ
Predicates:
Unary:ππππ, πΉπππππ
Binary:ππππππ‘, πππππππ, π΅πππ‘βππ, πππ π‘ππ, πΆβπππ, π·ππ’πβπ‘ππ, πππ, ππππ’π π,
ππππ, π»π’π ππππ, πΊππππππππππ‘, πΊπππππβπππ, πΆππ’π ππ, π΄π’ππ‘, πππππ
13
FOL: Kinship domain example
14
Sample sentences:
π, π πππ‘βππ π = π β (πΉπππππ(π) β§ ππππππ‘(π, π))
π, π ππππππ‘ π, π β πΆβπππ(π, π)
π, π πΊππππππππππ‘ π, π β βπ ππππππ‘ π, π β§ ππππππ‘ π, π
π₯, π¦ ππππππππ π₯, π¦ β π₯ β π¦ β§ βπ ππππππ‘ π, π₯ β§ ππππππ‘ π, π₯
Assertions & queries in FOL KBs
Assertions: sentences added to πΎπ΅ using ππΈπΏπΏ
ππππ(πΎπ΅, πΎπππ(π½πβπ))
ππππ(πΎπ΅, (βπ₯ πΎπππ π₯ β ππππ ππ π₯ ))
Queries or goals: questions asked from πΎπ΅ using π΄ππΎ
π΄ππΎ πΎπ΅, πΎπππ π½πβπ
π΄ππΎ πΎπ΅, βπ₯ πΎπππ π₯
Substitution or binding list:AskVars
In KB of Horn clauses, every way of making the query true will bind thevariables to specific values
AskVars(πΎπ΅, πΎπππ(π₯)): answer {π₯/π½πβπ}
If KB contains πΎπππ π½πβπ β¨ πΎπππ(π ππβπππ), there is no binding althoughπ΄ππΎ πΎπ΅, βπ₯ πΎπππ π₯ is true
15
FOL: Set domain example
16
Objects: sets, elements
Functions: π 1 β© π 2, π 1 βͺ π 2, {π₯|π }
Predicates: Unary: Set
Binary: π₯ β π , π 1 β π 2
π πππ‘(π ) β (π = {}) β¨ (βπ₯, π 2 πππ‘(π 2) π = {π₯|π 2})
π₯, π {π₯|π } = {} π₯, π π₯ β π β π = {π₯|π }
π₯, π π₯ β π β βπ¦, π 2 (π = {π¦|π 2} (π₯ = π¦ β¨ π₯ β π 2))] π 1, π 2 π 1π 2 (π₯ π₯π 1 π₯ β π 2) π 1, π 2 (π 1 = π 2) (π 1 π 2 π 2 π 1) π₯, π 1, π 2 π₯ β (π 1π 2) (π₯ β π 1 π₯ β π 2)
π₯, π 1, π 2 π₯ β (π 1π 2) (π₯ β π 1 π₯ β π 2)
FOL: Wumpus world example
17
Environment
Objects: pairs identifying squares [π, π], π΄ππππ‘, ππ’πππ’π
Relations:πππ‘, π΄πππππππ‘, π΅ππππ§π¦, ππ‘πππβπ¦,
πππππππ‘, π΄ππ‘πππ, π΄π‘, π»ππ£ππ΄ππππ€, β¦
FOL: Wumpus world example
Perceptions: perceives a smell, a breeze, and glitter at π‘ = 5:
πππππππ‘ ππ‘πππβ, π΅ππππ§π, πΊπππ‘π‘ππ, ππππ, ππππ , 5
Actions: ππ’ππ(πΏπππ‘), ππ’ππ(π ππβπ‘), πΉπππ€πππ, πβπππ‘, πΊπππ, πΆππππ
Perceptions implies facts about current state
βπ‘, π , π, π, π πππππππ‘( π , π΅ππππ§π, π, π, π , π‘) β π΅ππππ§π(π‘)
Simple reflex behavior
βπ‘ πΊπππ‘π‘ππ(π‘) β π΅ππ π‘π΄ππ‘πππ(πΊπππ, π‘)
AskVars(βπ π΅ππ π‘π΄ππ‘πππ(π, 5))
Binding list: e.g., {π/πΊπππ}
18
FOL: Wumpus world example
19
Samples of rules:
βπ₯, π¦, π, π π΄ππ π₯, π¦ , π, π β π₯ = π β§ π¦ = π β 1 β¨ π¦ = π β 1
β¨ π¦ = π β§ π₯ = π β 1 β¨ π₯ = π + 1
π΄π‘ π΄ππππ‘, π , π‘
βπ₯, π¦ βπ‘ π΄π‘(ππ’πππ’π , [π₯, π¦], π‘)
βπ , π‘ π΄π‘ π΄ππππ‘, π , π‘ β§ π΅ππππ§π π‘ β π΅ππππ§π¦ π
βπ₯, π 1, π 2, π‘ π΄π‘ π΄ππππ‘, π 1, π‘ β§ π΄π‘ π΄ππππ‘, π 2, π‘ β π 1 = π 2
βπ , π‘ π΅ππππ§π¦ π β βπ π΄ππ π, π β§ πππ‘ π
One successor-state axiom for each predicate
βπ‘ π»ππ£ππ΄ππππ€ π‘ + 1 β ( π»ππ£ππ΄ππππ€ π‘ β§ Β¬π΄ππ‘πππ πβπππ‘, π‘ )
Knowledge Engineering (KE) in FOL
1) Identify the task
2) Assemble the relevant knowledge
3) Decide on a vocabulary of predicates, functions, and
constants (Ontology)
4) Encode general knowledge about the domain
5) Encode a description of the specific problem instance
6) Pose queries to the inference procedure and get answers
7) Debug the knowledge base
20
KE: electronic circuits example (steps)
1) Identify the tasko Does the circuit add properly? (circuit verification)
2) Assemble the relevant knowledgeo Signals, input and output terminals, gates, wires connecting gates,
types of gates (AND,OR, XOR,NOT)
3) Decide on a vocabulary (ontology)o types of gates, terminals of gates, connections between gates, signal
on terminals of gates
o e.g., alternatives for determining the type of a gate:o ππ¦ππ(π1) = πππ o πππ (π1)o ππ¦ππ(π1, πππ )
22
KE: electronic circuits example (steps)
4) Encode general knowledge of the domain
π‘1, π‘2 πΆππππππ‘ππ(π‘1, π‘2) ππππππ(π‘1) = ππππππ(π‘2)
π‘ ππππππ π‘ = 1 β¨ ππππππ π‘ = 0
π‘1, π‘2 πΆππππππ‘ππ π‘1, π‘2 β πΆππππππ‘ππ π‘2, π‘1
π ππ¦ππ π = ππ β (ππππππ ππ’π‘ 1, π = 1 β βπ ππππππ πΌπ π, π = 1)
π ππ¦ππ π = π΄ππ· β (ππππππ ππ’π‘ 1, π = 0 β βπ ππππππ πΌπ π, π = 0)
π ππ¦ππ π = πππ β (ππππππ ππ’π‘ 1, π = 0 β ππππππ πΌπ 1, π
= ππππππ πΌπ 2, π )
π ππ¦ππ π = πππ (ππππππ ππ’π‘ 1, π β ππππππ πΌπ 1, π )
1 β 0
23
[You can see a more accurate encoding in 3rd edition of AIMA]
KE: electronic circuits example (steps)
5) Encode the specific problem instanceππ¦ππ(π1) = πππ ππ¦ππ(π2) = πππ
ππ¦ππ(π΄1) = π΄ππ· ππ¦ππ(π΄2) = π΄ππ·ππ¦ππ(π1) = ππ
πΆππππππ‘ππ ππ’π‘ 1, π1 , πΌπ 1, π2 πΆππππππ‘ππ(πΌπ(1, πΆ1), πΌπ(1, π1))πΆππππππ‘ππ ππ’π‘ 1, π1 , πΌπ 2, π΄2 πΆππππππ‘ππ(πΌπ(1, πΆ1), πΌπ(1, π΄1))πΆππππππ‘ππ ππ’π‘ 1, π΄2 , πΌπ 1, π1 πΆππππππ‘ππ(πΌπ(2, πΆ1), πΌπ(2, π1))πΆππππππ‘ππ ππ’π‘ 1, π΄1 , πΌπ 2, π1 πΆππππππ‘ππ(πΌπ(2, πΆ1), πΌπ(2, π΄1))πΆππππππ‘ππ ππ’π‘ 1, π2 , ππ’π‘ 1, πΆ1 πΆππππππ‘ππ(πΌπ(3, πΆ1), πΌπ(2, π2))πΆππππππ‘ππ ππ’π‘ 1, π1 , ππ’π‘ 2, πΆ1 πΆππππππ‘ππ(πΌπ(3, πΆ1), πΌπ(1, π΄2))
24
KE: electronic circuits example (steps)
6) Pose queries to the inference procedure
π1, π2, π3 ππππππ πΌπ 1, πΆ1 = π1 ππππππ πΌπ 2, πΆ1 = π2
ππππππ πΌπ 3, πΆ1 = π3 ππππππ ππ’π‘ 1, πΆ1 = 0
ππππππ(ππ’π‘(2, πΆ1)) = 1
Bindings= {π1/1, π2/1, π3/0}, {π1/1, π2/0, π3/1}, {π1/0, π2/1, π3/1}
25
KE: electronic circuits example (steps)
6) Pose queries to the inference procedure
π1, π2, π3, π1, π2 ππππππ πΌπ 1, πΆ1 = π1 ππππππ πΌπ 2, πΆ1 = π2
ππππππ πΌπ 3, πΆ1 = π3 ππππππ ππ’π‘ 1, πΆ1 = π1
ππππππ(ππ’π‘(2, πΆ1)) = π2
Bindings = whole input-output table
7) Debug the knowledge base
Has 1 β 0 been asserted?
26