본문 바로가기

cs

인공지능 - 생성 시스템

생성 시스템 특성


  생성 시스템(production system)은 기본적으로 조건과 결론의 싸을 이루어지는 규칙 또는 생성규칙에 근거를 둔 지식의 표현형태로서, 이런 지식을 처리하여 새로운 지식을 생성해 내는 시스템이다.

  생성 시스템이란 전문가 시스템에서 지식표현 수법의 하나로, 사실의 집합과 'IF THEN' 형식의 규칙집합으로 지식을 표현하는 것을 말한다

 

생성 시스템의 구조

 

  생성 시스템의 다음의 세 부분으로 구성된다.

  1. 생성규칙들의 모임인 생성 메모리 (production memory)

  2. 현재의 상태를 나타내는 버퍼와 비슷한 데이터 구조로서의 작업 메모리 (working memory 또는 context)

  3. 시스템의 운영을 관장하는 인터프리터

 

 생성 규칙

  생성 규칙은 IF ~~~ THEN ~~~ 의 조건과 조건 만족시 수행되는 행동(결론)의 쌍이다.

 

You can turn right when the stoplight is red and you have stopped.

생성규칙
If stoplight is red AND you have stopped, THEN right turn is OK.

 

  앞에서 IF 부분은 조건부 또는 LHS(Left Hand Side)라 하고, THEN 부분은 생성규칙이 선택되었을 때 취해야 할 행동을 나타낸다. 생성 시스템이 가동되는 동안 조건부가 만족된 규칙의 행동(결론) 부분이 수행될 수 있다. 이것을 점화한다(fire)라 표현하는데, 이는 인터프리터를 통한 행동부의 수행을 의미하는 것이다. 생성 메모리에 있는 규칙의 수는 실용적인 인공지능 시스템에서는 수백 개 이상이 될 수도 있다.

 

 작업 메모리

  작업 메모리는 현재의 상태를 나타내는데, 기억된 현재상태가 규칙의 조건과 비교된다. 규칙의 행동부는 작업 메모리의 내용을 변화시킬 수 있다.

 

 인터프리터

  다른 컴퓨터 시스템과 같이 일종의 프로그램으로서 차후에 할 일을 결정한다. (수행해야 할 규칙을 결정하여 일을 수행한다.)

 

추론방법


  추론(inference)은 이미 알고 있는 사실들에서 새로운 사실을 추리해 내는 것인데, 인공지능 시스템이 기존의 시스템과 다른 점은 바로 이렇게 추론할 수 있는 능력을 갖고 있는 것이다.

  추론은 크게 연역법(deduction), 유도법(abduction), 귀납법(induction)의 세 가지로 구분한다.

 

연역법

  규칙 "IF a THEN b" 와 "a"라는 두 개의 사실에서 "b"라는 사실을 얻는 것이다. 연역법에 따라 얻은 새로운 사실은 원래 주어져 있는 것들이 모두 참이면 항상 참이 된다. (추론의 건전성)

 

유도법

  "IF a THEN b" 와 "b" 에서 "a"를 얻어내는 것으로 항상 옳은 결과가 얻어지지는 않는다.

  예를 들어 "IF someone is mother THEN someone is woman, Sue is woman" 에서 얻어진 "Sue is woman"이 꼭 옳다 할 수 없다. 유도법은 일종의 추측이고 다수의 경우에 옳지만 항상 그런 것은 아니다. 따라서 유도법을 유사추론 (plausible inference)라 한다.

  전문가 시스템에서 가끔 이용된다.

 

귀납법

  귀납법(induction)은 관측된 사실에서 새로운 법칙을 만들어 내는 것이다.

 

IF something is sparrow THEN it can fly.
IF something is dove       THEN it can fly.
IF something is eagle      THEN it can fly.

....

 

  앞의 법칙에서 "IF something is bird THEN it can fly" 를 얻어낸다. 이 또한 항상 옳은 추론은 아니다. 귀납은 학습과 관련된다.

 

추론


  생성 시스템에서 연역법에 따른 추론 중 규칙을 사용하는 방법에 따라 전방향 추론(forward chaining)과 후방향 추론(backword chaining)의 두 가지로 나눌 수 있다.

 

전방향 추론

  규칙의 조건부가 일치하면 결론부를 적용하는 추론방법.

  규칙의 개수가 많을 때는 추론하는 시간이 지나치게 많이 소요된다는 단점이 있다.

 

 

  위와 같이 전방향 추론은 주어진 상황에 해당하는 사실들, 즉 작업 메모리 내용 (결론으로 유도된 결과가 저장된다) 에 따라 만족되는 규칙을 찾아 이를 수행시키는 것이다. 이는 새로운 사실을 추론하여 나가는 방향이 IF에서 THEN으로 진행되어 나간다.

 

  현실적인 생성 시스템의 경우에는 수백 또는 수천 개의 규칙을 지닌다. 이렇게 큰 시스템의 경우 Z를 찾기 위해 전방향 추론을 이용한다면 Z와 관계없는 수 많은 규칙을 수행하게 될 것이다. 목표가 단순히 Z와 같은 하나의 주어진 사실만을 추론하는 것이라면, 전방향 추론은 많은 시간과 메모리 용량을 낭비하게 된다.

 

후방향 추론

  후방향 추론에서는 먼저 도출해 내야 할 결론을 결정하고 이 결론을 도출하기 위해 필요한 규칙들을 거꾸로 찾아 나간다.

 

  1. 상황 Z가 존재하는지를 증명. 우선 Z가 작업 메모리에 들어있는지 확인하고 그렇지 못한 경우는 규칙의 행동부에서 찾는다.

  2. Z이전의 규칙 (F&C -> Z) 를 위해 F와 C를 찾는다.

  3. C는 작업 메모리에 있으므로, F를 찾기 위해 이전 단계인 B&D -> F 에서 B와 D를 탐색한다

  4. B는 작업 메모리에 있으므로, D를 찾기 위해 A를 찾는다.

  5. 시스템은 규칙을 수행하여 작업 메모리에 없는 D와 F를 얻고 F&C -> Z 규칙을 이용해 원래의 목표 Z를 얻어낸다.

 

  후방향 추론은  IF A THEN B와 A가 주어져 있을 때 B를 추론할 필요가 있는지를 살펴보고 필요시에 A에서 B를 얻어내는 연역법이다.

 

'cs' 카테고리의 다른 글

network - 무선랜  (0) 2022.07.29
소프트웨어 프로젝트 계획  (0) 2022.07.28
network - 유선랜  (0) 2022.07.24
인공지능 - 퍼지이론  (0) 2022.07.22
network - 데이터링크 계층에서 다중 접근 방식  (0) 2022.07.19