430 likes | 1.31k Vues
9 장 논리에 의한 지식표현. 인식론적 논리학. 9.1 논리학 인간의 사고 과정에 대하여 연구하는 분야 ______________ 인식의 본질이나 과정 연구 의식 , 사고과정을 거쳐 사실로 인정되는 가를 연구 인지과학 : 철학 , 언어학 , 인지심리학. 형식 논리학. 2) ________________ 문장의 내용 보다는 형식을 통해 진위의 판단을 내림 삼단논법 이용 ( 정확한 명제에서 정확한 결론을 얻는다 ) 기호논리학 ( 논리연산자 AND, OR, NOT)
E N D
AI Chap09. 9장 논리에 의한 지식표현
AI Chap09. • 인식론적 논리학 9.1 논리학 • 인간의 사고 과정에 대하여 연구하는 분야 • ______________ • 인식의 본질이나 과정 연구 • 의식, 사고과정을 거쳐 사실로 인정되는 가를 연구 • 인지과학 : 철학, 언어학, 인지심리학
AI Chap09. • 형식 논리학 2) ________________ • 문장의 내용 보다는 형식을 통해 진위의 판단을 내림 • 삼단논법 이용(정확한 명제에서 정확한 결론을 얻는다) • 기호논리학(논리연산자 AND, OR, NOT) • _________(boolean algebra) • 불연속적인 수 처리 • 논리회로 설계에 이용 • _____(Predicate) • Prolog : 술어논리에 따른 연역추론 프로그램언어 • 부울 대수 • 술어
AI Chap09. 3) 논리의 발전 • 논리연산자 • 표현에 제한 • 2개의 진리 값 추론 : ___________________ • 대안 • ________ : T/F 진리 값 범위 확장 • ________ : 인간같이 판단하는 지능로봇연구 • 2치논리(True/False) • 다치논리 • 퍼지논리
AI Chap09. • 명제 (proposition) 9.2 명제와 진리표 • 이진논리 • ____________________ • True/False 를 명백하게 판별 할 수 있는 문장 • 복합명제 : ________________에 의해 결정 • 기본명제 :더 이상 분해할 수 없는 최소단위의 명제 p, g, r …… 명제변수 (원소식) p = 영수는 한국인 q = 존은 미국인 • ____________________ 명제들의 진위값(T/F)과 연산자에 따라 T/F 값 결정 b = 영수는 한국인이거나 또는 존은 미국인이다 • 수학적 표현(연산) • 복합명제 (합성명제)
AI Chap09. • 진리표 • 1 1 • 1 0 1 • 0 1 1 • 0 0 0 2) 논리회로와 진리 값 “접점 a가 닫혔을 경우, 전구 Z는 점등한다” “접점 b가 닫혔을 경우, 전구 Z는 점등한다” • 복합명제 • 접점 a또는 b중 어느 한 쪽이 닫혔을 경우, • 또는 접점 a,b가 동시에 닫혔을 경우 전구 • Z는 점등한다 • 명제가 복잡해 지는 경우 함수로 표현 • Z = F ( p, g, r ……) • _________ • 논리함수 • _________ • 논리변수
AI Chap09. • 진리표 a b Z • 1 1 • 1 0 1 • 0 1 1 • 0 0 0 • 진리표 ________ • 논리 변수들의 조합에 의한 논리함수 값 표현 __________ • 논리변수를 입력하고 논리함수를 출력하여 입.출력의 논리조건을 만족하도록 구성한 회로 • 논리회로
AI Chap09. 3) 기본논리 회로 : 논리연산 논리합 회로 (OR) 논리곱 회로 (AND) 부정 회로 (NOT)
AI Chap09. 9.3 명제논리 • 논리학적 기법에 의해 지식 표현, 처리 • 기본명제의 참, 거짓으로부터 합성명제의 참, 거짓 구하기 • 논리기호(________________________) ___(OR), ___(AND), ___(NOT) ___(함의 , 조건명제), _____(동치) • 연결기호, 논리 연산자 • ∨ • ∧ • ~ • •
AI Chap09. 2) 합성명제(복합명제)의 표현 기본명제가 논리기호로 연결되어 만들어진 명제 (기본명제) p = 영수는 동진의 자식이다. q = 영희는 동진의 자식이다. (합성명제) p∧q = 영수는 동진의 자식이고, 그리고 영희는 동진의 자식이다. p∨q = 영수는 동진의 자식이거나, 또는 영희는 동진의 자식이다.
AI Chap09. ex) 1)물건이 부족하다 2)물가가 올라간다 기본명제 • p = 물건이 부족하다 • q = 물가가 올라간다 • r = 경제가 파멸된다 • 1) p q • 2) q r • __________; p r • 삼단논법 • 결론) _____________ , ______________ • 물건이 부족하면 • 경제가 파멸된다
AI Chap09. • 9.4 조건명제의 진리 값 • 함의(조건명제) 기호 : ___ (ex) p q : p = T, q = F 일 때 p q = F - p q = ~p v q = ~( p ∧ ~q) : 동치 • T T T • ~TvT • ~(T∧~T) • T F F • ~TvF • ~(T∧~F) • ~FvT • F T T • ~(F∧~T) • F F T • ~FvF • ~(F∧~F)
AI Chap09. 9.5 명제논리식의 정의와 해석 논리식 만드는 규칙(기본 명제, 논리기호 사용) • 기본명제 p, q, r … 은 논리식이다 • p가 논리식일 때, ~p도 논리식이다 • p, q가 논리식일 때 p q도 논리식이다 • ①~③에 의해 얻어지는 식 만이 논리식이다
AI Chap09. ② p가 논리식일 때, ~p도 논리식이다 p ∧ q = ~(p ~q) p ∨ q = ~p q ③ p, q가 논리식일 때 p q도 논리식이다 p q = ( p q ) ^ ( q p )
AI Chap09. • CNF(논리곱표준형 _______________ Conjunctive normal form) = F1 ^ F2 ^ … ^ Fi ^ … ^ Fn (n≥1) Fi = Pi1∨Pi2∨… Pim ; 절(clause) Pim ; 리터럴(기본논리식) _______________ Disjunctive normal Form: DNF) = G1 ∨G2 ∨ … ∨ Gi ∨ … Gn (n≥1) Gi = Pi1∧Pi2∧…∧Pim ; 절 Pim ; 리터럴 • 리터럴이 논리합으로 연결된 절들의 논리곱 • DNF(논리합 표준형 • 리터럴이 논리곱으로 연결된 절들의 논리합
AI Chap09. • 항상 참 • ≠항위식 9.6 항진식과 연역 • 항진식(tautology / 항진 논리식) • _________이 되는 논리식 ex) H = P v ~P P : 당신은 부자이다 그러므로 H : 당신은 부자이거나 또는 부자가 아니다 => 항상 참(T) • 삼단논법 • <그림 9-3> • {(p->q) ^ (q->r)}->(p->r)의 진리표
AI Chap09. 2) 연역 ‘ α, αβ성립되면 β또한 성립된다’ P1, P2 … … Pn & Q 에서 P1∧P2∧… …∧Pn이 참이면 Q가 참일 때 • 논리적 귀결 • P1, P2, …, Pn • Q • 논리적 종속 • 법칙1) (P1∧P2∧…∧Pn) Q가 항진식일 때 • 2) P1∧P2∧…Pn ∧~Q가 충족되지 않을 때 • Q는 P1, P2, …, Pn의 논리적 귀결이다.
AI Chap09. 9.7 술어논리는 무엇인가? 명제논리 : 합성명제를 ____________________하고 ______________을 적용하며 지식추론(추가) p : 소크라테스는 사람이다 q : 플라톤은 사람이다 r : 모든 사람은 죽는다 p, q 이 두 명제는 완전히 별개의 사실이며 기호화된 명제로 표현되고 있다. 따라서 ‘소크라테스’와 ‘플라톤’이 모두 사람이라는 유사점 발견할 수 없다. r을 유도할 수 없음 => 문제해결 : 술어논리 • 기본명제로 분할 • 삼단논법
AI Chap09. • 술어논리(predicate logic) • 술어(predicate) • 술어(객체) • 객체(object) _____________________ • 하나의 명제를 _______________와 그 술어의 수식을 받는 ____________로 분리하여 ____________ 의 형태로 표현 ①소크라테스는 사람이다 Man(SOCRATES) ②플라톤은 사람이다 Man(PLATO) ③모든 사람은 죽는다 ∀x{ Man(x) -> Die(x) }
AI Chap09. 술어논리식의 표현 형식 : 술어(객체) • 상수/변수(소문자) • ______________ 사용가능 • 여러 개 객체 수식 • ________________ 가능 • 예: On(X, Y) : ‘X가 Y위에 있다.’
AI Chap09. • 한정자 (quantifier) ________________ 예) Korean (x) Man (x) 변수 x가, 어느 범위의 객체를 대상으로 하는 가를 결정해야만 한다. • 정의역 • 객체들의 집합 D (________) • x의 한정 • 전칭기호(한정자) • ______________ • - ∀x 모든 x : • Ex) 깃털이 있으면 모두 새이다 • 존재기호(한정자) • - ∃x 적어도 하나의 x : • ______________ • Ex) 농구선수 중에는 키가 작은 사람도 있다.
AI Chap09. 한정자 등식 • ~(∃x) P(x) ≡ (∀x) { ~P(x) } • ~(∀x) P(x) ≡ (∃x) { ~P(x) } • (∀x) {P(x)∧Q(x)} ≡ (∀x) P(x)∧(∀x)Q(x) • (∃x) {P(x)∨Q(x)} ≡ (∃x) P(x)∨(∃x)Q(x) • (∀x) P(x) ≡ (∀y) P(y) • (∃x) P(x) ≡ (∃y) P(y)
AI Chap09. 함수기호(function symbol) • 객체 사이의 관계 나타냄 ex) ‘아버지’ 함수 father Korean (father(철수)) ______________________________________ • 철수의 아버지는 한국인이다
AI Chap09. 항(term)
AI Chap09. 술어논리 정형식(wff) • 참(T), 거짓(F)은 모두 wff이다. • t1, t2, …, tn이 항이고, P가 n개의 항을 수식하는 술어논리기호인 경우 P(t1, t2, …, tn)은 wff이다. • P, Q가 wff이면 ~P, P->Q도 wff이다. 또 P∨Q, P∧Q, P<->Q는 부정과 함의에 의해 도입되므로 이것도 당연히 wff이다. • P가 wff이고 x가 객체변수일 경우 ∀x P, ∃x P는 wff이다. • ①②③④에 의해 wff라고 정의된 것만이 wff이다.
AI Chap09. 술어논리의 의미론 (semantics) : 참.거짓 • 논리식 A에 나타나는 각 항에 정의역의 요소를 대응시킨다. 또 모든 함수 f에 대해 f(t1, t2, …, tn)을 구한다. • 기본논리식 P(t1, t2, …, tn)의 참.거짓을 결정한다. • 논리기호 ~, ∨, ∧, →로 결합된 논리식의 참.거짓은 명제논리식에서와 동일한 참.거짓에 관한 연산으로 결정한다. • ∀x P, ∃x P에 대해서는, x에 D의 모든 요소를 할당한다. P가 모두 참이라면 ∀x P는 참, 적어도 하나의 x를 할당하여 P가 참이라면 ∃x P는 참으로 결정한다.
AI Chap09. • P Q 9.8 도출연역 도출(resolution) ex) • P R • => • Q R • 두 개식이 동치이므로 : P Q ≡ ~P ∨ Q • 아래와 같이 변형 : • ~P ∨ Q • _______ • => • ~P ∨ R • ; 도출연역 • 도출절 • ~Q ∨ R • _______ • 부모절
AI Chap09. 부모절 도출절 기본도출식 P와 ~P∨Q (즉 P Q) Q P∨Q와 ~ P∨Q Q ~P와 P false ~ P∨Q와 ~Q∨R ~P∨R
AI Chap09. 도출연역을 이용한 정리증명 • 증명하고자 하는 정리를 부정하여 • 거짓이 결론이 유도 되면 • 증명하고자 하는 정리를 부정한 것이 거짓 • 그러므로 원래 정리가 참
AI Chap09. • 절(clause) 술어논리에서 도출연역의 수행 • 술어논리의 정형식을 _________________로 변환 • 단일화 : 변수와 상수일치 • 리터럴의 • (명제기호 하나, 술어논리식 하나) • 논리합(v)로 구성
literal AI Chap09. • (∀x){~P(x)∨{(∀y)[~P(y)∨P(f(x,y))]∧~(∀y)[~Q(x,y)∨P(y)]}} • (∀x){~P(x)∨{(∀y)[~P(y)∨P(f(x,y))]∧(∃y)[Q(x,y)∧~P(y)]}} • wff를 절로 변환 ________ • 명제논리 : 하나의 명제기호 • 술어논리 : 하나의 술어로 구성된 술어논리식 ______________________ (∀x){P(x){(∀y)[P(y)P(f(x,y))]∧~(∀y)[Q(x,y)P(y)]}} 규칙: • x+y ≡~x∨y(→) 함의제거 • ~부정 범위 줄이기 (드모르간 법칙)
AI Chap09. • (∀x){~P(x)∨{(∀y)[~P(y)∨P(f(x,y))]∧[Q(x,g(x))∧~P(g(x))]}} • (∀x){~P(x)∨{(∀y)[~P(y)∨P(f(x,y))]∧(∃w)[Q(x,w)∧~P(w)]}} • (∀x){~P(x)∨{(∀y)[~P(y)∨P(f(x,y))]∧(∃y)[Q(x,y)∧~P(y)]}} • (∀x)(∀y){~P(x)∨{[~P(y)∨P(f(x,y))]∧[Q(x,g(x))∧~P(g(x))]}} ② ③ 변수 표준화 : 한정기호에 구속된 변수는 모조변수이므로 진리값 변하지 않는 범위에서 변수 중복되지 않도록 바꾸기 ④ 존재기호 제거 (∀y)에 대해 (∃x) 어떤 x 존재 g(y)로 표현 ex) (∀y)[(∃x)P(x,y)] (∀y)P(g(y),y) (∃x)P(x) P(A) : 전칭기호 없으면 상수인자 갖는 스콜렘 ⑤ 모든 한정기호 수식 앞으로 끌어내기
AI Chap09. • (∀x)(∀y){[~P(x)∨~P(y)∨P(f(x,y))]∧ • [~P(x)∨Q(x,g(x))]∧ • [~P(x)∨~P(g(x))]} • ~P(x1) ∨ ~P(y)∨P(f(x1, y)) • ~P(x2) ∨ Q(x2, g(x2)) • ~P(x3) ∨ ~P(g(x3)) • ~P(x) ∨ ~P(y)∨P(f(x, y)) • ~P(x) ∨ Q(x, g(x)) • ~P(x) ∨ ~P(g(x)) • (∀x)(∀y){~P(x)∨{[~P(y)∨P(f(x,y))]∧[Q(x,g(x))∧~P(g(x))]}} ⑤ ⑥ 한정기호 제외한 부분을 논리곱 표준형으로 변환 ⑦ 전칭기호를 제거 ⑧ ∧기호를 제거 ⑨ 변수이름 바꾸기
*비교흡수를 위한 정형공식의 절 변환 1) Implication() 제거 Ex) A→B ≡ ~A∨B 2) Negation(~) 영역 축소 Ex) ~(A∨B) ≡ ~A∧~B 3) 각 한정기호에 고유한 변수를 가지도록 변수 표준화 Ex) (∀x)[P(x) →(∃x)Q(x)] ≡ (∀x)[P(x) →(∃y)Q(y)] 4) 존재한정기호(∃) 제거 (∀y)[(∃x)P(x, y)] : x는 y에 종속되어 결정 x를 y에 대한 어떤 함수로 표현: g(y) : Skolem 함수 (∀y)[P(g(y), y)]로 변환 5) Prenix 형으로 변환: 모든 전체한전기호(∀)를 정형공식 앞으로 내어 영역을 전체공식에 미치도록 함 6) 정형공식을 논리곱 정규형으로 변환 Ex) X1 v (X2 ^ X3) ≡ (X1 v X2) ^ (X1 v X3) 7) 전체한정기호를 모두 생략. 8) 논리곱을 생략. Ex) X1 ^ X2≡ {X1, X2} 9) 각 절에서 같은 변수명이 없도록 조정
1)공리를 절 형태로 변환 2)증명하고자 하는 정리를 부정하여 첨가 ①ㄱOn(u,v) ∨ Above(u,v) ②ㄱAbove(x,y) ∨ ㄱAbove(y,z) ∨ Above(x,z) ③ On(A,B) ④ On(B,TABLE) ⑤ㄱAbove(A,TABLE)
A Predicate Logic Example Marcus was a man. man(Marcus) Marcus was a Pompeian. Pompeian(Marcus) All Pompeians were Romans. x: Pompeian(x)Roman(x) Caesar was a ruler. ruler(Caesar) All Romans were either loyal to Caesar or hated him. x: Roman(x) loyalto(x, Caesar)Vhate(x,Caesar) Everyone is loyal to someone. x:y: loyalto(x,y) People only try to assassinate rulers they aren't loyal to. x:y:person(x) ruler(y) tryassassinate(x,y) loyalto(x,y) Marcus tried to assassinate Caesar. tryassassinate(Marcus, Caesar) All men are people. x: man(x) person(x)
A Resolution Proof Axioms in clause form: 1. man(Marcus) 2. Pompeian(Marcus) 3. Pompeian(x1) v Roman(x1) 4. Ruler(Caesar) 5. Roman(x2)v loyalto(x2, Caesar)v hate(x2, Caesar) 6. loyalto(x3, f1(x3)) 7. man(x4) v ruler(y1) v tryassassinate(x4, y1) v loyalto (x4, y1) 8. Tryassassinate(Marcus, Caesar)
Resolution Proof cont. Prove: hate(Marcus, Caesar) hate(Marcus, Caesar) 5 Marcus/x2 3 Roman(Marcus) V loyalto(Marcus,Caesar) Marcus/x1 Pompeian(Marcus) V loyalto(Marcus,Caesar) 2 7 loyalto(Marcus,Caesar) Marcus/x4, Caesar/y1 1 man(Marcus) V ruler(Caesar) V tryassassinate(Marcus, Caesar) ruler(Caesar) V tryassassinate(Marcus, Caesar) 4 tryassassinate(Marcus, Caesar) 8
An Unsuccessful Attempt at Resolution Prove: loyalto(Marcus, Caesar) loyalto(Marcus, Caesar) 5 Marcus/x2 Roman(Marcus) V hate(Marcus,Caesar) 3 Marcus/x1 Pompeian(Marcus) V hate(Marcus,Caesar) 2 hate(Marcus,Caesar) (a) hate(Marcus,Caesar) 10 Marcus/x6, Caesar/y3 persecute(Caesar, Marcus) 9 Marcus/x5, Caesar/y2 hate(Marcus,Caesar) : : (b)