Rule-base Expert System

 

Rule 로 표현되는 생성시스템 (Production System) 의 구성은 다음과 같다.

  1. Production Memory (Long Term Memory) : Rule 들을 기억하고 있는 Hard Disk 에 해당된다.
  2. Working Memory (Short Term Memory) : 추론과정 중에 전문가 시스템에 입력한 Facts 들을 잠시 기억한다.
  3. 추론엔진 (Inference Engine) : 추론과정 전반을 Control 한다.

term :

전문가시스템 (Expert System)   추론 (Reasoning)   추론엔진 (Inference Engine)   단기기억 (Short Term Memory)    장기기억 (Long Term Memory)   작업기억 (Working Memory)   문제해결 (Problem Solving)   사고 (Thinking)   인공지능 (Artificial Intelligence)   신경망 (Neural Network)

site :

AI Topics : Rule-Based Reasoning

paper :

규칙 (Rule) 과 생성시스템 (Production System) : 김재희

규칙을 이용한 지식 표현 : 이재규

생성시스템 (Production System)   전향 생성 시스템 (forward production system)   후향 생성 시스템 (backward production system) : 유석인

Rule-Based Expert Systems: The MYCIN Experiments of the Stanford Heuristic Programming Project  : Edward H. Shortliffe. Bruce Buchanan

보통 Rule Based 전문가 시스템에서는 1,000개 전후의 Rule을 사용한다. 그러나 Rule들의 개수가 증가함에 따라 성능면에서 현저한 문제점을 야기하게 된다. 이것은 다음의 원인 때문이다.

  1. Sequential Processing 에서의 Bottle neck 현상
  2. Rule 생성은 자동적으로 이루어지지 않는다. 인간이 넣은 Rule에 대해서만 그 기능을 발휘한다. 인간처럼 자동적으로 학습이 이루어지지 않는다.
  3. Rule의 수가 많을 때 Logic 상의 문제가 하나만 발생해도 문제가 생긴다. 물론 결론의 정확성이 조금 떨어질 뿐이라지만 그것은 매우 중요하다.

위와 같은 이유로 하여 대두되는 Neural Net에서의 전문가 시스템은 다음의 특징을 가진다.

  1. Parallel Processing으로 인간과 같이 동시에 여러 가지 일을 진행시킨다.
  2. 학습 과정이 인간과 비슷하여 목표치와 출력치 간의 Error를 줄여나가는 방향으로 Weight Update를 통한 학습으로 사실상 Rule을 자동 생성하는 효과를 가진다.
  3. NN을 구성하는 수 많은 node들은 전문가 시스템에서 다루는 엄청난  수의 Factor들을 다룰 수 있게 한다. 사실상 Rule이 10,000 개를 넘어 가는 경우 Rule Base 전문가 시스템은 제대로 운영될 수 없다.

결국 인간인 전문가의 사고 과정을 그대로 묘사하려는 전문가 시스템은 인간의 Neuron을 그대로 본딴 NN Model로 구현시 좀 더 정확하여 질 것이다. NN을 이용한 의학용 진단 전문가 시스템도 여러 개 발표되어 있으며 실제로 어떠한 성능을 발휘하는지는 알지 못한다.

 현대적인 Rule-base Expert System 의 기초 

Rules

Post Production Rules

Inference Engine

 1. Efficient Pattern Matching  <--  Rete Algorithm <--  Markov Algorithm

 2. Conflict Resolution

 3. Execution of RHS of Rules

Facts

 

의료진단을 위한 Rule base system의 장점
 

the use of general knowledge : 책에 묘사되어있는 것과 완전히 똑같지 않은 환자를 다뤄야 할 경우에 아무리 잘 정리된 책이라도 비전문가가 사용하기는 어려울수 있다. 따라서 general knowledge를 사용하여 이해가 쉽게 상담.

the use of judgmental knowledge : 희귀한 병을 가진 소규모의 환자의 경우 아직 이용할만한 통계적 data가 없는 경우에 이의 고려를 위한 judgmental (판결의,결정적인) knowledge의 사용

ease of modification : rule들은 서로간에 명확하게 related된 것은 아니고 미리 구축된 decision tree가 있을 필요도 없기 때문에 rule modification이나 새로운 rule addition이 그리 복잡한 것이 아니다.즉 시스템의 기존 지식과의 interaction을 그리 고려하지 않아도 된다.

facilitated (용이한) search for potential inconsistencies and contradictions (모순) in the knowledge base : rule 과 같은 packet으로 명확하게 저장된 criteria는 그리 큰 어려움없이 탐색하고 비교될수 있다.

straightforward mechanisms for explaining decisions : 사용자가 찾는 적절한 (relevant) rule들을 찾아내고 교류시켜서 (identify and communicate) 사용자에게 결정을 설명하는 mechanism.

an augmented (증진된) instructional capability : 시스템 사용자는 선택적인 방법으로 시스템지식을 취급하도록 교육받을수 있다. 즉 혼란스러운 decision process부분만을 검사할 필요가 있다.

(Edward H. Shortliffe 1984) 

 Rule base expert system의 단점
 

전문가로부터 지식획득의 어려움 : rule이 전문가의 지식 체계와 달라서 문제해결을 위한 지식을 반영하지 못하며 전문가의 사고개념을 표현하는 단위로 적합하지 못하다. 인간 전문가는 수많은 사례로부터 광범위하고 전문적인 경험을 쌓게되며, 새로운 상황에 적용하기위해 이러한 경험을 일반화하여 해결책을 찾는다. 단순히 책에 있는 지식이 아닌 경험에서 우러난 지식을 rule로 표현하는데 전문가는 어려움을 느낀다. 전문가의 지식은 경험으로부터 유도되는 것이며 지식의기본단위는 rule이 아니라 사례인 것이다.해결책으로 neural net, case based reasoning, model based reasoning, explanation based reasoning 등이 사용된다.

rule은 과거의 결과를 기억하지 못한다 : 동일한 문제를 해결함에 있어서 수백개의 rule을 똑같이 적용해야 하고 computational efficiency는 떨어진다. rule을 수정하지 않는한 동일한 실수를 반복한다. 즉 과거의 실수를 기억하지 못하기 때문에 자동으로 좀더 나은 결과를 기대할수 없다. 효과적으로 환자를 치료하는데 실패한 의사는 동일한 환자를 치료시 실수를 반복하지 않는다.

rule에서 불확실한 자료의 표현과 처리가 불가능하다 : rule의 조건과 완전히 동일하지 않은 유사한 (similarity) 문제의 해결에 있어서 대응책을 얻기가 어렵다. fuzzy 가 하나의 해결책이 될수 있을 것이다. 인간 전문가는 Analogy에 의해 추론할수 있다. 의사는 유사한 이전 사례로부터 다른 진단 또는 치료를 선택한다.

지식의 수정 및 추가에 어려움이 많다 : 이를 위해서 시스템을 재개발해야 하는 경우가 많으며 지식의 추가로 인한 지식적용과 통제가 어려워져 시간이 많이 걸린다. 인간 전문가는 지식의 추가가 자연스럽게 이루어지며 많은 지식을 가질수록 오히려 빠른 시간내에 결론을 내린다