Transcript Document 7878748
7. 전문가 시스템
1
7.1 전문가 시스템이란?
전문가 시스템 (Expert System)은 전문지식이 필요한 특정 영역의 문제를 푸는데 사 용되는 컴퓨터 프로그램이다.
2
전문가 시스템의 범주
1. 진단(Diagnosis)시스템 : 환자 진단, 기계 고장 진 단, 대상의 상태를 보고 원인을 찾아내는 시스템 2. 을 달성하는데 필요한 행동의 순서를 찾아주는 시스 템 계획(Planning)시스템 : 주어진 조건 하에서 목적 3. 배치(Configuration)시스템 : 주어진 부분들을 조 건에 맞게 조합하여 문제를 해결하는 시스템으로 맞 춤형 개인 컴퓨터 조립이나 여러 생산 현장에서 많이 사용 4. 의사결정(Decision Making)시스템 : 의사결정을 도와주는 시스템으로 은행에서 대출을 결정한다던지 보험회사에서 고객의 위험도를 판단하여 보험료를 결 정할 때 사용 3
5. 감시(Monitoring)시스템 : 공장이나 기계의 작동을 실 시간으로 감시하여 고장이나 이상현상을 발견하여 주는 시스템, 제철소나 정유공장 등에서 사용 6. 설계(Design)시스템 : 건축이나 공장, 물리적 장치 등 의 설계시 각 요소들을 조건에 맞게 구성할 수 있게 하여 설계자를 도와주는 시스템 7. 교수(Instruction)시스템 : 피교육자를 교육 8. 충고(Advising)시스템 : 특정영역의 문제에 대해 전문 가 수준의 상담을 해주는 시스템, 문서 작성시 문법이나 문제 등을 조언해주는 시스템 4
7.1 전문가 시스템의 간단한 역사 • 1960년대
: 범용 문제 해결 시스템 GPS(General-purpose Problem Solver)
• 1970년대
: 문제 형성방법의 표현에 관한 것과 해를 찾는 탐색에 관한 연구
• 1970년대 말
: 문제해결을 위해 해당문제 에만 특수하게 적용되는 전문적 지식의 필 요성 인식 5
7.1 전문가 시스템의 간단한 역사 • 1980년대 전문가시스템
– 상업용 전문가 시스템과 전문가 시스템 개발 용 도구들이 개발됨 – 특정 전문가가 가진 지식을 획득/활용해서 시 스템의 성능을 높여줌 – 특정 문제 영역에서 필요로 하는 판단력 (decision-making process)을 전문가처럼 시 뮬레이션하는 시스템을 구성한 점 6
7.1 전문가 시스템의 간단한 역사
high low
표현
/
탐색 기능을 향상시키는 일반 방법론을 찾고 특화된 프로그램을 매우 특화된 프로그램을 생성하기 위해 해당문제에만 적용되는 고수준의 정제된 지식의 필요성 인식 구축하고자 함
(DENDRAL,MYCIN)
문제해결을 위한 방법론을 찾고 범용 프로그램을 구축하고자 함
(GPS) 1960 1970 1980
7
7.2 전문가 시스템의 구조
사 용 자 설명모듈 사용자 인터페이스 추론엔진 지식습득 모듈
[
그림
7.2 ]
전문가 시스템의 일반적인 구조 지식베이스
| |
사실
(Fact) +
규칙
(Rule)
8
전문가 시스템의 4가지 기본요소
– 지식베이스 : 문제해결에 필요한 지식 보유, 대부 분의 지식은 사실과 규칙으로 저장 – 추론엔진 : 규칙 수행에 필요한 조건을 만족하는 사실을 탐색하여 찾고, 새로운 사실 도출 – 지식습득 모듈 : 문제 해결에 필요한 지식을 전문 가나 책 등의 지식원으로부터 지식베이스로 옮기 는것 – 설명 모듈 : 결과를 보여주고 왜 그런 데이터가 필 요하고 어떻게 그런 결론에 도달했는지 설명 9
7.3 추론엔진
• 추론엔진 : 규칙 수행에 필요한 조건을 만족하는 사실을 탐색하여 찾고, 새로운 사실 도출 • 지식베이스와 분리되어 지식베이스 내에 어떤 영역의 지식이 저장되어 있더라도 그 지식을 활 용 할 수 있는 영역 독립적 추론 방식을 사용 • 이런한 추론엔진을 조정프로그램(Control Program), 규칙해석기(Rule Interpreter)라고도 함.
10
7.3.1 전향추론
• 데이터 지향방식 • 이용 가능한 정보로부터 출발하여 적절한 결 론을 얻는 방법 • 주어진 상황에 해당하는 사실에 의하여 전제 부가 만족되는 규칙을 찾아 결론부를 수행하 고 다음 단계를 계속 진행 • 주어진 사실에서 유도되는 모든 것 찾기 위한 문제에 적용 ex) 진단시스템 11
7.3.1 전향추론 예
규칙1 : IF A and B THEN C 규칙2 : IF C and B THEN F 규칙3 : IF E and F THEN D 규칙4 : IF E THEN B 규칙5 : IF D THEN G A와 E는 참, G가 참임을 증명 IF A and B THEN C IF C and B THEN F IF E and F THEN D IF E THEN B IF D THEN G [그림 7.4] 전향 추론 과정 12
7.3.1 전향추론
<장점> 1) 추론방법 간단 2) 주어진 문제에 해당하는 모든 해를 찾을 수 있음 <단점> 1) 추론엔진의 동작이 비효율적 2) 문제와 관련 없는 많은 규칙 수행 3) 불필요한 새로운 사실을 많이 만듬 <예> DENDRAL : 유기화합물의 분자구조 파악 CASNET : 녹내장 진단 및 치료 NEOMYCIN : 뇌막염 및 그와 비슷한 병의 진단 및 치료 13
7.3.2 후향 추론
• 목적지향 추론방식 • 어떤 목표를 하나 정한 후 이 목표가 성립하기 위한 조건들을 하나씩 맞춰 가는 방법 • 목표가 몇 개 되지 않을 때 목표를 하나씩 선택 해 가며 선택된 목표가 성립되기 위한 여러 가지 조건(규칙이나 사실)들이 만족되는가 조사할 때 효율적 • 특별히 주어진 결론을 입증하기 위한 문제에 적 용 ex) 계획시스템 14
후향추론 예
IF A and B THEN C IF C and B THEN F IF E and F THEN D IF E THEN B IF D THEN G 추론 시작 규칙1 : IF A and B THEN C 규칙2 : IF C and B THEN F 규칙3 : IF E and F THEN D 규칙4 : IF E THEN B 규칙5 : IF D THEN G 처음 알고 있는 사실은 A와 E가 참인 전제에서 G가 참임을 추론하는 과정을 보자.
1. G를 결론부에 갖고 있는 규칙을 찾는다 2. 규칙 5번에 의해 G 생성 위해 D가 참인 사실을 알아야 함 3. 아직 D가 참인 사실을 알지 못하기 때문에 D를 결론부에 가지는 규칙 3번 찾기 4. 규칙 3번은 E와 F가 전제부에 있음 5. A와 E가 참인 사실만 알기 때문에 F가 참임을 알아내야 한다.
6. 규칙 2를 보면, F가 참임을 안다.
7. 규칙 4에 의해 B는 참, 따라서 C도 규칙1에 \ 의해 참 8. C와 B는 규칙 1과 4에 의해 참 9. 규칮 2에 의해 F참 10. F참으로 규칙 3에 의해 D 알게 됨 11. 따라서 규칙 5에 의해 G는 참 15
7.4.3 후향 추론
<장점> 1) 목표와 관련 없는 사실과 규칙 찾지 않음 2) 특정한 목표의 참, 거짓 조사 <단점> 1) 초기상태에 모든 데이터가 주어져야 함 2) 목표나 가정을 정하기 어렵다 <예> MYCIN : 박테리아에 의한 질병에 대한 의료진단시스템 DART : 컴퓨터 하드웨어 고장진단 시스템 GCA : 컴퓨터학과 대학원생의 과정계획을 도와주는 시스 템 16
7.3.3 모델 기반 논증
• 전문가 시스템을 적용할 대상의 구조나 행동에 관한 지식을 기반으 로 이루어짐 • 장치의 고장진단에 효과적 : 어떤 장치의 구조나 행동이 모델로 만들 어져 있으면 현 상태에 대한 진단을 모델로부터 신속히 알아낼 수 있 음 • 예: NASA에서 우주 왕복선의 고장진단에 사용 (우주 왕복선에 부착 된 여러 개의 센서로부터 정보를 받아 모델에 의해 시물레이션을 수 행하여 즉각적인 예상결과 보여줌) • 모델기반 논증은 규칙으로 표현되는 전문가의 지식보다는 모델로 표 현되는 대상의 구조나 행동을 이용하여 논증을 수행 17
7.3.4 사례 기반 논증
• 새로운 문제를 해결하는데 예전의 사례를 활용하는 논증 기법 • 영역지식을 규칙으로 형식화하기 어렵거나 영역지식의 변화가 빈번할 때 또는 과거의 경험이나 자료가 문제 해 결에 크게 도움이 될 때 사용하면 효과적 • 예 : 식당 스크립트가 있으면 식당 안에서 일어나는 일들 을 일일이 추론할 필요없이, 식당 스크립트에서 바로 알 아낼 수 있음 18
7.4 전문가 시스템의 개발절차
개발준비 시스템 분석 및 설계 원형개발 시스템개발 구현 유지보수 [그림 7.5] 일반적인 전문가 시스템 개발 과정 19
7.4.1 개발 준비 단계
• 문제 정의 • 현재 명확히 필요한 것 정의 • 다른 방법으로 문제 해결 가능 유무 파악 • 현재의 문제를 해결하는데 있어서, 왜 꼭 전문가 시스템이어야 하는 이유 밝힘 • 전문가 시스템의 개발이나 관리에 필요한 여러 가지 사항 검토 20
7.4.1 개발 준비 단계
• 전문가 시스템 개발을 정당화하기 위한 사항 – 현재의 시스템보다 비용을 절감 – 여러 분야에서 전문가를 필요 – 위험한 작업환경 – 각분야 전문가들의 전문지식 보존가능 – 작업능률이나 질이 향상 – 교육용으로 사용가능 – 사람보다 빠른 작업수행 – 사람보다 정확하고 일관성 있는 작업수행 21
7.4.2 시스템 분석 및 설계 단계
• 시스템에 대한 개념적 설계와 개발 전략 수립 • 컴퓨터 자원이나 지식의 조달문제 등을 점검 • 경제적, 기술적 타당성 고려 • 개발 시 경제적 이득 고려 22
7.4.3 원형 개발 단계
• 원형(prototype) - 소프트웨어 시스템이나 컴퓨터 하드 웨어 시스템을 본격적으로 생산하기 전에 그 타당성의 검증이나 성능 평가를 위해 미리 만들어 보는 시험적인 모형 .
• 최종 시스템의 형태를 미리 보고 발생 가능한 오류나 문 제점 등을 예측 23
7.4.3 원형 개발 단계
원형시스템 설계 실험용 지식베이스 구축 모형 사례 적용 사용자, 전문가들에 의한 평가 개선이 필요한 가?
시스템 개선 원형 완성 [그림 7.6] 일반적인 원형 개발 과정 24
원형(Prototype) 사용시 장점
1) 관리자나 시스템 발주자들의 관심 유발 2) 지식 표현이나 지식 베이스 구축의 효율성을 시험 3) 최종 시스템의 형태를 미리 볼 수 있음 4) 개발에 관련된 사람들의 의견을 최종시스템 개발에 미리 반영 할 수 있음 5) 전문가 시스템의 성능을 미리 볼 수 있음 6) 원형을 이용하여 시스템 작동 여부 시험 가능 25
7.4.4 시스템 개발 단계
지식원 (Knowledge Source) 지식습득 지식 표현 지식습득 재요구 개선 요구 사항 코딩 지식 베이스 코딩 필요사항 개선 [그림 7.7] 간단한 지식베이스 구축 과정 26
수동적 방법
지식 습득 방법
지식 습득 방법 자동적 방법 반 자동적 방법 •인터뷰 •관찰 •사례분석
…
•귀납 시스템 사용 •기계 학습 시스템 사용 [그림 7.8] 지식 습득 방법 •전문가를 지원하 는 도구사용 •지식공학자를 지원 27
7.4.5 구현 단계
• 개발된 시스템을 사용할 조직에 들여와서 잘 운영되 도록 하는데 관련된 여러 작업을 수행 • 시연을 행하여 사용자로 하여금 신뢰감 제공 • 현장검증 • 시스템 운영 • 문서화 28
7.4.6 유지보수 단계
• 시스템운영, 시스템 관리, 시스템 평가 및 보 수 등의 작업 수행 – 시스템 운영 – 시스템 관리 – 시스템 확장 – 시스템 평가 29
7.6 전문가 시스템의 특성및 개발도구
<전문가 시스템의 특성> – 지식베이스와 추론엔진이 분리 – 설명기능 – 부족한 정보나 지식을 가지고도 작동가능 – 주로 휴리스틱을 많이 사용 30
전문가 시스템의 장점
• 사람보다 일의 속도가 빠름 • 작업의 질을 높일수 있음 • 시스템 감시를 통해 시슽템의 효율적 관리 • 특정 전문가의 지식을 잘 보존 • 위험한 지역에서도 작업가능 • 신뢰성 높음 • 복사가 쉬움 • 비용절감 • 설명기능 31
7.5.2 전문가 시스템의 개발도구
– 프로그래밍언어 : 적절한 프로그래밍 언어를 선택 함에따라 개발시간, 편리성, 효율 등을 좌우.
– 지원도구: 전문가 시스템 개발에 도움이 되는 유틸 리티 프로그램.
– 쉘: 특수형태의 전문가 시스템 개발도구로서, 완전 한 전문가 시스템에서 지식 베이스 내용만이 없음.
쉘을 사용하여 전문가 시스템을 구축하려면, 지식 베이스만 만들어 주면 됨.
32