๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐“ก๐“ธ๐“ธ๐“ถ5: ๐’ฆ๐‘œ๐“‡๐‘’๐’ถ ๐’ฐ๐“ƒ๐’พ๐“‹/Artificial Intelligence(COSE361)

[์ธ๊ณต์ง€๋Šฅ] 8~9. First-Order Logic(FOL)

1. Syntax and Semantics

 

 : propositional logic, ๋ช…์ œ๋…ผ๋ฆฌํ•™์€ ์ด ์„ธ์ƒ์˜ ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ propositional symbol๋กœ ๋‚˜ํƒ€๋‚ด๊ณ  ์˜ค์ง true/false์˜ ๊ฐ’๋งŒ ๊ฐ€์ง„๋‹ค. ๋”ฐ๋ผ์„œ ์ด ์„ธ์ƒ์— ๋งŽ์€ object๋“ค์„ ํ‘œํ˜„ํ•˜๊ธฐ์—” ๋ถ€์กฑํ•œ ๋ฉด์ด ์žˆ๋‹ค. (lack the expressive power)

 

  ์šฐ๋ฆฌ๊ฐ€ ์ž์—ฐ์–ด์˜ ๋ฌธ๋ฒ•์„ ์‚ดํŽด๋ณด๋ฉด, ๋Œ€๋ถ€๋ถ„์˜ elements๋“ค์ด ๋ช…์‚ฌ์™€ ๋ช…์‚ฌ๊ตฌ๋กœ object๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , ๋™์‚ฌ๋‚˜ ๋™์‚ฌ๊ตฌ๋กœ object๊ฐ„์˜ relation์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด relation์ค‘์˜ ์ผ๋ถ€๋Š” ์–ด๋–ค input์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ํ•˜๋‚˜์˜ value๋ฅผ ๋‚ด๋ฑ‰๋Š” function(object์˜ 1:1 ๊ด€๊ณ„)์ด๊ธฐ๋„ ํ•˜๋‹ค. 

 

  First-order logic์€ ์ด ์„ธ์ƒ์—” object์™€ ์ด๋“ค์„ ์—ฐ๊ฒฐํ•˜๋Š” relation์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— PL์— ๋น„ํ•ด FOL์ด ์šฐ๋ฆฌ์˜ ์ผ๋ฐ˜์ ์ธ ์ƒ์‹๋“ค์„ ๋‚˜ํƒ€๋‚ด๊ธฐ์— ์ข‹๋‹ค. 

 

1) Syntax

  โ‘  symbol : FOL์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ ๋ฌธ๋ฒ• ์š”์†Œ

   - object (=constant symbols)

   - relations(=predicate symbols : ์„œ์ˆ  symbol) - true๋‚˜ false๋ฅผ returnํ•˜๋Š” funtion

   - function (=function symbols) - ์–ด๋–ค value(symbol)์„ return

 

  โ‘ก term : object๋ฅผ logical expression์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ

   - complex term : function symbol๊ณผ ๊ทธ์— ์•Œ๋งž๋Š” arguments๋กœ ์ด๋ฃจ์–ด์ง„ term

   - variable : ๊ทธ ์ž์ฒด๋กœ term, function์˜ ์ธ์ˆ˜ ์—ญํ• ๋„ ํ•จ

   - constant (ground term์ž„)

   * ground term : variable์ด ์—†๋Š” term

  

  โ‘ข atomic sentence(= atom) : predicate symbol๋กœ ์ด๋ฃจ์–ด์ง. complex term์„ arguments๋กœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ

 

  โ‘ฃ ๋” ๋ณต์žกํ•œ complex sentence๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” propositional calculus์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ syntax์™€ semantics๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฌ๋Ÿฌ๊ฐ€์ง€ logical connective๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. 

 

  2) Semantics

 

  - equality symbol : First-order logic์—์„œ atomic sentence๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์—” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๋‘ ๊ฐœ์˜ term์ด ๊ฐ™์€ object๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค๋Š” ์‚ฌ์‹ค์„ equality symbol์„ ํ†ตํ•ด ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

 

 - predicate symbol์— ์˜ํ•ด ์ •์˜๋˜๋Š” relation์ด, argument๋กœ ํ‘œํ˜„๋˜๋Š” object๊ฐ„์— ์œ ์ง€๋œ๋‹ค๋ฉด ์ด๋•Œ์˜ Atomic sentence๋Š” true์ด๋‹ค. 

 

 - objects and interpretation

: first-order logic์˜ model์—๋Š” objects์™€ interpretation์˜ set์ด ์กด์žฌํ•œ๋‹ค. interpretation์€ object์™€ symbol์„ mapping ํ•ด์ฃผ๋Š”๋ฐ, ์ด๋ฅผ ํ†ตํ•ด constant symbol์ด ์–ด๋–ค objects๋ฅผ ์ง€์นญํ•˜๋Š”์ง€, predicate symbols์ด ์ด objects๊ฐ„์˜ ์–ด๋–ค relation์„ ์ง€์นญํ•˜๋Š”์ง€, function symbols์ด ์ด object ๊ฐ„์˜ ์–ด๋–ค funtions์„ ์ง€์นญํ•˜๋Š”์ง€๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 - Propositional logic๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ์— ๋Œ€ํ•ด์„œ entailment, validity ๋“ฑ๋“ฑ์˜ ๊ฐœ๋…๋“ค์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

3) Universal Quantifiers 

 

 : "every" ๋ฅผ ๋œปํ•˜๋Š” quantifier. ∀x P์˜ ๊ผด๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด ๋ฌธ์žฅ์˜ ๋œป์€, ๋ชจ๋“  object x์— ๋Œ€ํ•ด P๊ฐ€ ํ•ญ์ƒ true๋ผ๋Š” ๋œป์ด๋‹ค.

  ์ข€ ๋” ์—„๋ฐ€ํžˆ ๋งํ•ด๋ณด์ž๋ฉด,  ∀x P๋Š” Extended interpretation์œผ๋กœ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒฝ์šฐ์— P๊ฐ€ ์ฐธ์ด๋ผ๋ฉด, ์ฃผ์–ด์ง„ ๋ชจ๋ธ์— ๋Œ€ํ•ด  ∀x P๊ฐ€ true์ด๋‹ค. extended interpretation๋Š” x๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•œ๋‹ค. 

 

 ์˜ˆ๋ฅผ ๋“ค์–ด์„œ  ∀x King(x) ⇒ Person(x)๋Š” ๋ชจ๋“  x์— ๋Œ€ํ•ด, x๊ฐ€ king์ด๋ผ๋ฉด x๋Š” ์‚ฌ๋žŒ์ด๋ผ๋Š” ๋ฌธ์žฅ์„ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๋‹ค

                  ∀x King(x) ∧ Person(x) ๋Š” ๋ชจ๋“  x๋Š” king์ด๊ฑฐ๋‚˜ person์ด๋‹ค. ๋ผ๋Š” ๋œป์œผ๋กœ false์ด๋‹ค. (x๋Š” ๋ฌผ๊ฑด์ผ์ˆ˜๋„, ์™•์ด ์•„๋‹Œ ์‚ฌ๋žŒ์ผ ์ˆ˜๋„ ์žˆ๋‹ค)

 

(์ด ๋•Œ x๋Š” variable์ด๋‹ค)

 

 

 4) Existential Quantifiers

 : "some"์„ ๋œปํ•˜๋Š” quantifier. ∃x P์˜ ๊ผด๋กœ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์–ด๋–ค object x์— ๋Œ€ํ•ด P๊ฐ€ true๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, P๊ฐ€ true์ธ x๊ฐ€ ์ ์–ด๋„ ํ•œ ๊ฐœ ์กด์žฌํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ์ด๋‹ค. 

์ข€ ๋” ์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด, ์ ์–ด๋„ ํ•˜๋‚˜ ์ด์ƒ์˜ extended interpretation์—์„œ p๊ฐ€ true์ด๋ฉด, ∃x P๊ฐ€ ๊ทธ model์—์„œ true์ด๋‹ค.

 

∃x Crown(x) ∧ OnHead(x, John) : ์–ด๋–ค x๊ฐ€ ์™•๊ด€์ด๊ณ  John์ด ๊ทธ ์™•๊ด€์„ ์“ฐ๊ณ  ์žˆ๋‹ค.

∃x Crown(x) ⇒ OnHead(x, John) : ์–ด๋–ค x๊ฐ€ ์™•๊ด€์ด๋ผ๋ฉด John์ด ๊ทธ๊ฒƒ์„ ์“ฐ๊ณ ์žˆ๋‹ค

 : x๊ฐ€ ์™•๊ด€์ด ์•„๋‹ˆ๋ผ๋ฉด ์ „์ œ๊ฐ€ ๊ฑฐ์ง“์ด ๋˜์–ด ๋ฌธ์žฅ์ด ํ•ญ์ƒ true๊ฐ€ ๋˜๋ฏ€๋กœ ์‚ฌ์‹ค ๋ณ„ ์ •๋ณด๋ฅผ ๋‹ด์ง€ ๋ชปํ•œ๋‹ค. ๊ทธ๋ž˜์„œ existential quantifier๊ณผ ⇒ ๊ฐ€ ๊ฐ™์ด ์“ฐ์ด๋ฉด ๋ณ„๋กœ ๋„์›€์ด ์•ˆ๋œ๋‹ค. (์™•๊ด€์ธ๋ฐ ์•ˆ์“ฐ๊ณ  ์žˆ์„ ๋•Œ๋งŒ false)

 

 

 

5) Variable Scope : ๊ฐ quantifier๊ฐ€ ์–ด๋Š ๋ฒ”์œ„๊นŒ์ง€ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”๊ฐ€.

-> ์•ž์— ์žˆ๋Š” ์• ๋ถ€ํ„ฐ ํ•ด์„ํ•ด๋‚˜๊ฐ€๋ฉด ๋œ๋‹ค.

: ๋ชจ๋“  x๋Š” ์ž์‹ ์ด ์ข‹์•„ํ•˜๋Š” y๊ฐ€ ์กด์žฌํ•œ๋‹ค. (x1 -> y1 , x2 -> y2...)

 

: ์–ด๋–ค y๋Š” ๋ชจ๋“  x๊ฐ€ ์ข‹์•„ํ•œ๋‹ค. (x1, x2 ... -> y1)

 

๋˜ํ•œ ์„œ๋กœ ์ƒ๊ด€์—†๋Š” object๋ฅผ ๊ฐ€๋ฆฌํ‚ค์ง€๋งŒ variable์˜ ์ด๋ฆ„์ด ๊ฐ™์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด ๊ฒฝ์šฐ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๊ฒŒ ๋ณ€์ˆ˜๋ช…์„ ๋ฐ”๊พธ์–ด ์ค€๋‹ค. 

 : ๋ชจ๋“  x๋Š” ์™•๊ด€์ด๊ฑฐ๋‚˜ ์–ด๋–ค y๋Š” richard์˜ brother์ด๋‹ค.

 

 

6) De Morgan's Rule for Quantifiers

 : ∀๋Š” conjunction(๋…ผ๋ฆฌ๊ณฑ/and), ∃๋Š” disjunction(๋…ผ๋ฆฌํ•ฉ/or) ์ด๋ฏ€๋กœ ๊ทธ ์• ๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋“œ๋ชจ๋ฅด๊ฐ„ ๋ฒ•์น™์ด ์„ฑ๋ฆฝํ•œ๋‹ค.

 -∀x P๊ฐ€ false ๋‹ค ! -> P๊ฐ€ false์ธ x๊ฐ€ ์กด์žฌํ•œ๋‹ค! 

 -∃x P๊ฐ€ false์ด๋‹ค! -> P๋ฅผ ๋งŒ์กฑํ•˜๋Š” x๊ฐ€ ์—†๋‹ค! -> ๋ชจ๋“  x์— ๋Œ€ํ•ด not P์ด๋‹ค. 

 

 

 

 

2. Examples

 1) Wumpus World ๋ฅผ FOL๋กœ ๋‚˜ํƒ€๋‚ด๋ณด์ž

์šฐ์„  ๊ฐ€๋Šฅํ•œ ํ–‰๋™๋“ค, predicate symbol์—๋Š” Forward, Shoot, Grab, Climb, Turn(Right), Turn(Left)๊ฐ€ ์žˆ๋‹ค

๋˜ํ•œ ๋ชจ๋“  t์— ๋Œ€ํ•ด์„œ wumpus๋Š” 1,3์— ์กด์žฌํ•œ๋‹ค

 

๋ชจ๋“  x,y,a,b ์— ๋Œ€ํ•ด Adjacent([x,y],[a,b])๋Š” x๊ฐ€ a์™€ ๊ฐ™๊ณ , y๊ฐ€ b-1, b+1์ด๊ฑฐ๋‚˜ y๊ฐ€ b์™€ ๊ฐ™๊ณ  x๊ฐ€ a-1 ๋˜๋Š” a+1๋ผ๋Š” ์ด์•ผ๊ธฐ๋‹ค. ์ฆ‰ ๊ธฐ์ค€์  [a, b]์— ๋Œ€ํ•ด [x, y]๊ฐ€ ์ธ์ ‘ํ•˜๋‹ค๋Š” ์ด์•ผ๊ธฐ์ด๋‹ค.

 

๊ทธ๋ž˜์„œ ๋ชจ๋“  s์— ๋Œ€ํ•ด s๊ฐ€ Breezyํ•˜๋ฉด, ์ฆ‰ ๋ฐ”๋žŒ์ด ๋ถˆ๋ฉด, s์™€ ์ธ์ ‘ํ•œ r์— ๋Œ€ํ•ด ํ•จ์ •์ด ์žˆ๋Š” r์ด ์กด์žฌํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ๋‹ค. 

PL๋กœ ๋‚˜ํƒ€๋‚ผ ๋•Œ์—” ๋ชจ๋“  ์นธ์— ๋Œ€ํ•ด ์ผ์ผํžˆ ๋‹ค ์ •์˜๋ฅผ ํ•ด์คฌ์–ด์•ผ ํ–ˆ๋Š”๋ฐ FOL์„ ์ด์šฉํ•˜๋‹ˆ ๋ชจ๋“  s์— ๋Œ€ํ•ด~๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค. 

 

 

 2) ์ž์—ฐ์–ด๋ฅผ FOL๋กœ ๋‚˜ํƒ€๋‚ด๋ณด์ž.

 

"๋ฒ•์— ๋”ฐ๋ฅด๋ฉด ๋ฏธ๊ตญ์ธ์ด ๋ฏธ๊ตญ์˜ ์ ๊ตญ์— ๋ฌด๊ธฐ๋ฅผ ํŒŒ๋Š” ๊ฒƒ์€ ๋ฒ”์ฃ„์ด๋‹ค. Nano๋Š” ๋ฏธ๊ตญ์˜ ์ ๊ตญ์ธ๋ฐ ๋ฏธ์‚ฌ์ผ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ์ด ๋ชจ๋“  ๋ฏธ์‚ฌ์ผ์€ Colonel West๋ผ๋Š” ๋ฏธ๊ตญ์ธ์ด ํŒ”์•˜๋‹ค."

 

1. ∀x,y,z American(x) ∧ Weapon(y) ∧ Sell(x,y,z) ∧ Hostile(z) ⇒ Criminal(x)

2. Enemy(Nano, America)

3. ∃x Owns(Nano, x) ∧ Missile(x)

4. ∀x Missile(x) ∧ Owns(Nano, x) ⇒ Sell(West, x, Nano)

5. American(West)

 

∀x Enemy(x, America) ⇒ Hostile(x)

∀x Missile(x) ⇒ Weapon(x)

 

๋”ฐ๋ผ์„œ Criminal(West)

 

(์ฐธ๊ณ ๋กœ quantifier๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” ∀๊ฐ€ ์ƒ๋žต๋˜์—ˆ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค) 

 

 

 

 

3. Instantiation , ์ถ”๋ก 

   1)  Universal Instantiation (UI) 

     : FOL๋ฌธ์žฅ์—์„œ Universal Quantified๋œ, ์ฆ‰ ∀๊ฐ€ ๋ถ™์€ variable์€ ๊ทธ๋ƒฅ ground term(๋ณ€์ˆ˜ ์—†๋Š” term)์œผ๋กœ ์น˜ํ™˜ํ•ด๋„ ์„ฑ๋ฆฝํ•œ๋‹ค. 

 

์˜ˆ๋ฅผ ๋“ค์–ด Subst(θ, α) ๋Š” sentence α์— θ๋ผ๋Š” substitution, ๋Œ€์ž…์„ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. 

๊ทธ๋ž˜์„œ ๊ฒฐ๋ก ์ ์œผ๋กœ ์ด๋ ‡๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.

๋งŒ์•ฝ ๋ชจ๋“  v์— ๋Œ€ํ•ด sentence α๊ฐ€ true๋ผ๋ฉด, α๋ผ๋Š” ๋ฌธ์žฅ์—์„œ ν๋ผ๋Š” variable ๋Œ€์‹  ๏ฝ‡๋ผ๋Š” ground term์„ ๋Œ€์ž…ํ•ด๋„ true์ด๋‹ค. 

 

  2) Existential Instantiation

  : FOL ๋ฌธ์žฅ์—์„œ ∃๊ฐ€ ๋ถ™์€ variable์€ KB์— ํ•œ ๋ฒˆ๋„ ์“ฐ์ด์ง€ ์•Š์•˜๋˜ constant symbol ๏ฝ‹๋กœ ์น˜ํ™˜ํ•ด๋„ ๋ฌธ์žฅ์ด ์„ฑ๋ฆฝํ•œ๋‹ค.

 

์ด ์ƒˆ๋กœ์šด Symbol์„ Skolem contant๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๊ทธ๋ž˜์„œ Existential instantiation์€ Skolemization์˜ ํŠน์ˆ˜ํ•œ ์ผ€์ด์Šค์— ํ•ด๋‹นํ•œ๋‹ค.

 

Universal Instantiation์€ ์—ฌ๋Ÿฌ ๋ฒˆ ์ ์šฉํ•ด์„œ ๊ณ„์†ํ•ด ๋‹ค๋ฅธ ์ƒˆ๋กœ์šด ๋ฌธ์žฅ์„ ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Existential Instantiation์€ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ์ ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ์ ์šฉ๋˜๊ณ  ๋‚˜๋ฉด ๊ธฐ์กด ๋ฌธ์žฅ์€ ์‚ฌ๋ผ์ง„๋‹ค.

 

์œ„ ๋‘๊ฐ€์ง€ ์ถ”๋ก  ๊ทœ์น™์„ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” ๋ฌธ์žฅ์— ์žˆ๋Š” variable๊ณผ quantifier์„ ์—†์•จ ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ๊ทธ ๋‘๊ฐ€์ง€๋ฅผ ๋ชจ๋‘ ์—†์• ๋ฉด PL๊ณผ ๊ฐ™์•„์ง„๋‹ค.

 

  3) Propositionalization : ๋ช…์ œํ™”

  : existentially quentified sentence๋Š” ํ•˜๋‚˜์˜ instantiation์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๊ณ , universally quantified sentence๋Š” ๋ชจ๋“  possible instantiation์˜ ์ง‘ํ•ฉ์œผ๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ground atomic sentence๋ฅผ ํ•˜๋‚˜์˜ propositional symbol๋กœ ๋ณธ๋‹ค๋ฉด, ์ด์ œ Knowledge Base๋Š” ํ•˜๋‚˜์˜ "๋ช…์ œ"๊ฐ€ ๋œ๋‹ค. 

  quantified sentence๋“ค์„ ์ด ์ถ”๋ก  ๊ทœ์น™์„ ํ†ตํ•ด nonquantified sentence๋กœ ๋ฐ”๊พธ๋ฉด, ์•ž์„œ ๋งํ–ˆ๋˜ ๊ฒƒ ์ฒ˜๋Ÿผ First-order inference๋ฅผ propositional inference๋กœ ๋งŒ๋“ค ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

 

 

  - Analysis of Propositionalization

 

  ๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค! ๋งŒ์•ฝ Knowledge base์— function symbol์ด ์กด์žฌํ•œ๋‹ค๋ฉด?? ground-term subtitution์˜ ๊ฐ€๋Šฅ์„ฑ์ด ๋ฌดํ•œํžˆ ๋งŽ์•„์ง„๋‹ค! 

  ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž. f(x), x๋ผ๋Š” function symbol์—์„œ x์— f(x)๋ฅผ ๋Œ€์ž…ํ•˜๋ฉด f(f(x))=f(x), ... ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฌดํ•œํ•˜๊ฒŒ ๋งŽ์€ SUBSET์ด ์ƒ๊ฒจ๋‚˜๊ฒŒ ๋œ๋‹ค. 

 

  ๋งŒ์•ฝ ์–ด๋–ค ๋ฌธ์žฅ์ด FOL๋กœ ๋งŒ๋“ค์–ด์ง„ knowledge base๋กœ๋ถ€ํ„ฐ Entail๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ๋ช…์ œํ™”๋œ knowledge base์˜ ์œ ํ•œํ•œ ๋ถ€๋ถ„ ์ง‘ํ•ฉ์—์„œ ๊ทธ ๋ฌธ์žฅ์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ์–ด๋–ค ์ฆ๋ช…์ด ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰ FOL KB์—์„œ entail ๋˜์—ˆ๋‹ค๋ฉด, Finite subset ์•ˆ์— proof๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค.

  ์ฒ˜์Œ์— constant symbol์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชจ๋“  instantiation์„ ์ƒ์„ฑํ•ด๋‚ธ ๋‹ค์Œ, term์˜ depth(๊ด„ํ˜ธ ์ณ์ง„ ํšŸ์ˆ˜)๊ฐ€ 1 , 2, ... ์ธ ๋ชจ๋“  term์„ ๊ณ„์† ํƒ์ƒ‰ํ•˜๋‹ค๋ณด๋ฉด ์–ธ์  ๊ฐ„ entail ๋œ ๋ฌธ์žฅ๊นŒ์ง€ ๋งŒ๋“ค์–ด ๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ฆ๋ช…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํƒ์ƒ‰ํ•˜๋‹ค๊ฐ€ entail๋œ ๊ทธ ๋ฌธ์žฅ์„ ์ฐพ์•˜๋‹ค๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๋ชป ์ฐพ์•˜์œผ๋ฉด nesting level์„ ํ•œ๋‹จ๊ณ„ ๋” ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.

 

  ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฐฉ๋ฒ•์€ ์–ด๋–ค ๋ฌธ์žฅ์„ entailํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์„ ๋•Œ๋งŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ์ด sentence๊ฐ€ not entailed๋œ๋‹ค๋ฉด?? ๋ฌดํ•œ loop๊ฐ€ ๋ˆ๋‹ค๋ฉด?? ์šฐ๋ฆฌ๋Š” ์ด loop๊ฐ€ ๋ฌดํ•œํžˆ ๋„๋Š” ๋™์•ˆ์—๋Š” entail ๋˜๋Š”๋ฐ ์•„์ง ๋ชป ์ฐพ์€ ๊ฑด์ง€, ์•„๋‹ˆ๋ฉด entail๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ธ์ง€ ์•Œ ์ˆ˜๊ฐ€ ์—†๋‹ค. ๋”ฐ๋ผ์„œ FOL์—์„œ Entailment์— ๋Œ€ํ•œ ๋ฌธ์ œ๋Š” "Semidecidable" ํ•˜๋‹ค. ๋ชจ๋“  entailed sentence์— ๋Œ€ํ•ด์„œ yes๋ฅผ ๋‚ด๋ฑ‰๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์žˆ์ง€๋งŒ, ๋ชจ๋“  nonentailed sentence์— ๋Œ€ํ•ด์„œ no๋ฅผ ๋‚ด๋ฑ‰๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์—†๋‹ค.

 

 

 

4. Unification

 1) Generalized Modus Ponens

  : Generalized Modus Ponens๋Š” Modus Ponens์˜ lifted version์ด๋‹ค. ์›๋ž˜ Modus Ponens๋Š” value๊ฐ€ ์—†๋Š” ground propositional logic์—์„œ ์ ์šฉ๋˜์—ˆ๋˜ ๊ฒƒ์ธ๋ฐ ์ด๊ฒƒ์„ first-order logic์—์„œ ์ ์šฉํ•  ๊ฒƒ์ด๋‹ค. ์ด ๋•Œ Variables์€ ๋ชจ๋‘ universally quantified ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

 

์–ด๋–ค atomic sentences pi, pi', q๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ๋ชจ๋“  i์— ๋Œ€ํ•ด Subst (θ, pi') = Subst(θ, pi)๋ฅผ ๋งŒ์กฑํ•˜๋Š” substitution θ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด, ๋‹ค์Œ์ด ์„ฑ๋ฆฝํ•œ๋‹ค.

๋ญ”์†Œ๋ฆฌ๋ƒ ํ•˜๋ฉด, ์ฐธ/๊ฑฐ์ง“์ด ์•Œ๋ ค์ง„ ์–ด๋–ค ๋ฌธ์žฅ n๊ฐœ (p1'~pi')๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด ๋ฌธ์žฅ์„ ์ด์šฉํ•ด์„œ q๋ผ๋Š” ๋ฌธ์žฅ์˜ ์ฐธ ๊ฑฐ์ง“์„ ํŒ๋ณ„ํ•˜๊ณ  ์‹ถ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ธˆ์€ ์•ˆ์˜ ๋ณ€์ˆ˜ ์ž๋ฆฌ์— ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๊ฐ’๋“ค์ด ๋“ค์–ด๊ฐ€ ์žˆ์–ด์„œ ํ™œ์šฉ์„ ํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค. ์ด ๋•Œ ์šฐ๋ฆฌ๊ฐ€ ์•Œ์•„์•ผ ํ•˜๋Š” ๊ฒƒ์€ (p1~pi)์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ฌธ์žฅ pi' ๋˜๋Š” pi์— ์–ด๋–ค subst๋ฅผ ์ ์šฉํ•ด์„œ pi'์™€ pi๊ฐ€ ๊ฐ™์€ ๋ฌธ์žฅ์ด ๋˜๋„๋ก ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๊ฐ™์€ ๋ฌธ์žฅ์ด ๋˜๋ฉด q์˜ ์ง„๋ฆฌ๊ฐ’์„ ๊ตฌํ•˜๋Š”๋ฐ ์ฃผ์–ด์ง„ ์ •๋ณด๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

๋”ฐ๋ผ์„œ 'p1 , p2, p3 ... pn์ด ๋ชจ๋‘ true์ด๋ฉด q์ด๋‹ค'๋ผ๋Š” ๋ฌธ์žฅ์ด ์ฐธ์ด๋ผ๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ณ  p1'~pi'๊ฐ€ true๋ผ๋Š” ์‚ฌ์‹ค์„ ์•„๋Š” ์ƒํƒœ์—์„œ, q sentence์— pi' ์™€ pi๋ฅผ ๋ชจ๋‘ ๊ฐ™๊ฒŒ ๋งŒ๋“  ๊ทธ substitution์„ ์ ์šฉํ–ˆ์„ ๋•Œ์—๋„ ์ฐธ์ด ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 

 

 

์˜ˆ๋ฅผ ๋“ค์–ด ์œ„ ์‚ฌ์ง„์„ ๋ณด์ž. King์ด๋ฉด์„œ greedyํ•œ x๋Š” ๋ชจ๋‘ evil์ด๋‹ค. 

์‚ฌ๋žŒ์€ john์ด king์ด๊ณ , ๋ชจ๋“  y์— ๋Œ€ํ•ด greedy๊ฐ€ ์ฐธ์ž„์„ ์•Œ๊ธฐ ๋•Œ๋ฌธ์—, john์ด evil์ด๋ผ๋Š” ์‚ฌ์‹ค์„ ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ๊ณ„๊ฐ€ ์•Œ์•„๋“ฃ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์€ ๋‹ค๋ฅธ ๋ฌธ์ œ!

 

P1': King(john)

P2': Greedy(y)

P1 : King(x)

P2 : Greedy(x) 

Q : Evil(x) 

์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์‹ถ์€ ๊ฒƒ์€ q์˜ ์ง„๋ฆฌ๊ฐ’.

์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์€ P1', P2' ๊ทธ๋ฆฌ๊ณ  P1 ∧ P2 ⇒ Q

 

Greedy(y) ๋ฌธ์žฅ์—์„œ x์— john์„ , y์— john์„ ๋Œ€์ž…ํ•˜๋Š” subst๊ฐ€ ์žˆ๋‹ค. greedy๋Š” universial quantified sentence์ด๊ธฐ ๋•Œ๋ฌธ์— y variable ๋Œ€์‹ ์— ์–ด๋–ค constant symbol์„ ๋„ฃ์–ด๋„ ์—ฌ์ „ํžˆ ์ฐธ์ด๋‹ค. ์ฆ‰ ์ด subst๋Š” ์ฐธ์ด๋‹ค. ์ด Subst๋ฅผ P2์™€ P2'์— ๋‘˜ ๋‹ค ์ ์šฉ์‹œ์ผœ๋ณด๋ฉด ๋‘˜ ๋‹ค ๊ฒฐ๊ณผ์ ์œผ๋กœ Greedy(John)์ด ๋˜์–ด ๊ฐ™์•„์ง„๋‹ค.

 

King(John) ๊ณผ King(x) ๋‘ ๋ฌธ์žฅ์— ๋ชจ๋‘ ์œ„์—์„œ ํ–ˆ๋˜ Subst๋ฅผ ๊ทธ๋Œ€๋กœ ์ ์šฉ์‹œ์ผœ๋ณด์ž. ๊ทธ๋Ÿฌ๋ฉด ๋‘ ๋ฌธ์žฅ์ด ๋ชจ๋‘ King(John)์ด ๋˜์–ด ๊ฐ™์•„์ง„๋‹ค.

 

P1 ∧ P2 ⇒ Q ์ด ๋ฌธ์žฅ์—์„œ ์œ„์—์„œ ํ–ˆ๋˜ subst๋ฅผ ๊ทธ๋Œ€๋กœ ์ ์šฉ์‹œ์ผœ๋ณด์ž. ๊ทธ๋Ÿฌ๋ฉด King(John) ∧ Greedy(John) ⇒ Evil(John) ์ด๋ผ๋Š” ๋ฌธ์žฅ์ด ๋˜๊ณ , ์ด ๋•Œ king(John)๊ณผ Greedy(John)์ด ๋ชจ๋‘ true์ด๋ฏ€๋กœ Evil(John)๋„ true๊ฐ€ ๋œ๋‹ค.

 

์ฆ‰, Q๋ผ๋Š” ๋ฌธ์žฅ์— x/John, y/John ์ด๋ผ๋Š” subst๋ฅผ ์ ์šฉํ•˜๋ฉด true๊ฐ€ ๋œ๋‹ค.

 

 

 

  2) Unification

  : ์„œ๋กœ ๋‹ค๋ฅธ logical expression์„ identicalํ•˜๊ฒŒ ๋ณด์ด๋„๋ก ๋งŒ๋“ค์–ด์ฃผ๋Š” substitution์„ ์ฐพ๋Š” ๊ณผ์ •

  unify algorithm์€ ๋‘ ๊ฐœ์˜ ๋ฌธ์žฅ์„ ๋ฐ›์•„์„œ ๋‘˜์„ ๋˜‘๊ฐ™๊ฒŒ ๋งŒ๋“œ๋Š” Substitution(Unification)์„ returnํ•ด์ค€๋‹ค.

   

    * Unify(p,q) = θ where Subst(θ, p) = Subst(θ, q)

p์™€ q๊ฐ€ ์–ด๋–ค substitution θ์— ์˜ํ•ด ๊ฐ™์•„์งˆ ๋•Œ, p์™€ q์˜ unify๋Š” θ์ด๋‹ค.์ฆ‰ Unify(p, q)๋Š” p์™€ q๋ฅผ ๊ฐ™๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” substitution์„ returnํ•œ๋‹ค.

 

 

  - Standardizing apart : ๋‘ ๋ฌธ์žฅ์—์„œ ์„œ๋กœ ๊ด€๋ จ์ด ์—†๋Š” ๋ณ€์ˆ˜์ธ๋ฐ ์ด๋ฆ„์ด ๊ฐ™์•„ crash๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฆ„ ๊ฐ™์€ ๋ณ€์ˆ˜๋“ค์˜ ์ด๋ฆ„์„ ๋ฐ”๊ฟ”์ฃผ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. 

P(x, B)์™€ P(A, x)๋ฅผ Unifyํ•˜๋ฉด failure๊ฐ€ ๋œฌ๋‹ค. ์™œ? x๊ฐ’์„ ๊ฐ™์€ ๋ณ€์ˆ˜๋กœ ์ธ์‹ํ•ด์„œ x์— ์–ด๋–ค ์ˆ˜๋ฅผ ๋„ฃ์–ด๋„ ๊ฐ™์ด์งˆ ์ˆ˜ ์—†๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ๋‘˜ ์ค‘ ํ•˜๋‚˜๋ฅผ y๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

 

์‚ฌ์‹ค ๋ชจ๋“  unifiableํ•œ ํ‘œํ˜„์˜ ์Œ๋“ค์€ ๊ฐ€๋Šฅํ•œ substitution์ด ๋งค์šฐ๋งค์šฐ ๋งŽ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ ์ค‘์—์„œ๋„ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ unifier๋ฅผ  most general unifier๋ผ๊ณ  ํ•œ๋‹ค. ์ด๊ฒŒ ์ œ์ผ renamingํ•˜๊ณ  ๋ณ€์ˆ˜๋“ค์„ ์น˜ํ™˜ํ•˜๋Š”๋ฐ ๊น”๊ผผํ•˜๋‹ค. 

๋‹ค์Œ์€ Unify ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. 

 

 

 

5. Forward Chaining Algorithm

 

 - PL๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ FOL์€ variable์„ ํฌํ•จํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๋ชจ๋“  variable์€ "universally quantified"ํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. 

 - definite clause๋Š” atomic sentence ์ด๊ฑฐ๋‚˜ antecedent(=premise)๊ฐ€ positive literal๋“ค์˜ conjunction(and)๋กœ ์—ฐ๊ฒฐ๋˜๊ณ  consequent๊ฐ€ single positive์ธ implication๋ฅผ ๋งํ•œ๋‹ค. (์›๋ž˜ ๊ผด์€ ํ•˜๋‚˜๋งŒ positive์ธ or๋กœ ๋ฌถ์ธ clause)

 

 - Forward Chainig Algorithm ์€ ์•ž์—์„œ ๋‚˜์™”๋˜ ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. 

์ด๋ฏธ ์•Œ๋ ค์ง„ known facts์—์„œ ์‹œ์ž‘ํ•ด์„œ ๋ชจ๋“  premise๊ฐ€ satisfied๋ผ๋ฉด ๊ทธ ๋ฌธ์žฅ์˜ conclusion์„ known fact์— ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ ๋ฐ˜๋ณตํ•˜๋‹ค๊ฐ€ query์— ๋Œ€ํ•œ ๋‹ต์„ ์ฐพ๊ฑฐ๋‚˜ ๋”์ด์ƒ ์ถ”๊ฐ€ํ•  new fact๊ฐ€ ์—†์œผ๋ฉด ๋๋‚œ๋‹ค.

 

 ์กฐ์‹ฌํ•ด์•ผ ํ•  ๊ฒƒ์€, ์—ฌ๊ธฐ์„œ "new" fact๋ž€, ๋‹จ์ง€ ์ด๋ฏธ ์•Œ๋ ค์ง„ fact์—์„œ ๋ณ€์ˆ˜ ์ด๋ฆ„๋งŒ ๋ฐ”๋€ ๊ฒƒ์ด์–ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์„ ์ œ์™ธํ•˜๊ณ  ๋‹ค๋ฅธ ๊ฒƒ๋“ค์ด ๋‹ค ๋™์ผํ•œ ๊ฒฝ์šฐ์—๋Š”, ๊ทธ ๋ฌธ์žฅ์€ ๊ฐ™์€ ๋ฌธ์žฅ์ด๋‹ค. (๋‹จ์ง€ renaming ๋œ ๊ฒƒ ๋ฟ)

 

์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

 

 

์ž ๊ทธ๋Ÿผ ์šฐ๋ฆฌ๊ฐ€ ์•„๊นŒ ํ’€์—ˆ๋˜ ๋ฒ”์ฃ„์ž ๋ฌธ์ œ๋ฅผ ๊ฐ€์ ธ์™€๋ณด์ž. 

1. American(x) ∧ Weapon(y) ∧ Sell(x,y,z) ∧ Hostile(z) ⇒ Criminal(x) (∀x,y,z ์ƒ๋žต)

2. Enemy(Nano, America)

3. Owns(Nano, M1) ∧ Missile(M1) (์–ด๋–ค ๊ฐ’์ด ์žˆ๋‹ค ํ–ˆ์œผ๋‹ˆ ์–ด๋–ค ๊ฐ’์œผ๋กœ ์น˜ํ™˜ํ•˜์—ฌ quantifiers๋ฅผ ์—†์• ๋ฒ„๋ฆฐ๋‹ค)

4. Missile(x) ∧ Owns(Nano, x) ⇒ Sell(West, x, Nano)

5. American(West)

 

Enemy(x, America) ⇒ Hostile(x)

Missile(x) ⇒ Weapon(x)

 

 

Criminal (West) ? - query

 

------

 

์ž ๋จผ์ € 2. Enemy(Nano, America) ์ด๋ผ๋Š” fact๋กœ๋ถ€ํ„ฐ Enemy(x, America) ⇒ Hostile(x) ์‹์„ ์ฐพ๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹์˜ x์— Nano๋ฅผ ๋Œ€์ž…ํ•ด๋ณด์ž. ๊ทธ๋Ÿฌ๋ฉด implication์„ ๋งŒ์กฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— Hostile(Nano)๋ฅผ KB์— ์ถ”๊ฐ€ํ•œ๋‹ค. 

 

๋‹ค์Œ์œผ๋กœ๋Š” Missile(M1)์ด๋ผ๋Š” fact์™€ Owns(Nano, M1)์ด๋ผ๋Š” fact๋กœ๋ถ€ํ„ฐ 3. Missile(x) ∧ Owns(Nano, x) ⇒ Sell(West, x, Nano) ๋ฌธ์žฅ์„ ๊บผ๋‚ด์˜จ๋‹ค. x = M1์„ ๋Œ€์ž…ํ•˜๋ฉด Sells(West, M1, Nano)๋Š” true๊ฐ€ ๋˜์–ด KB์— ์ถ”๊ฐ€ํ•œ๋‹ค. 

 

๋‹ค์Œ์œผ๋กœ๋Š” Missile(M1)์ด๋ผ๋Š” fact์—์„œ Missile(x) ⇒ Weapon(x) ์‹์„ ๊บผ๋‚ด์˜จ๋‹ค. x=M1์„ ๋Œ€์ž…ํ•ด Weapon(M1)์ด true์ž„์„ ๋ฐํžŒ๋‹ค. 

 

๋งˆ์ง€๋ง‰์œผ๋กœ American(x) ∧ Weapon (y) ∧ Sells(x, y, z) ∧ Hostile(z) ⇒ Criminal(x)์—์„œ x = West, y = M1, z=Nano๋ฅผ ๋Œ€์ž…ํ•˜์—ฌ Criminal(West)๋ฅผ ๋ฐํ˜€๋‚ธ๋‹ค.

 

์ถ”๋ก ํ•ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์„ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๋‹ค. 

์ตœ์ข…์ ์œผ๋กœ ์ฐพ์€ criminal(west)๊ฐ€ ๋ฐ”๋กœ query์ด๊ณ , ์ด๊ฒƒ์€ KB์— ์˜ํ•ด entail ๋œ๋‹ค.

 

 

- Analysis

 

   โ‘  ๋ชจ๋“  inference๊ฐ€ generalized Modus Ponens์—์„œ ๋น„๋กฏ๋˜์—ˆ์œผ๋ฏ€๋กœ ๋‹น์—ฐํžˆ Sound ํ•˜๋‹ค.

   โ‘ก Knowledge Base๊ฐ€ definite clause๋กœ ๊ตฌ์„ฑ๋˜์—ˆ์„ ๋•Œ, completeํ•˜๋‹ค. 

    ( function symbol์ด ์—†์œผ๋ฉด ground term์˜ ๊ฐœ์ˆ˜ ์œ ํ•œ -> ground fact๋„ ์œ ํ•œ -> complete)

    ( function symbol์ด ์žˆ์œผ๋ฉด ~ ์ฆ๋ช… ๋‚˜์ค‘์—~ )

   โ‘ข goal๊ณผ ๊ด€๋ จ ์—†๋Š” fact๊นŒ์ง€ ์ „๋ถ€ ํƒ์ƒ‰ํ•ด์„œ ๋น„ํšจ์œจ์ ์ด๋‹ค.

 

 

6. Resolution Algorithm

  1) Resolution Rule for First-order Logic

 

   * Binary resolution rule

 

   - PL์—์„œ ์“ฐ์ด๋˜ resolution rule์„ first-order clauses์—์„œ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ lifted๋œ ๊ฒƒ

   - ๋‘ clauses๊ฐ€ ๊ฐ๊ฐ standardized apart๋˜์–ด์„œ ์–ด๋– ํ•œ ๊ณตํ†ต์ธ variable๋„ ์—†์„ ๋•Œ, complementary literall์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด resolution์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

   - FOL์—์„œ Literal์ด complementary ํ•˜๋‹ค๋Š” ๊ฒƒ์€, ์–ด๋–ค ํ•œ literal์ด ๋‹ค๋ฅธ literal๊ณผ unify๋˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

 

๋ณด์ด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ผ๋‹จ์€ standardized apart ๋˜์–ด์•ผ ํ•˜๊ณ , ํ•ฉ์ณ์„œ ์—†์•จ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ unify ๋˜๋Š” ๋‘ ๋ฆฌํ„ฐ๋Ÿด์ด๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ clause๋ฅผ ๋ณด๋ฉด, Loves(G(x),x)์™€ Loves(u,v)๊ฐ€ unifyํ•˜๊ณ  ์„œ๋กœ complementary ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ u= G(x), v=x๋ฅผ ๋Œ€์ž…ํ•˜๋Š” subst๋ฅผ ์ ์šฉํ•˜์˜€์„ ๋•Œ, ๊ทธ ๋‘ ๋ฆฌํ„ฐ๋Ÿด์„ ๋นผ๊ณ  ๋‚˜๋จธ์ง€๋ผ๋ฆฌ and ์—ฐ์‚ฐ์œผ๋กœ ํ•ฉ์ณ์ค˜๋„ true์ด๋‹ค.

 

(์ฐธ๊ณ  : PL ์—์„œ๋Š” P∧Q∧R∧P=P∧Q∧R์ด์—ˆ๋‹ค.

         FOL ์—์„œ๋Š” P(x)∧Q(x)∧R(x)∧P(v) ์—์„œ P(x)์™€ P(v)๊ฐ€ unify ๊ฐ€๋Šฅํ•˜๋ฉด ์—†์•จ ์ˆ˜ ์žˆ๋‹ค.)

 

 

 2) Conjunctive Normal Form 

 

 - PL์—์„œ๋„ ๊ทธ๋žฌ๋“ฏ์ด ์ด๋Ÿฐ resolution์„ ์“ฐ๋ ค๋ฉด sentence๋“ค์ด conjunctive normal form, ์ฆ‰ CF๋กœ ๋‚˜ํƒ€๋‚˜์•ผ ํ•œ๋‹ค. Sentence์— ์žˆ๋Š” variable๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ universally quantified๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ผ. Definite clause๋ฅผ CNF๋กœ ๋ฐ”๊ฟ”๋ณด์ž.

CNF sentence๋กœ ๋ฐ”๊ฟ”๋„ ๋ฌธ์žฅ์€ inferentially equivalentํ•˜๋‹ค.

 

  โ‘  Biconditional elimination์„ ์ด์šฉํ•ด ⇔ ๊ธฐํ˜ธ๋ฅผ ๋‹ค ์—†์•ค๋‹ค (α ⇔ β) ≡ (α ⇒ β)∧(α ⇒ β)

  โ‘ก Implication elimination์„ ์ด์šฉํ•ด ⇒ ๊ธฐํ˜ธ๋ฅผ ๋‹ค ์—†์•ค๋‹ค (α ⇒ β) ≡๏ฟขα ∨ β

  โ‘ข double-negation elimination๊ณผ de morgan ๋ฒ•์น™์„ ์จ์„œ ๏ฟข ๊ธฐํ˜ธ๋ฅผ ๋ชจ๋‘ ๊ด„ํ˜ธ์•ˆ์œผ๋กœ ๋„ฃ์–ด์ค€๋‹ค.

  โ‘ฃ Standardize variables : ์„œ๋กœ ๊ด€๋ จ ์—†๋Š” ๋ณ€์ˆ˜๋Š” ๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

  โ‘ค Skolemize : ∃ ํ‘œ์‹œ ์—†์• ๊ธฐ 

  โ‘ฅ Remove universal quantifiers : ∀ quantifiers๋„ ์ฃ„๋‹ค ์—†์• ๊ธฐ

  โ‘ฆ distributivity law๋ฅผ ์‚ฌ์šฉํ•ด์„œ ∧๋ฅผ ๊ด„ํ˜ธ ๋ฐ–์œผ๋กœ, ∨์„ ๊ด„ํ˜ธ ์•ˆ์œผ๋กœ ๋„ฃ์–ด์ค€๋‹ค.

 

 ->์›๋ž˜ ๋ฌธ์žฅ์ด unsatisfiableํ•˜๋ฉด CNF sentence๋„ unsatisfiableํ•˜๋‹ค. 

์˜ˆ์‹œ๋ฅผ ๋ณด์ž. ๊ทธ๋ƒฅ ์ญ‰ ์ฝ์–ด๋ณด๋ฉด ๋œ๋‹ค. 

์—ฌ๊ธฐ์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ KB๊ฐ€ α๋ฅผ entailํ•˜๋Š”์ง€ ๋ณด๊ธฐ ์œ„ํ•ด์„œ๋Š” KB⇒α ๊ฐ€ validํ•œ์ง€ ๋ด์•ผํ•˜๊ณ , ์ด๋Š” KB∧๏ฟขα ๊ฐ€ unsatistiable ํ•œ์ง€ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ resolution ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด  KB∧๏ฟขα์ด ์‹์„ Resolution ํ–ˆ์„ ๋•Œ empty set์ด ๋‚˜์˜ค๋Š”์ง€ ์•ˆ๋‚˜์˜ค๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค. 

 

๋ณด๋ฉด ์šฐ๋ฆฌ๊ฐ€ entail ๋˜๋Š”์ง€ ์•ˆ๋˜๋Š”์ง€ ํ™•์ธํ•  query ๋ฌธ์˜ ๋ถ€์ •์ด R9์— ์žˆ๋‹ค. R1~R9๊ฐ€ ๋ชจ๋‘ true๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  resolution์„ ์ญ‰์ญ‰ ์ง„ํ–‰ํ•˜๋‹ค ๋ณด๋ฉด R18์—์„œ empty set์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ R9์˜ ๋ถ€์ •๋ฌธ์ธ Criminal(West)๋Š” KB๋กœ๋ถ€ํ„ฐ entail ๋œ๋‹ค.  

 

 - Completeness of Proof by Resolution (FOL์—์„œ Resolution์„ ์ด์šฉํ•œ proof๊ฐ€ Completeํ•œ ์ด์œ )