인공지능 (Artificial Intelligence)

Post on 04-Jan-2016

194 views 2 download

description

Knowledge Representation 최 윤 정. 인공지능 (Artificial Intelligence). contents. 논리를 이용한 지식표현 명제논리 / 술어논리 논리로 표현된 지식의 이용 규칙을 이용한 지식표현 규칙기반 시스템 / 추론 규칙기반 시스템의 특징 시맨틱 네트를 이용한 지식표현 시맨틱 네트의 기본개념 특성상속에 의한 추론 다중관계의 표현 프레임을 이용한 지식표현 프레임 프로시저. 지식이란 무엇인가 ? 데이터, 정보, 지식 - PowerPoint PPT Presentation

Transcript of 인공지능 (Artificial Intelligence)

인공지능(Artificial Intelligence)

Knowledge Representation

최 윤 정

2

contents

지식이란 무엇인가 ?

데이터 , 정보 , 지식

지식이란 정보를 개념화한 것

지식의 표현과 그 구조

지식의 표현과 추론

지식의 분류

지식표현의 조건

지식표현의 유형

논리를 이용한 지식표현 명제논리 / 술어논리

논리로 표현된 지식의 이용

규칙을 이용한 지식표현 규칙기반 시스템 / 추론

규칙기반 시스템의 특징

시맨틱 네트를 이용한 지식표현 시맨틱 네트의 기본개념

특성상속에 의한 추론

다중관계의 표현

프레임을 이용한 지식표현 프레임

프로시저

3

What is ‘Knowledge’ 데이터 , 정보 , 지식의 차이

지식영역(Knowledge)

정보영역(Information)

진리정리ㅡ법칙

지식

정보

데이터 ( 잡음 포함 , 불필요 데이터 등 )

감각기관 ( 눈 , 귀 )

외부 세계

보편화 ( 이론화 )

개념화 ( 체계화 )

정리

인지 또는 인식

4

지식이란 정보를 개념화한 것 !

인간에게 의미있는 지식을 창출하기 위한 방법은 ?

예 ) 열차역에서의 발차시간

- 역에서의 발차시간 그 자체는 전혀 의미없는 데이터 .

- 역과 역이 연결되고 역의 순서대로 발착시간이 되면 정보가 된다 .

- 정보가 지식이 되기 위해서는 검색할 수 있는 열차시간표와 같이 유익한 것이 되어야 한다 .

즉 , 정보가 지식이 되려면 적절한 구조가 있어야 하는데 이것이 지식베이스 (Knowledge Base)

이다 .

따라서 데이터와 정보를 정리하고 체계화하여 지식베이스를 만드는 것도 바로 이런 목적

때문이다 .

구조화된 정보의 체계가 인간에게 이해될 경우 이것을 개념이라 한다 .

유익한 지식이란 ? --- 개념화된 형태의 정보이겠죠 ..

5

지식기반 시스템 vs. 지식기반사회

지식베이스 : 특정한 분야의 지식에 쉽게 접근할 수 있도록 체계적으로 축적한 데이터

지식기반시스템 : 방대한 양으로 축적된 지식베이스를 이용하여 추론엔진을 통해

문제를 해결하거나 판단작업이 가능한 자동화된 시스템

사용자 UI

지식베이스(knowledge base)

추론엔진

데이터처리

정보처리

지식처리

융합 지식처리

Knowledge Representation and Reasoning(1)

지식과 문제의 해를 얻기 위해 지식을 처리하는 메커니즘 !

지식은 컴퓨터에서 처리되기 위해 심볼의 형태로 묘사된다 .

표현된 지식은 추론과정을 통하여 새로운 내부 표현 형태로 변환 .

사실과 내부표현 사이의 매핑

6

사실 내부 지식 표현정방향 매핑

역방향 매핑

추론

7

Classification of Knowledge-type

지식의 형태 특성 예

대상과 속성 Object 는 Attribute 에 의해 특성화 됨 .객체 .

새는 날개가 있다 .

대상간의 관계 2 개 이상의 object 사이에 성립된 관계 (relation) 를 기술교수와 학생 : 가르친다 .

철수와 영희 : 친구사이

사상 , 행위 , 상태사건 (event) 자체뿐 아니라 일련의 사건에 관한 시간과

인과관계도 기술어제는 하늘에서 천둥이 쳤다 .

높은 산에서는 기압이 낮기 때문에 ---

인과 관계 사상이나 상태가 내부의 인과관계에 의해 변하는 과정을 기술

절차 어떤 목적을 수행하기 위한 일련의 행위 . Process자전거를 잘 타려면 , 먼저 앉아서 균형을 잡은 후 , 천천히 페달을 밟는다 .

메타지식지식을 위한 지식 .

어떠한 ‘지식’을 나타내기 위한 부가 정보 .

이 지식은 어떤 상황에서 사용해야하는가 ?

어떻게 획득했는가 ? 특장점은 ?

파일사이즈 , 기록시간 등

8

Knowledge Representation and Reasoning(2)

매핑과 추론

초기사실 추론된사실

철수는 사람이다 철수는 생각한다

Man( 철수 ) Think( 철수 )

개념적 추론

추론 프로그램

정방향 매핑 역방향 매핑

9

지식의 분류

지식분류

문제에 대한 지식 : 문제영역의 지식

대상세계에서 성립하는 규칙과 경험법칙 : 효율적인 탐색을 위한

경험법칙

메타지식 (meta knowledge): 지식에 관한 지식 , 추론 방식을 위한

지식

10

지식 표현 및 유형 지식표현의 조건

표현방법의 적합성 : 사실적 또는 경험적 지식을 쉽고 충분히 표현해야 한다 .

추론의 적합성 : 문제에서 요구하는 형태에 부합하도록 추론 메커니즘을 효율적으로

동작시키고 결론을 유도할 수 있어야 한다 .

추론의 효율성 : 지식베이스에 접근하여 새로운 지식을 추론해 낼 수 있게 하는 추론

메커니즘을표현할 수 있어야 한다 .

지식획득 능력 : 새로운 지식을 쉽게 획득할 수 있으며 , 지식베이스를 일관성 있게 유지하며

확장할 수 있어야 한다 .

지식표현의 유형

절차적 지식 (procedural knowledge) : LISP

선언적 지식 (declarative knowledge) : 단편적이고 독립적인 지식들로 구성 , 추론 시 이용

11

Knowledge Representation : Logic

12

논리를 이용한 지식표현 명제논리

명제 (proposition): 참 또는 거짓을 판단할 수 있는 문장

논리연산자 : 명제들 연결 , AND, OR, NOT, 조건명제 , 동치 등

복합명제 : 각 명제를 하나의 심볼로 표현하고 , 이 심볼들을 논리 연산자로 연결한 것

이것이 유리이다 =GLASS

깨진다 = Fragile

유리라면 잘 깨어진다 =GLASS FRAGILE

13

논리를 이용한 지식표현 Modus Ponens : 위의 예에서 GLASS 가 입력되면 FRAGILE 이 도출되는 과정

술어논리 (Predicate Calculus)

Predicate Logic, Predicate Calculus, First-order predicate Calculus

등은 모두 같은 의미 !

술어와 객체로 표현 ( 객체에 변수사용 가능 )

술어명제 : “ 고양이는 포유동물이다”

변수 x 사용 예 : Man(x)

정형식 (well-formed formulas) :

술어 , 상수 , 변수 , 한정자 , 논리연산자를 문법적으로 허용된 방법으로 만들어진 문장

supplement ( slide 42)

mammal(CAT) :

객체 : “ 고양이 (CAT)”

술어 : “ 포유동물

(mammal)”

14

Knowledge Representation : Production System

15

Production System 을 이용한 지식표현

프로덕션 시스템 인간의 지식에는 조건문 형태로 가정과 결론을 나타내는 경우가 많다 .

규칙은 조건 (IF) -> 결론 (THEN) 문장으로 표현된다 .

조건과 결론 사이의 규칙은 “”기호로 나타낸다 . 따라서 A B 가 된다 . 이때 A 는 조건부 , B 는 결론부

예 ) 프로덕션 시스템의 사이클의 예 : aistudy 에서 찾아보세요 .

규칙을 이용하여 표현된 지식 베이스 : 지식기반 시스템 지식 base : 사실과 데이터 , 이에 적용할 규칙들로 구성

추론기관 : 현재 상태에 의해 만족되는 규칙을 선택하여 실행한다 .

패턴매칭되는 사실들을 생성하여 최종적으로 새로운 사실을 생성해낸다 .

주어진 상황을 위한 권고 , 지시 , 전략을 나타내는 정형화 된 표현방법으로

인공지능에서 매우 많이 사용된다 .

16

Production System 에서의 규칙의 수행과정의 예

사실 규칙

영수와 철수는 형제다민석은 소영의 남편이다 .소영은 영수의 어머니이다 .

정합 (matching)

새로운 사실추가

If X 와 Y 가 형제 AND Z 는 X 의 어머니Then Z 는 Y 의 어머니

If X 가 Y 의 남편 AND Y 가 Z 의 어머니Then X 는 Z 의 아버지

영수와 철수는 형제다민석은 소영의 남편이다 .소영은 영수의 어머니이다 .소영은 철수의 어머니이다 .민석은 영수의 아버지이다 .민석은 철수의 아버지이다 .

17

Production System 을 이용한 지식표현

규칙을 이용한 추론

전방향 추론 (forward chaining)

후방향 추론 (backward chaining)

추론사실 (inference chain)

규칙기반 시스템의 특징

개개의 규칙은 독립적으로 추가 , 삭제 , 변경될 수 있다 .

규칙기반 시스템은 지식이 균일한 방법으로 표현되며 , 이해하기 쉽다 .

대형 시스템에서 문제풀이 과정의 제어흐름은 분명하지 않다 .

융통성이 적고 구조화되어 있지 않다 .

18

규칙의 수행과정의 예 사실 규칙

(1) 가연성 액체가 엎질러졌다 .(2)엎질러진 액체의 PH 가 6 이하이다 .(3)엎질러진 물질이 식초냄새가 난다 .

(4)엎질러진 물은 산성이다 .

정합 (matching)

새로운 사실추가

엎질러진 액체의 PH 가 6 이하이면 이 물질은 산성이다 .

엎질러진 액체의 PH 가 6 이하이다 .

엎질러진 물질이 산이다 .

엎질러진 물질이 식초냄새가 난다 .

엎질러진 물질이 초산이다 .

(2)번 규칙

(3)번 규칙

( 범인을 잡는 추리과정을 생각하세요 .) supplement ( slide 50~55)

19

Knowledge Representation : Semantic Network

의미망 (Sementic Network) 에 의한 지식표현

의미망 (semantic net) 의 기본개념 및 규칙

지식 사이의 관계 ( 순서 ) 를 나타낼 수 있기 때문에 규칙기반 시스템의 단점을 보완할 수 있다 .

노트 (node) 는 객체 (objects), 개념 (concepts), 사건 (events) 들을 표현하고 ,

아크 (arc) 는 노드사이의 관계 (predicates 또는 속성 ) 를 표현한다 .

아크는 isa(is a), ako(a kind of), has-part 등이 있다 .

isa 는 하나의 사례 (instance) 를 나타낸다 .

ako 는 어떤 부류를 나타내는 개념의 한 종류이다 .

has-part 는 한 객체를 구성하는 구성품을 나타내는 관계이다 .

( 예 ): isa(파랑이 , 앵무새 )

20

파랑이 앵무새 새

부리

하위노드 상위노드 isa a kind of

has-part

지식 , 인간의 기억 , 실세계를 망 구조로 표현

노드에는 객체 , 개념 , 사건 등을 표현

링크는 노드들간의 관계를 묘사

구체 , 절차 , 인과 , 부분 등의 객체 관계 표현

isa 는 성질 계승 (property inheritance)

링크

장점 : 매우 복잡한 개념이나 인과 관계 표현에 용이

단점 : 지식량이 커지면 복잡해짐 → 조작이 어려움

의미망의 예Canary is a Bird.A Bird has Wings.Banney is a Canary.Banney owns a Nest.Wings is a Organ.

Canary

Bird

Baney

Wings Organ

Nest-1 Nest

isa

isa

owns isa

has isa

21

22

특성상속 알고리즘 어떠한 객체 (O) 의 특정한 속성 (A) 값을 구하기 위해서는

1. 지식 베이스에서 O 를 찾는다 .

2. O 에 속성 A 에 대한 값이 직접 연결되어 있으면 그 값을 취하고 끝낸다 .

3. 그렇지 않으면 isa 라는 속성이 있는가 찾는다 . 없다면 실패로 끝난다 .

4. isa 속성으로 연결된 객체로 이동한다 . 그 객체에 속성 A 가 존재하면 그 값을 취하고 끝낸다 .

5. 그렇지 않으면 a kind of 아크가 존재하지 않거나 , 속성 A 의 값이 결정될 때까지 다음을

반복한다 .

5.1 a kind of 속성을 따라 상위 객체로 이동한다 .

5.2 그 노드에 속성 A 가 존재하는가 본다 . 그렇다면 그 값을 취하고 끝낸다 .

6. 속성 A 값의 검색은 실패로 끝난다 .

23

의미망 (Sementic Network) 에 의한 지식표현

(예 ) 진수는 정아에게 편지를 보냈다 .

의미망으로 표현된 지식의 사용 : 지식탐색 방법

활성영역전개(spreading activation): 노드들 사이의 연결을 탐색하여 활성화

정합(matching): 탐색하려는 객체 또는 질의를 표현하는 네트워크 조각 구성 .

진수

정아

보냄 편지

편지 -2동작 -1행동 객체

대상

isa isa

24

Knowledge Representation : Frame

25

FRAME 을 이용한 지식표현 프레임 (frame)

1974년 Minsky 가 인간의 기억과 인지과정을 모델화하기 위해 제안한 표현형식

전형적인 상황이나 행동의 기술 , 객체 사이의 계층적 관계의 기술에 적합한 구조적

지식표현형식의 대표모델 : 오늘날 유행하는 객체지향 개념이 프레임에서 유래되었다 . (slide 55)

의미망의 한 종류로서 객체와 그 속성의 구조적 기술

프레임 객체 구조 내에 슬롯이라는 속성 묘사에 중점

데이터와 프로시저를 하나의 구조로 묶는다 .

프레임들은 계층적으로 구성

프레임 표현 : < 프레임 이름 >-<슬롯 이름 >-< 패싯 이름 >-<값 >

한 프레임은 객체들의 집합이나 클래스를 표현하기도 하며 , 그에 소속된 개개의 객체 또는 인스턴스를 표현한다 .

26

FRAME 을 이용한 지식표현 지식을 서로 관계 있는 것끼리 분류하고 상하관계에 따라 구성한다 .

슬롯 (Slot) : 프레임을 표현하는 하나의 속성 (attribute).!

슬롯 (slot) 은 객체의 속성과 속성값을 채우는 칸 : 슬롯에 저장된 값의 집합으로 나타낸다 .

디폴트값 , 프레임 포인터 , 규칙 , 프로시저

프로시저는 슬롯 값 요구 , 변경 , 제거될 때 자동으로 작동되는 일종의 demon

패싯 (facet) : 슬롯 값을 다양하게 줄 수 있는 키 : Value, Default, Range, If-added, If-

needed 등

27

FRAME 을 이용한 지식표현 프레임의 특성상속 (property inheritance)

부모 클래스로부터 슬롯과 값을 이어받는 것

또한 자신은 부모클래스로 부터 상속받는 것 이외에 자기자신의 고유한 슬롯을 가질 수 있다 .

프로시저 (procedure)

슬롯에는 그 슬롯의 사용과 관련된 프로시저가 연결될 수 있다 .

객체지향 언어에서 슬롯은 멤버에 해당되고 , 프로시저는 멤버함수에 해당된다 .

종류 :

IF(when)-needed 프로시저

IF(when)-read 프로시저

IF(when)-written 프로시저

IF(when)-removed 프로시저

앞의 Canary 에 대한 Frame 의 예

(FRAME Canary

(Is-a (Value Bird))

(Color (Value Yellow))

(Can (Default Sing))

(Breed (Range Africa India))

(Length (If-added Calculate-width)

(If-removed Erase-width-weight))

(Width (if-added Calculate-weight))

(Weight (If-needed Calculate-weight)))

장점 : 지식 표현이 일반적이고 자연스러우며 강력한 방법

단점 : 복잡성 때문에 지식작성이 어렵다 .

28

29

FRAME 으로 표현된 지식의 예 (ako ; a Kind of)

FRAME 인간 FRAME 성인남자 FRAME 철수

ako 포유류

* 이동 직립보행

* 지능 default=100)

* 자식프레임에 상속되는 슬롯

ako 인간

* 연령

* 키 (default =170)

* 체중 (default =65)

* 결혼관계

*배우자

instance 성인남자

연령 25

키 170

체중 65

결혼관계 기혼

배우자 영희

30

프로시져의 동작 예FRAME 성인남자

ako 인간

* 연령 * 키 (default =170)

* 체중 (default =65)

(IF-needed :

IF 연령 >35 THEN

체중 <- ( 키 – 100)

ELSE

체중 <- ( 키 – 110) : )

* 결혼관계 (IF-written :

IF 결혼관계 = 기혼 THEN

배우자이름을 질문하여 슬롯 배우자에 넣는다 .

해당되는 배우자 프레임에서 배우자 슬롯에 이 프레임의 이름을 넣으라는 메시지를 보낸다 . )

* 배우자

When-written 프로시저 동작

When-needed 프로시저 동작

31

지식표현 방법의 장단점 비교

지식표현방법 장점 단점

논리 (Logic)인간의 사고과정과 유사하며 추론과정의 완전성이 보장된다

제어 지식의 표현이 불가능하다 .

프레임 (Frame)지식의 모듈화 및 표현이 용이하며 변경 , 추가 , 삭제가 가능하다 .

지식의 제어가 곤란하며 , 지식의 전체 구조 파악이 어렵다 .

프로덕션시스템(Production System)

지식표현 방법이 자연스럽고 지식표현이 경제적이며 연상추적이 용이하다 .

지식의 수정이 곤란하며 , 논리적인 결합이나 인과관계의 표현이 곤란하다 .

의미망 (Semantic Network)

구조적 지식과 통합적 지식의 표현에 용이하며 지식표현이 경제적이다 .

지식의 수정이 곤란하며 , 추론 방법개발의 부담이 있다 .

32

연습 ( 문 1) 다음의 지식을 의미망으로 표현해 보세요 .

그렌져는 승용차이다 .

승용차는 자동차이다 .

승용차는 4 개의 바퀴가 있다 .

( 문 2) 다음의 블럭세계를 의미망으로 표현한다면 ?

이때 , 사용할 연결선은 top-of, next-to, isa 등이고 , 노드는 A,B,C,D,Box 이다 .

A B

C

D

33

has-part

(ans 1)

(ans 2)

그렌져 승용차 자동차 4 개바퀴가 있다isa ako

top-of top-of next-to

Box

isa

D C B A

34

복합적 지식표현 문제의 특성에 따라 하나의 표현방법만으로는 표현하기 어려운 경우

복합적 지식표현을 이용해서 지식 구축한다 .

규칙기반 지식 베이스는

규칙의 수가 많아지면 지식을 분류 , 검색하기가 어렵다 .

프레임을 이용하여 규칙들을 분류해 둘 수 있다 .

‘구체화’ 시키고 ‘관련성'을 부여한다 .

지식관리 지식과 지식관리 : 오랫동안 다양한 개념을 가져왔다 .

오늘날의 패러다임 : 기업경영을 지식이라는 관점에서 새롭게 조명하는 접근방식 지식 : 사람들의 기술 , 능력 , 아이디어 , 태도 , 책임 , 동기 등과 연결된 정보와 데이터의 통합적

활용으로 공유되어야 한다 .

지식 관리 : 유일한 출처 , 중요한 기능들 , 사용하기 위한 지식 흐름을 방해하는 지속적인 병목현상을

시각화하는 지적 자산의 감사활동

지식공유시스템의 정의

예측 할 수 없을 정도로 급변하는 경영환경 속에서 기업의 생존과 경쟁력을 갖추는 경영으로 ,

정보기술로서 데이터 · 정보의 가공능력과 인간의 창조적 혁신적인 능력을 통합해 가치창조의

극대화를 추구하는 기업의 조직적 프로세스 (피츠버그 대학의 요시게 말호트라 교수 )

35

36

지식관리 : 지적자산관리의 배경

데이터를 저장하는 일 vs. 결정을 내리는 일

정보시스템의 역할 : 기업활용으로 발생하는 데이터를 저장 , 관리하는 것

의사결정시스템의 역할 : 실제 판단을 내리고 의사결정을 수행하는 일

의사결정의 주체는 인적자원이 떠나면 지식자원도 소실된다는 관점에서 출발했다 . 그러나 , 인적자원이 보유한 정보는 비정형데이터 ..! Not DB.! 대량의 문서들 .!

따라서 , 인적자원이 보유한 지적 자산 즉 , 비정형 문서자료들을 축적하고 , 활용할 수 있도록 하는

것이 목적이 된다 .

90년대 후반에는 풍부한 정보기술과 다양한 관점에서의 분석방법 , 학습을 활용한 의사결정지원

시스템이 등장한다 . : 데이터 마이닝 , OLAB 텍스트마이닝 빅데이터 마이닝

기계 !

인간 !

“ 담당자가 안계십니다…”“담당자가 퇴사했습니다 .”…

37

지식관리시스템 지식관리시스템 (Knowledge Management System, KMS)

조직내의 인적 자원들이 축적하고 있는 개별적인 지식을 체계화하여 공유함으로써

기업경쟁력을 향상시키기 위한 기업정보 시스템

예 ) 삼성 SDS의 KWave 시스템

지식표현모델 : 지식맵과 지식컨테이너

관리프로세스 :

지식의 정의

지식의 축적

지식의 활용 및 재정의

(http://www.sds.samsung.co.kr/product/kwave/info/product_3.php)

38

지식 표현 지식관리 지식 경영 지식경영 : 현재는 기업경영의 도구로서의 역할

기업내에 존재하는 지식을 종합적으로 관리하여 기업의 경쟁력을 높이기 위한 행위

가트너 그룹에 의한 정의

정보자산을 확인 , 포착 , 출력 , 공유 , 평가하는 통합된 접근행위를 촉진시키는 일 .

정보자산이란 데이터베이스 , 문서 , 정책 , 절차 뿐 아니라 인적자원의 경험도 포함한다 .

지식경영 시스템 :

새로운 경제의 요소 : 지식자산 , 무형의 스킬 , 지식과 정보 !

데이터 , 정보 , 지식을 분명히 구분해 사용하고 있다 .

데이터 : 어떤 상황에 대한 불연속적이고 객관적인 사실의 표현 .

의미나 가치가 없는 구조적인 기록 , 처리결과들 . 정보의 기초자료

정보 : 어떤 상황에 의미가치를 부여할 수 있는 인간의 지적 흐름 .

필요시기를 놓치면 가치는 상실되며 , 지식으로 승화되며 새로운 가치를 갖게 된다 .

지식 : 의미있게 구성되어 축적된 정보형태 . 지식은 정보로 부터 세분화되거나 체계화 된다 .

노하우는 정보와 지식의 중간형태 . !

39

지식경영시스템의 구축 구축목적과 상황에 따라 구현된다 .

실시간 지식공유시스템

고객지식관리시스템

지식자료 시스템

모범사례 공유시스템

전문가시스템

과거 대형 DB 업체들의 기사를 검색해보세요 키워드 : IBM, 오라클 , 지식

40

Knowledge Representation 팀프 #1

Knowledge Base : 위 방법 중 하나를 선택하여 구축할 것

Frame 으로 구축할 때 : Lisp + KM

추론엔진 : Knowledge Machine (Lisp-based)

Ontology 를 사용할 때 : Protégé

Knowledge Engine : forward / backward 추론이 가능한 구조로 만들 것 .

1 차 : Knowledge Base 구축부터 : 문장 , 그림 , UML 등 표현 형식 자유 .

2 차 : 형식언어로의 표현은 그 다음 진행할 것 .

이전 프로젝트 참고하세요

41

Supplemenent

논리 (Logic) 수학 , 논리학에서 사용된 명제논리나 서술논리 사용

“If x is a bird, then x has wings” 란 사실 ( 규칙 ) 의 표현

(x) {Is-a(x, Bird) has(x, Wings)}

정형공식 (wff: well-formed formular) 이해

장점 수학적인 근거를 바탕으로 논리개념을 자연스럽게 표현

지식의 정형화 영역에 적합 ( 정리 증명 : theorem proving)

지식의 첨가와 삭제가 용이하고 단순

단점 절차적 , 결정적 지식표현이 어렵다 .

사실의 구성법칙이 부족하므로 실세계의 복잡한 구조를 표현하기 어렵다 .

42

항 (Term) 과 기초공식 (Atomic Formula)

항 :

1) 상수 , 변수는 항

2) 함수 f 가 항 x 를 인자로 가지면 f(x) 는 항

3) 1), 2) 에 의해 구성되는 것은 모두 항

기초공식 :

항을 인자로 가지는 서술어 (predicate) 는 모두 기초공식이다 .

Ex) Woman(MARY), Married(father(JOHN), mother(JOHN))

정형공식 (Wff : well formed formular)

1) 기초공식 F 는 wff

2) F, G 가 wff 면 , (F∨G), (F∧G), ∼F, (F→G), (F↔G) 도 wff

3) F 가 wff 면 , (∀x)F, (∃x)F 도 wff

4) 1), 2), 3) 의 과정에 의해서만 구성되는 것은 모두 wff

43

Resolution Refutation 비교흡수 부정 (Resolution Refutation)

두개의 기초절 ( 부모절 (parent clause) 이라 함 ) 에서

P1 ∨P2 ∨ … ∨PN 과 ~P1 ∨Q2 ∨ … ∨ QM

이 두개의 부모절 (parent clause) 을 논리합을 취해서 새로운 비교흡수절

(resolvent) 을 생성 (비교흡수 )

(P1∨ ~P1)∨(P2 ∨ … ∨PN ∨Q2 ∨ … ∨ QM)

비교흡수 부정 방법 비교흡수 부정에서의 모든 절은 논리합으로만 된 정형공식

정형공식 집합 S 에 특정 정형공식 X 가 논리적으로 따름 (logically follow) 을 증명하기 위한 것

P=S∪{~X} P 에 대해 비교흡수 수행 비교흡수절 Ri 생성 P∪Ri 에 대해 비교흡수 반복 모순

(NIL) 이 생성되면 종결

44

Resolution Refutation가정 : S 에 X 가 논리적으로 따른다고 가정

S 를 만족하는 모든 해석은 X 를 만족 (satisfy)함

S 를 만족하는 모든 해석은 S∪{X} 를 만족함 (satisfiable)

S 를 만족하는 모든 해석은 ~X 를 만족하지 않음

S 를 만족하는 모든 해석은 S∪{~X} 를 불만족 (unsatisfiable)

즉 , 불만족인 집합내에는 어떤 절 Ci 에 대해 , Ci 와 ~Ci 가 공존하는 상황

( 모순 ) 으로 볼 수 있다 . 어떤 해석이 주어져도 Ci 와 ~Ci 를 동시에 만족할 수 없다

이러한 절들에 대한 비교흡수는 결국 NIL( 모순 ) 생성

이는 S 에 논리적으로 따르는 X 를 부정 (~X) 한 결과는 모순을 초래하므로 결국 X 는 S 를 논리적으로

따른다

45

비교흡수를 위한 정형공식의 절 변환

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) 각 절에서 같은 변수명이 없도록 조정

46

47))]}((~)([~))],(,()([~))],,(()(~)({[~)9

))]}((~)([~))],(,()([~))],,(()(~)({[~)8

))]((~)([~))](,()([~))],(()(~)([~)7

))]}((~)([~

))](,()([~))],(()(~)(){[~)(()6

))]}}((~))(,([))],(()({[~)(){~)(()5

))]}}((~))(,([))],(()()[~{()(){~()4

)]}}(~),()[())],(()()[~{()(){~()3

)]}}(~),()[())],(()()[~{()(){~()2

)]}}(),()[~(~))],(()()[~{()(){~()1

)]}}(),()[(~))],(()()[{()(){(

3322211 xgPxPxgxQxPyxfPyPxP

xgPxPxgxQxPyxfPyPxP

xgPxPxgxQxPyxfPyPxP

xgPxP

xgxQxPyxfPyPxPyx

xgPxgxQyxfPyPxPyx

xgPxgxQyxfPyPyxPx

wPwxQwyxfPyPyxPx

yPyxQyyxfPyPyxPx

yPyxQyyxfPyPyxPx

yPyxQyyxfPyPyxPx

A→B ≡

~A∨B

Resolution 실세계 문제

알고 있는 사실 읽을 수 있으면 글을 안다 .→ (∀x)[R(x)⇒L(x)]

돌고래는 글을 모른다 .→ (∀x)[D(x)⇒~L(x)]

어떤 돌고래는 지능이 있다 .→ (∃x)[D(x) ∧I(x)]

증명해야 할 사실 지능이 있는 어떤 동물은 읽을 수 없다 . → (∃x)[ I(x) ∧~R(x)]

정형공식의 절 변환 ~R(x) ∨L(x), ~D(y) ∨~L(y)

(∃x)[D(x) ∧I(x)] → x 가 종속되는 변수가 없다 . → Skolem 함수는 없음 →

Skolem 상수화 → x 를 임의의 상수 A 로 대치 ( A/x) → D(A) ∧I(A) → D(A), I(A)

48

R(x) : x 는 읽을 수 있다

L(x): 글을 안다

D(x) : x 는 돌고래이다 .

I(x) : 지능이 있디 .

Resolution 목표공식의 부정에서 목표절 생성

(∃x)[I(x)∧~R(x)] → 부정 → ~(∃x)[I(x)∧~R(x)] → (∀x)[~I(x)∨R(x)] → ~I(x)∨R(x) → ~I(z)∨R(z)

비교흡수 부정의 적용

~I(z) R(z)∨ I(A) ~R(x) ∨L(x) ~D(y) ~∨ L(y) D(A)

R(A)

L(A)

~D(A)

NIL

S~X

{A/z}

{A/x}

{A/y}

49

규칙 규칙 (Rule)

가정 (if-part, LHS) 과 결론 (then-part, RHS) 의 문장으로 표현

Ex) If (A and B) then (C) (A, B) → (C)

결정이나 결론이 요구되는 영역에 유용

규칙기반 시스템에서 사실집합과 규칙집합으로 구분되어 규칙의 가정부분이

사실집합의 일부와 부합될 때 규칙의 결론부분이 실행된다 .

장점 모듈화 . 독립적으로 추가 , 삭제 변경 용이

특정 표현 방법에 따라 구조를 달리할 수 있다 .

결정 , 결론이 요구되는 영역에 적합

단점 문제풀이에 많은 경비 소요 , 제어가 복잡

50

지식표현 : 규칙에 의한 추론

A

G

사실 베이스

CH

B

F & B ZC & D F

A D

규칙 베이스

match

F & B ZC & D F

A D

규칙 베이스

match

A

G

사실 베이스

CH

B

D

F & B ZC & D F

A D

규칙 베이스

match실행

실행

A

G

사실 베이스

CH

B

D F

Z 로 결론내림

실행

51

지식표현 규칙 표현의 8-퍼즐에의 적용 예

사실 퍼즐의 현재 상태 빈타일의 이동으로 상태 변화

규칙 퍼즐에서의 빈타일의 이동

R1: (빈타일의 위쪽이 이동 가능 ) 빈타일 위로 이동R2: (빈타일의 오른쪽이 이동 가능 ) 빈타일 오른쪽으로 이동R3: (빈타일의 아래쪽이 이동 가능 ) 빈타일 아래쪽으로 이동R4: (빈타일의 왼쪽이 이동 가능 ) 빈타일 왼쪽으로 이동

2 31 8 47 6 5

2 31 8 47 6 5

R2 적용

52

지식표현 규칙 표현의 8-퍼즐에의 적용 예

문제점 현재 상태에서 적용 가능한 규칙 여러개 존재

어떤 규칙을 먼저 실행할지 결정해야 함 스케쥴링 문제

2 31 8 47 6 5

2 31 8 47 6 5

2 31 8 47 6 5

2 8 31 47 6 5

4 5 6

R2R3

R4

현재 상태에서 적용 가능한 R2, R3, R4 중에서 하나의 규칙을 선택하기 위해 앞에서 논의한 휴리스틱 기법을 이용한 스케쥴링을 이용 규칙 R4 를 먼저 실행함 .

이와 같은 과정을 반복하여 목표를 찾아감

53

54

지식표현 규칙기반 시스템 (Rule-based System)

지식 베이스( 문제영역 관련지식 )

사실 베이스

규칙 베이스

규칙 실행기

스케쥴러

추론 엔진( 문제 해결 지식 )

사용자질의 응답

결론 유도

객체지향 개념 객체지향 (Object-Oriented) 개념

클래스와 객체 , 인스턴스

클래스의 계층구조

계승 , 다중계승 , 재사용성

메시지 , 메쏘드

캡슐화 , 정보 은닉

객체 모델링

객체지향 언어의 장점 현실세계의 개념적 개체는 단일 개념의 객체로 묘사

가능

데이터 사이에 존재하는 일반화와 집단화를 쉽게 표현

multimedia 데이터 처리가 용이

시스템 설계 및 구축시 생산성 향상

동시 처리를 자연스럽게 지원

편리한 사용자 인터페이스 지원

55