엑스퍼트 시스템

 

전문가가 갖고 있는 지식, 經驗, 노우하우를 기억시켜서, 문제가 발생했을 시에 정확한 判斷을 내리는 컴퓨터의 실용화가 시작되고 있으며, 그 용도는 다방면에 걸쳐 있다.

 

1 엑스퍼트 시스템의 짜임새

  1-1 엑스퍼트 시스템의 출현

  1-2 지식 베이스 시스템의 분류

    (a) 지식 베이스 시스템의 기본 구성

    (b) 지식베이스의 기술 방법에 의한 분류

    (c) 해결하는 문제에 의한 분류

2 의료 엑스퍼트 시스템

  2-1 知能的 의료 상담 시스템

    (a) 의료상의 의사 결정

    (b) 통계적 방법과 지능적 방법에 의한 진단과정

    (c) 의료지식의 표현

    (d) 진료상의 추론

    (e) 설명과 정당화의 기능

 

 

2-2 MYCIN

    (a) MYCIN 의 지식베이스

    (b) 확실성 계수

    (c) 추론: 추론엔진

    (d) 치료법의 선택

    (e) 새로운 지식의 획득과 이용

  2-3 CASNET

    (a) 지식 표현

    (b) 추론

    (c) 요약

  2-4 PIP

    (a) 지식 표현

    (b) 추론

    (c) 요약

 2-5 EXPERT

    (a) 지식 표현

    (b) 추론 전략

    (c) 응용

  2-6 IMDS

    (a) 지식 표현

    (b) 추론

3 과학, 기술 엑스퍼트 시스템

  3-1 TEIRESIAS

    (a) 지식베이스 프로그램 (knowlege-based program)

    (b) 대화에 의한 전문지식의 전송

    (c) 메타 레벨 지식

    (d) 설명 기능

    (e) 지식 획득 : 규칙 모델과 스키마 (schema)

    (f) 메타규칙과 실행전략

  3-2 MACSYMA

    (a) MACSYMA에서의 비알고리즘적인 절차

    (b) 의미적 패턴 매칭

    (c) 등산법에 의한 갼략화

    (d) 관계 데이터 베이스와 추론

    (e) 발견적인 문제해결

    (f) 유저의 교육

 3-3 SRI 컴퓨터 베이스 컨설턴트

    (a) 컴퓨터 베이스 컨설턴트의 설계

    (b) 조립순서의 계획작성

    (c) 실세계와 인터페이스 : 시각과 대화

    (d) 요약

  3-4 DEC社의 VISION

  3-5 PROSPECTOR

    (a) 지식 표현

    (b) 제어

    (c) 요 약

  3-6 SPERIL -Ⅱ

4 엑스퍼트 시스템 개발 지원 투울

   4-1 OPS 5

    (a) 특징

     (b) 구성

 

 

 

4-2 BRAINS

    (a) 특징

    (b) 구성과 기능

    (c) 지식 표현

4-3 KEE

    (a) 지식 표현

    (b) 술어 표현

    (c) 루울 표현

    (d) 추론 기구

    (e) 설명 및 디버그 기능

    (f) 유저 인터페이스와 KEE머신

  4-4 ART

    (a) 특 징

    (b) 추론 기구

    (d) 실행 환경

  4-5   CIS (condition interprete system)

    (a) 지식표현

    (b) 추론

 

 

 

1 엑스퍼트 시스템의 짜임새

1-1 엑스퍼트 시스템의 출현

-전문가 불요의 사회를 초래할까-

생각하는 기계, 그것은 지식을 갖고 있는 컴퓨터이다. 생각하는 것에 지식이 필요함을 안 뒤, 컴퓨터의 기억부분에 인간인  전문가가 갖고 있는 노우하우 (know-how), 즉 지식을 기억시킨다. 이것이 지식 베이스이다. 전문가의 판단이 필요한 사태가 발생했을 경우에, 이 지식 베이스를 갖고 있는 컴퓨터, 즉 AI에 물어 보게되면, 그 해답을 얻게 된다. 이것이 엑스퍼트 시스템 (expert system) 이라 하는, 일종의 인공지능이다.

이것을 좀 더 상세히 언급하면, 우리말 워드 프로세서를 사용하는 사람은 어려운 한자를 기억하고 있을 필요가 없다. 워드 프로세서가 우리말 사전을 가억하고 있어서, 사용자의 지시에 따라 브라운관에 표시해 주기 때문이다. 그러나 이 표시된 문자가 정확한지를 판단해야 하므로, 인간은 역시 문자를 기억하고는 있어야 한다.

문장을 만드는 일에 능숙하지 못한 사람은 문장 작성에 능숙한 전문가에 인사장이나 주문에 대한 감사문과 같은 문장을 만들어 받아서, 미리 기억시켜 두고, 필요에 따라 이 기억 문장을 불러 내어 년월일이나 이름 등을 바꾸어 사용할 수가 있다. 타인이 생각하여 만든 문장을 이용할 수가 있으므로, 일종의 엑스퍼트 시스템이라 할 수는 있으나, 현재의 컴퓨터는 이 정도까지가 한도이다.

전문가는 여러 가지 경우에 과거 경험한 노우하우나 연구한 지식을 떠올려서 정확한 답은 추론하여 판단을 내린다. 문제가 발생한 경우에 정확한 판단을 내린다는 것은 문제로부터 얻어진 사실, 즉 데이터를 바탕으로 하여, 인간의 지식 베이스에 있는 정보를  이용하여 추론을 행하고, 정확한 답을 내고 있음에 주목해야 하겠다.

현재의 컴퓨터에는 팽대한 정보를 기억시킬 수가 있고, 이 기억 정보는 필요에 따라 실시간으로 불러 낼 수도 있게 되어 있다. 따라서 전문가가 갖고  있는 지식을 어떻게 기억시켜 둘 것인가라는 지식 베이스 속에 지식의 기술 방법과 , 이것을 어떻게 이용할 것인가라는 지식의 推論機構가 되어 있으면, 전문가가 생각하여 판단하는 기능을 대행하는 "생각하는 기계". 즉 엑스퍼트 시스템이 실현된다.

전문가가 갖고 있는 전문지식을 이용하고자 하는 시도로 맨처음 성공한 것은 미국의 스탠포드대학에 있는 E. A. Feigenbaum교수에 의해서였다. 그가 DENDRAL이라는 것에 화학 분자식과 질량 스펙트럴을 입력시키면, 그 물질의 가장 가능성이 높은 화학구조식을 추정하여출력하는 컴퓨터 프로그램을 만든 것은 1971년이었다.

이에 자극되어 1976년경부터 의료진단 시스템을 중심으로, 현재에 이르기까지, 여러 가지 엑스퍼트 시스템이 개발되었다. 의료진단은 의사라는 전문가의 과거 경험, 직감, 지식 등이 필요하다는 의미에서, 엑스퍼트 시스템을 이용하기에는 최적이다.

이 분야 최초의 것은 전술의 파이겐 바움 교수팀이 개발한 MYCIN이다. 이것은 혈액 감염증과 수막염(髓膜炎)의 치료에 한정된 시스템이나, AI가 병의 진단에 이용된 최초의 케이스이다. MYCIN은 의사가환자를 진찰하여, 그 결과와 검사 결과의 세균명 등을 입력시키면 진단 결과, 즉 병명을 결정하여 어떤 항생물질을 얼마 정도 복용시키면 좋을지 등과 같은 治療法을 나타내어 준다.

MYCIN의 성공은 엑스퍼트 시스템의 개발에 박차를 가하게 햇다. 미국 지질연구소와 스탠포드연구소 (SRI) 가 공동으로 광물자원 탐사를 위한 엑스퍼트 시스템 PROSPECTOR를 개발했다. 이 개발 도중에서, 1982년에 재빨리 워싱턴주에서 모리브덴 광맥을 찾아 내는 성과로 인하여, 엑스퍼트 시스템은 점점 세인의 주목을 끌 게 되었다.

엑스퍼트 시스템은 복수개의 원인으로 생긴 문제의 원인 분석과,그 해결안의 작성에 대해서는 인간인 전문가 이상의 효과를 발휘한다. 이 점에 주목한 일본의 증권회사는 주식의 예측시스템 구축을 계획하고 있다. 상장사가 괘선(증권 시세의 변동을 모눈종이에 나타낸 도표) 분석으로 주식의 예측을 하는 것은 잘 알려져 있으나, 상장사의 노우하우를 지식 베이스화 하여, 「8할 정도의 정확도로 예측 가능한 시스템이 된다면, 이 증권회사의 수익은 급상승한다」고 한다.

경영, 관리는 가장 경험과 직감을 요하는 분야이며, 엑스퍼트 시스템 도입이 크게 업적을 좌우하게 할 것이다. 지금까지 컴퓨터를 사용하여 OA시스템의 구축에 성공하고 있는 기업일수록 인공지능을 사용한 OA를 지향하고 있는 것이 세계적인 추세이다.

1-2 지식 베이스 시스템의 분류

-지식의 기술 방법과 목적에 의한 분류-

8-1절에서 언급한 엑스퍼트 시스템은 문제해결시스템 혹은 지식 베이스 시스템 (knowledge-based system) 의 일종이다. 제 10장에서 후술할 것이나, 지능로보트도 인간이 주어 놓은 문제를 풀어서 자주적으로 판단하여 행동하기 위한 문제해결시스템고, 다음 장에서 설명할 패턴 이해 시스템이 수용되어 있다.

(a) 지식 베이스 시스템의 기본 구성

이들 시스템에 공통적인 것은 7-1절의 그림 7-1에서 설명한 바와 같이 지식 베이스와 추론기구를 갖추고 있는 것으로, 문제해결 시스템이라고도 한다. 이 구성 요소를 상세히 쓰면 그림 8-1과 같다.

추론기구는 추론 엔진 (Inference Engine) 으로 불리며, 이것이 지식 베이스 (Knowledge Base) 가 기억하고 있는 지식을 이용하여 추론한다. IE와 KB는 지식 베이스 管理 시스템 (Knowledge-Based Maintenance System) 의 관리하에 있게 되고, 엑스퍼트의 지식이 지식 獲得 機構 (Knowledge Acquisition Mechanism) 를 거쳐서 지식 베이스에 기억된다. 로봇의 문제 해결 시스템의 경우도 문제의 정보가 이러한 지식 획득 기구를 통하여 지식 베이스에 주어진다.

[지식베이스 시스템의 기본 기능]

이에는 다음과 같은 기본 기능이 요구된다.

(1) 지식의 표현과 축적, 관리

(2) 지식의 이용 및 그 지원

(3) 지식의 획득 및 그 지원

그림 8-1 지식베이스 시스템의 기본 구조

종래의 데이터 베이스가 대상으로 하는 데이터는 비교적 낮은 레벨의 정보였으나, 지식 베이스 시스템의 취급 지식은 「構造化된 데이터 群을 단위로 하는 데이터」이며, 대상 세계를 기술하는 능력이 높을 것을 요구한다. 그러나 그 구조가 복잡하고 이해하기 어려우면 취급상 어려운 시스템이 되어 버린다. 따라서 상기(1)의 지식 표현법에 요구되는 것은

(1 • 1) 표현 능력이 높을 것

(1 • 2) 지식이 쓰기 (書) 쉬울 것

(1 • 3) 이해하기 쉬운 표현일 것

이다. 또. 지식 베이스 시스템이 실용에 공급될 때에는 다종다량의 지식을 효율 좋게 취급할 필요가 있게 된다. 즉,

(1 • 4) 대량의 지식의 효율적인 축적

(1 • 5) 대량의 지식의 고속 탐색, 갱신

이 요구된다. 이와 같은 기능에 관하여는 종래형의 데이터 베이스 시스템의 힘을 빌리는 방식도 생각되고 있다. 한편, 상기 (2)에 관해서는

(2 • 1) 추론 기능

(2 • 2) 유연한 지식 조작 기능

(2 • 3) 고도의 맨-머신 인터페이스 기능

이 요구된다. 이들 중에서도 추론 기능은 중심적인 기능이다. 또 지식 베이스 시스템의 이용자는 맨-머신 인터페이스를 중개로 하여 지식 조작을 하거나 추론의 결과를 이용한다. 그를 위해 (2 • 2)와 (2 • 3)이 필요하다.

또, 지식 베이스 시스템을 실용에 쓰기 위해서는 전문가의 지식을 지식베이스에 축적시킬 필요가 있으나, 이것은 현 상태로는 지식공학자가 전문가로부터 지식을 채취하여, 지식 기술을 하는 수가 많다. 이 지식 기술은 지식 획득 기구에 의해, 지식 공학자를 중개로 하지 않고 전문가로부터 직접 수행되는 것이 바람직하다. 지식 획득 기구에 요구되는 기능으로서는

(3 • 1) 모순되는 또는 틀린 지식의 검출, 제거

(3 • 2) 부족되어 있는 지식의 검출, 요구

(3 • 3) 애매모호한 지식의 검출

(3 • 4) 주어진 지식 또는 보유 지식으로부터 필요한 지식을 추출하고, 획득하는 능력

이 있다. (3 • 1) ~(3 • 3)은 지식의 일관성이란 입장에서 지식의 부가, 변경시, 요구되는 기본 기능이다. 일관성이 없는 지식베이스는 유저의 불신을 초래하게 되고, 존재의 의의를 잃어 버리게 될 것이다.

[지식 베이스 시스템의 기본 구조]

지식베이스 시스템의 핵은 지식베이스와 추론 엔진이다. 또, 이것 이외에 유저 인터페이스, 전문가로부터의 지식획득기구, 지식베이스 조작 및 관리를 위한 KBMS 등이 지식베이스 시스템이 붙어져 있다.

구체적인 구조는 시스템에 따라 다르다. 가령 프러덕션 시스템인 경우, 그 것은 그림 8-2와 같이 된다. LTM (Long Term Memory) 에는 루울 (rule) 이 들어 있고, STM (Short Term Memory) 에는 현재의 상황이 들어 있다. 인터프리터는 현재의 상황을 보고서 필요한 루울을 작동시킨다. 루울 에디터는 루울의 획득, 경신을 수행한다.

이 방식의 대표 예인 MYCIN의 구성도를 그림 8-3에 보인다. 이것에는 診斷 過程 및 推論의 根據를 제시하는 說明 시스템이 붙어 있다.

그림 8-2 프러덕션 시스템의 구조

그림 8-3 MYCIN의 구조

(b) 지식베이스의 기술 방법에 의한 분류

지식베이스에 지식을 기술시키는 구조에 따라 앞장 그림 7-23에 보인 바와 같이 문제해결 시스템은 루울형, 하이브리드 형, 흑판형 시스템으로 대별된다.

루울형 시스템 (rule-based system) 은 지식을 "만약~이라면~라 한다" 와 같은 IF-THEN형의 루울(규칙)로 기술하는 시스템이다. 이것은 "흐리고 습도가 100%이상이라면, X시간 이내에 비가 올 확율은 △△%이다" 와 같이, 경험적인 지식을 기술해 간다. 이것은 유저의 입장에서도 이해하기 쉽고, 직감적으로 알기 쉬우며, 흩어져 있는 지식도 표현 가능하여 유연성이 있으나, 개개의 루울간의 無矛盾性을 첵크하기 어렵거나, 새로운 루울을 부가시킨 경우에 타의 루울에 어떠한 영향이 있게 될지룰 알 수가 없는 등의 난점이 있다. 이와 같은 루울형으로 지식 (rule-based knowledge) 을 기술한 엑스퍼트 시스템을 프러덕션 시스템이라 부른다.

하이브리드형 시스템은 루울형의 지식과, 5-9절에서 서술한 프레임형의 지식표현을 조합시켜서, 양쪽이 상호 참조해 가면서 문제해결을 하기 위한 지식을 제공한다.  이것은 루울형에 비해 지식의 표현이 유연하고 깊어지나, 미리 지식의 분석이 필요하게 된다.

이보다도 한걸음 앞선, 장래 어떤 지식표현 방법이 등장되더라고, 그 기술을 할 수 있도록 한 것이 흑판형 시스템이다. 한 사람의 전문가로 해결 불가능한 복잡한 문제를 해결할 경우에, 중앙에 흑판을 두고서 아이디어를 내어가면서 부분적으로 문제를 해결해가면서 논의를 진행시켜 가는 것과 같은 개념을 컴퓨터 속에 실현시킨 것이다.

중앙에 흑판이라는 공통의 데이터 영역이 있어서, 복수개의 지식원이 흑판과 서로 작용해 가면서 문제를 해결해 간다. 가령, 어떤 지식원(이것은 전문가 A에 상당함)으로부터 문제의 중간 해답이 나왔다고 하자. 이것이 흑판에 기억되고 별도의 B라는 지식원이 작동되어, 이 중간해답을 다시 문제해결의 방향으로 끌어간다. 각 지식원은 루울형의 기술, 혹은 프레임형의 기술, 어느쪽이라도 상관은 없다.

(c) 해결하는 문제에 의한 분류

엑스퍼트 시스템을 전술의 3가지 시스템명으로 부르는 경우가 있다. 예를 들면 흑판형 시스템 혹은 루울형 시스템 등이다. 프러덕션 시스템, 프레임 시스템과 같은 이름도 쓰인다. 프레임 시스템은 지식표현에 프레임을 이용한 엑스퍼트 시스템을 말한다. 이외에 문제해결 시스템으로서, 앞장 그림 7-23에 보인 것과 같은 의사결정 시스템, 계획 및 예측 시스템, 설계 시스템, 컨설테이션 시스템, 진단, 감시, 수리 시스템, 교육 시스템, 제어 시스템 등과 같은 응용면에서의 분류도 있다.

2 의료 엑스퍼트 시스템

2-1 知能的 의료 상담 시스템

의료 상의 意思決定을 지원해 주도록 설계된 지능적 상담 (intelligent consultation) 시스템의 개발에는 두 동기가 있었다.

첫째, 신뢰성이 있으면서 준비성이 높은 의료 서비스의 제공으로 인해, 진료 코스트를 내려 주고, 그에 의해 사회에 이익을 안겨 주는 것이다 진료의가 범하는 오진의 태반은 看過에 의한 것이라고 한다. 즉, 환자의 病因을 알아 내고자 할 때 내과의는 모든 가능성을 고려할 수는 없기 때문에 적절한 진료를 그냥 스쳐 지나가 버린다. 만약 충분한 환자의 데이터가 주어진다면, 그 진료분야에서의 가능성의 모두를 컴퓨터에 넣을 수 있게 된다. 또한, 투약량의 계산, 특히 그 조제가 환자의 용태에 미묘하게 관계되어 있거나,조제의 계산에 많은 요인을 고려해야 할 경우에는 컴퓨터 쪽이 진료의사 보다도 빨리 정확하게 일을 처리해 낼 수가 있다. 그리고 살균요법의 처방과 같이 내과의에 있어서는 분명히 전문이 아니지만, 컴퓨터에는 알맞는 루틴 워크와 같은 작업도 있다.

둘째, 현재의 정보과학에 있어서의 문제에 관계한다. 즉, 진료의학은 인지과정 연구를 위한 많은 창의적인 것을 내어 주는 분야이며, 또 인지과정의 입장에서 진료에 관해 폭 넓게 연구하고 있다. 의료의 분류학도 충분히 발달되어 있고, 비교적 잘 정리된 대규모 지식베이스도 존재하며, 또 개개 전문의료 분야에서는 일반의 진료의사보다 탁월한 전문의도 많다(즉, 명확히 할 수 있는 전문가 지식이 존재한다). 아울러 이 분야에서의 문제해결은 반복적인 성질을 갖고 있다. 이들 특성은 지식공학을 도입하여 적용시킬 만족할 만한 조건을 구비하고 있다. 다시말해, AI을 단순한 문제로의 응용 단계에서, 대규모의 현실적인 문제로 풀어 나가기 위한 예로써 아주 알맞다는 것이다.

(a) 의료상의 의사 결정

의료상의 의사 결정은 주로 데이터 수집, 진단, 요법조언의 3국면에서 생긴다. 데이터 수집은 환자의 병력, 진료데이터, 검사데이터로 되어 있다. 진료데이터에는 환자의 말에 의한 (두통, 가슴 아픔 등의) 자각증상 (symptom), 진료의의 관찰에 의한 징후 (sign) 등이 있다. 검사 데이터는 일반적으로 발견물 (finding) 이라고 불린다. 자각 증상, 징후, 발견물을 일반적으로 증상 (menifestion) 이라고 한다. 진단이란 이들 데이터를 사용하여 병상을 결정 짓는 과정이다. 진료에서의 이들 세 의사 결정은 서로 무관하지 않다. 더 상세한 정보를 모으기 위해서는 병명을 가정할 필요가 있고, 치료의 조언을 하기 위해서는 진단이 필요하며, 일반적으로 보다 많은 정보 수집을 필요로 하게 된다. 때로는 어떤 검사를 실시하는 데에 진료의는 코스트의 견적을 해야 한다. 이 코스트는금전적인 비용과, 검사에서 얻게 되는 정보의 가치 이상으로 중요성을 고려해야 하는 환자의 위험부담, 둘 다가 된다.

데이터의 수집, 진단, 치료의 조언이 상담 (consultation) 을 형성한다. 상담의 과정을 병의경과와 관련시켜 그림 8-4에 보인다.

그림 8-4 시간경과를 수반하는 의료문제의 상담

병을 일으키는 첫째 요인을 병인 (etiology) 이라 하고, 요인에서 병이 생겨지는 과정을 發病 (Pathogenesis) 이라고 한다. 이상적으로는 진단은 병인을 결정하는 것이며, 치료의 방법은 판별된 병과 그 원인에 대해 명확한 형으로 표현되다. 그러나 의학지식에는 불완전한 것도 있고, 병의 원인을 결정할 수 없을 경우도 있다. 이러한 경우, 치료에서는 병의 특성이나, 그에 따라서 어떻게 치료해야 하는지의 경험적 지식이 중요 역할을 하게 된다.

觸診과 같이 컴퓨터가 할 수 없는 상담이 있다. 의사는 환자의 외견, 안색등의, 컴퓨터가 얻을 수 없는 정보를 얻는다. 그리고, 물론 컴퓨터에는 환자와의 대화에 의해 정보를 얻고, 치료를 하고, 또 설명하는 기능이 없다. 따라서 상담 시스템의 설계에서는 이들 요인을 고려하여, 그 정보를 간접적으로 지어 넣을 수 있도록 하는 기구를 만들어 두어야 한다.

(b) 통계적 방법과 지능적 방법에 의한 진단과정

역사적으로 살펴 보면, 의사의 진단과정 연구에는 두 주류가 있다. 이 두 방법은 결코 대립적인 것이 아니라, 상보적인 것인데, 그 다른 점을 이해해둘 필요가 있다(그림 8-5)

첫 번째의 통계적인 방법은 의사의 진단과정은 데이터를 처리하여 하나의 결론을 끌어 내어 수학적 모델로 치환하시키는 방법이다. 이 입장에 서게 되면, 객관적으로 수집된 다수의 환자 병상이나 검사 데이터에, 각각의 환자에 대한 확정적인 진단을 대비시켜서, 그 사이를 잇는 수학적 모델을 만들 게 되면, 그것에 의해 진단의 과정이 해명되는 것으로 하고 있다.

극단적으로 말한다면, 의사는 필요 없고, 의사는 「때에 따라 서로 다른 판단을 내릴 경우도 있고, 주관적인, 오히려 바람직스럽지 못한」존재일 수도 있게 된다. 필요한 것은 객관적인 데이터이며, 이 데이터가 다수 모여서, 마찬가지로 객관적으로 확정적인 진단과 대비시킬 수만 있다면, 그 사이를 잇는 수학적 모델은 복잡하게 될지는 몰라도, 반드시 존재하고, 이와 같이 만들어 낸 모델은 가장 우수한 진단시스템이 된다는 것이다.

이러한 방법으로 병상과 진단 사이를 잇는 수학적 모델로서 연구된 것은 Bayes의 정리, 다변량 해석, 그 중에서도 판별분석이었다.

이에 반해, 두 번째의 지식공학적 방법은 의사의 머리 속에야 말롤 가장 우수한 진단의 과정이 존재하는 것으로 생각하여, 될 수 있는 한 이것을 추출하여 그대로의 형으로 이용하고자 한 것이다.

이에는 「전문가」라는 전문의가 필요하고, 그 경험을 끄집어 내어 이용하자는 데 목적이 있다. 가령, 진단에 개인차가 있었다고 하더라도, 전문가의 진단 과정이 그렇다면, 그것을 수용하는 것이 최선책으로 생각한다. 따라서 인간과 비슷한 유연한 시스템을 만들 수가 있다. 그러나 극단적으로 말한다면, 의사 개개인은 조금씩 다른 진단체계를 갖고 있으므로, 「어떤 의사」의 진단 시스템은 만들었어도 완전히 일반적인 것은 존재할 수가 없다고 할 수 있다. 또, 의사를 소위모방한 것이므로 새로운 발견을 기대할 수는 없다. 그러나 실용적인 시스템을 만든다는 관점에서 이 방법은 자연적이며 또 이해하기 쉬운 시스템이 될 수 있는 것이다.

이에 반해 수학적 모델에 의한 진단은 실용상, 첫째, 수학모델에 몇몇 한계가 있고, 둘째 복잡한 의사의 논리가 반드시 기존의 수학 모델에 맞추어 질수 있을 것이라 생각할 수 없다. 따라서 기존의 모델도 몇몇 가정을 두고 있다. 가령 Bayes의 정리를 사용한 때는 병상태간의 독립성이 가정되는 것으로 하며, 판별함수의 이용에서는 선형성의 가정을 두고 있다.

(c) 의료지식의 표현

이에는 ⓐ병상태, 병원인, 요법 등의 병에 관한 일반지식과 ⓑ 병력과 치료 등의 환자에 관한 특별 지식으로 되어 있다. 의미네트, 프러덕션 루울 프레임, 술어계산 등의 AI 통상의 표현형식은 정밀성을 갖지 못하는 의학지식의 표현에는 바로 적용할 수가 없다. 지금까지 개발된 모든 상담시스템에서는 이들 지식표현에 확신의 세기, 혹은 연상의 세기를 집어 넣는 식으로 하여 확장 표현되고 있다.

예를 들면, MYCIN에서는 確實性 係數 (certainty factor) 를 도입한 프러덕션 루울의 집합으로 표현되고 있다. 확실성 계수란 모든 가정이 참일 때 그 결론에 대한 확신 상태를 나타내는 것이다. CASNET는 因果關係네트워크 (causal-network) 표현(관계 causes를 이용한 의미네트워크)을 쓰고 있다. 거기서는 causes 링크는 원인의 세기를 나타내는 수로 그 정도가 표현되어 있다. INTERNIST 에서는 병의 분류를 각 마디가 병명을 나타내는 대규모의 나무로써 기억시키고 있다. 각 병명의 마디에는 그 증상의 리스트가 그 병명과 증상과의 사이에 있는 인과의 세기를 나타내는 양적인 정도와 함께 붙여진다. PIP에서는 프레임 표현법에 속성란 체움기 (slot filler) 에서의 확신 정도와 그 프레임 자신의 환자로의 적용 가능성을 나타내는양을 도입, 확장시켜 쓰고 있다. 의미네트와 프러덕션 루울을 결합시켜 표현하고 있는 IRIS에서는 확신의 세기를 임의로 표현 할 수 있도록 한 기능을 만들어 두고 있다. 프레임과 프러덕션 루울을 일반의료 지식과 전문의료지식에 각각 적용, 혼합구축하고 있는 IMDS에서는 Fuzzy 집합론에 근본한 불확실성 지수로 지식을 정교하게 처리하고 있다.

(d) 진료상의 추론

진료상의 추론에서는 어떤 가설에 대한 객개 증거의 정도가 포함된다. 대부분의 시스템에서는 문턱치화 (thresholding) 의 방법을 사용하고 있다. 즉, 어떤 가설의 평가치가 어떤 정해 놓은 문턱치 그 지식베이스를 만든 전문 의사가 정해 놓은 문턱치)를 넘기면 그 가설은 옳은 것으로 한다. 예를 들면 MYCIN에서의 추론에서는 파라미터(가령, 환자의 감염증과 그 병원균)를 결정하는 데에 프러덕션 루울에 바탕한 추론기구를 사용하고 있는데, 확신도의 평가치가 정해 놓은 문턱치를 넘기는 경우에는 그 규칙의 전제가 옳았다고 본다. 몇몇 규칙이 어떤 파라미터의 결정에 기여한 경우 그들 확실성 계수는 이 결론의 확신도를 평가하는 데에 쓰인다. 이들 확실성 계수의 계산은 확률 이론과 관계된다.

CASNET 에서는 인과 관계 네트워크의 개개 상태에 상태측도 (status measure) 가 관련되게 하고 있다. 병세 정도는 병의 인과관계에 따라 전후 양방향을 전파한다. 만약 상태측도가 정해 놓은 문턱치를 넘기면 그 상태가 확실한 것으로 본다.

INTERNIST 에서는 ⓐ 환자의 증상에 나타난 징후, ⓑ 그 환자에 나타나고 있지 않는 병에 관련되는 징후, ⓒ 이 병에 관련되어 유발될 병, 등 간의 상호관련의 세기를 고려한 절차에 의해 병의 가설이 계산된다. 병의 가설은 순위가 매겨져서 최고위의 병을 다시 상세히 조사한다. 상위 두 병 사이의 평가치 차가 어떤 기준에 도달 했을 때 최고위의 병을 확실한 것으로 한다.

PIP 는 단언적 방법 (categorical method) 과 확률론적 방법 (probabilistic method) 의 두 추론법을 쓰고 있다. 단언적 방법에서는 수치가 아닌 논리학적 판단기준에 바탕을 둔다. 확률론적 추론에서는 질환의 병세 계산이 포함된다. 어떤 질환 프레임의 환자로 적용할지는 논리학적 혹은 확률론적 판단 기준에 의해 결정된다.

IRIS 에서는 의미네트의 어떤 마디가 어떤 환자에 대해 참인지를 확신하고 자 한다. 정보는마디점 간의 링크에 있는 일련의 프러덕션 루울에 의해 전파 된다. 이들 프러덕션 루울은 논리학적, 그리고 확룰론적 결정법을 표현할 수가 있다.

IMDS 는 순방향추론과 역방향추론을 적절히 적용하는 사이드웨이 추론방식을 사용하는데, 먼저 순방향추론을 써서 가정설정에 필요한 기본 증세 프레임을 선정하고, 그 다음, 역방향추론으로 획득된 기본증세 프레임 각각의 결론 스로트의 각 성분들을 가설로 설정, 추론네트를 통해 질의응답을 통해 만족 규칙을 선별하여 기본등세 프레임을 검증해낸다. 이와 같이 전개시켜 결론적으로 결론에 대한 대응책을 출력시킨다. 이 추론 과정에서 특정상황에 대한 가중치 (FUZZY)를 설정하여 불확실성 처리를 해 줌으로 해서 추론을 정교하게 한다.

(e) 설명과 정당화의 기능

시스템이 수행한 추론을 정당화하여 설명하는 기능은 상담시스템을 의사가 사용할 마음이 있게 하기 위한 중요한 요소이다. 어떤 진단에서 쓰인 추론의 설명기능에 의해, 또한 정당화의 기능에 의해 의료의 정확성과 지식 및 추론 방책의 신뢰성을 높여주게 된다.

MYCIN 에서는 사용된 규칙의 계열을 영어로 출력시켜서 설명에 임한다. OWL의 Digital Therapy Advisor 는 OWL 코드로부터 직접 생성시킨 영어로 추론과정을 설명할 수 있게 되어 있다.

정당화의 기능에 있어 하나의 문제는 전문 지식에 대한 신뢰성과 정확성, 그리고 그 지식이 옳게 표현되어 있는지의 여부이다. 때로는 전문 의사 사이에서 견해가 다를 경우가 있고, 그 사이에서 조정의 필요가 있는지, 혹은 서로 다른 견해를 모두 표현할 수 있는지의 여부 등에 관해 분명히 되어 있지 않다. 또 하나의 문제는 더 깊은 레벨의 인과모델에 대한 프로그램의 추론단계, 즉 시스템의 지식베이스에 표현되어 있는 연상계열의 정당화에 관한 것이다. 이에 관해서는 아직 거의 다루지 못하고 있다.

2-2 MYCIN

이미 언급한 바와 같이 MYCIN은 감염증의 진단과 치료에 관하 조언을 행하는 것을 목적으로 설계되었다. 이러한 조언은 특히 입원 중의 감염, 가령, 심장병 환자의 심장 수술 뒤의 감염증의 경우에, 주치의가 감염증의 전문의가 아닌 까닭에, 입원 환자에 대해 자주 필요로 된다. 시간적 문제에 대한 배려가 이 문제를 한층 복잡하게 한다. 환자로부터의 검사 (혈액, 오줌 등)는 경우에 따라서는 12시간 이내라고 해도 무언가의 세균 증식의 징후를 보일 경우도 있는데, 일반적으로 균종류의 판별이 가능하게 되기가지 24~48시간(혹은 그 이상)을 필요로 한다. 이 때문에 의사는 자꾸 필요로 하는 모든 정보를 입수하지 못한 상황 하에서, 치료를 해야 할 것인지의 여부, 하면 어떠한 약제를 쓸 것인지를 결정해야 한다. 이들은 어느 쪽도 어려운 문제이다.

다음에 보일 MYCIN의 실용 예는 의사와 시스템간의 대화에 대한 맨처음과 마지막 부분을 보이고 있다. 요컨대, MYCIN은 의사에 대해 환자에 관한 질문을 하고, 진단을 내리거나 적절한 치료를 선택하는 등의 추론 기초로 되는 정보를 수집한다.

ㅡ 환자 ㅡ

1) 환자의 이름 : (성명)

**  홍 길동

     MYCIN은 환자의 기본 데이터를 수집한다. 의사의 응답은 2개의 별표시 다음에 이어진다.

2) 환자의 성별은 :

**  남성

3) 환자의 나이는 :

**  55세

4) 홍 길동의 감염 부위로부터의 검사 배양물에서, 균이 검출된 것이 있는가?

**  있다.

ㅡ 감염증 1 ㅡ

5) 감염증은 무엇인가?

**  原發成 菌血症

6) 원발성 균혈증(감염증1)의 증상 또는 징후가 최초로 나타난 대략적인 일시를 넣어 주시오(년/월/일) :

**  1980년 5월 5일

원발성 균혈증(감염증1)에 관계하는 균이 검출된 검사 배양물 중에서 가장 최근 것을 검사 배양물1로 한다.

ㅡ 검사 배양물1 ㅡ

7) 검사 배양물의 1의 검사를 어떤 부위에서 채취했는가?

**  혈액

8) 이 검사 배양물(검사 배양물1)의 검사 혈액이 채취된 일시를 넣어주시오(년/월/일) :

**  1980년 5월 9일

이 혈액 검사 배양물로부터 검출된, 감염증과 관련을 가진 가능성이 있는 세균 중 제일인 것을 세균 1로 부르기로 한다.

ㅡ 세균1 ㅡ

9) 세균1의 종별은 무엇인가?

**  불명

전형적으로는 세균의 종별은 불명이며, MYCIN에 의해, 여러 가지 검사 결과나 임상 소견에 바탕을 두고서 추정될 필요가 있다. MYCIN은 세균의 종별을 결정하기 위해 쓸모 있는 데이터의 질문을 진행시킨다.

10) 세균1의 형상은 球形 (coccus) 인가 몽둥이(杆) 형 (rod) 인가(그외 인가)?

**  몽둥이 형이다.

11) 세균1의 염색성은?

**  그램 음성이다.

12) 당신이 조언을 구하고 있는 감염증과는 관련이 없는 부위로부터의 검사 배양물에서, 세균을 검출한 것이 있었는가?

**  없다

13) 세균1은 양호한 환경에서 증식하는가?

**  한다(확실성 계수 0.8)

14) 세균1이 문제로 하는 부위로 들어 간 가능성이 있는 감염경로는?

**  소화관(확실성 계수 0.6)

다시 질문이 이어지고, 원인균으로 생각되는 종별을 추론하는 데 충분한 정보가 모아진다.

나의 치료에 관한 제안은 이하의 가능성이 있는 감염증과, 그 원인이 될 가능성을 가진 세균의 종류에 바탕을 두고서 수행된다.

<항목1> 세균1의 종별은 綠膿菌일 가능성이 있다.

<항목2> 세균1의 종별은 肺炎杆菌일 가능성이 있다.

<항목3> 세균1의 종별은 大腸菌일 가능성이 있다.

<항목4> 세균1의 종별은 bacteroides-fragilis일 가능성이 있다.

<항목5> 세균1의 종별은 enterobacter일 가능성이 있다.

<항목6> 세균1의 종별은 非mirabilis 변형균일 가능성이 있다.

 46) 0~4의 범위에서 큰 수치일수록 높은 重病度를 나타낼 때 홍 길동의 중증도는?

**   3

47) 홍 길동은 임상 중요한 알레르기반응을 항균제에 대해 보이는가?

**  보이지 않는다.

48) 홍 길동의 체중은 ㎏단위로(또는 <수치> pound로) :

**  70

2종류의 약제가 상기 6종류의 가능성이 있는 균종류를 커버하는 데 주의할 것

[추천1] 내가 제안하는 치료추천은 이하와 같다.

항목<1, 2, 3, 5,6>을 커버하기 위해 :

    투여약제 : 겐타미신 (gentamicon)

    용     량 : 1일량 119㎎ (체중 1㎏당 1.7㎎)을 8시간 간격으로 10일간 정맥주사 (또는 근육주사)

    주     의 : 신 (腎) 기능 장애가 있을 대에는 용량을 조정할 것

항목<4>를 커버하기 위해 :

    투여약제 : 크린다마이신 (clindamycin)

    용     량 : 1일량 595㎎ (체중 1㎏당 8.5㎎)을 6시간 간격으로 14일간 정맥주사(또는 근육주사)

    주    의 : 설사나 그외 소화관 증상이 나타났을 경우에는 僞膜性 대장염의 병발을 고려한다.

다음의 추천안을 보고 싶은가?

     대체 추천안이 존재한다

**   보고 싶다.

만약 상기의 약제 중에서 제외시키고자 하는 것이 있으면 지정하라.

**  크린다마이신 (clindamycin)

[추천2] 다음에 추천 가능한 치료는 :

항목 <2, 3, 4, 5, 6>을 커버하기 위해 :

     투여약제 : 크로램페티콜 (chloramphenicol)

     용    량 : 1일량 1㎎ (체중 1㎏당 15㎎)을 6시간 간격으로 14일간 정맥주사

     주    의 : 환자의 백혈구 수를 모니터 할 것

항목<1>을 커버하기 위해 :

     투여약제 : 겐타미신 (gentamicin)

     용      량 : 1일량 119㎎ (체중 1㎏당 1.7㎎)을 8시간 간격으로 10일간 정맥주사(또는 근육주사)

     주      의 : 신 (腎) 기능 장애가 있을 때에는 용량을 조정할 것

(a) MYCIN 의 지식베이스

MYCIN의 의학지식은 그림 8-6에 보이는 바와 같은 프러덕션 루울로 기술된다. 규칙은 컴퓨터 내에서는 Lisp로 기억되고, 이에 바탕한 영어 표현이 생성된다. 각 규칙은 대상분야의 지식에 관한 小部分이며, 전제부에 지정될 각 조건이 만족되는 경우에 유효해지는 행위(이 경우에는 결론)를 나타내고 있다. 규칙은 분야에 일반적인 개념을 나타내는 어휘를 사용하기 때문에, 규칙 자체가 분야 고유의 지식을 이해 가능한 형태로 기술하고 있는 것과 같이 되어 있다.

각 규칙은 "만약~이라면, 그때 ~를 실행하라" 의 형식에 따라 기술되며, 사용 가능한 기호 요소의 집합을 규정하고 있으므로, 고도로 정식화되게 된다. 실제 그림 8-6에 보이는 내부 형식은 실행 가능한 Lisp코드로 되어 있다. 또 다시 이와 같이 엄밀하게 형식을 붙이므로 하여, 규칙을 실행 시키는 것 뿐만 아니라, 규칙의 검사도 하는 프로그램의 설계를 할 수 있게 되어 있다. 예를 들면, 그림 8-6에서와 같이, 규칙을 읽기 쉬운 영어로 번역할 수 있게 된다. 이 번역기능은 MYCIN에서는 프로그램의 추론과정을 전문가에 설명할 목적으로 쓰였다(시스템이 그 결론을 끌어 낸 추론의 과정을 설명하여, 주어진 케이스에 관해 왜 특정 질문을 하게 되었는지를 보여 주는 것). 현재의 지식베이스는 MYCIN 이 실제로 진단을 하여, 균혈증(혈액의 감염증) 및 수막염의 치료를 추천하기 위한 450개의 규칙을 갖추고 있다.

그림 8-6 MYCIN의 프러덕션 루울의 예

RULE 050

PREMISE : (AND(SAME CNTXT INFECT PRIMARY-BACTEREMIA)

                       (MEMBF CNTXT SITE STERILESITES)

                       (SAME CNTXT PORTAL GI))

ACTION : (CONCLUDE CNTXT IDENT BACTEROIDES TALLY .7)

MYCIN′S English translation :

IF            1) the infection is primary-bacteremia, and

               2) the site of the culture is one of the sterile sites, and

               3) the suspected portal of entry of the organism is the gastrointestinal tract.

THEN        there is suggestive evidence (.7) that the identity of the organism is bacteroides.

만약          1) 감염증의 원발성균혈증이고,

                2) 배양검체 채취부위가 통상 무균이라고 생각되는 부위이며,

                3) 문제의 세균이 침입했다고 생각되는 감염경로가 소화관이라면,

그때, 문제의 세균 종류가 박테로이드일 가능성이 있다(확신도 0.7).

각 규칙의 전제부는 한 개 이상의 조건절의 논리결합 형태를 취하고 있고, 각 조건절은 술어함수와 그 매개변수의 3요소(속성, 대상물, 치)로 이루어져 있다. 즉 각 조건절은 전형적으로는 다음 4요소를 갖는다.

<술어함수>   <대상물>       <속성>    <치>

가령, 상기 규칙 050의 2번째의 조건절은

배양  檢體 채취부위가 통상 무균이라고 생각되는 부위이다.

또는 Lisp 형식으로

(MEMBF         CNTXT            SITE          STERILESITES)

     ㅣ                 ㅣ                 ㅣ                     ㅣ

   술 어             대상물            속성                    치

MEMBF 는 술어이고, 또 3요소는 현재의 대상물(여기서는 검체)의 채취부위가 보통 무균이라고 생각되는 부위에 속함을 주장한다. 적용분야를 특별히 정하지 않는 약 24개의 표준화된 술어함수(가령, SAME, KNOWN, DEFINITE) 의 집합과, 분야에 고유의 속성(가령, 종류<IDENTITY>, 부위<SITE>) 나 대상물(예를 들면, 세균<ORGANISM>, 배양검체<CULTURE>), 또 이들에 대응되는 치(예를 들면, 대장균 <E. COLI>, 혈액 <BLOOD>) 의 각각에 대응되는 유효 명칭 등이, 규칙을 구성할 때의 개념요소를 나타내는  어휘를 형성하게 된다.

규칙의 전제부는 언제나 조건절을 결합시킨 것으로 되지만, 이 결합에서는 논리 積, 논리 合을 임의의 복잡성과 조합시켜 사용할 수가 있다. (단, 전제부가 조건절의 논리 합으로 되어 있는 규칙을 쓰는 대신에, 각 절에 대응되는 복수개의 규칙을 쓸 수도 있다). 행동부는 전제부가 성립할 경우에 유도되는 한 개 이상의 결론을 보이게 되며, 규칙을 순수하게 추론를 하기 위한 것으로 하고 있다.

(b) 확실성 계수

규칙은 평가 상태를 나타낸다는 데에 주의해야 하겠다. 즉 -1~1 사이의 값을 취하며, -1 은 주장이 완전히 거짓임을 나타내고, 반대로 1은 주장이 완전히 참인 것을 나타내는, 확신 상태를 보여 주는 측도를 사용하여, 애매 모호성을 포함시킨 추론을 실현시킨다. 그림 8-6의 경우에는 전제부에서 쓰이게 될 결론을 받쳐 줄 데이터이라면, 결론이 중정도(0.7)의 신뢰도로 참이라고 가정할 수 있음을 보이고 있다. 이 수치는 확실성 (certainty) 혹은 확실성 계수 (certainty factor, CF) 라고 불리며, Shortliffe(1976) 가 확신의 모델로 구현시킨 것이다.

MYCIN 은 컨설테이션 실행 중에서, 몇몇 대체안간의 우열 결정을 위해, 표준적으로 잘 쓰는통계 측도가 아닌 CF를 쓴다. 임상의의 경험에 의하면, 임상의는 확립된 표준적 통계기법에 대응되는 정보를 사용하는 경우가 없기 때문에, 표준적인 통계측도를 CF와 마찬가지의 의미로 쓰는 것은 어렵다. 이에 반해 CF는 임상의의 추론 패턴에 알맞다. 즉, 실제의 의미 결정 중에서, 어떤 때에는 강하게 또 어떤 때에는 약하게 세기 정도를 붙이는 규준을 어떻게 유도할 것인지에 알맞다.

CF는 각 규칙의 전제부와 행동부의 관련 세기를 나타내는 측도로 되어 있다. 상황에 맞추어 보아서 전제부가 참이고, 따라서 규칙의 적용이 성공할 때, 전제부의 각 조건절이 어느 정도의 상태에서 확신되는지를 일련의 CF로 나타내며, 그 결과 얻게 된 CF가 행동부에 지정되어 있는 CF를 조정하는 데에 쓰이게 된다. 이 때문에 만약 전제부가 약한 정도로밖에 확신이 주어져 있지 않을 때(전체적으로 양수의 작은 CF를 준다) 에는 그때의 규칙이 끌어 내는 모든 결론은 환자가 특정 상황에 있다는 데 대한 확신이 낮음을 반영하도록, 도출할 확신 세기를조정하게 된다(약하게 만든다). 전술의 예에서 질문 13과 14에서, 유저는 완전한 확신을 갖지 못함을 보이고 있다. 또 하나의 규칙이 끌어 내는 결론이 타의 규칙의 조건이 되는 수도 있으므로, 불완전한 확실성 계수의 전체에 바탕한 추론은 매우 일반적인 것이다.

환자에 관한 의학적 사실은 사상 (event) 을 나타내는 3요소와, 사상의 확실성 계수 CF로 이루어지는 4요소로 표현된다. 양수의 CF는 문제의 가설을 믿을 근거가 있음을 나타내고, 음수의 CF는 문제의 가설을 부정할 근거가 있음을 보인다. 다음에 보이는 것은 이러한 4요소의 예이다.

(종별 세균2 klebsiella 0.25)

(종별 세균2 대장균 0.75)

(感受性 세균1 페니시린 -1.0)

(면역능력저하 환자1 有 1.0)

MYCIN이 사용하는 애매모호성을 포함시킨 추론모델은 하나의 속성에 대해 복수치가 동시에 대응될 수 있게 한다. 가령, 세균의 종류 (IDENT) 의 추론을 시험해 볼 경우에는 MYCIN은 세균이 대장균이라는 근거와 klebsiella라는 근거를 동시에(그리고 옳바르게) 이끌어 내는 수도 있다.

요약해 본다면, 기능프로그램은 2개의 주요지식표현형식을 사용하고 있다 ⓐ 하나는 대상분야에 고유의 개념요소를 나타내느 어휘로써의 속성, 대상물, 치이며, ⓑ 또 하나는 이들 개념요소를 사용하여 기술되는 추론 규칙이다.

[확실성 계수의 전파]

프러덕션 시스템에서의 추론 과정은 AND/OR 나무 (tree) 로 나타낼 수 있는데, AND 마디에서는 전제로 되는 가지 (branch) 의 최소 확실성계수에 루울의 감쇠계수(루울의 확실성 표시 값 : 0~1 사이)를 곱한 것이, 그 마디의 확실성계수로 된다.즉,

[AND마디의 확실성계수] = [루울의 감쇠계수] X min{그 마디와 이어진 가지의 확실성계수}

또, OR마디의 확실성계수는 두 개의 가지인 경우를 예로 하면,

[OR 마디의 확실성계수] = [확실성계수 1] + (1-[확실성계수1])  X [확실성계수 2]

혹은, 이와 같은데, 가지 사이의 대칭성을 보이는 표현으로 하면,

[OR 마디의 확실성계수] = [확실성계수1] + [확실성계수 2] - [확실성계수 1] X [확실성계수2]

로된다.

AND 마디에서, 확실성계수는 전제부의 확실성계수가 최소인 것보다도 작아진다. 이때, 확실계수가 작은 추론의 가지가 너무 커지지 않게끔, 확실성계수가 0.2이하로 된 가지의 확실성계수는 0으로 세트된다. OR마디에서, 확실성계수는 서로 커진다. 확실성계수가 계산되고, 전파되어 가는 모양을 그림 8-7에 보인다.

그림 8-7 MYCIN 에서의 확실성계수의 전파

 

잎(끝 마디들)의 확실성계수(CF5~CF11, 단 CF9, 제외)는 유저가 제공한다. 감쇠계수 A1~A6는 프러덕션 루울에 고유의 신뢰성을 나타낸다. 잎 이외의 마디의 확실성계수는 이들로부터 계산된다. 계산 도중에서 확실성계수가 0.2이하로 된 가지의 확실성계수는 강제적으로 0으로 세트된다.

(c) 추론: 추론엔진

지식베이스 내의 규칙을 사용하여. 문제의 병 예에 대한 데이터에 바탕을 두고서 결론을 끌어 낼 때 쓰이는 추론시스템을 추론엔진이라고 불렀다. MYCIN에서는 규칙을 단순한 역방향추론으로 작동 (evoke) 시킴으로 해서, 깊이 우선 탐색에 의한 AND / OR 나무를 전부 탐색하게 된다. 예를 들면, 프로그램이 原因菌의 종류를 결정하고자 할 경우를 생각하자. 프로그램은 주어진 문제에 대한 결론을 끌어낼 모든 규칙 (이 경우에는 행동절에서 세균의 종류에 관해 기술하고 있는 규칙)을 검색하여 그들을 순서대로 작동시켜 간다. 즉 전제부의 각 조건절이 만족되고 있는지의 여부를 평가한다. 그림8 - 6 의 예에서 보인 규칙에서는, 첫 번째 절에 기술되어 있는, 감염증이 원발성 균혈 증인지의 여부를 결정하는 것에서 시작된다. 첫 단계에서는 감염증이 무엇인지는 알고 있지 못하므로, 프로그램은 감염증의 결정을 부목표로 설정하여, 인부목표를 달성시키기 위해 프로세스가 희귀적 (recursive) 으로 실행된다. 즉 시스템은 여기서 새로이 설정된, 감염증을 결정하는 문제에 대해 결론을 주게 되는 규칙을 탐색하게 된다.

실제로 결정될 부목표는 원래의 부목표를 일반화시킨 형태로 되어 있다. 바꾸어 말하면, 부목표는 단순히 <속성> 의 치를 결정하는 형태로 설정되는 것이며, <속성>의 치가 특정치와 같은지의 여부를 결정하는 형태로 설정되는 것은 아니다. 규칙 50의 맨처음 조건절 (감염증이 원발성 균혈증이다) 에 대해 말한다면, 설정될 부목표는 감염증의 형태를 결정하게 된다. 속성치의 결정에 관한 모든 근거를 모아서 일반화된 목표를 설정함으로 해서, 기능 프로그램은 여러 가지 사상에 부딪칠 때마다 효율 좋게, 빠짐 없는 검토를 할 수 있게 되며, 또 이것이 동시에 주어진 문제에 관한 질문을 잘 분류하는 경향도 갖는다. 문제에 대해 보다 목표물에 초점을 맞춘 방법론적 어프로우치를 시스템에 실현시키는 이와 같은 성질은 인간공학적 배려가 중요하게 될 경우에는 현저한 잇점을 갖는다. 그 대가로 그리 중요하지 않은 정보의 수집이나 추론까지 수행하게 된다. 그러나 이러한 불필요한 시도는 드물 게 일어나는 것 (즉, 속성치가 원래의 일반화되지 않는 목표에서 문제시된 치라는 것이 확실히 연역 가능한 경우에만 일어나는 것) 이므로 이것이 실제 상 문제로 된다고 할 수 없다.

탐색은 깊이 우선이며, (각 전체 조건절은 순서대로 철저하게 탐색된다) 생성되는 탐색나무는 AND / OR 목표 나무이고, (규칙은 전제부에 OR 결합을 갖게도 함) 탐색은 전체적으로 이루어진다(적용 가능한 규칙은 모두 작동되어, 그 결과는 확실성 계수에 의해 순서지어진다). 규칙은 애매모호성을 갖고 있기 때문에 (즉, 완전한 확신에 도달 못하는 결론을 쓰기 위해), 한 규칙의 적용이 성공한 경우라고 해도, 타의 적용 가능성이 있는 규칙의 부목표인 모든 사상을 받쳐 줄 정보 수집을 계속하는 것이 현명하고 안전한 전략이다. MYCIN 은 언제나 모든 가능성을 고려하고 있다.

부목표를 달성하기 위해 모든 적용 가능성을 가진 규칙의 적용을 테스트 해본 뒤에, 부목표로서의 가설에 대해 종합적으로 평가된 정도가 -0.2 와 0.2 (경험적으로 정해 놓은 문턱치)로 되었을 때에는 참, 거짓이 불명확한 가설로 된다 (그림 8 - 7 참조), 이는 적용 가능한 규칙이 없었을 (전제부가 데이터와 맞아 떨어지는 규칙이 없었을) 경우, 적용 가능한 규칙은 있었으나 너무 약할 경우, 복수개의 규칙이 서로 효과를 상쇄시킨 경우, 또 간혹 이지만 부목표를 달성시키기 위한 규칙이 전혀 없었던 경우, 등에서 일어난다. 시스템이 해답을 끌어 낼 수 없는 이들 모든 경우에, 시스템은 유저에 부목표 치를 질의한다 (이 질의는 속성 자신에 대해 정의되어 기억되어 있는 질문용 어귀를 사용하여 수행된다).

이와 같이 언제나 우선 부목표 치의 연역을 시험해 본 뒤 그것이 실패하게 될 경우에 한해서 유저에 질문을 하게 되는 전략은 질문의 수를 최소로 한다. 그러나 이는 또한 유저가 이미 확실히 알고 있을 경우, 부목표를 탐색하여 많은 경우로부터 불확실한 해답을 끌어내는 이 추론작업은 쓸데 없이 되어 버릴  경우도 있다. 이러한 비효율적인 것을 피하기 위해, 몇몇 속성에는 "검사데이터"라는 라벨을 붙여서, 정량적 검사 결과로써 이용할 수 있는 정보임을 나타낸다. 이와 같은 경우에는 추론과 질의 순서가 반대로 되고, 시스템은 유저가 해답을 줄 수 없는 경우에 한해서 추론을 하게 될 것이다. 목표나무의 탐색과 묻게 될 질문의 수를 동시에 최소로 하기 위해, 어떠한 경우에 묻고, 또 어떤 경우에 추론해야 할 것인지에 대해서는 보증된 최적해가 존재하는 것은 아니나, 여기서 언급한 바와 같은 속성을 구별하는 방법은 잘 움직여주고 적당한 평가기준을 제공해 줄 수 있을 것으로 보인다.

단순한 (straightforward) 나무탐색에다 다음 두 기능을 첨가시켜서 추론엔진의 효율을 높이고 있다. 첫째는 부목표를 달성시키기 위한 모든 규칙의 리스트를 만들기 전에, 현재 알고 있는 정보만으로 부목표를 완전히 달성시킬 수 있는 일련의 규칙을 만드는 것이다. 이 절차는 CF 가 1인 일련의 규칙을 탐색하는 것이 되므로, 이 결과 얻게 되는 것을 단위탐색로 (unity path) 라고 한다. 아울러 이의 효율성에는 이와 같은 과정은 프로그램에 최소의 노력으로 상식적인 연역을 할 수 있게 한다는 잇점이 있다는 것이다 (CF 가 1인 규칙은 그 대부분이 결정적인 것이다). 이러한 규칙은 적기 때문에, 이 탐색 과정은 전형적으로는 극히 짧은 시간 내에 끝난다.

두 번째로, 추론엔진은 규칙의 전제부의 부분적인 평가를 하고 있다. 많은 속성은 몇몇 규칙에서 발경되므로, 전제부의 한 조건절 (그것은 마지막에 있는 것일지도 모른다) 에 나타나게 되는 치는 다른 조건절에서 사용하는 속성치를 모르고 있을 경우라고 해도 이미 명확히 되어 있을 가능성이 있다. 따라서 이 조건절만으로 이미 전제부가 성립되지 않으면, 분명히 타의 모든 조건절에서 인용될 속성치를 구할 필요가 없다. 각 전제부는 이와 같이 먼저 현재 이용 가능한 정보만을 사용하여 미리 평가 받는다. 평가 결과는 참, 거짓, 미정의 부울 (Bool) 논리 조합이 되고, 단순 논리 간략화 (예를 들면 F×U=F) 는 규칙이 실패하게 될 보증 여부를 가르키게 된다.

(d) 치료법의 선택

MYCIN 은 중요한 감염증과 그 원인균을 결정한 뒤, 만약 적당하다고 판단 했다면 항생제의 추천을 진행시킨다. MYCIN 의 치료법 선택 기구는 환자의 감염증, 원인균, 감수성에 의한 항생제의 등급 짓기 (ranking) 와 일련의 약제 선택 범주 (두 약제 병용, 제 2 선택 약제, 제 3선택 약제 등)를 사용하여 항생제 추천을 한다. 이 알고리즘은 또 환자가 신(賢) 장애를 가진 경우의 용량 조정도 한다. 프로그램은 어떻게 하여 항생세 선택을 했는지에 관한 것을 설명하거나, 의사가 제안하는 항생제를 채용하거나, 그것에 대한 비평을 가하는 등도 가능하다.

(e) 새로운 지식의 획득과 이용

프러덕션 루울을 사용한 지식표현과 그러한 개개 규칙을 설명하는 능력에 의해, MYCIN 은 전문과와의 대화를 통해 새로운 지식을 획득, 운용할 수가 있다. Davis 의 THEIREIAS 시스템은 MYCIN 과 결합시켜, 전문가가 잘못한 추론의 체인 (chain) 을 발견해 내어 MYCIN 의 의학지식을 강화, 수정하기 위해 필요한 규칙 혹은 임상 파라미터의 추가 및 변경을 할 수 있게 하고 있다.

전문가가 특정의 병 예에 관해 시스템의 성능에 불만족을 느낄 경우, MY-CIN 은 잘못된 결론을 어찌 끌어 내었는지를 설명함으로 하여, 잘못의 원인이 된 "벌레 (bug) "를 전문가가 알아 볼 수 있게 하고 있다. 추론을 수정하기 위해, 전문가는 새로운 규칙을 만들 경우도 있고, 기존의 규칙을 바꿀 수도 있다. 전문가는 그 요구를 "자연언어에 가까운" 인터페이스를 통해서 입력시킬 수가 있다. 규칙의 추가 및 변경에 관한 요구는 시스템에 의해 구문해석 되어 MYCIN 의 내부 (Lisp) 표현에 의한 규칙이 생성되고, 이것이 다시 영어 형식 (그림 8-6 참조) 으로 번역되어 검사의 목적으로 유저에 나타내 준다. 이 대화는 MYCIN 과 임상의 사이의 오해를 최소로 한다. 예를 들면, 왜 그 결론을 얻게 되었는가라는 질문에 대해서는 그 결론을 얻기 위해 쓰인 루울의 이름을 열거하거나, 그 루울의 조건부를 출력한다. 필요하면, 루울 자체를 출력한다. 가령,

의   사「어찌 하여, 그 培養基는 무균인 곳에서 채취한 것임을 알 수 있는 가」

시스템「규칙 001 과 규칙 002가 그것을 시사하고 있다」

의   사「어찌하여, 규칙 001이 쓰여졌나」

시스템「그 장소가 무균인지의 여부는 방법에 의존한다. 사용한 방법은 그 장소에 대하여 인정 받은 방법이며, 주의깊게 수행되었는지는 알 수 없다. 이상의 사실이 그 배양기는 무균인 곳에서 채취한 것임을 강하게 시사하고 있다.」

MYCIN에서는 이외에 특정 환자에 대한 대화가 아닌, 일반적인 의학지식을 다룰 질문을 할 수가 있다. 예를 들면, 다음과 같은 질문을 할 수가 있다.

의   사「박테로이드에 대해, 크린드마이신을 추천할까」

시스템「예, 규칙 060에 의해」

의   사「혈액은 무균의 장소인가」

시스템「예, 통상은」

의   사「위장관에 관계하는 미생물은」

시스템「Enterococcus, Clostrdium-gangrene, Bacteroid, Klebisella, Pseudomonas,             E.Coli, Enterbacter, Proteus」

이상, MYCIN의 좋은 면을 열거하였으나, 시스템의 능력에 한계가 있음도 사실이다. 실제, MYCIN은 임상에 직접 쓰이도록이는 되지 못했다. 그 원인은 다음과 같은 것이다.

(1) 대화능력에 문제가 있다. 가령, 시스템은 완전히 이해했을 즈음이라도 순서대로 물어 온다. 때문에 바쁜 현장에서는 사용하기 힘들다.

(2) 비교적 대상 분야가 좁고, 딱 맞는 질환, 환자와 조우할 기회가 적으므로, 의사가 사용할 기분이 안든다.

(3) 병의 진단에는 루울화 할 수 없고, 또 환자의 모양, 분위기 등에 대한 데이터도 쓰일 때가 있다.

(4) 인간의 진단과정에서는 MYCIN에 들어 있는 것과 같은 표면적인 지식만이 아니라, 인체의 생리, 병리지식 등에 바탕을 둔 깊은 추론이 행해진다. 현재의 엑스퍼트 시스템은 이와 같은 깊은 추론을 충분히 할 수가 없다.

이들 문제점은 인간에 가까운 지식형 시스템을 구축하고저 할 때, 일반적으로 반드시 부딛치는 문제이며, 앞으로 해결해야 할 것이다.

MYCIN의 지식베이스를 비워 두어 타의 분야 지식을 넣게 한 것은 범용적인 엑스퍼트 시스템의 개발 투울 (tool) 이 된다. 그것을 EMYCIN (Empty-MYCIN 혹은 Essential MYCIN) 이라 부른다. 이를 사용하여 폐질환 진단용 엑스퍼트 시스템 PUFF, 항공기 설계를 위한 유한요소법에 의한 구조계산 설계 시스템의 사용법을 어드바이스해 주는 엑스퍼트 시스템 SACON 등이 개발 되어 있다. 후자는 사용법이 어려운 시스템의 사용 방식에 관한 지식이 지식베이스에 들어 있어서, 유저에 적절한 사용 방식을 조언하는 것으로 스탠포드대학과 미국 공군에서 개발되었다.

2-3 CASNET

원인과 결과의 연상네트워크 프로그램 (CASNET) [Weiss, Kulikowski, and Stafir (1977) ] 은 Rutgers 대학에서 개발된 의료진단용의 컴퓨터 시스템이다. CASNET 의 주요 응용은 녹내장 (綠內障) 영역이다. 시스템은 질환의 정적인 상태 뿐만 아니라, 동적인 과정도 표현한다.

그 과정은 병리생리학적인 상태와, 원인 결과적으로 링크된 네트워크로써 모델링된다. 즉, 어떤 환자의 현재 병리생리학적인 원인 결과의 네트워크 패턴을 결정하여, 이 패턴을 질환의 범주 (category) 내의 하나로 간주함으로해서 진단이 가능하게 된다. 한번 질환의 범주를 명시적으로 간주할 수 있게 되면, 가장 적절한 치료를 예측할 수 있게 된다. 원인 결과의 모델을 쓰면, 어떤환자의 치료를 할 것인지의 여부에 관한 가장 적절한 예측을 할 수 있게 된다.

(a) 지식 표현

CASNET 모델은 3 개의 지식평면으로 구성된다. 그 일부를 그림 8 - 8 에 보인다. 병리생리학적 상태의 평면이 모델의 중심이다. 이 평면에서의 마디는 질환의 과정에 관한 기본적인 가설을 나타내며, 아크 (arc) 는 두 기본적인 가설간의 원인 결과적인 결합을 나타낸다. 예를 들면, 안압의 상승이 視神經乳頭의 카핑 (cupping :피 빨아내기)을 일으켜서 시야 결손이 된다. 각각의 링크에는 순방향의 정도 (wieght) 혹은 확신의 계수 (confidence factor) 값을 붙인다. 이 값은 1~5 사이며, 1은 "희귀한 원인" 을, 5는 "가장 발생하기 쉬운 원인" 에 각각 대응된다. 생리병학적 상태의 존재를 확신할 것인지, 혹은 기각할 것인지에 쓰이는 이들 정도와 그 이용의 결정에 관해서는 후술하기로 한다.

관찰 평면은 화자로부터 수집한 확증(즉, 징후, 증상, 임상시험등)을 나타내는 마디를 갖는다. 상담은 이러한 마디의 일부 혹은 전부가 확증을 구하기 위해 호출된다. 이 평면에 있는 마디는 병리생리학적 평면의 마디와 링크를 이룬다. 링크에는 확신을 표시하는 것으로, 1~5까지의 값을 갖고 있다. 이 값은 특별 테스트, 증상 (Symptom), 징후 (sign) 가 그에 관련된 상태를 어느 정도까지 지지하고 있는지를 나타낸다. 예를 들면, 시야검사 (scotoma) 로부터 시야 결손 (visual field loss) 임을 알 게 되면, 확신의 치는 5로 된다. 마찬가지의 테스트에서도 결과에 의해 확신의 치가 달라진다. 가령, 15mmHg는 안압을 상승시키는 (increased intraocular pressure) 확증이지만, 30의 결과인 때는 결정적인 증거로 되며, 확신 상태를 높인다. 병리생학적 상태와 링크되어 있는 관찰로부터 얻게 되는 확신의 상태는 CASNET 설계자가 사전에 결정해 놓은 값이다.

일반적으로 어떤 특정 상태에 대해서는 한 개 이상의 테스트가 필요하며, 동일 테스트는 한 개 이상의 상태가 있음을 시사해 준다. 각 테스트는 그에 관련되는 코스트가 있다. 그 코스트는 실제의 경비와 환자에 입장에서 부담도를 반영하는 것이다 몇몇 상태가 그에 대응되는 테스트가 없을 경우도 있다. 즉 그러한 테스트가 존재하지 않거나 혹은 생리학적으로 어렵거나, 코스트가 너무 비쌀 경우, 생겨난다.

제3의 평면은 질환에 대한 분류표 (crassification table) 를 갖고 있다. 분류표는 확정된 병리생리학적 상태와 그렇지 않은 것의 집합으로 질환을 정의한다. 또, 질환에 대한 치료문을 갖고 있다. 예를 들면, 그림 8-9에 있는 분류표에는 다음과 같은 것을 나타내고 있다. 만약 환자가 隅角 (ANGLE CLOSURE) 이 閉塞하여, 眼庄이 높은 것을 알 게 되었으나, 시신경유두 (CUPPING) 혹은  視野의 損傷 (VISUAL FIELD LOSS) 이 없을 때는 그 환자는 閉塞隅角綠內障 (ANGLE CLOUSURE GLAUCOMA )을 갖는다. 혹은, 환자의 隅角 이 폐색하여, 안압이 높고, 시신경유두가 카핑상태에 있어서 시야가 손상되어 있다면, 만성 폐색우각녹내장 (CHRONIC ANGLE CLOSURE GLAUCOMA) 이다. 분류표에 나타낸 이 개념은 다음의 내용을 정리한 것이다. 즉, 질환은 시간을 기준하여 동적이며, 확정 상태가 네트의 경로 (pathway) 상을 전진해 가면, 질환의 경과가 더 명확히 되는 것을 나타내고 있다. 일반적으로는 분류표의 상태는 동일 질환 경로를 가지며, 맨처음 상태는 네트워크 상에서 아무 원인도갖지 않는 상태이다(이 네트워크를 기초질환 메카니즘이라 함). 질환의 메카니즘에 대한 이해가 적절하지 못할 때나, 모델이 불완전한 경우는 복수개의 경로로부터 온 상태를 포함하고 있는 분류표가 되기도 한다.

(b) 추론

그림 8-9는 원인이 될 병리생리학적 상태의 조합을 사용하여, 질환이 CASNET 내에서 어떻게 정의되는지를 보인 것 이다. CASNET 의 진단은 한 개 이상의 상태 내에 있는 원인-결과적인 경로를 찾아  내는 것이다. CASNET의 추론은 징후, 증상, 임상테스트의 소견 데이터하에서, 병리생리적인 경로의 가능성이 최대가 되도록 설계되어 있다.

진단과정은 프로그램이 환자에 관한 일련의 질문을 유저(임상의)에 함으로 해서 시작된다. 임상의는 테스트, 징후, 증상에 대한 치를 응답 데이터로써 입력시킨다. 미지인 경우는 unkown 으로 답한다. 이들 치는 테스트에 관련된 확신의 치와 인과링크에 관련된 가중치 (weight)를 갖고 있으며, 이러한 치를 사용하여, 인과네트의 각 마디에 대한 상태 (status), 혹은 확신의 계수를 계산한다.

그림 8-8 CASNET의 의미네트워크 및 診斷프로세스

(질환 프로세스의 3레벨 기술)

그림 8-9 분류표

상태를 나타내는 status는 그 상태에 관련되는 테스트의 결과와, 결과로부터 얻게 되는 상태, 즉 status치, 두 쪽 다의 영향을 받는다. 예를 들면, 만약 A가 B의 원인이 되고, B가 관찰에 의해 확증되면, A에 대한 강한 확증이 있다는 것이 된다. 범용의 알고리즘을 사용하여, 순방향(즉, 원인-결과의 방향에 따라는)과 역방향 양쪽으로, 어떤 상태의 가중치를 증대시켜 간다. 상태 status 가 맨처음의 문턱치 보다도 크게 되면, 상태는 확증적 (Confirmed) 이라 표시되고, status가 두 번째 문턱치 보다도 작게 되면, 부정적 (denied) 이라고 표시된다. 그외는 결정불능 (undetermined) 으로 한다. 다음 질문의 선택은 테스트의 코스트와, 어떤 상태가 확증적인지, 부정적인지 어느 쪽으로 끌어 내는 가능성에 바탕한 정책을 프로그램은 채택한다.

결국, 입수 가능한 것만의 증상과 소견이 입력되고, status 치가 계산되면, 분류표에 의해 진단과 치료를 결정 지운다. 표는 확증적인 마디만을 커버하는 것을 선택하게 된다. 이 표를 선택하기 위한 전략은 부정적인 상태를 따라 가는 것이 아니라, 확증적인 상태로 최대로 하도록 원인-결과 네트가 만들어 낸 초기상태를  찾아 내는 데에 있다. 이 절차는 모든 확증적인 상태를 커버할 때까지 반복된다.

분류표가 선택되면, 그 대응 치료방침을 사용하여, 질환에 관련된 치료법으로써 선택된다. 가장 높은 status의 치료가 선택된다. 최종 알고리즘으로, 어떤 치료방법이 그외의 것을 포함하고 있는지를 결정하고, 맨마지막으로 선택된 치료방침이 출력된다. 만약 필요한 때는 진단과 치료를 정화시켜 줄 과거 연구의 개요도 출력시킬 수가 있다. 현재의 녹내장모델에는 150개의 상태, 350개의 테스트, 50개의 분류표에 관한 것이 들어 있다.

(c) 요약

CASNET는 테스트에서 시작하여 원인-결과의 네트 경로를 따라 진단에 이르는 문제로, 엄밀한 의미에서 보텀업 접근법을 취하고 있다. 의학적 지식(원인- 결과의 네트워크로 기호화된 것)을 추론의 전략(프로그램의 작성)과 분리시켜 가는 것은 질환의 모델을 확장시켜 가는 것으로, 특히 새로운 연구 성과가 있다면, 그것을 집어 넣는 것과 같고, 별로 복잡하지 않다. 프로그램은 계속해서 테스트되고, 컴퓨터에 바탕한 연구자의 네트워크에 의해 갱신된다.

모델을 사용하면, 환자의 질환에 관해, 재진에 의한 진행 상태를 볼 수 있다는 의미에서, 편리한 방법이 된다. 즉, 인과 네트워크가 질환의 진행 상황을 네트에 따라서 순방향으로도 또 역방향으로도 볼 수가 있다는 말이다. CASNET는 주로 녹내장 지향으로 쓰이고 있으나, 표현의 틀과 결정순서는 그외의 질환에도 응용할 수가 있다. 물론, 그 질환의 프로세스를 충분히 잘 알고 있는 것으로 하여, 이해된 질환이라야 하지만, 프로그램의 성능은 안과의에 의해 평가되었던 것으로,액스퍼트 레벨에 가깝다.

그러나 의미네트워크에는 모듈성이 없기 때문에, 일부를 좀체로 수정하기 어렵다. 따라서 시스템을 가령 한국인 지향으로 좀 바꾸고저 해도 쉽지 않다. 때문에 CASNET의 경험을 살려, 이를 바탕으로 범용 엑스퍼트 시스템 EXPERT를 만들었는데, 이것은 프러덕션 시스템을 채용하고 있다.

2-4 PIP

PIP (Present Illness Program) 는 MIT의 Pauker(1976) 에 의해 개발된 것으로, 요도(콩팥) 질환 환자의 현재 질환 (present illness) 에 응용했는데, 이 현재 질환의 취급은 완전한 진단을 하는 것이 아나라, 환자가 일반의사와 상담하는 것으로 되어 있다. 환자는 언제나 상담 시 맨먼저 주된 하소연을 하기 마련이고 진단은 코스트가 낮은 정보원(환자병력, 물리적 검사, 판에 박힌 임상검사 등) 만에 바탕을 두고서 수행된다. 완전한 진단을 하기 위해 필요한, 코스트가 높은 혹은 리스크가 높은 절차는 채용되지 않는다.

PIP 의 의학지식은 프레임의 네트워크로 표현되다. 이 프레임은 병명, 임상적 그리고 생리학적 상태(이후, 환자 상태라 부르기도 함) 가 중심이 되며, 전형적인 소견이나 그외 환자 상태와의 관계, 환자에 의해 얻게 되는 일련의 소견 (finding) 이 프레임으로 기술되어 있는 상태와 어느 정도 잘 맞는지를 판단하는 규칙을 갖고 있다. 매칭은 진단의 열쇠가 되는 전략이며, 질병 프레임에 기술되어 있던 소견과 환자에게서 얻게 된 소견과를 비교하여, 소견 전체를 커버할 만한 한 조의 프레임을 선정해 내는 절차를 갖고 있다. 현재 36개의 프레임이 신질환 취급을 위해 들어 있다.

현재 이프로그램은 치료의 추천은 하고 있지 않다. 이 시스템은 당초 CONNIVER (프레임 지식표현용 언어) 로 작성되었는데, 그 버전이 너무 느렸기 때문에 MACLISP 상에서 움직일 수 있도록 고쳐졌다.

(a) 지식 표현

PIP에서의 일반적 지식표현은 상술한 바와 같이, 질병에 관한 지식과 환자상태(각종 소견, 진찰결과, 증상) 그리고 그들 사이의 관계이다. 이 의학 지식은 프레임 시스템으로 조직화되어 있다. 전형적인 프레임의 일부를 그림 8-10에 보인다.

그림에서와 같이 프레임 내의 스로트는 몇몇 개의 부류로 분류되어 있다. 전형적 소견이란 프레임이 나타내는 질환을 가진 환자에게서 기대되는 소견이다. 그러나 문제의 질환을 가진 환자가 반드시 전형적인 소견 모두를 보이는 것은 아니다. 매칭 알고리즘의 작업은 실제로 관찰된 소견과 프레임과의 "알맞음의 정도"를 계산하는 것이다. 전형적 소견 중 몇몇은 TRIGGER 라는 특수 상태를 취하고, 임상 의사결정 전략의 열쇠로 되는 요소이다. TRIGGER 에 지정된 소견은 문제의 질병에 깊은 연관관계를 맺고 있으며, 이러한 소견이 보이게 되면, PIP시스템은 문제의 병환을 확성적 (active) 인 가설로서 주의를 하게 된다. 가령 얼굴의 부종 (浮腫)은 그림 8-10에서는 急性 系球體腎炎의 TRIGGER 로 되어 있고, PIP는 환자에게서 얼굴의 부종이 보이게 되면 이 질환을 활성적인 가설로 보아도 무방함을 나타내고 있다.

논리적 결정 기준은 소수의 열쇠소견 (key finding) 에 바탕을 두고서 문제의 가설 확인 또는 삭제를 하게 하는 규칙이다. 문제의 질환에 깊은 관련을 맺고 있는 소견은 IS-SUFFINCIENT 스로트에 들어 가있으며, 이러한 소견이 하나라도 발견되면 그 질환의 존재를 확인하는데 충분하다.

그림 8-10 급성 계구체 신염 (신장 結石) 의 프레임 일부

프레임간의 관계는 의학 상에서 질병이 서로 관련지어져 있는 질환을 반영 한다. 때로는 질병의 메카니즘이 충분히 이해되어 있는 것도 있고, 이 경우에 하나의 질병이 다른 질병의 원인이 된다든지, 합병증일 수도 있다. 메카니즘이 충분히 이해되어있지 않을 경우에는 질환은 단순히 서로 관련이 있는 것으로만 된다. 이 경우에는 각각의 프레임은 상보적이 되나. 즉 이들은 환자가 하나의 질병에 더해져 가질지도 모르는 또 다른 질병을 나타내게 된다. 이에 반해 감별진단 스로트는 상호 배타적인 질병을 나타낸다. 환자는 이러한 질병의 하나를 가질지도 모르지만, 그러한 경우에는 현재 검토중의 프레임이 나타내는 질환은 갖지 않게 된다.

맨 마지막 스로트는 프레임이 나타내는 질환에 대해 각 소견이 몇점이 되는지를 나타낸다. 이 평점은 문제의 질환이 소견에 어느정도 잘 맞는지를 나타낸다. 이 스로트를 구성하는 것은 순차적으로 평가될 일련의 조건절 집합이며, 개개 조건절 집합 속에서의 평가는 하나의 조건이 만족되는 지점에서 종료되고, 그 조건절에 주어진 평점이 쓰이게 된다. 한 프레임에 대해 주어진 국소적인 평점은 달성 가능한 최대 평점으로 정규화된, 각 조건절의 평점 합계로 된다. 이렇게 하여 평점 1은 완전한 일치, 그리고 음수의 큰 값은 완전한 불일치를 나타내는 것으로 된다.

(b) 추론

PIP 에서 쓰이는 추론전략은 가설과 소견의 조작에 바탕을 둔다. 하나의 소견이 많은 프레임에 적용 가능하다는 점에서, 소견에 관한 지식은 프레임 시스템과는 별도로 저장된다. 가설은 질병프레임을 구체화시킨 것이다. 가설에는 3종류가 있다. 즉, 확인 끝난 가설, 활성적인 가설, 반활성적인 가설이 존재한다. 미리 설정된 문턱치 보다 높은(평점을 매기는 과정에서 계산됨) 평점을 가진 가설은 확인 끝난 가설로 생각한다. 활성적인 가설은 적어도  T-RIGGER 소견의 하나가 확인되어 있는 가설로, 이러한 가설간에서 추론 대상간의 경합이 생긴다. 반활성적인 가설은 프레임 시스템 속에서, 활성적인 가설과 직접적인 관계를 맺는 가설이다. 이들은 직접 검토 대상이 될 만큼 강한 가설은 아니지만, "컨설테이션을 제공하는 의사와 의식 배후에 존재하는" 가설에 상당한다.

컨설테이션은 의사가 시스템에 환자의 주요 증상이나 징후를 입력시키는 것에서 시작된다. 그 다음, 프로그램이 주도권을 쥐고서, 적절한 질문을 선정해 내어 맞추어 봄으로 하여, 활성적인 가설의 타당성을 결정하고자 하는 것이다.

이 프로그램은 다음과 같은 사이클로 움직인다.

① 새로운 소견을 획득한다. 이 작업은 소견을 정해진 표현법에 따라 기술하는, 일련의 질문을 수행하게 되면 이루어진다.

② 소견의 정리. 획득된 소견이 관련을 있는 모든 프레임을 찾는다.

③ 활성적인 가설의 리스트를 갱신한다. 여기서는 몇 개의 절차가 있게 된다: 소견이 활성적인 가설의 MUST-NOT-HAVE 규칙과 매칭되면, 그 가설은 리스트에서 삭제된다. 활성적인 가설의 IS-SUFFICIENT 규칙의 전제가 참이 되면, 그 가설은 확인 끝난 가설로 된다. 만약 새롭게 획득된 소견이 가설의 소견 TRIGGER 이거나 활성적인 가설의 감별진단 링크의 전제를 참으로 한다면, 가설을 활성적 상태로 한다. 또 소견이 가설의 평점이 매겨져 있는 규칙과 매칭되면, 가설 평점을 갱신한다. 가설이 활성적인 상태로 된다면, 그 가설과 직접 관계를 맺고 있는 가설은 반활성적인 상태로 된다.

④ 그 다음 맞추어 볼 소견의 선택. 가장 높은 평점을 얻은 가설에 검토의 초점이 두어지고, 아직 조사하지 못한 소견에 관한 질문이 생성된다. 활성적인 가설이 없는 경우에는 인과관계에 의해 결합되어 있는 프레임 중에서 가장 높은 평점을 가진 것에 관한 소견이 질문을 받는다. 질문은 결정해야 할 소견을 가진, 활성적인 가설이나 그와 인과관계를 가진 프레임이 없어질 때까지 계속한다.

논리 판정 기준이 가설의 확인/기각에 충분하지 않을 경우에는 ⓐ 그 프레임에 대해 관측된 소견과 전형적인 (예기되는) 소견과의 일치 여부를 가늠하는 함수치 (매칭 스코어라고 함), 그리고 ⓑ 가설에 의해 설명 가능한 소견의 수와 전소견 수의 비에 대한 함수가 제공하는 값의 두 조합에 의해, 가설에 대한 평점을 계산한다. 또한 매칭 스코어는 (상술한) 프레임에 대한 국부적인 스코어와, 인과관계로 묶여진 프레임에서 전달되어 온 스코어의 두 부분으로 이루어져 있다.

(c) 요약

MYCIN 과는 달리, PIP 는 실제 의사의 임상 추론을 모의하는 (simulate) 데에 그 목적을 두고 있다. 일반적 의학 지식을 가설로 한 질병 프레임과 임상소견으로 이루어져 있는 체계로 하여 표현하고 있는 그 방법이 이 목적을 반영한다.

이 시스템은 분류적인 (categorical) 그리고 확률적인 두 추론 방법을 채용 하고 있다. 가설이 적용 가능한지의 여부는 인간인 의사가 이렇게 할 것으로 생각할 수 있는 논리적 판정 기준 (IS-SUFFICIENT, MUST-HAVE, MU-ST-NOT-HAVE 규칙)을 사용하여 결정된다. 그들 기준으로 불충분한 경우에는 확률적인 방법 (매칭 스코어와 바인딩 스코어 (binding score)의 계산) 이 채용된다. 어느 쪽의 형의 추론 방법도 국부적 판정 전략과 전체적 판정 전략의 조합으로 되어 있다. 국부적 전략에서는 소견이 특정 프레임에 어느 정도 합치되는지를 결정하고, 전체적인 전략에서는 프레임의 집합이 어느 정도 소견과 잘 합치되는지를 결정한다.

이 프로그램에는 몇 개의 곤란한 문제가 있다. 그 하나는 제 1 위로 랭크될 가설이 자주 교체되는 경향이 있기 때문에 질문이 불안정하게 된다. 이 변동은 하나의 시점에서는 하나의 가설을 집중적으로 검토하고자 하는 실제 의사의 추론 과정과는 다르게 된다. 또하나의 문제에 언제 질문을 그만 둘 것인가라고 하는 문제이다. 현재 채용하고 있는 방법으로는 연관의 가능성을 가진 모든 가설에 관한 질문이 모두 불러내어졌을 때에만 질문을 그만 두게 된다. 이 방법은 너무 안전한 측면에 중점을 둔 것으로, 많은 적당치 못한 질문이 생길 수 있다.

2-5 EXPERT

Rutger 대학에서 개발된 EXPERT 시스템은 연구자가 컨설테이션 모델을 설계하거나, 테스트하는 등을 위한 범용의 지원 시스템이다. 이 시스템은 특정 응용과는 관계 없이 개발되었는데, Rutger 대학의 연구그룹의 몇몇 실험, 즉 류마치스병, 안과학, 내분비질환 등을 반영하고 있다. 실험적인 모델이 그 외의 영역, 예를 들면, 화확 석유유전의 토질분석, 실험실 기기 데이터의 해석 혹은 고장 등에 대해 개발되어 있다. EXPERT에 가장 잘 매치되는 컨설테이션 문제는 분류의 문제이다. 즉 미리 결정되어 있는 결론을 프로그램이 선정하여 결정지우는 것이다. PROSPECTOR나 MYCIN도 분류의 문제를 전문적으로 다루는 지식베이스 시스템이란 점에서 유사하다. EXPERT 의 설계에 있어 주요 과제는 다음과 같다.

① 전문가의 지식을 표현하는 데에 비교적 간단한 언어와 표기법. 표현은 진단의 문제에 대한 전통적인 두 레벨 시점에 따르고 있다. ⓐ 적절한 가설 혹은 결론을 선택할 것. ⓑ 몇 개의 소견 혹은 관찰을 해석할 것.

② 근사적인 최적 스코어함수를 쓰는 대신에, 분류적인 추론을 강조하고 있다.

③ 루울의 컴파일과 순서지움에 의한 효율 좋은 동작일 것.

④ 예측 가능하고 정확한 결과를 얻게 되는 결정 방법을 강조하고 있다. 이는 몇몇 경우에 있어 필요하다. 전문가가 소견과 결정 루울과의 상관관계를 명시적으로 서술해 둠으로 해서 매우 많은 결정 루울을 사용하지 않고서도 된다는 것이다. 루울과 그에 관련된 분류의 방법과의 상호작용은 대체적인 경우 예측 가능하므로, 프로그램 작용의 변화를 트레이스하는 것이 그리 어렵지는 않다. 그 변화는 개개 루울을 수정하여 얻게 되는 것이다. EXPERT 의 좋은 점은 데이터베이스에 저장되어 있는 케이스에 대해, 추론시의 변화를 자동적으로 검출 가능한 점에 있다. 이것이 컨설테이션 모델을 점진적으로 만들어 내고 테스트해 갈 때의 중요도구로 된다.

EXPERT 모델을 만들고 런시키는 과정은 컴퓨터의 프로그램을 작성하는 것과 작동시키는 것과 닮은 점이 있다. 표준적인 텍스트 에디팅을 사용하여, 파일을 만든다. 그 파일 속에는 전용의 프로그램 언어를 사용하여 모델을 기술하고 있는 문장 (statement) 이 있다. 모델은 구문적인 오류가 첵크되어, 컴파일러 프로그램에 의한 효율좋은 내부표현으로 변환된다. 그 다음, 그 모델은 실행되고, 사례는 컨설테이션을 위해 입력된다. 이 시스템은 FORTRAN으로 프로그램되어 있으므로 비교적 효율이 좋고, 몇몇 머신에 이식 가능하다. DEC와 IBM 머신용의 버전이 있다.

EXPERT 는 컨설테이션 모델에 유요하다. 많은 기능, 예를 들면, 프로그램이 해석한 결과를 설명하거나, 유저로부터 임의의 정보를 받아들일 수가 있다. EXPERT 의 모든 컨설테이션 기능은 완전히 순차적이다. 이는 가령 컨설테이션의 어느 시점에서도 시스템의 결과 (解釋)를 얻을 수가 있다. EXPERT 모델을 케이스로 하여 갖고 있는 데이터 베이스와 인터페이싱시키는 확장부분도 개발되어 있다. 케이스의 실증적인 분석을 위해 유요한 많은기능이 있다.예를 들면, 모델의 결과와 유저가 입력시킨 데이터에 공통의 패턴에 대한 케이스를 탐색하기 위한 완전한 데이터 베이스 시스템이 그 예 중 하나이다.

(a) 지식 표현

EXPERT 의 컨설테이션 모델은 3 개의 섹션으로 이루어져 있다. 즉, 가설, 소견, 결정루울이다. 소견은 컨설테이션시에 끄집어 낸 환자에 대한 사실, 즉 벙력, 증상, 임상검사의 결과이다. 소견은 다음과 같은 형식으로 EXPERT 의 질문에 응답한다. 즉 참인지 거짓인지, 혹은 그 어느 쪽도 아닌지, 수치적인 응답인지에 따른다. 가설은 시스템에 의해 추론될 결론이다. 이 결론에는 진단과 豫後의 결정카테고리 및 치료 방법, 혹은 전형적인 소견의 집합 등이 포함 되어 있다. 불확정성의 측도는 보통은 어떤 가정과 결합된다.

모델의 3 섹션 내를 몇 개의 서브섹션으로 나눌 수가 있다. 어떤 모델을 만드는 데에 쓰이는 표현은 다음과 같은 섹션으로 나눠진다 (별표 2 개는 주요 섹션을 나타내고, 1 개는 서브섹션을 의미하며, 괄호쳐진 것은 옵션 스테이트먼트 (optional statement) 를 의미한다).

                                 ** HYPOTHESES

                                  * TAXONOMY

                                 [* CAUSAL AND INTERMEDIATE HYPOTHESES]

                                 [* TREATMENTS]

                                 ** FINDINGS

                                 ** RULES

                                 [* FF RULES]

                                  * FH RULES

주요 가설은 분류적인 방법으로 구조화시키게 된다. 다음에 보일 *TAXONOMY 의 서브섹션 내에는 다음과 같은 내용이 들어 있다. 가능한 진단과 豫後의 결론, 그리고 진단카테고리와 중간 결과에 대한 상위, 하위의 관계이다. 예로써 갑상선 질환의 분류 일부를 보이기로 한다.

                                 *TAXONOMY

                                 EU                      .Euthyroid (.75)

                                 THO                    .Thyroid Dysfunction (.25)

                                 HYPER                ..Hyperthyroidism (.05)

                                 HYPO                  ..Hyperthyroidism (.20)

                                 NOP                     .No Pathology (.70)

                                 GRAV                   .Graves’s Disease (.25)

각 가설에 대한 기호는 프러덕션 루울이며, 그 의미를 지정해 주기 위해 짧게하여쓰고 있다. 만약 측정되어 있었다면 수치로써, 어떤 일정 범위 내의 값등으로 표현된다. 어떤 관찰에 관련된 불확정성을 가진 케이스에서는 그 불확정성은 다시 더해져 올 소견으로 수정한다고 함을 명시한 형으로 기술해야 한다. 예를 들면, 테스트 결과의 정밀도가 요구되고, 맨처음 테스트로부터의 추론을 수정하는 데에 쓰이는 결정루울도 필요하게 된다. 어떤 환자에 대한 정보를 얻는 데에 몇 개의 질문 타잎 즉, 다중 선택, 첵크 리스트, 수치 입력, 예스ㅡ노가 쓰인다. 소견과 가설 간의 논리적인 관계를 기술하는 세 형식의 루울이 있다.

① FF - finding-to-finding  rule (소견에서 소견으로의 루울)

② FH - finding-to-hypothesis rule (소견에서 가설로의 루울)

③ HH - hypothesis-to-hypothesis rule (가설에서 가설로의 루울)

FF 루울은 이미 얻게 된 소견에서 직접적으로 연역될 소견의 참, 거짓을 결정하는 것이다. 이들은 루울은 모델의 설계자가 결정해 놓은 순서에 따라 기술되며, 임상적인  間診과 일치시키는 방식으로 질문 흐름을 부분적으로 코멘트하는 데에 쓰인다. FH루울은 가설의 확인 혹은 부정의 확신 상황을 나타내는 소견의 이론적인 조합을 표현하고 있다. FH 루울에 대한 일반적인 형식은 다음과 같다.

X1 & X2 & ....& Xi → H (MNE, CF), -1 ≤ MNE ≤ 1,

여기서

                                                   X1  = F (MNE, TVAL)

                                                        = [n : F (MNE1, TVAL), F (MNE2, TVAL), ......]

로 한다. 만약 루울의 좌측에 있는 소견의 이론적 조합이 만족되었다고 한다면, 가설 MNE 에는 어떤 확신치 CF 가 할당된다. (n : F (MNE₁, TVAL),···) 의 선택변수 n은 다음과 같은 의미를 갖는다. 즉, 리스트된 소견 중 n개가 만족될 때, 괄호 속의 조건이 참이면 평가한다. FH의 한 예를 보이면 다음과 같다.

F(RHP, t) & F(FFT, t) → H(HYPER, .5),

이것은 다음과 같이 해석된다.

IF :        RHP is true (rapid heart palpitation) and

FFT is true (fine finger tremor)

THEN : Conclude hyperthyroidism with a confidence of .5.

HH루울은 모델 설계자에게 가설과 치료를 이어 주는 이론을 이밖의 가설 (진단과 예진) 로부터 끌어 내는 데에 쓰인다. 그러나 고차의 이론은 소견이 있는지 혹은 없는지에 따라 수정되기 때문에 HH루울의 좌측 부분은 소견에 대한 일정한 주장을 갖고 있다. 또한 각각의 루울은 몇 개의 소견, 혹은 가설로부터 정의된 문맥을 갖고 있다. 그리고 그 HH루울을 사용하면, 컴파일된 모델 전체에 대해, 효율적인 루울의 평가대책이 된다. 그리고 그 문맥은 HH루울을 평가하는데 쓰이는 소견간의 필요 조건 항목을 기술해 두고 있다. 모델에서는 HH루울은 기술된 순서에 따라 평가된다. 가설은 루울을 사용할 때, 만족되어야 할 확신치가 기술된다. HH루울은 다음과 같은 표로 기술된다.

*HH rules

* If there are eye and thyroid dysfunctions

F(EENO, F) AND (HXTH, T)

*Then consider Graves′ disease :

F(ETHO, T) and H(EYE, .5 :1) → H(GRQV, .9)

*End

(b) 추론 전략

어떤 소견에 관한 언명이 시스템에 주어지게 되면, 이 결과를 끌어 낼 루울이 평가된다. 그결과는 다중선택 또는 첵크 리스트 질문에 응답하는 형으로, 한번씩 수용된다. 이 루울은 가설을 순서짓는 가중치를 만들어 주기 위해 다음과 같은 명령을 실행한다.

① FF루울이 평가된다. FF루울은 참, 거짓 혹은 모름이란 응답을 받아서, 소견에서 새로운 결과를 끌어 낸다. 그 결과는 질문에 직접 응답하여 얻는 결과와 마찬가지의 방법으로 처리된다.

② FH 루울이 그 다음 평가된다. 소견으로의 새로운 결과가 구해지면 FH루울이 평가된다. FH루울은 다음과 같은 성질을 갖는 다. 즉 루울의 좌측부분이 참인지 거짓인지가 평가되면, 컨설테이션의 실행 기간에 대해 참, 거짓 그대로이며, 그렇지 않게 되면 많은 응답이 필요하게 된다.

③ 마지막으로,HH루울이 평가된다. 각각의 HH루울 표의 IF부분의 FH루울과 동시에 평가된다. 루울의 IF부분이 참으로 되는 HH루울을 찾게될 때에만 고려된다. 그러나 HH루울 모두가 순서대로 재평가된다. HH루울의 전제부와 결론부는 확신기간과 가설을 갖는다. 참, 거짓으로 남아 있는 소견과는 달리, 이들 기간은 소견의 결과로부터 직접적으로변화할 뿐만 아니라, 가설의 확신측도에 영향을 주는 그외의 루울 (FH와 HH) 로부터 간접적으로도 변한다. HH루울은 모델에 나타나게 되는 순서로 평가된다. 이 경우 역방향은 아니다. 왜나하면 평가의 순서는 모델 설계자에 의해, 미리 정해지기 때문이다. 단, 자기 참조 루울 (self referencing rule) 도 허용되므로, HH루울은 조심해서 순서지어갈 필요가 있다. 어떤 가설 H1이 별도의 가설 H2를 끌어 내는 데 뒤에 필요로 하게 될 HH루울은 별도의 HH루울의 좌측부에서  H2를 참조한다. HH루울보다도 앞에 위치해 있어야 한다. HH루울의 확신 범위는 타의 FH 또는 HH루울에 의해 직접적으로 설정된 것이다. 이 값은 분류카테고리로부터 구하게 되는 가중치를 조절한 것이 아나다.

그 이전의 절차에 의해, 확증과 가설의 가중치 전파 루울, 즉 HH와 HH루울로부터 직접 결정된 확신의 측도 CFi가 할당된다. 루울 중 한 개 이상이 적용 가능한 때에는 확신의 절대치가 가장 큰 것이 쓰이게 된다. 또 별도의 절차를 쓰게 될 때도 있다. 즉 질문 항목의 선택, 가중치를 조금 조절할 때에 쓰이는 발견적 방법의 양쪽이 쓸모 있게 되는 경우이다. 각 가설 중에서 어떤 부류의 확증이 루울을 만족시키고 있는 형태이든가 혹은 부분적으로 루울을 만족시키고 있는 (모르긴 하나, 여하튼 참이란 의미로) 것은 마크된다. 각 가설에 적용될 그러한 루울의 카운트는 일정하게 유지시킨다. 분류카테고리와 인과 네트워크 구조로부터 각각 서로 가중치가 유도된다. 순방향의 가중치가 先行루울로부터 後續루울로 전파되고, 역방향의 가중치가 후속루울로부터 선행루울로 전달된다. 분류카테고리에는 인과네트워크와 마찬가지 방법으로 처리될 가설간의 관계가 들어 있다. 가중치를 만들어 내는 절차는 CASNET에서 쓰였던 것과 거의 같다. 모든 FH와 HH루울이 평가된 다음에 분류 카테고리나, 혹은 인과관계에 따라 확신의 측도 CFi가 수정되거나, 혹은 전파되거나 하여 가중치가 작성된다. 이 값은 결과로부터 구해지는 모든 것을 통합하여, 절대치 중 가장 큰 것이다. 작은 특별한 가중치 (bonus) 는 최종적인 가중치에 더해진다. 순서적인 테스트 선택을 위한 일반적인 절차는 다음과 같이 결정된다.

① FH 또는 HH루울 중, 다음과 같은 루울을 검토한다.

    a. 현재의 확증에 관한 것에서 마크되어 있는 가설에 대한 것까지 확신의 측도를 세트하는 루울인 것.

    b. 루울의 확신도가 현재의 확신도 Hj보다도 크고, 따라서 그 루울로부터 유효 정보를 얻게 되는 것.

② 앞의 ①에서 찾게 된 루울에 속하면서, 또 미질문 상태의 소견 Fi를 다음과 같이 선택한다.

   a. 코스트가 최소인 것

   b. 현재 가중치 W(H)가 최대인 까닭에 소견이 최대인 가설에 관계되어 있는 것.

   c. 후보인 CF(H) 가Fi에 대해 최대이며, 따라서 별도의 Fk보다도 Hi쪽을 더 큰 확신이 가는 소견 Fi로 한 것.

(c) 응용

EXPERT 시스템을 사용한 예가 몇몇 있다. 컨설테이션 모델로는 류머티스병, 안과학, 내분비질환(갑상선질환)에 대해 개발된 것이다. 류머티스병의 컨설테이션 시스템이 치료영역 중 가장 유효 할 가능성을 갖고 있다. 미국의 류머티스병의 임상의는 적고, 따라서 많은 새로운 면역 테스트 결과를 최신의 입장에서 해석해 간다고 함은 류머티스병을 전문으로 하고 있지 않은 임상의의 입장에서어려운 일인 것이다. Missouri 대학교의 연구자와 공동으로, EXPERT의 형식의 류머티스병 (Lindberg 등, 1980) 의 컨설테이션 시스템의 프로토타입 (prototype) 개발용으로 쓰였다. 처음에는 검토대상 문제로 10개이상 중요하면서 복잡한 진단카테고리의 것에 한정시켜 착수되었다. 이 모델이 현재는 확장되어, 보다 많은 문제영역을 커버하도록 하고있다.

2-6 IMDS

중앙대학교 영상정보연구실에서 개발된 IMDS (Integrated Medical Diagnosis system) 는 환자와의 기초 상담을 통해서 의심 질병이 발견되었을 경우, 혈액검사, 대소변 검사와 같은 임상시험 및 CT, X선 촬영, 심전도 측정과 같은 관측검사 결과치를 평가하여 그 질병을 검증 및 확증하는 종합 의료 진단 시스템을 구현하고자 한 것이다.

IMDS 는 현재 대부분의 전문가 시스템이 갖고 있는 문제점인 지식의 국부성 (domain specific property) 및 지식의 불확실성 처리의 한계를 극복하기 위해 다음과 같은 점을 주목하여 논의하고 있다.

① 지식의 국부성을 보완하기 위해 지식베이스를 광범위하고 전반적인 의료 지식을 포용하는 프레임형식의 일반 의료 지식베이스 (GMKB : General Medical Knowledge Base) 를 혼합하여 구축하고 있으며, 지식표현은 선언적 표현법과 절차적 표현법을 적절히 이용하고 있다.

② IMDS의 추론방식은 귀납법 및 연역법의 장점을 순차적으로 이용하는 사이드웨이 추론 (sideway reasoning) 에 기초하여 일반적 의료진단 과정을 수행할 수 있게 하고 있다.

③ 의료지식의 불확실성을 정교하게 처리하기 위해 가능한한 지식이 가질 수 있는 불확실성을 불확실성 지수로 정의하여 처리하려 했으며, FUZZY 집합론에 기초한 멤버쉽함수 (membership function) 그리고 이에 준하는 갱신함수 (updating function) 를 문제 특성에 맞게 정의하여 쓰고 있다.

그림 8-11에 기본 구성도를 보인다. 지식베이스로는 크게 장기기억의 지식베이스와 단기기억의 특수 지식 베이스로나눠지고, 전자에는 상술한 일반의료 지식베이스 (GMKB) 와 전문의료 지식베이스 (FMKB) 가 있고, 후자에는 상황지식처리부로부터 입력된 환자 진단 과정 동안 추론 과정, 추론 결과, 추론에 이용된 지식 등이 체계적으로 기억된다. 추론엔진은 각 지식베이스에 효율적인 제어를 통한 추론을 원활하게 함으로해서 정확한 결론을 끌어 내도록 하는 것으로, 입력정보와 상황에 따른 GMKB 와 FMKB 획득 및 검증 등을 계획하는 추론엔진의 핵심부인 계획부, 지식베이스에 의해 유출된 프레임 혹은 루울의 불확실성 지수를 해석하여 계획부로 보내어 검증하게 하는 불확실성 해석부, 특정상황에 대한 PF (possibility factor) 값이 MMI (manmachine interface) 를 통해 입력되었을 때 PF값과 불확실성 지수에 평가함수를 적용하여 그 상황에 대한 불확실성을 처리하는 불확실성 처리부, 계획부로부터 지식베이스 제어부로 FMKB 의 처리신호가 들어 오면 FMKB를 획득하고 다시 이 FMKB로부터 필요한 루울을 선택하여 계획부로 보내 주는 규칙처리부, 계획부로부터 지식베이스 제어부로 GMKB 처리신호가 들어 오면 GMKB로부터 필요한 프레임을 선택하여 계획부로 넘기는 프레임 처리부, 특정 상황에 대한 루울 혹은 프레임을 검증했을 때 그 검증 과정에 이용되는 지식을 체계적으로 구조화시켜 특수 지식베이스로 보내는  상황지식 처리부 등으로 이우러져 있다.

그림 8-11 IMDS의 기본 구성도

(a) 지식 표현

지식의 정도가 얕으면서 광범위한 의료상담 지식을 원활하게 저장하는 일반의료 지식베이스의 구성은 ① 프레임을 대표하는 분류 번호 : Frame nember, ② 프레임의 기본 증세에 적합한 연령 및 성별 기록 : Frame 분류, ③ 프레임이 갖는 기본 증세명 : 프레임 명, ④ 프러덕션 루울의 IF에 해당하는 것 : 진단 스로트, ⑤ 프러덕션 루울의 THEN에 해당하는 것 : 결론 스로트, ⑥ 기본 증세에 대한 전반적인 정보 :프레임 정보, ⑦ 탐색을 위한 추론 네트에서 절차적인 지식표현법 : 진단 절차 등으로 되어 있다. (그림 8-12 참조).

그림 8-12 GMKS 의 기본 구조

((프레임  번  호)

 (프레임  분  류)

 (프레임  이  름)

 (진   단  스로트)

 (결   론  스로트)

  (진   단  절   차))

여기서 ④의 스로트는 여러 성분 (element) 으로 구성되는데, 이 성분들의 기본이 되는 상황들은 선언적 지식표현 방법에 기초하여 기술되고 그 상황 각각에 대한 불확실성 지수들은 다음과 같이 기술하고 잇다. 먼저 스로트의 상황표현 기본 구조는 첫째, 상황이 어떤 결론을 만족할 최적정도와 상한과 하한 정도가 정의되어야 할 경우

ⓐ (소속치 (상황1) (최적치) 하한치 상한티)로 하여,

둘째, 상황이 어떤 결론을 만족할 최적 정도와 그 하한 정도만 정의되어 좋을 경우

ⓑ (소속치 (상황2) (최적치) 하한치) 로하며,

상황이 조금만이라도있을 때에도 결론이 만족되는 경우

ⓒ (소속치 (상황3))

로 한다. 그 다음, 스로트의 기본 구조는 첫째, 스로트가 단 하나의성분으로 구성된 경우

(진단 스로트) = (성분) = ⓐ, ⓑ 혹은 ⓒ

로 되고, 스로트가 여러 성분들로 구성된 경우

(진단 스로트 ) = ((성분1) (성분2).......(성분n))

로 되며, 여기서 각 성분들의 구조는

(성분) = (OR (부성분1)

.................................

                   (부성분n))   혹은

             (AND (부성분1)

...................................

                   (부성분n))   혹은

             (n차 OR(부성분1)

...............................

                        (부성분n) )

로 구성된다. 마지막으로 프레임 링커는 추론을 하기 위한 질의 응답 과정 중 다른 프레임과의 연관이 확인된 경우 탐색 중인 프레임에 필요한 타의 프레임을 연결시켜 주는 기능을 한다.

⑤의 결론 스로트는 질병을 확인한 경우와 질병이 없음을 확인한 경우가 있게 되고, 전자에서는 발견된 질병명을 기술해 줌으로 해서 FMKB 모드로 용이하게 넘어가 확인 질병을 검증한다. 그리고 후자에서는 이유와 설명을 한다.

⑥ 의 진단절차에서 진단 과정 스로트 구조는

   ((( 증세 질의 1, 질의 긍정1) 질의 부정1))

    (( 증세 질의 2, 질의 긍정2) 질의 부정2))

       ...............................

    (( 증세 질의 n, 질의 긍정 n) 질의 부정 n )))

로 구성된다.

전문의료 지식베이스 (FMKB) 는 GMKB에서 구조화하기 힘든 임상 관측 시험 지식을 프러덕션 루울로 구조화시킨 다음, GMKB와 FMKB의 결합 검증을 통해 보다 정확한 추론을 이끌어 내는 데에 그 목적이 있다. 루울의 구성은

             (해당병과 (루울1  루울2 ................루울n))

로 되고, 각 루울은

             (질병명 객관치 connectives (element 1)

                                                        ..........

                                                     (element n)

             ( ( 경과 : 질병의 경과 기술)

               (원인 : 질병의 원인 기술)

               (연관 : 검증 질병의 연관될 수 있느 ㄴ질병들 및 이들 관계의 객관치)

               (처방 : 질병에 대한 처방 기술)

               (치료 : 질병의 치료 기술)

               (결과 : 처방 및 치료에 따르지 않을 경우 결과) ) )

로 구성된다. 여기서 Connectives는 질병 검증에 필요한 성분들의 독립 혹은 종속 관계를 AND,Nth-OR, 혹은 OR를 이용하여 표시하여 준다. 또 element 의 구성은

             (주검사, 주관측명 Connectives  (subelement 1)

                                                              ............

                                                          (subelement n) )

로 된다. 원칙적으로 FMKB에서 루울의 subelement의 구조는 GMKB의 프레임에서의 진단 스로트의 상황표현 기본 구조와 같고, 불확실성 지수, 즉 관측 및 검사 데이터의 소속치, 상한, 하한 및 최적치는 해당분야의 전문의들이 각 질병에 대해 평가하여 정의하여 주도록 되어 있다. 필요하다면 검사 데이터의 상한, 하한 및 검사치 단위를 함께 기술함으로써 정의 가능하다.

특수 지식베이스는 특정환자 진단과정과 그 진단과정에 필요한 모든 성분들 및 그 진단과정에서 나오는 출력과 불확실성 지수들이 추론엔진의 상황 지식처리부에 의해 체계적으로 구조화되어, 일정 기간 동안 저장해 두는 부분이다. 따라서 그 해당 진단 기간 동안만 데이터가 존속되고, 진단 후에는 빈 상태로 된다. 이들 구조화되는 지식에는 진단과정에서 쓰인 루울의 집합, 각 결론을 유출하게 한 모든 긍정 성분들 및 부정 성분들의 집합, 각 성분에 멤버쉽 함수를 적용한 후에 각 성분의 불확실성 지수들(확실성 지수, 평가치, 소속치, 최적치, 임계치)의 집합, 갱신 함수 적용 결과치의 집합 등이 있다.

지식베이스 제어부는 각 지식베이스를 추론엔진의 프레임 혹은 규칙처리기에 효율적으로 연결시켜 정확한 추론을 할 수  있게 하는 기능을 한다. 첫째, 의사와의 기본적 상담을 위해 사용자가 선택한 기본 증세를 갖는 프레임을 GMKB로부터 선별하고, 둘째, 사용자와 상담을 통해 검증된 질병을 임상 및 관측 시험을 수행하여 그 질병을 확증하기 위해 검증된 질병의 해당 FMKB를  선별, 이 FMKB로부터 검증된 질병의 루울을 선택하여 추론 엔진으로 보낸다.

(b) 추론

그림 8-13에 추론과정의 개략도를 보인다. 성별, 연령, 성명, 과거병력을 기본 데이터로 하는 초기 데이터 입력이 되면, 일반의료 지식베이스에 있는 모든 증세에 대한 해당병과를 CRT 상에 리스트 시켜 주고, 사용자는 환자가 갖고 있는 증세들이 속한 병과를 선별하게 되는데, 이것이 증세 해당 병과 선택에서 이루어진다. 선택한 병과에서 얻을 수 있는 모든 증세를 CRT 상에 리스트시켜 주고 사용자는 환자가 갖고 있는 증세를 선별하는 증세선택이 이루어진다. 선택된 증세를 기본 증세로 놓고 기본 증세 해당 프레임을 추론엔진이 선택하는 기본 증세 프레임 선택을 행한다. 선택된 기본 증세 프레임의 진단스로트 성분들을 MMI를 통해 질의 응답하여 검증하는 선택 증세 프레임 검증이 이루어진다. 앞의 세 과정을 통해 질병이 선택되었을 경우, 검증을 위해 특수 지식베이스에서 끄집어 내는 질병 선택을 하고, 여기서 선택된 질병을 임상 시험이나 관측 시험을 통해 확실히 검증하기 위해 그 해당 질병의 루울을 선택하는 선택 질병 루울 선택이 이루어진다. 그 다음 질의 응답을 통해 선택 질병 루울 검증을 하고, 마지막으로 모든 해당 프레임과 루울을 검증한 후 행하는 과정으로 특수 지식베이스에 있는 진단 결과를 출력시켜 주는 결과분석이 이루어진다. 이때 그 진단 결과로써 질병이 출력되었을 경우와 그렇지 않은 경우로 구분하여 출력시킨다. 아울러 추론과정 설명이 부가되는데, 어떤 결론을 추론했을 경우 그 결론을 추론하게 된 이유로써 그 진단 경로 등과 그 진단에 쓰인 불확실성 지수 및 평가치 등의 정보, 지식,규칙을 보여 주어 어떻게 시스템이 특정 결과를 추론하게 되었는지를 보여준다.

추론방식으로 IMDS는 사이드웨이 추론방식을 개발, 쓰고 있는데, 진단 초기에 순방향 논법을 이용하여 가설 설정에 필요한 데이터를 얻고, 이러한 데이터 획득 방식으로 Tree-Pruning을 이용하여 필요한 데이터만을 획득함으로 하여 가설 설정이 간편하게 된다.

(c) 지식의 불확실성 표현과 처리

IMDS는 지식베이스를 선언적 지식표현과 절차적 지식표현 방법을 혼합하는 프레임으로 구성하고 있다. 지식베이스에서 지식의 불확실성이 표현되는 부분을 규칙으로 볼 때 조건부에 해당되는 진단스로트와 결론부에 해당되는 결론스로트이다. 이 불확실성 설정을 위해 Fuzzy를 쓰고 있는데, 다음과 같은 3단계로 정의하고 있다.

① 초기 추측으로 추론을 위한 지식베이스의 참값을 고정시키고 ,그에 따른 시스템을 구축한다 : 초기 구조 선택

② 단계①에서 초기 구조 전문가 시스템의 수행을 분석하고, 그 결과를 전문가에 보고한다 : 수행 분석

③ 단계②에서의 분석에 기초하여, 지식베이스의 불확실성 지수를 수정하고, 이 참값이 적절하다고 판명되면, 이 과정을 중단하고 그렇지 않으면 단계②를 반복한다 : 전문가가 지신이 초기에 설정한 Fuzzy 불확실성 지수를 더욱 정밀하게 수정한다.

사용자와의 원활한 질의응답을 위해 1~10까지의 가능성 지수 (PF)를 이용하여, 하위 상황이 상위 상황에 속하는 정도를 나타낸다. 결론 부분을 나타내는 상황들은 각각, 소속치, 상황 자체를 상한치, 하한치, 최적치, 확실성 정도 등을 전문가의 의견에 기초하여 정의하고 있다. 보다 구체적인 것은 참고 문헌 [5]을 참조하기 바란다.

그림 8-13 추론과정 개략도

3 과학, 기술 엑스퍼트 시스템

3-1 TEIRESIAS

TEIRESIAS는 엑스퍼트 시스템에서 쓰이고 있는 대규모의 지식베이스 구성과 보수를 도와주는 시스템이다 . TEIRESIAS 자체는 특정 분야에 대한 AI의 응용을 하고 있지 않지만, 이 장에서 소개되고 있는 프로그램 전부를 커버할 만한 엑스퍼트 시스템 설계 상 중요한 많은 문제를 다루고 있다. 이 시스템은 R. Davis가 스탠포드대학교에서 MYCIN 프로젝트 관련 박사학위 논문 연구의 일부로써 개발한 것이며, 여기서는 MYCIN 의 루울형 (rule-based) 지식표현법과 역방향 추론법 (backward chaining) 을 사용한 제어구조에 유사한 방법으로 전개시켜 가고 있다. 그러나 TEIRESIAS는 반드시 MYCIN의 대상분야인 감염증에 한한 것이 아닌, 또 프러덕션 루울을 사용한 정식화에 한정시켜 놓은 것이 아니라는 점에 유의해야 할 것이다.

(a) 지식베이스 프로그램 (knowlege-based program)

전문가 레벨의 문제해결 능력을 달성하는 시스템은 대량으로 축적된 문제 고유의 지식 (task-specific knowledge) 에서 그 능력을 끌어 내고 있다. 그 결과 , 대규모 지식베이스의 구성과 관리 그리고 지식을 교묘히 이용하기 위한 기법의 개발이 오늘날 AI연구의 중심과제로 되어 있다. TEIRESIAS는 이들 문제에 포함되어 있는 것들을 검토할 목적으로 작성되었다.

대부분의 엑스퍼트 프로그램은 특정 전문분야에 있는 한 사람이상의 전문 지식을 갖고 있는것이며, 이러한 전문가와의 합의를 통하여 구성된다. 전형적으로는 컴퓨터 과학자가 자신이 개발 중인 전문지식을 모델화하기 위한 프로그램과 전문가 사이를 중개한다. 이것은 어려우면서 시간이 걸리는 작업이다. 왜나하면 프로그램이 무엇을 수행해야 할 것인지에 관한 적절한 질문을 하기 위해 컴퓨터과학자 자신이 대상분야에 대한 기초를 익혀야 하기 때문이다. TEIRESIAS의 목표는 이 지식획득 작업 중에서 시스템이 지식베이스 구성과 갱신을 지원해 줌으로 해서, 인간의 중개 역할을 줄여 주는 것이다.

인간인 전문가는 TEIRESIAS를 통하여 성능 프로그램 (performance program) (예, MYCIN) 과 대화하고, 그래서 TEIRESIAS의 도움으로 성능 프로그램이 무엇을 하고, 왜 그것을 하였는지를 이해할 수 있게 된다. TEIRESIAS는 잘못을 고치기 위해 지식베이스의 지식을 변경 혹은 추가하는 수단이 된다. TEIRESIAS를 통해 전문가(인간)는 마치 잘못을 범하는 초심자를 지도하는 것과 같이, 프로그램을 "교육" 시킬 수가 있게 된다. 이러한 "디버깅 (debugging)" 과정을 가장 잘 실현시키는 방법에 관한 아이디어가 TEIRESIAS의 성공의 핵심이 되어 있다. 따라서 전문가(인간)에게서의 충고를 집어 넣기 때문에 학습 프로그램이라고 할 수가 있다. 그러나 이 경우에는 전문가가 거의 모든 작업을 수행하게 된다. 왜냐하면, 전문가는 그 충고를 시스템이 (시스템이 준비할 절차를 사용하여) 이해 가능한 형식로 정식화시켜 두어야 한다. 또 시스템의 기능을 평가하고, 개개 규칙에 대해 보증을 해 주거나 비평을 가하지 않으면 안 되기 때문이다.

TEIRESIAS는 지식베이스 시스템에 자주 필요로 하게 되는 애매모호하면서 경험적인 지식의 성질을 인식하여, 전문가가 이 종류의 지식의 소부분을 새로이 정식화할 때 원조해 주게 된다 .이 시스템은 또 문제해결(예,MYCIN의 진단)을 어떻게 수행시킬 것인가에 관한 전략적 정보를 수용시키는 메카니즘을 갖고 잇다. 메타규칙 (meta-rule) 은 지식베이스 속에 있는 목적 레벨의 루울 이용 방침 결정을 도와서, 문제해결 전략을 기술하는 메카니즘을 제공해 준다.

(b) 대화에 의한 전문지식의 전송

전문가가 그 전문분야에 관해, 전문가 자신이 인식하고 있는 이상의, 혹은 전문가 자신이 완전히 식별할 수 있을 정도 보다 그 이상의 것을 알고 있을 때가 자주 있다. 게다가 전문가에 총괄적인 질문을 한다면, 가령 "포도(상)구균 감염증에 대해 알고 있는 것을 모두 가르쳐 주십시오" 라는 질문을 한다면, 그 문제에 관한 전문가의 지식의 극히 단편적인 부분만 얻게 될 것이다. TEIRESIAS가 채용한 방법은 이미 설정되어 있긴 하나, 여전히 불완전한 지식베이스형 프로그램이 범한 잘못을 전문가에 제시한 다음, 초점을 맞춘 질문을 하는 것이다. 가령, "이 병 예에 관해 프로그램이 당신의 전문적 진단과 다른 진단을 끌어 낸 것은 도대체 무엇을 몰랐던 탓입니까" 라는 질문이다.

이러한 대화를 전문지식의 전송 (transfer of expertise) 이라고 부른다. TEIRESIAS는 성능프로그램에 전문가(인간)의 능력을 집어 넣는다. TEIRESIAS는 그 자신이 새로운 지식을 끌어 내는 일을 하지는 않는다. 그 대신에 가능한 한 주의 깊게 또 현명하게 전문가의 말을 "청취하는" 노력을 함으로 해서, 전문가가 지식베이스를 강화 또는 변경하는 일을 도와 준다.

전문가에게서 엑스퍼트 프로그램으로의, 대화식에 의한 지식의 전송은, 전문가가 프로그램의 기능상 잘못을 발견하여, 그 잘못의 원인을 추적하고, 수정할 수 있게 하기 위해 TEIRESIAS를 작동시키게 되고, 이것이 그 시작점이 된다. 잘못은 프로그램이 전문가와는 다른 거동을 보이고 있거나, 또는 추론의과정이 전문가가 보았을 때 기묘하고 또 그외 부적당한 것이 나타난 경우이다. 이런 식의 잘못 중 첫 번째는 가령 원인균인 균종류 결정에 있어 틀린 결론을 끌어 내는 경우 등이다. 두 번째는 성능프로그램이 컨설테이션 과정중에서 전문가가 보았을 때 원인균의 균종류 결정에 쓸모 없는 질문을 하는 경우에 생긴다.

TEIRESIAS는 어느 쪽의 잘못도 성능프로그램의 지식베이스 결핍 또는 "벌레 (bug)"로  간주한다. TEIRESIAS는 이하의 순서에 따라 지식베이스의 벌레를 없앤다.

① 전문가(인간)가 잘못을 발견했을 대에 성능 프로그램을 정지시킨다.

② 잘못을 유발시킨 성능 프로그램의 추론 단계를 벌레가 발견될 때까지 역방향으로 거슬러 올라 간다.

③ 전문가가 지식의 변경 내지 추가에 의해 벌레 없애는 일을 도운다.

성능 프로그램이 범한 틀린 추론 단계를 찾아 내기 위해서, 전문가는 WHY와 HOW 의 커맨드를 사용하여 실행된 추론 단계를 거슬러 올라 가서, 왜 그것이 실행되었는지를 설명하도록 TEIRESIAS에 질문할 수가 있다. 물론 벌레가 없을 경우에도, 유저가 시스템의 추론 과정을 추적하는 일을 도울 목적으로, 꼭 같은 설명 기능을 사용할 수 있다. 많은 대규모 성능 프로그램에서는 프로그램의 유저에는 기본적으로 감춰진 매우 복잡한 추론을 하게 되므로, 이 기능은 큰 가치를 가진다.

(c) 메타 레벨 지식

AI의 기본적 문제의 하나는 대상 세계에 관한 지식의 적절한 표현과 이용이다. 여러 가지 프로그램 중에서 대상 세계의 지식을 표현하는 기법이 채용되어 왔다. TEIRESIAS의 연구 중심 테마의 하나는 메타지식 (meta-knowledge) 의 이용을 검토하는 것이다. 메타 레벨 지식이란 지식의 프로그램에서는 단순히 프로그램 그 자체에 관한 지식을 나타낸 것이다. 즉 프로그램이 어느 정도 지식을 갖고 있는지, 혹은 프로그램이 어떻게 추론을 하는지에 관한 지식이다. 이 지식은 대상 분야에 관한 지식과 같은 형식으로 표현되며, 프로그램에, 외부세계를 기술하는 대상 분야 레벨 (object-level) 의 지식표현과, 프로그램 자체의 내부세계를 기술하는 메타레벨 지식표현, 둘 다를 갖게 하고 있다.

메타레벨 지식은 AI연구와 심리학 연구 속에서 검토될 때 서로 다른 형식을 취하고 있지만 [Barr (1979)], "당신이 무엇을 알고 있는지에 관한 지식" 이라고 요약할 수가 있다. 일반적으로 메타레벨 지식은 시스템이 그 지식을 직접 이용할 수 있게 하며, 또 지식을 시험하고 추상 (abstract) 하여 그 적용방향을 잡을 수 있게 한다. TEIRESIAS에서는 설명, 지식획득, 추론전략 등의 기능을 실현시키기 위해서, 명시적으로 표현된 메타레벨 지식의 짜임새를 직접 도입하고 있다.

(d) 설명 기능

엑스퍼트 시스템이 그 거동과 결론에 대해 설명하는 능력을  필요로 하게 되는 데에는 다음 두 중요 상황이 있다. 시스템의 결론에 관한 명확화 혹은 보증을 필요로 하는 시스템을 사용하는 유저에 있어, 설명기능은 시스템 결론을 간파 (transparency) 하기 쉽게 하고, 따라서 시스템을 쉽게 수용할 수 있게 한다. 두 번째는 이미 서술한한 디버깅 과정에서 일어난다. 여기서는 전문가(인간) 가 지식베이스 속의 잘못을 찾아 내기 위해, 시스템이 왜 그러한 추론을 하게 되었는지에 관한 시스템 자신의 설명을 이용한다. 첫 번째의 설명기능 응용은 MYCIN 시스템의 질문응답 기능 중에서 검토되었다. 한편 TEIRESIAS의 설명 기능은 양쪽 목적에 대해 검토되어 있지는 않으나 후자 쪽에 중점을 두고 있다.

TEIRESIAS에서 쓰인 설명 생성 기법에서는 조사될 성능 프로그램에 관한 2개의 가정을 설정하고 있다. 즉 ⓐ 정확한 세부 레벨이 선택되기만 하면, 프로그램 거동의 재현은 효과적인 설명으로 될 것, 그리고 ⓑ 유저에 이해 가능하도록 프로그램 거동을 볼 수 있게 할 공통의 뼈대가 존재할 것, 등이다. 프러덕션 루울에의한 지식베이스를 채용하는 MYCIN류의 엑스퍼트 시스템에서는  이 가정은 타당하다. 그러나 어느 한 쪽을 만족 않는 그러한 엑스퍼트 시스템도 있을 수 있다. 가령 첫 번째 가정에 의해, 설명 기능을 실현 시키기 위해서는 단순히 무엇이 일어났는지를  기록하고 재생하는 것만이 필요로 하게 되기 때문에, 설명기능이 매우 간단해진다. 이 가정은 오히려 무엇이 일어났는지에 관한 요약을 불필요하게 한다. 그러나 가령, 언제나 적절한 세부레벨을 찾아 낼 수 있는지의 여부가 분명하지 않고, 또 추론 과정을 재현하는 이 방법으로는 기호조작에 의한 추론을 하는 프로그램에 대해서는 매우 이해하기 쉬운 설명을 제공해 주지만,수치계산을 주로 하는 엑스퍼트 시스템에 적용될 수 있을 것으로는 볼 수 없다.

단순한 추론과정의 재현은 지식기술의 세부레벨이 한정되어 있을 때에 한해서 효과적인 설명이 될 것이다. 기술레벨은 시스템이 쓰고 있는 지식이 이해 가능할 정도로 상세해야 하며, 또 불필요한 만큼의 상세부는 포함시키지 않고, 관측자의 입장에서 의미있을 정도로 개념레벨이 높아야 한다. 게다가 쓰일 지식이 시스템 모두의 행동을 충분히 설명할 수 있을 만큼 완전해야 한다.

두 번째의 가정은 유저의 엑스퍼트 시스템 거동에 대한 이해력에 관계되는데, 이것은 프로그램의 기본 추론메카니즘과 그것이 검사될 레벨에 의존한다. Bayes 의 정리에 바탕한 통계적 기법을 사용하여 의료진단을 하는 프로그램을 고려해 보자. 계산된 확률에 관한 질문을 받아있을 때에 , 프로그램이 그 행동에 대해 어떠한 설명을 할 수 있을 것인지 상상하기 어렵다. 어떠한 세부레벨을 선택했다고 하더라도 그러한 프로그램의 거동은 의사가 전형적으로 채용하는 추론과정의 모델이 되지는 않는다(또 그러한 의도로 설계되어 있지도 않다). 이러한 방법은 컴퓨터에 있어 진단의 문제를 해결하는 효과 좋은 방법으로 그 거동을 설명하는 데 어려움이 있다.

이렇게 계산과정을 이해할 수 있도록 간략화하거나 재해석하는 방법이 존재하지 않기 때문에, TEIRESIAS의 기법은 기본적으로 일반 설명 문제에 대한 제 1차 해인 것을 알 게 된다. 그러나 TEIRESIAS의 설계 대상인 MYCIN 류의 엑스퍼트 시스템에 대해 말한다면, 단순한AND/OR를 사용한 목표나무 (goal tree) 에 따르는 제어구조에 의존하며, 전형적인 경우 거의 그 이상 간략화를 할 필요가 없는 , 설명을 위한 기초를 제공한다. 규칙의 거동은 시스템의 기본 동작으로 실행된다.

(e) 지식 획득 : 규칙 모델과 스키마 (schema)

전문가가 성능 프로그램의 지식베이스의 결핍을 발견하면, TEIRESIAS는 그 결핍을 정정하기 위해, 전문가에 질문을 한다. 이 과정은 규칙의 모델 혹은 스키마로서 정의된, 성능 프로그램에 관한 메타레벨 지식에 크게 의존한다. 바꾸어 말하면 TEIRESIAS는 이들의 데이터 구조를 성능 프로그램이 무엇을 알고 있는지에 관한 지식을 표현하기 위해 쓰고 있다.

대상분야의 사건에 관한 메타레벨 지식은 구조 상, 조직 상의 양면 정보를 갖고 있으며, 데이터 구조 스키마 중에서 지정된다. 새로운 사건에관한 지식의 획득은 스키마의 표현으로 이루어진다. 새로운 데이터 구조를 만들기 위해, 요구되는 구조요소를 만들어 내고, 이어서 타의 데이터 구조와의 관계를 밝힌다. 스키마의 요소치에 관한 가단한 영어형식을 사용한 질문에 의해, 지식획득 과정은 전문가의 눈으로 보고서, 새로운 개념에 관한 자연적으로 레벨이 높은 질문을 하는 것 같이 보이게 된다. 이 과정은 물론 좀 더 복잡한 것이긴 하나, 그 열쇠가 되는 개념은 시스템이 그 자신의 표현형식에 관한 기술을 갖고 있다는 것이다.

TEIRESIAS의 규칙 모델은 규칙의 서브세트를 경험적으로 일반화시킨 것이며, 서브세트 내의 규칙이 공통으로 가진 성질을 나타내고 있다. 예를 들면, MYCIN에는 원인균의 카테고리를 긍정적으로 결론짓는 규칙 서브세트의 모델로, 그러한 규칙의 거의 모두는 규칙의 전제부에서 검체 채취부위 및 감염증의 형에 관해 언급하고 있다고 하는 수가 있다. 타의 규칙 모델은 전제부에서 검체 채취부위와 감염증의 형에 언급하는 루울은 원인균의 감염 경로에 관해서도 언급하는 경향이 있음을 나타내고 있다.

규칙의 모델 중에서 표현되는, 대상분야에 관한 규칙의 내용에 관한 지식을 사용하여, TEIRESIAS는 대화의 진행에 관한 예측을 만들어 낸다. 이러한 예측은 영어로 주어진 문장을 성능 프로그램의 내부표현으로 바꾸고, 또 전문가가 입력시킨 문장에 빠져 있는 정보를 찾아내는 데 쓸모있게 있다.

(f) 메타규칙과 실행전략

충분히 작은 지식베이스를 사용하는 성능프로그램(가령, MYCIN) 에서는 컨설테이션에 있어 관련 지식베이스의 내용을 남김 없이 작용시킬 수도 있다. 그러나 보다 큰 지식베이스가 장래 반드시 구성되게 되어지려면, 이렇게 모든 지식을 남김 없이 작동시키는 것은 계산 실행 상 비현실적이 된다. 이러한 것을 예측하여, TEIRESIAS에서는 프로그램의 거동을 남김 없는작용 보다는 선택적인 것으로 하기 위한 전략을 기술하는 수단으로, 메타규칙을 집어 넣었다. 다음의 메타규칙은 MYCIN의 감염증 분야에서 따 온 것이다.

              메타규칙 0 0 1

  만약     1. 감염증이 골반 복막염이면서,

             2. 전제부에서 腸內細菌屬에 관해 언급하는 규칙이 있고,

             3. 전제부에서 gram 양성 막대기형 균에 관해 언급하는 규칙이 있다면,

  그때     장내세균속에 관해 언급하고 있는 규칙을 그램 양성 막대기형 균에 관해 언급하고 있는 규칙 보다도 먼저 작동 되어야 한다(확실도 0.4).

이 규칙은 골반 복막염에는 보통 장내세균속이 관련지어지므로 보다 가능성이 낮은 그램 양성 막대기형 균에 관한 규칙을 작동시키기 전에 장내세균속에 관한 규칙의 작동을 시험해 보는 것이 좋다는 것을 시사하고 있다. 이 메타규칙이 특정 목적레벨의 규칙에 관해 언급하고 있지 않음에 주의해야 하겠다. 메타규칙은 그 참조할 규칙이 가진 속성을 지정한다. 예를 들면, 규칙의 전제부에서 장내세균속에 관해 언급하고 있는 등이다.

3-2 MACSYMA

MACSYMA는 수학문제를 푸는 수학자, 과학자, 공학자를 지원하기 위해 설계된 대규모의 대화형 컴퓨터 시스템이다. 광범위한 대소ㅜ 연산 능력을 가지며, 모든 연산은 기호 입력으로부터 기호 출력을 만들어 내도록 작동되고, 동시에 수치계산 서브루틴 라이브러리 (IMSL) 와 도형출력 패키지도 포함되어 있다.

MACSYMA는 미국 내의 정부연구소, 대학교, 민간기업의 수백인에 달하는 연구자가 널리 쓰고 있다. 현재 MACSYMA는 MIT의 DEC사제 KL-10상에서만 가동되고 있으며, ARPA네트를 통해 사용되고 있으나, 가까운 장래 많은 곳으로 분산될 계획에 있다. MACSYMA의 자금은 대부분 유저가 부담하는 것으로 되어 있다.

MACSYMA의  원형은 1968년 C. Engleman, W. Martin, J. Moses 에 의한 것이며, 이들은 Mathlab 68 시스템의 사용경험과 Martin과 Moses의 박사논문 연구를 바탕으로 하여 설계 되었다. Martin은 응용 수학에서의 어떤 문제를 풀기 위한 대수 연산 시스템을 작성하고, Moses는 대학원생이 풀 만한 부정적분을 실행하는 SIN이라는 프로그램을 만들었다. MACSYMA는 1971년 처음으로 유저를 갖게 되었고 그 뒤 계속해서 개발되어 왔다.

MACSYMA는 일반수학에 대한 고성능으로그램을 작성하기 위해서는 다수의 지식을 집어 넣을 필요가 있다고 하는 신념에 바탕하여 실현되고 있다. 시스템 구축의 이 방법을 지식베이스 프로그래밍 (knoweledge-based programming) 이라 부르기도 한다. MACSYMA는 매우 큰 시스템이며, 미분, 적분, 방정식과 연립방정식의 해법, 테일러 급수전개, 행렬계산, 벡터대수, 순열해석 등을 포함한 적어도 100개의 서로 다른 수학연산을 실행할 수 있다. 현 시스템은 약 230,000어의 컴파일된 LISP코드와 , 그와 거의 맞먹는 양의 MACSYMA의 프로그래밍언어로 쓰여진 코드로 되어 있다. 이들 코드의 약 반수는 MACSYMA프로젝트의 연구원에 의해 쓰여진 것이며,나머지는 각종 유저가 기여한 것이다.

대수학 연구의 주목표는 수학알고리즘을 발견, 해석하는 것이며, 또 기지의 수치연산 알고리즘을 기호조작으로 치환시키는 것이다. MACSYMA에 들어 있는 태반의 알고리즘은 수학자에게는 기지의 것이긴 하나, 몇몇 알고리즘은 이 연구의 성과에 의한 것이었다. 과거 10년간, 다항식의 최대공약식의 도출[Brown and Traub (1971)], Moses and Yun (1973)], 유리식의 인수 분해 [Musser (1975), Wang and Rothshilld (1975)], 합의 갼략화 [Gosper (1977)], 기호적분 [Moses (1971), Norman (1975), Risch (1969), Rothstein (1977), Trager (1978)], 점근해석 [Fateman (1976), Norman(1975), Zippel (1976)]의 새로운 알고리즘이 발견되었다. MACSYMA 연구의 주된 성격은 수학적이며, AI는 MACSYMA가 구축된 환경을 제공 하였으나, 그뒤의 AI의 직접적인 기여는 별로 크지 않다.

그러나 지식베이스 프로그래밍은 많은 문제를 유도하였고, 이에 대해 AI는 부분적인 해결책을 주어 왔다. 여기서는 다음 두 문제에 관해 기술한다. ⓐ 유저의 교육, ⓑ 알고리즘적 해법에 맞지 않는  문제의 취급

(a) MACSYMA에서의 비알고리즘적인 절차

대수연산에서의 가장 절실한 한 문제는 간략화의 문제이다. 기호조작에 의한 알고리즘에서는 자주 길면서 취급 곤란한 수식이 만들어지는데, 이들은 짧게 이해하기 쉬운 형식으로 간략화 할 필요가 있다(일반적으로 수식의 길이가 간략성의 가장 중요한 평가기준이 된다). 유저가 결과를 간략화하기 위해, MACSYMA는 다양한 수식변환 명령 (가령, 전개, 인수분해, 부분분수분해 등)과, 새로이 생성되는 모든 수식에 수학규칙을 자동적으로 적용하는 간략화 기구를 갖고 있다. 수학규칙의 예는 다음과 같은 것이다.

x  •  x  → x2

sin(x + π/2) → cos x

log(ab)  →  log a + log b

유저는 물론 새로운 명령과 새 규칙을 추가시킬 수가 있다.

(b) 의미적 패턴 매칭

간략화 규칙을 적용할 때에,  MACSYMA는 의미적 패턴 매칭 (semantic pattern matching) 기구를 사용하여 규칙의 패턴의 인스턴스 (instance) 를 찾아낸다. 매칭기구는 어떤 수식 중의 연산자와 상수에 관한 지식을 구문에 의존 않는 매칭을 하기 위해 작용시키는 점에서 의미적 (semantic) 이다. 예를 들면, 패턴 ax2 + bx + c (a, b, c는 x와는 독립적인 패턴변수)는 4x2 + 4x + 1,  2x2 + x + 1,  x2,  (x+1)2 중 어느 것과도 매칭된다. 규칙을 정의할 때 패턴변수에 임의의 조건을 (절차적인 술어형식으로) 부과할 수 있다.  예를 들면, 어떤 수식을 상수의 패턴과 매칭시킬 때, MACSYMA는 유저 정의의 함수를 호출하여 a, b, c에 대한 그 시점에서의 할당이 x와 관련되어 있는지를 조사한다. 그 결과, 패턴 ax2 + bx + c 는 4x2+ 3x +sin x와는 매칭되지 않는다.

이 매칭기구의 한 문제점은 유저는 시스템이 매칭을 취할 때 어느 정도 많은 의미적 지식 (semantics) 를 사용할 것인지 제어할 수가 없다는 것이다. 최근 완성시킨 패턴 매칭기구에서는 유저는 패턴의 인스턴스를 찾을 때 사용하는 항등식의 세트를 지정할 수 있다.예를 들면, 보통은 역변환도 사용하는 것이 바람직한데, 규칙 ab → c가 모든 a,b에 적용되어 b →c/a 로 되지 않게 제한된 매칭기구가 바람직한 경우도 있다. 새로운 패턴 매칭 기구에서는 유저는 언제 역방향 공리가 쓰여져야 할 지를 지정할 수가 있다.

(c) 등산법에 의한 갼략화

수식의 길이가 간략성의 유일한 평가기준은 아니지만, 길이는 유효 지표가 된다. 유저가 어떤 수식에 관해 가장 짧은 형을 바라는  경우, MACSYMA는 SCSIMP라고 하는 탐색에 의한 간략화 기구를 제공하고 있다. 어떤 수식과 규칙이 주어지면, SCSIMP는 순차적으로 각 규칙을 수식에 작용시켜, 그 가장 짧은 형을 갖게 한다. 만약 그러한 대입이 원래 수식 보다도 짧은 표현을 만들어 낸다면, 그 대입 동작은 반복된다. 예를 들면, 아래와 같은 항등식이 주어지면, SCSIMP는 초기식을 최종식으로 변환한다.

주어진 항등식 : K2 + L2 = 1                  N2 - M2 =1

초기식 : K2N2 + K2M2N2 - K2L2N2 - K2L2M2N2

중간형 : K4M2N2 + K2N2   (L에 대입)

최종식 : K4N4                   (M에 대입)

그러나 SCSIMP는 등산법 (hill slimbing) 알고리즘을 사용하기 때문에, 가장 짧은 형의 회답을 얻게 될 것이라는 보장은 없다는 데 주의해야 하겠다. 예를 들면, 다음의 간략화는 중간형이 초기식 보다도 긴 이유 때문에 실행되지 못한다.

초기식 : K2N2 + L2M2

중간형 : K2N2 - K2M2  +  M2  (L에 대입)

가장 짧은 식 : K2 + M2            (M에 대입)

이러한 경우에도 가장 짧은 형의 회답을 얻도록 하는 방법은 매우 긴 중간 형을 만들기 때문에, 조합량이 팽대해져 버리는 까닭에 현재의 SCSIMP에는 들어 있지 않다.

(d) 관계 데이터 베이스와 추론

어떤 종류의 문제에서는 수식에 쓰이는 기호는 그 범위와 성질에 제약이 있고, 이것이 간략화에 유효하게 이용될 수 있을 때가 있다. 유저가 이러한 성질을 지정할 수 있도록 하기 위해, MACSYMA는 기호에 관한 사실을 의미 네트의 형으로 기억시키는 관계 데이터 베이스를 갖는다. 예를 들면 유저는(DECLARE 명령으로) 기호 n은 정수로 정의할 수 있고, 이 때 MACSYMA는 cos ((2n + 1) π )를 0으로 간략화한다. 마찬가지로 하여 (ASSUME 명령에 의해) x ≤ y, y ≤ z, z ≤ x 로 정의했다고 하면, MACSYMA는 (후술할 CPM알고리즘에 의해) x = y = z로 연역한다.

데이터 베이스 검색 루틴은 CPM [Genesereth (1976)] 이라는 고속이면서 한정된 능력의 추론 알고리즘에 의해 지원된다. CPM은 분류적 연역 (taxonomic deduction), 성질의 계승 (property inheritance), 집합의 공통부분 (setintersection) 및 그외의 간단한 추론을 실행한다. 가령 x는 정수이고, 정수는 유리수이며, 실수는 유리수와 무리수로 분할된다는 사실을 주게 되면, CPM은 자동적으로 x는 무리수가 아니라고 연역한다. 유리수는 정수의 분자와 정수의 분모에 의한 분수형으로 나타내게 된다는 사실이 주어지면 CPM은 자동적으로 x는 그렇게 나타내게 된다고 연역한다.

CPM의 추론 알고리즘은 의미네트를 조직화된 고속의 데이터 베이스 시스템의 검색능력을 향상시키기 위해 개발되었다. CPM은 구속식에 대한 Grossman의 연구(1976)를 실용화시킨 것인데, 제한을 부과시켜서 병렬하드웨어 상에 실현시킬 수 있게 하고 있다. 이 알고리즘은 문제영역에 의존 않는 구속전파법을 컴파일한 것이며, 네트워크의 마디의 레벨에 의해 표현된 구속은 논리 법칙에 따라 링크를 통해 다른 마디로 전파한다. CONNIVER 와 같은 절차적 문제해결 언어로 직접 실현시키는 것 보다 훨씬 효율적으로 추론을 실행시킬 수 있다. Fahlman (1977) 은 그러한 구속 전파의 알고리즘을 병렬하드웨어 상에서 더 효율적으로 구현시키는 방법을 제안하고 있다.

(e) 발견적인 문제해결

MACSYMA는 많은 특수한 절차적 문제해결기도 포함되어 있다. 예를 들면 적분 루틴의 첫 번째 단계 [Moses (1971)], 제곱근의 생략산과 대수의 생략산을 실행하는 명령, 부등식 정리증명기 등이다.

(f) 유저의 교육

REDUCE(Hearm (1973))와 같은 소규모 시스템에 있어, MACSYMA 처럼 대규모의 지식베이스 시스템의 이점은 보다 많은 수학적 수학지식이 내장되어 있다는 것이다. 그 결과, 유저는 시스템에 많은 수학지식을 전달할 필요가 없다. 반면에,결점은 MACSYMA가 소규모 시스템에 비해 이해하여 사용하는 데 어려운 점이다. 예를 들면, 유저는 시스템의 능력을 몰랐거나, 명령을 알지 못했을 경우가 있고, 또 해석 불가능한 기대하지 못한 결과를 얻을 수가 있다.

이들 난점을 최소로 하기 위해, MACSYMA는 다종의 온라인 유저 지원기능을 제공하고 있다. 프레임형식의 대화형 입문서, 안내 정보네트워크, 참조 매뉴얼을 찾는 프로그램 등이다. 게다가 몇몇 MACSYMA의 명령은 그 실행과정을 설명할 수 있게 설계되어 있다. 예를 들면 VERBOSE 옵션이 선택되면 POWERSERIES 명령은 전개 중에 생성되는 부목표와 목표를 프린트 출력한다.

이러한 기능의 준비가 있어도,유저는 시스템을 모르기 때문에 때때로 어려움에 부딪친다.또 그러한 유저는 MACSYMA에 관해, 즉시적 문제를 해결하는 데 필요 이상의 것을 배울려고 하지 않을때가 많다. 그러한 유저가  필요한 정보만을 얻는 아주 간단한 방법은 컨설턴트에 도움을 구하는 것이다. 컨설턴트의 조언에 의해 그는 난국을 타개할 수 있다.

컨설턴트는 비즈니스, 법률, 의료 등의 분야와 마찬가지로 컴퓨터 센터에 있을 때가 많다. 컴퓨터 기술이 보급되어 컴퓨터시스템이 복잡해져 가고, 컨설턴트의 필요성은 증대되어 가고 있다. 그러나 컨설턴트(인간)는 부족해 있고, 또 비용도 든다. 최근 MACSYMA 초심자에 대한 Advisor 라는 자동화 된 컨설턴트가 내장되었다. 이것은 MACSYMA와는 다른 자기자신의 데이터 베이스와 전문지식을 가진 프로그램이다. Advisor는 유저로부터 난국에 처해있는 상황의 설명을 받아서, 유저가 가진 문제를 해결하기 위한 계획을 수정하려 한다. 이 계획과 MACSYMA의 지식에 바탕하여 Advisor는 그 유저 고유의 요구에 맞춘 조언을 만든다.

3-3 SRI 컴퓨터 베이스 컨설턴트

컴퓨터베이스 컨설턴트 (CBC) 는 특정 작업영역의 전문적 지식의 집합을 갖고서, 그 영역에서 작업하는 유저가 지식을 편리하게 이용할 수 있도록 하는 컴퓨터 시스템이다. 여기서는 전기기계 장치를 사용하는 초심자의 기계 공작을 도와 주기 위해 설계된 컴퓨터 지원 컨설턴트에 관해, 1970년대 전반에 SRI International에서 실시된 연구를 서술한다. 이 연구의 목표는 추론, 문제 해결기법과 함께 통신, 지각 기법의 면에서도 인간인 컨설턴트에 가까운 시스템을 만드는 것이었다.

이 컨설턴트는 유저가 말한 질문에 답하고, 조언, 필요한 경우에는 주의를 주어 가면서 유저의 작업 진행을 감시하도록 설계되었다. 특정 유저의 요구에 맞추기 위해서, 시스템은 세부의 복수 레벨에서 작업에 관한 조언을 주는 것이 중요하다. 세부의 적절한 레벨을 결정하기 위해, CBC는 유저의 모델을 만들어야 하며, 유저가 작업을 실시할 때에 그 행위를 감시하고, 작업 환경의 현 상태를 반영하도록 내부 모델을 갱신해야 한다.

(a) 컴퓨터 베이스 컨설턴트의 설계

SRI 컴퓨터 베이스 컨설턴트의 일은 익숙되어 있지 않은 기계 수리를 도와서, 복잡한 전기기계 장치를 사용하기 쉽게 하는 것이다. 기계공은 특별한 작업장에서 시스템에 얘기하여, 시스템으로부터 영어의 음성으로 회답을 받아 들이는 헤드세트 (headset) 를 머리에 부착시켜서, 하나의 장치로써 작업을 한다. 시스템은 유저에 음성 응답이 주어지기 위해 시판의 음성합성기를 갖고서, 유저의 음성을 이해하기 위해 시판의 음절 인식기를 갖는다. TV 카메라와 레이저 레인지 파인터 (laser range-finder) 가 시각기구로 시스템에 부착된다. 레이저 레인저 파인더는 시각적 지시기로서도 작용되며, 시스템은 "압력 스위치를 보여라" 와 같은 요구에 대해, 압력 스위치를 레이저 빔 (laser beam) 으로 조여서 응답할 수가 있다.

유저가 요구한 것은 시스템의 자연언어 기구와 시각기구로써 내부 표현 또는 모델로 번역한다. 이들 모델은 기계공과의 대화를 구성하는 데 이용된다. 예를 들면 ("펌프 꺾쇠는 어디 있지" 와 같은) 부품의 위치에 관한 질문은 부품간의 공간적 관계를 알고 있는 기하 모델을 참조하여 대답하게 된다. 모델은 시스템의 자연언어 기구를 위해서도 필요하며, 예를 들면 음성을 이해하는 데 담화모델이 필요하게 된다.

(b) 조립순서의 계획작성

CBC의 유저는 CBC가 조립 단계의 순서 계획을 세워서, 이 순서를 유저의 작업과 관련지울 것을 요구할 수가 있다. CBC는 조립과 분해의 순서를 만들기 위한 가장 진보된 계획 작성 기구를 갖고 있다. 이 계획작성의 과정에서 중요한 몇몇 지식이 있는데, 그 첫째에 장치 자체의 모델이 있고, 이 경우의 장치는 공기 압축기의 모델은 그래프이며, 그래프의 마디는 압축기의 부품에 대응되고, 그래프의 아크는 부품간의 기계적 결합에 대응된다. 두 번째로, 각각의 형식 결합을 어떻게 하여 그 결합이 물리적으로 확립될 것인지를 나타내는 일련의 절차와 관련 짓게하는 지식이다. 세 번째로, 각각의 이들 절차는 작업을 달성 시키는 방법을 상세히 서술한 별도의 절차 호출을 갖고 있다.

절차적 지식인 이 계층은 세부의 몇몇 레벨에서 유저에게 제시되는 계획작성의 기초가 된다. 부품이 조립되어야 할 순서를 결정하기 위해, 절차적 모델을 계획작성 프로그램이 이용한다. 계획작성 프로그램은 맨처음에는 부품은 임의의 순서로 결합될 수 있는 것으로 한다. 사전의 조건과 각 단계를 실행했을 때의 영향을 조사하여, 계획작성 프로그램은 계획중의 작업 단계 순서를 교체하여 경합을 해소한다. 예를 들면, 펌프는 축 상에 도르레가 없을 때만 가설된다. 계획작성기는 이 사실을 인식하여, 축 상에 도르레가 두어지기 이전에 펌프가 가설되게 끔 순서에 제약을 부과한다. 모든 경합이 해소되어 있을 때에는 계획의 나머지 스텝은 임의의 순서로 해결된다. 컴퓨터 베이스 컨설턴트에 의해, 계획 상의 별도 순서를 인식할  수 있는 능력은 중요한 점이다. 즉 유저가 선제권을 쥘 수가 있고, 자기 자신이 조립 단계를 진행시켜 가고, 한편으로 계획작성기는 진행되고 있는 단계가 옳다는 것을 인식할 필요가 있다.

계획은 절차네트 (procedural net) 라고하는 데이터구조에의해 표현되다. 그 일례를 그림 8-14에 보인다. 각 마디는 세부의 어떤 레벨의 조립 단계에 대응된다. 절차네트는 계획의 계층이며, 모든 계층은 서로 다른 세부의 레벨에서 동일 작업을 이루어 간다. 절차 네트의 제 i행은 세부의 제 i레벨에서 지정되는 계획에 대응된다. 제 2레벨에서 계획이 두 경로를 분할되는데, 이것은 두 부분계획이 어떤 순서로도 실행 가능함을 나타내고 있다. 분기하고 있는 종선은 어떤 단계의 복수개의 세부 부분계획으로 전개됨을 나타내고 있다.

절차네트는 유저가 요구하는 세부의 여러 가지 레벨에서 계획을 지시하는데 유효하다. 절차네트는 또 계획작성기에 부분적으로 작성된 계획을 표현하는 데에도 쓰인다. 이에 의해 시스템의 계획작성 기구는 작업의 실행시에 예를 들면 조립의 진행에 따라 계획재편을 요하는 새 정보가 발견되었을 경우, 기존의 계획을 수정하여 제시작시키게 된다.

공기 압축기가 조립 또는 분해되어 있을 때, 시스템은 그 서로 다른 부품의 결합관계의 내부모델을 갖고 있는다. 또 부품의 위치의 도식모델도 갖고 있는다. 예를 들면 도식모델은 펌프, 모터, 압력스위치 등에 관해 알고 있고, 결합관계 모델을 모든 눈에 보이는 부품에 관해 알고 있다.

그림 8-14 절차 네트의 일부

(c) 실세계와 인터페이스 : 시각과 대화

전기기계 장치인 경우, 그 구성부품의 형상은 여러 종류이나 색과 무늬의 차이는 적은 편이므로, 시각처리에 특히 어렵다. 그림자와 강한 반사부도 조립공정에 따라 변한다. 이러한 이유로, 외관과 기하적인 관계에 대한 사전지식을 이용한 방법이 쓰이게 된다. 즉 "공구 인식기" 는 공구의 한정된 의미 표현을 받아 들여, 이 표현으로부터 공구의 모델을 작성하고, 그 공구상을 다른 물체와 구별하는 데 쓰게 된다.

그외 두 시각모듈이 있으며, 비품이 기억되어 있는 기하모델을 이용한다. 첫 번째 모듈은 CBC가 "X를 보여라" 라고 하는 형의 요구에 답하게 한다. 이것은 X의 표면의 윤곽선 위치를찾아 내어, 레이저 레인지 파인더로 X를  가르키게 된다. 나머지 모듈은 유저가 앞끝에 작은 라이트를 부착시킨 특수 지시봉으로 미지부품을 가르키면서, "이것은 무언 부품이냐" 라고 질문할 수 있게한다.

이하는 "공기 압축기의 조립" 에 관한, 초심자인 기계공과 CBC간에서의 대화 일부이다. 이예는 Hart(1975) 논문에서 인용한 것이다.

공기 압축기를 조립해 보라.

** 어떻게?

최상위의 계획은 ..........펌프의 가설, ............펌프 꺾쇠의 부착, ..........펌프 도르레의 가설, ..........벨트의 가설,.......벨트카버의 가설,...........이다.

질문 준비 상태

** 펌프를 보여라.

    레이저 빔이 움직여, 펌프를 가르킨다.

질문준비 상태

...........

**이것은 무어냐.

    유저는 지시봉으로 탱크대를 가르킨다.

탱크대

질문 준비 상태

** 없다.

펌프를 조립하라.

** 어떻게?

펌프를 대 (platform) 와 결합시켜라.

** 어떻게

4개의 1과 1/4 인치 5/16의  6각 볼트, 4개의 9/16 평워셔, 4개의 크기 5/16  6각 너트를 집어라.

** 알았다.

(d) 요약

SRI 컴퓨터 베이스 컨설턴트 연구의 주목표는 컨설턴트 시스템을 구축하는 데 필요한 기초기술을 창출하는 데 있었다. 이 기술의 많은 부분은 선택된 응용영역, 작업환경의 세부에 의존 않는다.

여기서 서술한 전기기계에 관한 CBC의 연구는 1975년 4월에 중지되었다. 그 이래, SRI International 에서는 1975년의 시스템에서 많은 아이디어를 확장시켜, 새 특징을 더해 가면서 새로운 컨설턴트 프로젝트가 진행되고 있다. 새 턴설턴트 프로젝트는 전혀 다른 두, 영역에서 사용되고 있다. 즉 광물탐사와 농업의 해충관리이다. 컴퓨터 베이스 컨설턴트는 AI연구의 결실이 있는 분야로, 그리고 특정 작업영역에서 작업하는 사람들에 지식을 전달할 수 있는 실용적인 수단으로 중요하게 될 것이다.

3-4 DEC社의 VISION

미니컴퓨터의 IBM이라 불리는 DEC社는 AI의 응용에 아주 열성적이며, 판매에서 생산, 고객 서비스에 이르기까지 일관하여 취급하는 지식네트워크 구축 프로젝트를 진행시키고 있다. 그 시스템을 「VISION」이라 하여, 이미 그 제1탄으로서 미국의 컴퓨터 사이언스 분야에서 톱의 자리에 있는 카네기멜론대학과 공동으로 OPS 5 라는 루울형 엑스퍼트 시스템 개발용 투울 (tool) 을 개발하고, 그것을 사용하여 XCON이라고 하는 엑스퍼트 시스템을 개발했다. XCON (엑스퍼트 시스템 제품 configurator) 은 고객으로부터 받은 주문에 맞는 하드웨어,소프트웨어를 전부 갖추는 일을 도와주는 엑스퍼트 시스템이다.

예를 들면 하드웨어에 관하여는 먼저 전압, 주파수, 버스 등에 필요한 구성요소 등, 고객의 주문에 오류가 없을지를 살핀다. 다음, CPU용과 확장용 캐비네트중의 구성요소를  결정한다. 세 번째는 유니버스용 확장 캐비네트중의 상자와 유니버스 모듈을 결정한다. 그때의 조건은

(1) 각 모듈은 해당된 배치의 백프레인 (back-plane) 에 붙여져야 한다.

(2) 각 백프레인의 전원은 1계통이라야 한다.

(3) 각 모듈이 공급될 전력에는 한계가 있다.

(4) 각 모듈에 패널 (panel) 이 필요한 경우, 그 모듈을 포함한 캐비네트에 그 패널을 붙여야 한다.

(5) 어떤 모듈의 지지 모듈이 같은 백프레인에 필요한 때, 스페이스를 확보해 두어야 한다.

(6) 유니버스상의 각 모듈은 될 수 있는데로 적당한 순서에 둔다.

등이다. 그뒤, 유니버스용 확장 캐비네트의 패널을 붙이고, 시스템의 배치를 결정하여 케이블을 연결하면, 하드웨어의 선정이 끝난다.

XCON에 이은 시스템은 XSEL (엑스퍼트 판매원조 시스템) 이며, 고객으로부터 이런 처리를 시키고 싶다는 요구를 듣고는, 그에 필요한 하드웨어나 그 納期, 價格 등을 출력시킬 수 있다. 또 XSEL은 XCON보다도 대화형으로 되어 있다. XCON, XSEL은 많은 형장에서 가동 실적을 갖고 있다.

단, 루울의 갯수는 XOCN을 예로 할 때, 초기 대학에서 개발할 당시 700정도에서, 현장에서의 생각치 못한 요구도 집어 넣어 2000정도로 증가되었다.

XCON의 루울 예는 다음과 같은 것이다.

           IF

                (1) 현재의 부문제가 유니버스로의 디바이스 할당이다.

                (2) 듀얼포트 (dual-port) 디스크 드라이브가 할당되어 있지 않다.

                (3) 콘트롤러의 형은 알고 있다.

                (4) 디바이스가 할당되어 있지 않은 두 개의 콘트롤러가 있다.

                (5) 콘트롤러가 서포트 될 수 있는 디바이스의 수를 알고 있다.

         THEN

           각각의 콘트롤러에 디스크 드라이브를 할당한다. 단, 각각에 한 개의 디바이스를 서포트시킨다.

XCON을 사용하면, 인간이 하는 것보다도 수배의 스피드 업과, 실수가 거의 없어지는 효과가 있다고 보고되어 잇다. 또 VISION 프로젝트에서는 이외에, 전술의 OP5를 투울로 하여, 原材料, 제품인도 일 등을 검토하여 문제가 될 것 같은 주문을 첵크하는 知的 스케쥴링 시스템 ISA, 공정관리의 페이퍼워크의 지원 및 커패시티 프래닝의 지원 시스템 IMACG, 세계시장으로의 DEC 제품의 유통 예측을 지원하는 ILOG, 고객에의 시스템 설치나 보수 작업을 지원하는 XSITE 등의 엑스퍼트 시스템 구축도 예정되어 있고, 그들이 유기적으로 결합되어 지식 네트워크를 구성하게 된다(그림 8-15참조).

3-5 PROSPECTOR

PROSPECTOR [Duda 등(1978)]는 SRI International에서 개발된 컴퓨터베이스 컨설테이션 시스템이며, 광석형 광물의 탐색 문제에 관계되는 지질학자를 지원해 준다. MYCIN과 같은 엑스퍼트 시스템과 마찬가지로 PROSPECTOR는 특정 영역의 전문가의 지식과 추론과정의 중요 부분을 표현하고 자 한 것이다. 이 프로그램이 상정하고 있는 유저는 탐광지점 또는 "prosperct (채광 유망지)"의 초기조사를 하는 탐광 지질학자이다. 탐광 지질학자는 지질학의 전문적 이해력을 갖고 있으나, 조사결과의 평가시에 전문가의 원조를 받는 것을 상정하고 있다.

PROSPECTOR를 응용영역에 의존 않는 시스템으로 하고자 하여, 지질학 지식베이스와 이 지식이용의 기구와의 사이는 명확히 분리되어 있다(즉, 문제 영역의 특질은 시스템 설계에 조금도 영향을 주지 않는다). 추상적으로 말한다면, PROSPECTOR의 주기능은 어떤 특정 상황에서 얻게 된 데이터를, 공통부분을 많이 갖지 않는 부류를 나타내는 모델과 매칭시키는 것이다. PROSPECTOR의 문제영역에서는 모델이 광맥의 가장 중요한 모양의 형식적 기술이며, 데이터는 주요 지표면의 지질학적 관찰이다. 얻게 되는 데이터는 불확실, 불완전하다고 가정하고 있으므로, 결론은 확률적, 혹은 매칭 상황에따라 표현된다. 또 시스템은 유저에 데이터에 대해 또 다른 해석이 있음을 경고하고, 더 확실도가 높은 결론에 도달하는 데 가장 중요한 추가 관찰을 지시한다.

PROSPECTOR의 전형적인 세션은 유저가 채광유망지 중 가장 중요한 특징에 관한 정보, 즉 주요 암석의 모양, 광물, 변성물을 입력시키게 되면 시작된다. 프로그램은 이들의 관찰데이터를 모델과 매칭시켜 보고, 유저가 자발적인 정보입력을 종료시킨 뒤, 가장 매칭이 잘 되는 모델을 확증하는 데 쓸모있는 추가 정보를 요구한다. 유저는 컨설테이션의 임의의 시점에서 인터럽트를 걸어서, 자발적으로 새 정보를 입력시키거나, 이전의 보고를 변경 하거나, 평가를 요구하는 등을 할 수가 있다.

다음은 PROSPECTOR의 세션에서 발췌한 것이다. 유저가 자발적으로 시스템에 정보 입력시키는 곳에서 시작된다(** 표시).

    **수정 monzonite (섬장석과 섬연석의 중간 성질 화성암)가 있다.

    Quartz monzonite (5)

    ** 백악질암파 (cretaceous dike) 가 있다.

    Cretaceous dike (5)

    **견운모 (sericite) 와 황철동 (pyrite) 가 있다.

    Sericite  (5)            Pyrite (5)

    ** 흑운모 (biotite) 가 있는 것 같다.

    Biotite  (2)

    **Done

이들 간단한 언명은 목표지역에서의 현저한 암석, 광물, 변성물을 서술하고 있다. 시스템은 입력문의 인식을 에코를 내고 확실도를 할당시켜서 나타낸다. 확실성 계수는 -5 (상황 성립 불)에서 5 (상황 성립) 까지의 값을 갖는다. PROSPECTOR 가 만든 모든 언명은 확실도 계수가 붙게 된다. 여기서 프로그램은 추론의 귀결모드에 입력된다.

현재, PROSPECTOR 내의 모델과 그 점수는 다음과 같다 :

1. Komatiitic mickel 유화물 광물....KNDS (0.0)

2. 타잎 A PO Porphry copper 광물 ....PCDA(0.0)

    ++ 현재의 가설 ++

3. Kuroko형 괴형 유화물 광물......MSD (0.001999)

4. Western-state-type sandstone uranium deposit.....WSSU(0.0)

당신은 상기의 어느 것을 제외시키고자 하는가?

** 없음

자발적으로 입력된 정보는 모델 중 하나를 제외시켰으나, 다른 어느 하나의  모델로 확정적인 만큼 상세하지는 못했다. 현재의 가설로써 두 번째 모델을 선택한 것은 확실도가 아니고 그 모델과 자발적인 입력문간의 결합 수의 형태에 따른다. 가능성이 없는 모델의 조사를 피하기 위해, 시스템은 유저에 관심 적은 모델을 배제시키는 기회를 제공한다. 이 경우, 유저는모든 모델을 조사할 것을 허락한 것이기 때문에, 시스템은 현재의 가설부터 조사를 시작하게 된다.

나는 목표지역에서의 (타잎 -A porphyry copper 광물.....PCDA) 의 가능성을 고려하고 있다. 이하의 질문은 석유 지각 구조환경의 성질을 확정하고자 하는 것이다.

1...다음 사항을 어느 정도 믿고 있는가(목표지역은 대륙연부 이동 벨트 지대에 있음).

**-2

    이것은 PCDA 모델에 대한 부정적 회답이며, 대륙연부 이동 벨트 지대의 그외 성질 조사에 필요한 질문 항목이 제외된다.

다음 질문은 지역환경의 성질을 결정하고자 하는 것이다.

2....다음 사항을 어느 정도 믿는가(그 지역에 화강암의 관입이 있음).

 **-3

..............................

8... 다음 사항을 어느 정도 믿는가(그 지역의 화성암에는 porphyritic무늬가 있음).

**왜

나는 당신의 지역에서의 몇몇 貫人岩石이 半深成으로부터 亞火山性 환경을 시사하는 무늬를 갖고 있는지를 확정하고자 한다. 급속한 냉각에 의해 생기는 porphyritic 무늬와, 큰 광물입자를 포함하는 규산염 용해의 결정체는 비교적 얕은 광물 위치를 시사한다.

MYCIN과 마찬가지로, PROSPECTOR는 요약의 요구, 이전의 회답 변경, 추가정보의 자발적 입력 등의 다양한 명령을 제공한다. WHY명령으로의 상기 응답은 루울로부터 자발적으로 생성된 것이 아니라, 단순히 관련 장소에 축적되어 있는 문장이다.

8.... 다음 사항을 어느 정도 믿는가(그 지역의 화성암에는 porphyritic 무늬가 있음).

**5

나의(관입조직의 무늬와 형태가 아화산성(반심성) 지역환경을 시사함)에 관한 확실도는 현재 4.924 이것을 더 조사했는가.

** 아니오

    이 시점에서 시스템은 반심성 환경에 관한 가설의 확실도는 4.5이상인 것으로 기술했다. 그리고 만약 나머지의 루울이 가장 불리하게 답했다고 해도 확실도는 4.5이하로는 내려가지 않음을 서술했다. 시간의 절약을 위해, 시스템은 이 부목표를 계속해서 조사할 것인지를 유저에 결정하게 했다.

질문은 목표지역 내에서 변화하는 성질을 생각하는 것이 필요하게 될 때까지, 상기와 같이 계속한다. 게다가 루울을 한번 이상 사용할 수 있을 것이 필요하며, 서로 다른 성질 영역을 구별하기 위해 대화의 관례가 확립되어야 한다.

Porphyry Copper 광물은 가끔 변성 Zone과 광화 Zone으로 구성된다. (어떤 경우에는 서로 중복된 서로 다른 층으로 보이게 된다). 나는 가장 현저한 그러한 Zone을 Zone1이라 부르고, 가령 당신이 이미 이 죤을 예를 들어 입자형 안산암 죤 혹은 견운모죤으로 확인했어도, 나는 다른 가능성도 생각할 필요가 있다. 게다가 다음 질문은 Zone 그의 가능성을 결정하고자 하는 것이다.

25... 다음 사항을 어느 정도 믿는가(죤1에 새로이 보이는 장석이 있음)?

**-5

   질문은 이와 같이 계속된다. 최종적으로 PROSPECTOR는 그 지역에 두 죤이 있음을 확정한다. 각각의 상세히 조사한뒤, 지질학적 구조는 그 지역에 typer-A porphyry copper 가 존재하는 가설을 받쳐 주는 것으로 결론을 내린다.

(a) 지식 표현

PROSPECTOR에 들어 가 있는 지질학적 지식을 나타내는 데이터 구조를 추론네트워크라 부르며, 시스템에 따라 실행될 타당한 추론을 안내하게 된다. 추론네트워크의 마디는 각종의 언명 (assertion), 예를 들면 "침투성 흑운모화 각섬석이 있다" 라든가 "porphyry copper 광물의 칼륨함유 죤에 바람직한 변질이다" 에 대응된다. 이들 언명은 실행시에, 참, 거짓 또는 어떤 확률로 사실을 결정하게 된다.

추론 네트워크의 대부분의 아크는 어떤 언명의 확률이 어찌 다른 언명의 확률에 영향을 주는지를 결정지우는 추론에 대응된다. 예를 들면, 침투성 흑운모화 각섬석의 존재는 porphyry copper 광물의 칼륨 함유죤을 시사하고, 흑운모화 각섬석이 없다는 것은 그 결론에 바랄 것이 없다는 것이다. 이들 추론루울은 MYCIN에서 쓰인 프러덕션 루울에 대응된다 다른 나머지 아크는 어떤 언명이 다른 언명의 환경이 되고, 올바른 환경이 확정될 때가지 결론이 지어질 것을 막는 역할을 한다. 예를 들면, 각섬석이 흑운모를 변질되는 것을, 그 변질도를 질문하기 전에 확정지워져야 한다.

PROSPECTOR에서, 지질학자의 모델을 추론네트워크로 나타내는  것이 지질학자가 해야 할 주요 작업이다. 여기에는 5개의 서로 다른 형의 광물 모델이 있고, 이들은 5사람의 서로 다른 지질학 컨설턴트 협력으로  개발되었다. 표 8-1의 통계는 이들 모델의 규모와 복잡도를 대략적으로 보이고 있다.

표 8-1 PROSPECTOR의 5개 모델의 지식베이스 크기

모 델

언명 수

규칙 수

Kroko-type 塊狀 硫化物

미시시피 계곡형 연/아연

type-A porphyry copper

Komatiitic 닉켈 硫化物

Roll-front 砂岩우랴늄

39

28

187

75

212

541

34

20

91

49

133

327

시스템에 의한 어떤 종류의 이론적 추론을 할 수 있게 하기 위해서, 각 언명은 분할 의미네트워크 (partitioned semantic network) 의 공간으로 표현된다. 정형적인 공간은 특정 성질(가령, 흑운모로 되는 등)을 가진 물질 특정의 관계 (가령, 변질관계 등) 에 있는 물질의 가설적 존재를 표명한다. 또, 분류학 네트워크는 쓰인 용어간의 중요 요소-부분 집합관계를 기술한다. 예를 들면 흑운모는 운모이며, 운모는 규산염이며, 규산염은 광물이다, 등이다.

관계의 집합으로 할 때 언명의 명료성은 시스템이 언명 짝 간의 부분 집합-상위집합 접속을 인식하는 것을 용이하게 한다. 예를 들면, "침투성 흑운모화각섬석이 있다" 는 분명히 "운모가 있다" 의 운명과 관계된다. 첫 번째 언명의 긍정은 두 번째 언명도 긍정하게 되며, 두 번째 언명의 부정은 첫 번째 언명도 부정하게 된다. 이런 종류의 인식능력은 주로 다음 두 용도에 쓰인다. 첫째는 중요한 내부모델과,추론루울에 의해 긍정적으로 주어진 내부모델간에 걸치는 결합관계를 주게 된다. 두 번째는 시스템이 유저가 자발적으로 준정보와, 부호화된 모델간의 결합관계를 인식할 수 있게 하는 것이다.

(b) 제어

PROSPECTOR는 주도권 혼재형 시스템 (mixed-initiative system) 이며, 유저가 채광유망지에 관한 정보를 자발적으로 입력시키는 것을 허락하는 데부터 시작된다. 현재, 이 자발적 정보는 암석의 이름, 연대, 형상과 채광유망지의 형태에 관한 구속을 가진 영어문으로 한정되어있다. 이들 문장은 LIFEP (자연언어 인터페이스 기능) 에 의해 구문해석되고, 분할 의미네트워크로 표현된다. 네트워크 매칭 프로그램은 이들 자발적으로 입력된 공간을 하위 집합관계, 상위 집합관계, 등가관계에 주목하면서, 모델 내의 공간과 비교한다.

만약 자발적 입력 공간이 모델내 공간과 같게 되면, 그 모델공간의 확률은 갱신되고, 변화가 추론네트워크 내를 전파한다. 만약 자발적 입력공간이 모델내 공간의 부분집합에서, 모델공간 보다 높은 확률을 갖고 있다면, 다시 모델 공간의 확률은 갱신되고, 변화가 추론의 네트워크 내를 전파해 간다.

만약 불행히도, 자발적 입력공간이(자주 있는 일이지만) 모델공간의 상위 집합과 일치한 경우, 유저가 상황에 관한 의구심을 표명하지 않는 한 확률의 변화는 없다. 예를 들면 유저가 흑운모라고 한 경우, 침투성 흑운모화각섬석의 존재를 주장하는 공간의 확률은 유저가 타의 어느 형태의 흑운모 존재를 믿지 않는다고 하지 않는 한 변화 않는다. 그러나 시스템은 이 관찰을 추구하고자 할 것은 명백하고, 모델로의 결합관계 존재가 기록된다.

유저가 초기의 자발적 입력을 끝냈을 때, PROSPECTOR는 발생 결합 관계 수와 형식에 바탕한 각종 모델에 평점을 매기고, 연이은 조사를 위한 최량매칭 모델을 선택한다. 기본 제어 전략은 MYCIN류의 역방향 추론 또는 결론지향 추론 (consequent reasoning) 이다. 어느 시점에서도 현재의 목표 공간이 존재하고, 그 적당, 부정당을 조사한다. 초기 목표공간은 최량 매칭 모델에 대응되는 공간이다. 모델 내의 각종 공간은 유저에게서 얻게 되는(질문 가능한) 증거, 혹은 증거에서 추론되어야 할(유저에 질문 불가능한) 내부가설 중 어느 것을 나타낸다. 당연히, 초기 목표공간은 항상 질문할 수가 없다. 만약 현목표공간이 아직 확정되어 있지 않은 관련공간을 가진다면, 그 관련공간은 목표 스택에 쌓아져서, 그 중의 하나가 새로운 현 목표 공간이 된다.

만약 현재의 목표가 질문될 수 있는 것이고, 또 이전에 질문된 적이 없었던 것이라면, 유저에게 질문을 하게 된다. 그 회답의 영향은 추론네트워크 내를 전파하여, 이러한 처리가 반복된다. 만약 현재의 목표가 질문될 수 없는 것이라면, 그것은 한 개 혹은 복수개의 추론루울의 결론이거나, 한 개 이상의 타 공간의 논리결합의 결론이라야 한다. 전자의 경우, 루울은 가설 H에 영향을 주는 잠재적 효과를 결정하기 위해 평점이 붙여져 있고, 최고 평점인 루울의 전제가 다음 목표로 된다. 후자의 경우, 가설을 받쳐 주는 이미 정해 놓은 공간이 다음 목표로된다. 어느 경우도 같은 절차가 반복되는데, ⓐ 최상위 목표가 가능성이 없어지고 또 다른 최상위 목표를 선택하거나, ⓑ 질문 가능한 모든 공간을 질문해 버렸거나, ⓒ 유저가 인터럽트를 건 새 자발적 정보를 입력시킬 때까지 반복된다.

(c) 요 약

여기서는 PROSPECTOR에서 쓰인 기본적인 지식표현과 추론기구의 개요를 논의했다. 다음과 같은 점이 논리되었다. 즉, 정량적인 증거의 취급, 매칭의 절차, 그래픽 입력의 사용, 추론네트워크 컴파일러, 설명시스템, 모델 획득지원 수단, 테스트와 평가.

현 시스템 내의 5개 모델은 채광 유망지를 포괄하는 데에 필요한 일부에 지나지 않으며 이들 모델도 실용적인 평가를 하는 데 필요한 완성도에 최근에 들어서야 도달하고 있다. 모델화된 형식의 실제 광물로부터의 데이터를 사용한 소수의 초기 테스트에서는 시스템에서 주어진 평가와 모델설계자의 평가와는 아주 가까운 것으로 되어 있다. 사실, PROSPECTOR는 최근, 워싱톤주의 탐광장에서 모리브덴광석의 위치를 예측하여, 이것은 이어서 드릴링에 의해 거의 확인되었다.

3-6 SPERIL -Ⅱ

미국 Purdue 대학을 중심으로하여 개발된 건축물 피해 감정을 위한 엑스퍼트 시스템이다. 주로, 관측, 관찰, 검사 데이터로부터 건축물의 파괴 정도, 피로의 정도를 사정한다. 구체적으로는 지진의 기록이나 구성요소의 크랙 (crack) 등으로부터 요소의 피해도를 사정하고, 그것을 쌓아 가서 건축물 전체의 안전도를 결정한다. 이때, 메타루울 (meta-rule) 에 의해, 다음과 같은 추론 제어가 가능하게 되어 있다.

(1) 추론의 방향 선택

     순방향 추론인가, 역방향 추론인가

(2) 추론중의 탐색방법 선택

     해를 하나만 낼 것이가, 모든 가능한 해를 낼 것인가

(3) 부목표의 달성 순서 지정

[예] ⓐ 피해의 원인을 살필 때, 설게 실수를 맨먼저 생각한다.

       ⓑ 건축물 전체의 피해도를 구하기 전에, 모든 각 구성요소의 피해도를 査定해야 한다.

(4) 추론용 루울群의 선택

     루울의 군화에 의해, 추론의 효율화와 루울 표현의 간단화가 이루어진다.

그림 8-16에 이 시스템의 일부인 기둥의 피해도 사정 과정 예를 보인다. 피해의 정도는 CF 値附 fuzzy集合의 형으로 주어진다. 또 fuzzy집합이란 피해의 각 重傷度에 그레이드를 매긴 것이다. 그림 중에서 가령 0.65/4란 피해도 4인 그레이드는 0.65인 것을 표시한다.

그림 8-16  SPERIL - Ⅱ에서의 기동의 피해도 사정의 예

 

검사데이터로부터 추론에 의해 기둥의 피해정도가 fuzzy집합의 형으로 출력된다. 그림에는표시되어있지 않으나, 원인의 각 마디에도 CF치부 fuzzy집합이 주어진다.

참고를 위해, 상술 예를 포함한 여러 가지 엑스퍼트 시스템의 예를 표 8-2에 보인다.

표 8-2 지식공학의 응용 시스템

시스템

응용분야

프로젝트

기능설명

비고

 시

 

(엑

 스

 퍼

 트

 시

 스

 템)

자연과학

DENRAL, Meta-DENDRAL(HPP)

유기화합물 분자구조의 추정

1971,1978

CRYSALIS(HPP)

단백질의 X선 결정 데이터 해석

1977

MOLGEN(HPP)

분자유전학용 어드바이스 시스템

1979

공업, 기술

SU/X (HPP)

신호해석, 이해 시스템

1977

LOGIN(HPP,Suhlumberger사)

석유 광맥 시굴 데이터 해석

1978

SACON(HPP)

구조체 해석시스템

1979

KNOBS(Mitre사)

항공기종 식별 시뮬레이터

1979

VLSI(HPP), DART(HPP,IBM)

VLSI의 마스크 레이아웃 시스템

1980

교육공학

SCHOLAR(MIT)

지리학습용 CAI

1970

GUIDON(HPP)

범용 CAI에 응용 가능하나, HPP로는 의학 CAI로 하여 사용

1979

의학, 치료

MYCIN, TEIRESIAS(HPP)

혈액전염병, 뇌막염의 진단, 치료어드바이스 시스템

1975

PUFF (HPP)

폐기능 진단 시스템

1978

CASNET(Rutger대학)

녹내장의 진단, 치료 시스템

1978

EXPERT(상동)

갑상선 질환, 류머티스 진단, 치료시스템

1978

PIP (MIT)

위 질환 진단, 치료 시스템

1978

ONCONIN(HPP)

암 진단, 치료 어드바이스 시스템

1979

MECS-AI(동경대 병원)

심부전 진단, 치료 시스템

1979

CENTAUR(HPP)

폐기능 진단 시스템

1980

VM(HPP)

호흡 보조 시스템(중병 환자 감시용)

1980

MICRO-RHEUM(동경전기대)

류머티스 진단, 치료 시스템

1980

ELIZA(MIT)

정신분석용 QA 시스템

1965

문장해석, 이해 시스템

SHRDLU, BUILD(MIT)

블럭의 세계 로봇 QA 시스템

1973

MARGIE(Stanford대학)

영문 해석 시스템

1973

MILISYJ (ETL)

일본어 QA 시스템

1975

VISUALIZER(상동)

상동(단, 그래픽 디스플레이 응답)

1976

SAM(Yale대학),TOPLE(MIT)

회화 이해 시스템

1976

GUS(Xerox사)

여행계획 QA시스템

1977

EXPLUS(ETL)

일본물 이해 시스템

1978

MSSC-78(일본통신연구소)

일본어 QA 시스템

1979

음성이해시스템

HEARSAY-I, II(CMU)

LUNAR(Harvard대학)

1,000단어의 연속 음성 이해 시스템

1973

1973

번역시스템

TAUM-METEO(Montreal대학)

일기예보(영어→ 불어)

1976

TAUM-AVIATION(상동)

항공기 메인트넌스 매뉴얼(영어 → 불어)

1976

XONICS MT System(Xonix사)

러시아어, 체코어, 셀비아어→ 영어

1976

SYSTRAN(EC 공동체)

영어→ 불어, 불어 →영어, 영어→ 이태리어 등

1975~1980

EUROTRA(EC 공동체)

영, 불, 이태리, 독, 오라다, 덴마크어의 조합 상호간 번역

1980~1984

자연과학 분 야

SAINT(MIT)

적분(수식)

1961

SIN(MIT)

상동

1967

STUDENT(MIT)

산수의 문제해결

1968

MACSYMA(MIT)

수식처리 시스템

1971

Nowton(MIT)

물리의 문제해결

1975

Isac (Texas 대학)

상동

1976

AM(HPP)

수식정리 발견

1976

교오또오대학

화학의 문제해결

1977

4 엑스퍼트 시스템 개발 지원 투울

-AI투울의 상용화 속출-

현재, 인공지능의 상용화가 미국을 중심으로 속출하고 있으며, 엑스퍼트 시스템의 개발 지원 투울, 약하며, AI투울이 표 8-3와 같이 발표되고 있다. 앞 8-1절에서 설명한 지식의 기술방법으로 분류하여 나타냈다. 이들 AI투울이 출현했다고 해도, 전문가의 지식획득은 엑스퍼트 시스템의 개발에 있어 큰 장애물이다.

 4-1 OPS 5

엑스퍽트 시스템은 지식베이스와 추론엔진을 LIPS나 Prolog 등의 언어로 프로그램해야 하는데, 지식표현방법과 추론 알고리즘 등, 인공지능에 관한 깊은 지식이 필요한 것을 , 이 OPS  5에서는 인공지능에 관한 깊은 지식이 필요한 것을, 이 OPS 5에서는 인공지능에 관해 별로 알고 있지 못해도, 단순히 지식과 경험칙을 OPS 5가 지정하는 IF-THEN 루울 형식으로 변환해 주기만 하면, 실용적인 엑스퍼트 시스템이 가능하게 된다고 하는 것을 특징으로 꼽고 있다.

(a) 특징

OPS 5는 당초, 미국 카네기멜론대학에서 개발된 범용의 엑스퍼트 시스템 구축용 투울이다. 현재, DEC의 수퍼 미니컴퓨터 VAX 패밀리에 이용하고 잇다. 따라서 엑스퍼트 시스템의 취급 문제의 범위나 복잡도에 따라 필요한 하드웨어 능력, 혹은 가격에 따라서 VAX패밀리 중에서 최적의 컴퓨터 시스템을 선택, 사용할 수 있게 한다.

또,OPS 5는 LISP로 기술될 경우, 매우 많은 메모리를 필요로 하고 추론도 별로 빠르지 않았던 것을, VAX 패밀리에 맞는 BLISS 라는 시스템 소프트웨어 기술용 언어로 최적화되어, 필요 메모리나 추론 시간도 수분의 1에서 십수분의 1로 하고 있다. 즉 OPS  5는 AI용의 특수 하드웨어가 아닌 보통의 수퍼 미니컴퓨터를 이용하여 아주 고속의 추론을 할 수 있게 한 것이다. BLISS를 사용하여 기술함으로 해서 VAX/VMS 오퍼레이팅 시스템이 제공하는 FORTRAN, BASIC 등의 고급언어나 어셈블리언어와도 쉽게 결합시켜 이용할 수 있는 것도 특징 중 하나이다. 가령, 공장 등에서는 측정기 등의 데이터를 실시간으로 입력시키는 그런 부분이나, 직접 기기를 제어하는 그런 부분은 FORTRAN 이나 에셈블러로 기술하고, 데이터를 사용하여 제어의 지식를 하는 부분을 OPS 5로 기술하는 등으로 쓸 수가 있다.

표 8-3 주요 엑스퍼트 시스템 구축 지원 소프트웨어

투울 명

母 體

개발자

주요사용 예

지식표현

추론

기타

MEYCIN

MYCIN

Stanford

대학(미국)

표 8-3

참조

프러덕션 루울, 확실성계수 사용, 문맥에 의한 구조화

역방향 추론(순방향 추론)

설명기능, 루울 컴파일러 등

OPS 5

OPS 패밀리

Carnegie Mellen 대학, DEC

XCON

XSEL

AIR PLAN

프러덕션 루울

순방향추론

 프로그래밍언어에 가까움

BRAINS

EMYCIN

東洋情 한報시스템(일본)

 

프러덕션 루울

순방향,

역방향,

다단 추론

 루울을 그룹화한 유니트구조를 채택,대규모 지식 베이스 용이

S.  1

EMYCIN

Tecknowlege 社(미국)

 

 3종류의 지식

• Factual knowledge

•  Judgemental knowledge

•  Procedural knowledge

역방향 추론 (순방향추론)

  센서, 데이터베이스, 통신네트워크와의 인터페이스

EXPERT

CASNET

Rutgers대학(미국)

 

프러덕션 루울, 인과네트워크에 의한 구조화

순방향추론(역방향추론)

FORTRAN으로 기술되어 있음

CIS

 

중앙대학

(한국)

고혈압

진 단

프러덕션 루울, 상황 연관관계 의미네트워크에 의한 프레임형 구조

 순방향, 역방향 추론

 흑판 모델이 의한 추론.

가능성지수와 확실성 지수로 지식의 불확실성 처리

KAS

PROSPECTOR

SRI

 

 프러덕션 루울, 의미네트워크

 순방향, 역방향 추론

주관적 Bayes와 률에 의한 확실성의 표현, 경험적인 평가 함수를 사용하여 최적루울을 선택

KEE

 

Intellicorp

(미국)

 

 프레임에 바탕한 지식표현, 프러덕션루울사용

 순방향추론과, 역방향 추론

대화형 그래픽스 기능

ART

 

Inferencecorp.

(미국)

NASA의 space shuttle의 속도,궤도 제어용 엑스퍼트

프레임류의 지식표현과 프러덕션 루울

순방향 추론

역방향추론

 흑판모델에 의한 최적화메카니즘

SRL

 

Carnegie

Group Inc.

 

프레임에 바탕한 지식표현

 순방향과 역방향추론(프러덕션 루울).

이외에 로직 프로그래밍, 오브젝트 프로그래밍에 바탕한 추론

 자연언어 인터페이스 2D그래픽스 기구

표 8-4 EMYCIN을 사용하여 개발된 주요 시스템

시스템 명

기          능

PUFF

HFADMED

SACON

CLOT

LITHO

GRAVIDA

DART

폐기능 진단

心理樂理療法

구조해석 프로그램 사용법 가이드

혈액 응고 불량의 진단

油井의 地質데이터의 解釋

임산부의 진단

컴퓨터 시스템의 고장진단

VAX/VMS 오퍼레이팅 시스템 하에서 이용할 수 있기 때문에, VMS가 제공하는 강력한 소프트웨어 개발환경에서, 효율 좋은 엑스퍼트 시스템이 구축될 수 있다는 것이다.

 (b) 구성

그림 8-17에 보이는 바와 같이 크게 나눠서, 프러덕션 메모리,작업 메모리, 인터프리터의 3부분으로 되어 있다. 프러덕션 메모리는 IF-THEN 루울을 이용하기 쉬운 형식으로 정리하여 넣어 둔 지식베이스이다. 작업 메모리와 인터프리터는 추론엔진이며, 지식베이스의 내용을 사용하여 결론을 끌어 내는 부분이다.

이외에, 컴파일러가 있는데, OPS 5에서 말하는 인터프리터와 컴파일러는 BASIC 등에서 말하는 인터프리터와 컴파일러와는 의미가 다르다. 여기서의 인터프리터는 엑스퍼트 시스템에서의 추론엔진이고, 컴파일러는 엑스퍼트 시스템에서의 지식베이스를 구성하는 것이다. 즉 프러덕션 루울을 추론 엔진이 이용하기 쉬운 형으로 번역, 정리하는 것이 컴파일러의 역할이다.

OPS  5 자신에는 최근의 워크스테이션 등에서 갖추고 있는 고도의 그래픽 기능이나 마우스를 이용하는 기능은 없으나,VAX. VMS 하에서 제공되는 여러기지 소프트웨어를 사용하여, 고도의 기능을 갖게 할 수가 있다.

OPS  5는 타의 구축용 투울과는 달리, 단독으로 엑스퍼트 시스템을 구성하는 것이 아니라, 종래의 컴퓨터 시스템을 사용하여, 종래의 언어와 조합하여 하나의 종합적인 인공지능의 응용 시스템을 구축할 경우에알 맞다. 때문에, 추론에 필요한 간단한 기능을 갖고 있을 뿐이지만, 아주 고속의 추론이 가능하게 되어 있다.

그림 8-17 OPS  5의 構成

4-2 BRAINS

그림 8-18에 보이는 바와 같은 구성을 하고 있으며, 의료진단, 고장진단, 데이터 해석등의 지식베이스 시스템을 단기간에 개발하여, 운용하기 위한 구축 투울 시스템으로, 지식베이스 작성울 지원해 주는 소프트웨어와 지식베이스에 바탕을 두고서 추론을 실행하는 추론 엔진으로 구성되어 있다.

BRAINS는 미국에서 개발된 추론시스템 EXPERT나, EMYCIN의 기능으 베이스로 실용성을 고려하여 기능을 강화시킨 범용 투울로, 푹 넓은 적용 범위를 갖고 있다.

그림 8-18 BRAINS의 개념도

(a) 특징

① 프러덕션 루울 베이스 시스템의 특징인 지식표현이 간단하고, 지식의 추가, 수정, 삭제가 용이한 성질을 갖는다. 따라서 범용성을 갖을 수 있다.

② 추론방식으로, 순방향과 역방향의 추론을 자유로이 선택 가능하고, 다단계 추론방식과 조합시켜서 유연한 추론의 실행이 가능하다.

③ 루울을 그룹화한 유니트구조를 채용함으로 하여, 대규모 지식베이스가 쉽게 구축될 수 있다.

④ 시뮬레이션 프로그램, CAD 시스템 등 기존 시스템과 접속 가능하고, 전체 시스템의 일부로 운용 가능하다. LISP나 FORTRAN으로 쓰여진 유저 프로그램을 하나의 처리로서 지식베이스에 정의해 줌으로 하여, 루울과 연동시켜 자유로이 호출, 실행시킬 수가 있다.

⑤ 지식베이스의 모순이나 포함 관계를 첵크하거나, 지식베이스를 나무 구조로 전개시켜 표시하는 등, 지식베이스의 관리기능을 충실, 강화하고 있다.

(b) 구성과 기능

BRAINS는 추론 실행 기능과 지식베이스관리 기능으로 되어 있는데, 소프트웨어 구성도 이에 대응되어 있다.

컨설테이션 기능에는 왜 그렇게 추론을 하였는지를 설명하는 추론 결과의 설명기능과, 관계된 루울을 표시, 설명하고, 그 곳에서 루울을 수정하거나, 데이터치를 재설정함에 의해 추론을 재실행하는 기능, 미정 데이터와 모순 루울, 데이터를 표시해 주는 기능 등 다양한 기능을 갖추고 있다.

(c) 지식 표현

지식표현은 ① 사건, 가설, 대응처리를 정의하는 데이터의 정의, ② 유저 프로그램등의 처리를 기술하는 처리의 정의, ③ 사건, 가설, 처리의 관계를 기술하는 지식베이스의 정의로 되어 있다. 표 8-5에 지식베이스의 정의 예를 보인다.

표 8-5 BRAINS에서의 지식베이스 루울 기술 예

HH루울

   *IF

   H (復水器 0.30 : 0.99)

   *THEN

   F (眞空低下警報, T)

                      → H (復水器, 0.94)

*만약, 복수기의 사고가(확신도0.30) 이상 (확신도 0.99) 이하일 때, 다시

만약, 主復水器 진공저하 경보장치가 발신하면, 복수기의 사고일 가능성이 아주 강하다(확신도 0.94)

표 8-6   BRAINS의 적용기종

하드웨어 메이커

型 番

OS

언 어

IBM

370 시리즈

380X 시리즈

303X 시리즈

43XX 시리즈

MVS/TSP

XA

UTILISP

FACOM

M 시리즈

S 3000시리즈

OSIV/ F4

X8

UTILISP

DEC

VAX11시리즈

VOS Ⅲ

FRANTZLISP

SYMBOLICS

3670

3640

SYMBOLICS

OS

ZATALISP

4-3 KEE

KEE는 오브젝트지향 (object-oriented) 프로그래밍, Frame형 지식표현, 계승 (inheritance) 기능, 루울형 추론 등 엑스퍼트 시스템의 구축에 필요한 환경을 1개의 패키지로서 제공하고 있다. 타 시스템에서는 LISP 나 prolog 로 시스템의 개발에 임하므로 많은 시간을 이들 언어를 배우는 데 허비하나, 여기서는 이들 언어를 거의 몰라도 엑스퍼트 시스템의 구축을 가능하게 한다는 것이 특징으로 되어있다.

(a) 지식 표현

프레임표현, 술어표현, 루울표현의 3종류의 지식표현 방법을 사용할 수가 있다. 오브젝트의 정의에는 프레임표현이, 오브젝트의 관계를 나타내는 데에는 술어표현이, 그리고 절차적 경험을 나타내는데에는 루울 표현이 각각 쓰인다(7-1-3절 참조)

프레임표현에서는 특정의 사건 중심으로 하여 지식의 구조화가 이루어진다.(그림 8-19). KEE에서는 하나의 오브젝트는 유니트라고 불리워지며, 그 속성을 나타내는 스로트 (slot) 와 스로트의 값을 집합체로 하여 표현된다(그림 8-20). 공통의 성질을 가진 오브젝트의 집합(추상적 개념)을 나타내는 유니트는 크라스 (class) 라고 불리며, 그 집합에 속하는 개개의 오브젝트는 멤버 (member) 라고 불린다. 크라스에도 계층이 있을 경우에는 상위의 크라스를 수퍼크라스, 하위의 크라스를 서브크라스라고 한다. 하나의 크라스 속성(스로트)은 그 크라스에 속하는 개개의 크라스(서브크라스) 또는 멤버로 繼承된다. KEE에서는 복수개의 크라스로부터 계승하는 다중계승 (multi-inheritance) 기능이나, SAME, UNION, OVERRIDE 등 10종류의 계승 설정이 있으며, 지식의 매칭성 보증이나 중복 지식의 공유화가 가능하다.

(b) 술어 표현

Tell And Ask 는 자연언어에 가까운 형으로 KEE 상의 지식베이스와 대화하기 위해 개발된 술어형 언어이다. 이 언어에 의해, 유니트나 스로트를 작성하거나, 지식베이스 내의 정보를 쉽게 얻어 낼 수가 있다. Tell And Ask에는 오브젝트간의 관계를 나타내는 링크 오퍼레이터, 스로트와 스로트 값의 관계를 나타내는 slot value operator, AND OR NOT 등의 논리 오퍼레이터 등이 준비되어있다. 유저가  Tell And Ask를 사용하여 지식베이스와 대화하는 데에는 "ASSERT", "QUERY" 의 커맨드를 사용한다.

(c) 루울 표현

절차적 지식, 경함칙적 지식은 프러덕션 루울로 나타내는데, 각 루울은 프레임 (유니트, 스로트, 스로트 값) 으로 표현되는 지식에 대응시킨다. 각 루울도 하나의 유니트로서 표현되기 때문에, 루울을 구조화할 수가 있다. 루울의 구조화는 추론에 필요한 루울을 선택하는 데에 유효하 게된다. 이외에, KEE에서의 루울표현 특징에는

① 변수를 사용할 수 있다.

② Tell And Ask언어를 사용하여 자연언어 스타일로 지식베이스를 참조 할 수 있다.

그림 8-19 지식베이스의 예

그림 8-20 TRUCKS의 프레임 : 이 프레임은 크라스 VEHICLES의 서브크라스로서, 크라스 TRUCKS를 기술하고 있다. LENGTH와 HEIGHT와 같은 TRUCKS프레임 내의 멤버 스로트는 크라스의 각 멤버의 proto-type을 기술하고 잇다. LONGEST와 TALLEST 와 같은 own slot는 전체로서 그 크라스의 속성을 기술한다.

--------------------------------------------------------------------

Frame : TRUCKS in knowledge base TRANSPORTATION

    Superclasses : VEHICLES

    Subclasses : BIG.NON.RED.TRUCKS, HUGE.GREY.TRUCKS

    MemberOf : CLASSES.OF.PHYSICAL.OBJECTS

--------------------------------------------------------------------

                  ..............

MemberSlot : HEIGHT from PHYSICAL.OBJECTS

        ValueClass : INTERGER

        Cardinality.Min : 1

        Cardinality.Max : 1

        Units : INCHES

        Comment : "Height in inches."

        Values : Unknown

MemberSlot : LENGTH from PHYSICAL.OBJECTS

        ValueClass : NUMBER

        Cardinality.Min : 1

        Cardinality.Max : 1

        Units : METERS

        Comment : "Length in inches."

        Values : Unknown

                 .............

OwnSlot : LONGEST from CLASS.OF.PHYSICAL.OBJECTS

        ValueClass : TRUCKS

        Cardinality.Min : 1

        Cardinality.Max : 1

        Comment : "The longest known truck"

        Values : Unknown

OwnSlot : TALLEST from CLASS.OF.PHYSICAL.OBJECTS

        ValueClass : TRUCKS

        Cardinality.Min : 1

        Cardinality.Max : 1

        Comment : "The tallest known truck"

        Values : Unknown

              ........

------------------------------------------------------------------

③ 전제부 (IF) 에 AND, OF, NOT를 사용할 수 있다.

④ 전제부 (IF) 에 LISP-s 식의 사용이 가능하다.

등이 있다. 그림 8-22에 루울표현의 예를 보인다.

(d) 추론 기구

KEE에서는 루울베이스에 의한 순방향 추론과 역방향 추론 양쪽을 사용할 수 있다. 역방향 추론에서는 Tell And Ask 언어의 "QUERY"를 사용하여, 증명해야 할 가설과 사용할 루울의 크라스를 지정한다. KEE의 Rule System은 行動 (THEN) 部가 그 가설에 결부되는 일련의 루울을 찾아 내어, 그들 루울을 가설측에서 순서대로 조사해 가서 성립하는지의 여부를 판정한다. 순방향 추론에서는 Tell And Ask 언어의 "ASSERT"를 사용하여, 사실로써 사용할 루울의 크라스를 지정한다. KEE의 "Rule System" 은 전제부가 그 사실과 일치하는 루울이 있을 경우 행동부도 참 (True) 인 것으로 판단하고, 조사해 갈 루울이 없어질 때까지 반복한다.

(e) 설명 및 디버그 기능

KEE 에는 추론과정에서 시스템이 "왜" 질문했는지를 설명하는 "WHY" 와, 추론한 결과가 "어떻게 하여" 얻게 되었는지를 설명하는 'HOW" 의 기능이있다. 또 추론과정에선의 각 루울의 성립 여부를 액티브 루울 그래프로 트레이스 할 수가 있다.

(f) 유저 인터페이스와 KEE머신

KEE 의인터페이스에는 멀티윈도우, 비트맵 디스플레이를 이용한 그래픽 표시와 마우스를 이용한 메뉴 조작 등이 있다.

인프리멘트되어 있는 기종은 XEROX 1100, 1108(Inter Lisp-D), SYMBOLICS 3600(Zeta Lisp) 이다.

그림 8-21 TRUCKS 프레임 중의 절차적 정보 : 절차적 정보를 여러 방법으로 부가시킬 수 있다. 가령, TRUCKS 프레임의 DIAGNOSE 스로트의 값은 전기적인 고장을 진단하는 method (즉, 함수) 로 되어 있다. 스로트와 method는 개개의 트럭을 표현하는 프레임으로 계승된다. 각 프레임은 그 method를 불러 냄으로 하여 DIAGNOSE 라는 메시지에 응답 가능하다. 또, 함수 혹은 프러덕션 루울의 집합으로 표시한 「demon」을 스로트에 붙일 수가 있다. demon 은 스로트의 값을 넣었을 때 불려진다. 가령, TRUCKS 프레임의 LOCATION 스로트에 Active Values 라는 facet를 사용하여 demon을 부가시킨다. 이렇게 하면, LOCATION 스로트의 값을 변경할 때마다. 시스템이 표시하는 맵을 갱신할 수가 있다.

------------------------------------------------------------------

Unit : TRUCKS in knowledge base TRANSPORTATION

      Superclasses : VEHICLES

      Subclasses: BIG.NON.RED.TRUCKS, HUGE.GREY.TRUCKS

      Member : CLASSES.OF.PHYSICAL.OBJECTS

------------------------------------------------------------------

                   ................

MemberSlot : DIAGNOSE from TRUCKS

            Inheritance : METHOD

            ValueClass : METHODS

            Cardinality.Min : 1

            Cardinality.Max : 1

            Comment : "A method for diagnosing electrical faults"

            Values : TRUCK.DIAGNOSIS.FUNCTION

MemberSlot : ELECTRICAL.FAULTS from TRUCKS

            Comment : "Faults found by the DIAGNOSIS method"

            Values : Unknown

MemberSlot : LOCATION from PHYSICAL.OBJECTS

             Cardinality.Min :1

             Cardinality.Max : 1

             Values : Unknown

             ActiveValues : UPDATE.LOCATION

                      .................

--------------------------------------------------------------------

그림 8-22 프레임에 의해 표현된 프러덕션 루울 : 프레임을 사용하여 프러덕션 루울을 표현하며, 루울을 크라스에 모으거나, 프레임의 스로트에 記述的인 정보를 부가시킬 수가 있다. 가령, 그림에 나타낸 프레임은 「큰, 붉지 않은 트럭」을 식별하는 루울을 나타내고 있다. 프레임은 유저가 작성한 루울을 넣어 두는 EXTERNAL.FORM 스로트를 갖추고 있다. 루울을 내부 표현으로 변환시키는 method PARSE도 포함되다. 내부형식은 PREMISE,ASSERTION, ACTION 등의 스로트 값인 리스트 표현으로 되어 있다.

-------------------------------------------------------------------

Unit : BIG.NON.RED.TRUCKS.RULE  in knowledge base TRANSPORTATION

      Member : TRUCK.SCLASSIFICATION.RULES

-------------------------------------------------------------------

OwnSlot : ACTION from RULES

        Inheritance : UNION

        Value : Unknown

OwnSlot : ASSERTION from BIG.NON.RED.TRUCKS.RULE

        Inheritance : UNION

        ActiveValues : WFFINDEX

        Value : |Wff : ( ? X IS IN CLASS BIG.NON.RED.TRUCKS)

OwnSlot : EXTERNAL.FORM from BIG.NON.RED.TRUCKS.RULE

        Inheritance : SAME

        ValueClass : LIST

        ActiveValues : RULEPARES

        Value : (IF ( ( ? X IS IN CLASS TRUCKS)

                           AND

                           (GREATERP (THE WEIGHT OF ?X)

                                             10000

                            AND

                            (?X HAS AT LEAST 10 WHEELS)

                            AND

                            (NOT (THE COLOR OF ?X IS RED)))

                            THEN

                            (?X IS IN CLASS BIG.NON.RED.TRUCKS) )

OwnSlot : PARSE  from RULES

        Inheritance : METHOD

        ValueClass : METHOD

        Value : DEFAULT.RULE.TARSER

OwnSlot : PREMISE  from BIG.NON.RED.TRUCKS .RULE

        Inheritance : UNION

        ValueClass : WFFINDEX

        Value : |Wiff : (?X IS IN CLASS TRUCKS)

                   |Wff : (THE WEIGHT OF  ?X IS  ?VAR29)

                   |Wff : (GREATERP ?VAR29 10000)

                   |Wff : (?X HAS AT LEAST 10 WHEELS)

                   |Wff : (NOT (THE COLOR OF ?X IS RED) )

              ...............

----------------------------------------------------------------------

4-4 ART

많은 엑스퍼트 시스템 구축 투울이 카네기멜론대학 (CMU) 을 비롯한 대학이 기반이었으나, ART는 처음부터 투울의 상용화를 목적으로 개발되었다. 개발자에는 HEARSAY 프로젝트의 Chuck Williams, OPS  5의 개발에 참여했던 Paul Heloy, SRI 인터내셔널의 Mark Wright 등이 가담했고, 그들 자신들이 키워온 각종 AI 기법 (흑판 모델, 프러덕션 루울, 프레임 이론) 의 잇점을 하나로 집약하여 설계하고 있다(그림 8-23 참조).

그림 8-23 ART는 현재까지의 주요 AI 투울의 잇점을 시스템에 집어 넣어, 유연한 지식표현, 성능, 사용 편리도 등의 실현이 그 목적임.

(a) 특 징

① 주요한 AI 기법의 통합으로 인해, 지식표현, 추론이 풍부함.

• SCHEMA (프레임) 의 FACT(사실) 에 의해, 각각 오브젝트 베이스, 릴레이션 베이스의 지식표현이 가능함

• 순방향, 역방향 추론을 지원해 주고 있으며, 하나의 루울에서, 양쪽을 混用하여도 됨

• 지식베이스의 콘트롤(패턴매칭 등)에 로직 프로그래밍을 사용할 수 있음.

② VIEW POINT

• 이것은 ART 독자적인 흑판모델에 바탕을 둔 기구인데, 이 기구에 의해 복수개의 가설에 의한 추론과 시간 표현을 갖는 시뮬레이션이나 프래닝이 가능해짐.

③ 비동기로 데이터를 처리할 수 있음

④ 실행시의 효율이 양호.

⑤ 대규모 시스템의 구축에 적당.

(b) 추론 기구

ART는 Schema (프레임) 에 의해, 오브젝트나 그 순간을 나타내며, Fact(사실)에 의해 오브젝트간의 관계를 정의한다. 순방향 루울에 의해 FACT등의 패턴을 인식하고, 조건이 만족되면 결론과 변화를 도출하여, 새로운 상황을 설립한다. 역방향 루울은 실행 불능이거나 부하가 너무 큰 패턴을 루울의 실행전에 식별한다. ART는 이와 같이 하여 도출한 각 가설과 상황을 자동적으로 뷰포인트시켜 표시한다(그림 8-24 참조). 각 과정을 간단히 설명한다.

그림 8-24  ART의 추론메카니즘

① FACT

FACT는 ART의 가장 기본적인 지식표현 방법으로, 사실이나 오브젝트의 관계를 정의하는 데에 쓰인다.

(예) (missing satellite - 23)

      (between moon earth sun)

② Schema

프레임 이론에 바탕을 둔 Schema로써 지식데이터를 오브젝트 베이스에서 정의할 수 있다. 유저는 이 오브젝트간의 관계를 逆行性, 이행성, 자기가 정의한 屬性에 의해 명기할 수 있다.

(예)     (Defschema satellite

          (orbit   (element-of earth orbit) ) )

          (Defschema weather-satellite

          (subset-of-satellite)

          (Camera (part-of   ?   weather-satellite) ) )

③ 순방향, 역방향 추론 루울

절차적인 지식은 기본적으로 루울로써 시스템에 실현된다. 풍부한 패턴 매칭기능에 의해 실행될 루울이 결정된다. ART에서는 목표에 응답한 역방향추론, FACT에 응답하는 순방향 추론 양쪽을 제공한다.

(예)   (Defrule sun-shine-approach

        (goal   ( → ? approach (element-of-complete satellite-approach) ) )

        (→ ? approach  (lighting  (sun forward) ) )

        ⇒ (hypothesize (→ ? approach (type above-and-ahead) ) ) )

④ VIEWPOINT

뷰포인트는 흑판모델에 바탕을 둔 기능이다. ART의 데이터베이스는 상황, 시간에따라,가설을 그때마다 설정한다. 작성된 가설군은 작동 또는 루울에 의해, 비교, 참조, 병합, 삭제된다. 가설에 의한 추론을 하는 경우, 각 뷰포인트는 가능한 진실을 나타내어 FACT나 발생 상태를표시한다. 또 시계열추론시에는 시간경과에 의해 변화해 가는 상황을 표시한다. 즉, 각 뷰포인트는 그때의 상황에 관련된 FACT의 부분집합을 명시하는 것이다.

⑤ LISP와의 인터페이스

ART는 패턴 매칭의 술어부나 루울을 Lisp 로써 기술할 수가 있으며, 입출력이나 타의 프로그램과의 인터페이스를 작성 가능하다.

(c) ART 개발환경

① STUDIO

ART 스튜디오는 스펠정정, 커맨드완전화, 실행의 트레이스, 브레이크, 각 실행상태의 조사 등 많은 디버깅기능을 갖추고 있다. 또 Schema나 뷰 포인트, 정당성의 첵크를 위한 그래픽 인터페이스도 있다.

② ARTIST (ART Image Synthesis Tool)

ARTIST는 ICON의 작성이나 사용시 필요하게 되는 그래픽기능을 제공하다. 이에 의해, 오브젝트를 화상으로 표시하거나, 동작시킬 수가 있다. ICON은 Schema로 나타내며, 화상이 표시되면 자동적으로 그 Schema의 코드가 생성된다. ICON의 코드는 file에 넣을 수 있고, 他의 Schema에서도 사용 가능하다.

(d) 실행 환경

Symbolics 3600 패밀리의 Zetalisp 상에서 개발이 진행되고 있고, Common Lisp계의 LMI의 LAMBDA상에서도 탑제 가능하다.

4-5   CIS (condition interprete system)

프러덕션 루울, 의미네트, 프레임의 지식표현 방법은 각기 독특한 장,단점을 갖고 있어서 한 가지 형태만을 가지고 모든 지식을 표현하는 데에는 어려운 점이 많다.

중앙대학교 영상 정보연구실에서 개발된 CIS에서의 지식베이스는 관계 상황을 프러덕션 루울의 형태로 기술하고,그 각 관계상황을 모아 프레임 형태로 한 상황을 구성한다. 또한 각 관계 상황은 因果系統과 從屬(階層) 계통을 이루어 추론을 용이하게 하고 있다.

이때, 추론은 지식원으로부터 얻게 된 중간 결과를 저장하고,이 중간 결과로부터 문제를 해결하는 黑板모델을 사용한다. 역방향 추론과 순방향 추론의 병합형이라고 할 수 있는 흑판모델 추론법은 이 CIS에서 가설 설정, 가설선택, 가설 검증을 번갈아 수행함으로써 운용되며, 이의 수행에 있어 가설이 부족할 때, 시스템이 질문을 하고 사용자가 이에 데이터를 제공하기 때문에 데이터가 미흡하더라도 추론을 완벽히 할 수 있게 되는 특징을 갖는다.

그림 8-25에 CIS의 구성 개략도를 보인다. 여기서 일반상황 지식기술, 즉 소속과 세분, 원인과 결과, 특성과 연상, 대응책을 서술적으로 기술하여, 최초의 원인이 될 수 있는 상황에서 최후의 결과가 될 수 있는 상황에 계층성을 이루게 되어 추론시 유효하게 하고 있다.

(a) 지식표현

지식표현은 상황을 단위로 LISP의 List 구조로써 표현되고 있다. 여기서 상황이란 단일의 사건 혹은 현상을 말하며, 가령, "그녀는 아름답다", "나는 집에간다", "그녀는 딸에게 인형을 주었다" 등이다. 이때, "그녀는 현기증을 느끼며 두통이 있다" 와 같이 여러기지 상황이 접속되어 한 개의 상황으로 이루어진 것은 몇 개의 단일 상황으로 나누어 표현한다.

그림 8-25 CIS의 구성 개략도

[상황표현]

모든 상황은 그 상황의 중심이 되는 술어와 한정어로 구성되는 상황  pairlist로 표현된다.

(술어, 한정어) : 상황 pairlist

(예) : "그녀는 아름답다" (아릅답다. 그녀)

        "그녀는 딸에게 인형을 주었다" → ( ( (주었다. 인형). 딸). 그녀)

[상황 지식 표현]

① 일반상황 지식표현

일반상황 지식이란 전문가들이 가지고 있는 일반적인 지식을 의미한다. 이는 시스템 구동시 변경되지 않는 고정된 지식이다. 여기서는 각 상황에 대해 다음 7가지의 상황지식을 기술해 준다.

• 원인-결과 관계 : 그 상황이 일어나게 되는 원인 관계상황과 그 상황에 의해 일어날 수 있는 결과 관계.

• 소속-세분 관계 : 그 상황이 일어나고 있는 배경이 되는 소속 관계상황과 그 상황을 배경으로 일어날 수 있는 세분 관계 상황.

• 특성-연상 관계 : 그 상황을 대표할 수 있는 특성이 되는 상황과 그 상황에 의해 연상될 수 있는 연상 관계상황.

• 대응책 : 그 상황이 일어났을 때의 대응책이 되는 상황.

이때 물론 7가지의 상황지식들을 모두 기술해 주어야 하는 것은 아니고 필요한 상황지식만을 OR와 AND관계에 의해 간단히 기술해 주면 된다.

여기서 특성관계는 그 상황의 특성을 나타내며 그에 의해 가설 검증이 이루어진다. 그리고 대응책은 그 상황에 대한 대응책, 나머지는 그 상황과 다른 상황간의 연관관계를 말한다.

한편 그 각 상황 지식들의 내용이 되는 상황들은 각각 GPF (일반 가능성 지수)를 가진다. 그림 8-26에 그 예를 보인다.

그림 8-26 일반상황 지식표현 예

(

( (임, 신장성고혈암), (질병, 환자) )

(원인 (그리고 ( ( (임, 동맥경화), (질병, 환자) ) 30) )

        (그리고 ( ( (비만함, (몸, 환자) ) 30) )

        (그리고 ( ( (임, 신장질환), (질병, 환자) ) 40) ) )

(결과 (그리고 ( ( ( 임, 요독증), (질병, 환자) )  40) )

        (그리고 ( ( ( 임, 신장경화증), (질병, 환자) ) 50) ) )

(소속 (그리고 ( ( ( 임, 고혈압), (질병, 환자) )  100) ) )

(세분 (그리고 ( ( (임, 급성신장성고혈압), (질병, 환자) ) 20)

                   ( ( ( 임, 만성신장성고혈압), (질병, 환자) )  80) ) )

(특성 (그리고 ( (창백함, (안색, 환자) ) 10)

                   ( ( 느낌, 현기증), 환자) 15)

                   ( ( (있음, 빈혈), 환자) 10)

                   ( ( (함, 저하), (배설기능, 환자) ) 30)

                   ( ( (있음, 단백뇨), 환자) 15)

                    ( 높음, (혈압, 환자) ) 20) ) )

)

(

( ( 느낌, 현기증), 환자)

(원인 (그리고 ( ( (  임, 뇌동맥경화증), (질병, 환자) ) 70) ) )

(연상 (그리고 ( ( ( 임, 뇌혈전), (질병, 환자) ) 30) )

        (그리고 ( ( ( 임, 뇌출혈), (질병, 환자) ) 30) )

        (그리고 ( ( ( 임, 신장성고혈압), (질병, 환자) ) 35) ) )

)

그림 8-27 CIS지식베이스 구성 형태

CIS에서는 일반상황 지식표현에 의해 인과관계와 계층관계가 자연스럽게 이루어지게 된다.

인과계통은 인과관계를 가지고 상황들 간에서 횡적으로 이루어지는 계통이며, 한편 계층과계는 소속과 세분의 관계에 의해 계층성을 가진 상황들간을 종적 계통으로 이어주는 계통이다. 그러므로 인과계통과 종속계통에 의해 거의 모든 상황들은 횡과 종의 3차원적 구조로 얽히어 있게된다(그림 8-27 참조).

이렇게 상황들 간에 이루어져 있는 구조는 추론과정에서 그 계통들을 확인함으로써 가설 검증의 효율성과 정당성을 가지도록 하는 역할을 한다.

② 특수상황 지식표현

특수상황 지식이란 현재 일어나고 있는 상황들에 대한 특수한 지식을 의미한다. 이는 시스템 구동시 가설의 설정과 검증에 따라 수시로 변화하는 유동적인 지식이다. 시스템 상에서는 다음과 같이 운용된다.

• 확정 : 상황 해석 후 확실하다고 판명된 상황들

• 부정 : 상황 해석 후 부정이라고 판명된 상황들

• 미정 : 상황 해석에 실패한 상황들

• 가설 : 지금 있을 수 있는 가능성을 가진 상황들

이때, 화정, 부정, 미정에 속한 상황들은 각각 CF(확실성 지수)를 가지며, 가설은 SPF(특수 가능성 지수)를 가지고 있다. 그림 8-28에 시스템 구동 도중에 발췌한 예를 보인다.

그림 8-18 특수 상황 지식 표현 예

확정

(

( ( ( 임,고혈압), (질병, 환자) ) 98)

( ( 울림, (귀,환자) ) 90)

( ( ( 됨, 경직), (목, 환자) ) 90)

( ( (임, 뇌질환), (질병, 환자) ) 100)

( ( (느낌, 현기증), 환자) 100)

( ( ( 있음, (장애, 기억력), 환자) 100)

( ( (있음, 두통), 환자) 100)

( ( (느낌, 피로), 환자) 100)

( ( ( 느낌, 쇠약감), 환자 100)

( (높음, (혈압, 환자) ) 100))

( ( ( 임, 당뇨병), (질병,호나자) ) 100)

( ( ( 임, 남성), 환자) 100)

( ( ( 임,중년), 환자) 100)

)

 

미정

(

( ( ( 곤란함, 호흡), 환자) 0)

( ( ( 임, 뇌종양), (질병, 환자) 0 0)

( ( ( 임, 췌장동맥경화증), (질병, 환자) )  40)

( ( ( 임, 동맥경화),(질병, 환자) ) 40)

( ( ( 있음, 현훈), 환자) 0)

)

부정

(

( ( (있음, 신열), 환자) -100)

( ( (임, 여성), 환자) -100)

( ( ( 임, 내분비성고혈압), (질병, 환자) ) -100)

( ( (임,노년), 환자) -100)

( ( (임,갱년), 환자) -100)

( ( (임,장년), 환자) -100)

( ( (임,청년), 환자) -100)

( ( (임,소년), 환자) -100)

( ( (임,유년), 환자) -100)

)

 

가설

( ( (임, 본태성고혈압), (질병, 환자) ) 56)

( ( (임, 신장성고혈압), (질병, 환자) ) 9)

( ( (임, 심장질환), (질병, 환자) ) 12)

( ( (임, 신장질환), (질병, 환자) ) 12)

( ( (임, 뇌출혈), (질병, 환자) ) 41)

)

 

 

 

 

 

(b) 추론

추론은 현재의 문제 상태인 이름, 나이, 성별, 과거병력, 현재 증상 등의 지식원을 토대로, 그림 8-29에 보이는 바와 같이, 초기 가설집합을 설정한뒤 추론을 시작한다. 그 후, 추론엔진이 구동되고, 추론엔진은 가장 좋은 가설이 나타날 때까지 각 가설을 정제하고 고쳐가며, 가설집합을 구성하는 「가설 설정」, 설정된 가설집합 중 가장 가능성이 큰 가설을 선택하는 「가설 선택」, 선택된 가설을 검증하는 「가설 검증」을 반복 수행함으로 하여 이루어진다.

가설 설정은 검증 후,확정된 상황의 결과 또는 세분 관계에 있는 상황들을 가설집합에 편입시킴으로써 이루어지며, 이때 원래 있던 가설들은 연관 관계에 따라 특수 가능성 지수의 갱신이 이루어진다. 여기서 특수 가능성 지수가 가장 큰 것이 검증할 가설로 선택된다.

그림 8-29 추론과정 개략도

그림 8-30에 시험 구동 예를 보인다.

그림 8-30 시험 구동의 예

안녕 하세요

저는 씨, 아이, 에스입니다.

환자의 이름을 입력하세요. \홍 길동

환자의 나이를 입력하세요. \45

환자의 성별을 입력하세요. \남성

과거 병력을 입력하세요

\당뇨병

\끝

환자의 증상을 입력하세요

\환자가 현기증을 느낌

\환자에 기억력의 장애가 있음

\환자가 피로를 느낌

\환자가 쇠약감을 느낌

\환자의 혈압이 높음

\환자에 두통이 있음

\끝

지금부터 추론을 시작합니다.

(환자의 질병은 동맥경화힘)을 지금 검증 합니다.

환자에 신열이 있습니까?  : -100

환자에 현훈이 있습니까? : 0

(환자의 질병은 뇌질환임)을 지금 검증 합니다.

환자의 질병은 뇌종양입니까? 0

(환자의 질병은 고혈압임)을 지금 검증 합니다.

환자의 목이 경직됩니까? 90

환자의 귀가 울립니까? ; 90

(환자의 질병은 본태성고혈압임)을 지금 검증 합니다.

환자가 호흡이 곤랍합니가? ; 0

환자가 흥분을 느낍니까? : 100

환자가 불안을 느낍니까? : 100

----------중       략 ----------

 

 

 

모든 추론이 끝났습니다.

환자이름                     홍길동

나이                           중년

성별                           남성

환자의 증상

(환자가 현기증을 느낌) \100

(환자에 기억력의 장애가 있음) \100

(환자가 피로를 느낌) \100

(환자가 쇠약감을 느낌) \100

(환자에 혈압이 높은) \100

(환자에 두통이 있음) \100

(환자의 목이 경직됨) \90

(환자의 귀가 울림) \90

(환자가 흥분을 느낌) \100

(환자가 불안을 느낌) \100

(환자에 언어의 장애가 있음) \90

(환자의 안저에 출혈이 있음) \90

(환자가 혈압의 변동이 격심함) \85

환자의 질병

(환자의 질병은 당뇨병임) \100

결과     (환자의 질병은 고혈압임) \98

(환자의 질병은 고혈압임) \98

세분     (환자의 질병은 본태성고혈압임) \88

원인     (환자의 질병은 당뇨병임) \100

(환자의 질병은 본태성고혈압임) \88

소속     (환자의 질병은 고혈압임) \98

세분     (환자의 질병은 악성본태성고혈압임) \75

(환자의 질병은 악성본태성고혈압임) \75

소속     (환자의 질병은 본태성고혈압임) \88

다음의 상황들은 아직 나타나지는 않았지만 앞으로 나타날 가능성이 있으니 참고 바랍니다.

(환자의 질병은 단백뇨성망막염임)

(환자의 질병은 심장부전임)

(환자의 질병은 뇌출혈임)

(환자의 질병은 뇌혈전임)

(환자의 질병은 협심증임)