Expert   System  Shell

 

전문가시스템 관련 회사      

전문가시스템은 처음에는 LISP 에 의해서 시스템 구축을 했었다. 이것이 INTER-LISP 라고 하는 LISP 의 기능을 가진 대규모인 AI 프로그램의 구축을 할 수 있는 프로그래밍 환경의 출현에 의해서 대폭 개발 효율이 향상했다. 나아가서, 연구용툴, 상용 툴의 출연에 의해서 급속하게 개발 효율이 향상되어 가고 있다.

세계 최초의 전문가시스템 DENDRAL (유기화학 분자구조의 동정 시스템)의 개발이 1965년에 HPP(스탠퍼드대학 Heuristic Programming Project)에서 시작되었다. 능률적으로 분자구조의 세부를 해명하는 능력은 이 시스템을 완성했다. 이 개발성공이 준 충격은 너무나 많아서, 이것이 AI 연구의 흐름을 대폭 변경시켜서 지식공학이라는 새로운 학문을 탄생시켰다. DENDRAL은 그 후 META-DENDRAL이라고 하는 개량형의 시스템이 되고, 화학연구에 있어서 사람과 기계의 역할을 재정리하는 원인을 만들었다.

Heuristic Programming Project  에서 (1982년 10월 ~ 1985년 9월)  Projects of Historical Interest 수행 

DENDRAL의 성공에 의해서, HPP 에 있어서 MYCIN 이라고 하는 의료진단 시스템의 개발이 시작되었다. 이 연구는 CASNET 라고 하는 로드거(Rodger) 대학에 있어서의 안과의의 녹내장의 진단과 치료의 어드바이스(Advice) 시스템의 개발과 거의 같은 시기에 시작하였다. CASNET는 그 후 EXPERT 라고 하는 전문가시스템 구축용의 툴을 만들어 내어 안과, 내분비학, 류마티스에 있어서의 같은 시스템 구축에 사용되게 되었다.

MYCIN은 감염증에 대한 진단과 치료에 관한 어드바이스 시스템으로서 완성하고, 그 능력은 전문의에 충분히 필적된다는 것이 실증되어서, 전문가 시스템의 평가를 드높였다. MYCIN의 확신도(Certainty Factor) 를 사용해서 애매성을 표현하는 확률추론에 성공했다. 이 시스템에서 EMYCIN이라고 하는 전문가시스템 구축용의 셸을 만들어 내어, 이것을 사용해서 PUFF라고 하는 폐기능진단 시스템을 만들어 내었다.

그 후 MYCIN은 의외의 성공을 하였다. 그것은, 같은 구조의 시스템이 지질학적 데이터에서 광맥을 발견하기 위한 시스템 PROSPECTOR 에 응용되어, 이 시스템이 실재로 광산이 있는 장소를 발견하고, 전문가시스템 의 유용성을 세상에 실증할 수 있게 되었다. MYCIN을 원천으로 하는 흐름은 EMYCIN, TEIRESIAS , KAS, ROSIE라고 하는 전문가시스템 구축용의 툴을 낳았다.

한편, 이 HPP에 대한 연구의 흐름과는 별도로 내과진단 시스템 CADUCEUS의 개발의 흐름이 있다. 이 시스템은 미국 국립위생연구소의 지도하에 병원에 배치되어 실용적인 평가가 되어 있다.수학의 문제해결에 AI 을 이용하는 연구는, MIT 에서 실행되었다. SAINT 에서 시작해서 MACSYMA 에 이르러서는 그 문제를 푸는 능력은 수학자의 조수에 상당하는 데까지 완성되었다. Hearsay 시리즈는 음성패턴을 인식하기 위한 음성인식 시스템 연구의 흐름을 보인다.

이와 같이 해서 현재 점차 실용적인 시스템이 만들어지고 있다. 이와 같이 만들어진 시스템은 전문가시스템 구축용 언어(혹은 Tool 또는, Shell이라고 부른다)를 만들어 내고 있다.

전문가 시스템 개발환경

의료진단 시스템 MYCIN은 운영체제 TOPS-20 을 갖는 DEC 11/20 의 컴퓨터를 사용했다. AI 용의 핵심언어 LISP로 프로그래밍된 개발환경인 INTER-LISP에 의해서 MYCIN 이 구축되었다. 개발환경을 생각할 때에 중요한 것은 어떤 OS 를 갖고 있는 하드웨어를 사용하느냐? 하는 것과 어떤 구성의 전문가시스템 셸을 사용하느냐? 하는 것, 나아가서 그 툴이나 셸이 어떤 핵심 언어를 사용했느냐? 하는 문제이다. 전자(H/W 와 OS)는 그 개발된 시스템이 영속적인 재산으로서 다른 시스템과 융합해서 사용할 수 있는 가를 결정한다. 후자는 해결하고자 하는 문제에 최적인 시스템을 선택하지 않으면 안 된다. 이 적부에 의해서 현저히 개발 효율, 단가에 관계된다.

AI 언어 와 shell 의 관계

AI 은 기본적으로는 소프트웨어의 기술개발이므로 AI 의 핵심 언어인 LISP, PROLOG 가 보다 쓰기 쉽게 개량된 COMMON-LISP 나 Z-PROLOG, Q-PROLOG 가 만들어지고, 이것을 이용해서 전문가 시스템을 완성할 때마다 그 시스템의 지식이나 사실, 규칙등을 제외하고, 다른 목적으로 사용하는 전문가시스템 Shell 이 만들어졌다.

나아가서 이 셸을 사용해서 단일 목적의 문제해결의 사용하는 툴이 만들어졌다. 시스템 개발의 난이도는 툴이 될수록 쉽고, 그 대신 시스템 구축의 유연성은 적어진다. shell 과 tool 의 구별은 분명한 기준은 없으나, 보다 유연성이 있는 것은 shell 이라고 생각해도 좋다. 셸과 핵심 언어의 구별도 애매하나, 핵심언어에 여러 가지 시스템 구축에 편리한 처리(subroutine이라고 생각해도 좋다.)가 첨가된 것이 만들어지고 있다.

나아가서, 지식표현으로서 프레임과 프로덕션 룰 등과 같이, 하이브리드(복합된)로 사용되는 시스템이 있다. 이것을 하이브리드형 툴이라고 한다.

프레임 표현을 중심으로 한 것에 KEE 가 있으며, 프로덕션 룰 표현을 중심으로 한 것에 ART 가 있다. 프레임 표현은 프로덕션 룰 표현에 비해서 지식표현의 범용성이 높아진다. 해결할 문제에도 관계되나, 일반적으로 범용성이 높다. 프레임 표현과 프로덕션 룰 표현을 하이브리드로 해서 사용하고 있는 시스템은 프로덕션 룰 기술의 용이성과 프레임 시스템의 지식기술력의 강점의 양 방향을 병합한 시스템이 되어 있다.

전문가시스템 개별환경 선정의 유의점

현재 미국에서 대규모 AI 시장의 지각 변동은 고도 성장을 뽐내는 AI 투기산업의 도산이라는 보도로 보아 알 수 있다. 그 이유는 LISP 머신을 만들고 있던 AI 의 투기산업의 매상부진에 있다.  LISP 머신이라고 하는 것은 AI 개발환경으로 LISP가 효율적으로 작용해서 전문가시스템 구축에 유리한 H/W 와 S/W 를 일체화한 전문가시스템 개발환경을 말한다. 이것이 팔리지 않게 된 이유는 무엇이겠는가? 그것은 AI 기술은 연구실만의 것이 아니라 기업전반에 보급해서, 지금까지의 OA 등의 기술계산, 특히 설계기술과의 통합화된 시스템을 구축하지 않으면 안 되는 시대를 맞이했다고 하는 것이다. OA에 있어서, 사람이 생각하고, 판단하는 기계화 즉, 판단업무의 문제 해결 시스템을 만든 경우에는 이것이 주 컴퓨터와의 융합화된 시스템으로 사용할 수 있어야 한다.

기술개발 분야에서 이제부터는 EWS(Engineering Workstation의 약)를 각 기술자가 한 사람에 한 대씩 사용하는 시대가 도래하고 있다. 이 경우, FORTRAN 으로 기술계산을 해서 설계를 하고, 이것을 EXPERT CAD(컴퓨터 지원의 설계의 판단이나 설계를 전문가시스템이 행하는 시스템)로 LISP 나 PROLOG 라고 하는 AI 언어나 전문가시스템 툴과 융합할 수 있어야 한다. 따라서 EWS 로서 지금까지의 FORTRAN, C 언어, PASCAL과 더불어, LISP 나 PROLOG 가 통합화해서 사용할 수 있는 EWS 가 바람직하다. (이것은 구체적으로 LISP 프로그램에서 FORTRAN이나 C, PASCAL의 subroutine을 호출할 수 있다) 다시 말하면, 이와 같은 각 언어를 같은 환경하에서 효율적으로 사용해서 응용개발할 수 있어야 한다.

지금까지의 수치처리를 중심으로 한 소프트웨어와 AI 소프트웨어를 쉽게 융합할 수 있는 개발환경이 바람직하다. 나아가서, 큰 문제로 AI 개발에는 비용과 시간이 걸리므로 개발 소프트웨어를 그 기업의 영원의 재산으로 하기위해서는 종래 시스템과 융합화 해서 사용할 수 있어야만 한다. 이는, EWS 를 이용해서 AI 을 개발하는 경우에 컴퓨터와의 데이터를 교환할 수 있어야만 한다는 것을 의미한다.

따라서, OA분야의 AI 시스템을 개발한 경우에는 그의 주컴퓨터와 네트워크 가능한 개발환경을 사용하는 것이 바람직하다. 따라서, 개발하는 전문가 시스템의 문제해결에 최적인 개발 툴이 그 소프트웨어에 실을 수 있는지의 여부를 검토할 필요가 있다.

현재의 시점에서, AI 개발환경의 H/W 와 개발 툴의 관계는 그의 전문가시스템 개발 툴이 그 H/W의 시스템에서 이용할 수 있음을 나타낸다. 또, 다른 하나의 AI 의 요건으로 탐색공간이 커진 경우에는 처리시간이 지나치게 걸리는 것을 극복해야 한다. AI 핵심 언어로 씌어진 프로그램은 특히, 변환해서 사용함으로써, 종래의 컴퓨터의 OS 와의 융합을 도모하고, 더욱 시간의 향상을 도모할 수 있다는 것도 알아야 한다. ( OPS- 83, NEXPERT 등의,전문가시스템 개발 툴 자체는 C 언어로 씌어져 있다)

term :

전문가시스템 쉘 (Expert System Shell)   추론 (Reasoning)   추론 규칙 (Inference Rule)   갈등해결 (Conflict Resolution)   패턴매칭 (Pattern Matching)   작업기억 (Working Memory)   전문가시스템 (Expert System)   지식공학 (Knowledge Engineering)   지식베이스 (Knowledge Base)   논리 (Logic)   연역법 (Deduction)   귀납법 (Induction)   상정논법 (Abduction)    인공지능 (Artificial Intelligence)   Prolog