전문가 시스템이란?
Source: Dev.to
개요
전문가 시스템은 특화된 지식을 포함하고 인간 전문가와 유사한 방식으로 의사결정을 내리거나 문제를 해결할 수 있는 컴퓨터 프로그램입니다.
구성 요소
Knowledge Base – “두뇌 도서관”
지식 베이스는 전문가 지식을 저장하며, 이는 다음으로 구성됩니다:
-
Facts – 간단한 진술, 예:
My temperature is 103°F I have a headache -
Rules – 사실을 연결하는 “if‑then” 문, 예:
IF temperature > 100°F AND headache = yes THEN disease might be fever
Inference Engine – “생각하는 기계”
추론 엔진은 지식 베이스를 사용해 결론을 도출합니다. 일반적으로 두 가지 방식으로 동작합니다:
Forward Chaining
알려진 사실에서 시작해 새로운 정보를 도출합니다.
Facts → "I have high temperature" + "I have headache"
↓
Thinking... 🤔
↓
Conclusion → "You might have fever!"
Backward Chaining
목표에서 시작해 필요한 사실을 역으로 확인합니다.
Goal → "Do I have fever?"
↓
What facts do I need? 🤔
↓
Check → Do I have high temperature? Yes!
Do I have headache? Yes!
↓
Conclusion → "Yes, you might have fever!"
적용 분야
- 의료 지원 – 의사가 질병을 진단하는 데 도움을 주는 프로그램.
- 농업 지원 – 농부에게 관개, 비료, 작물 관리 등에 대한 조언을 제공하는 도구.
전문가 시스템 쉘
기본 인프라를 제공하는 준비된 툴킷; 개발자는 도메인‑특화 지식을 추가합니다. 대표적인 쉘에는 다음이 포함됩니다:
- CLIPS
- Jess
지식 표현 기법
- If‑Then Rules – 레시피 책 스타일의 의사결정.
- Decision Trees – 선택형 모험 구조.
- Frames – 파일 폴더와 유사하게 관련 정보를 조직한 컬렉션.
좋은 전문가 시스템의 특성
- Validation – 지식과 결론이 정확한지 확인.
- Explanation – 결정에 대한 근거를 제시할 수 있는 능력(예: “당신의 체온이 높고 두통이 있기 때문에 열이 있을 가능성이 있습니다”).
- Data Sensitivity – 개인 또는 민감한 정보를 신중하게 다룸.
예시: PITUMBERG
PITUMBERG(또는 유사한 이름의 시스템)는 전문가 시스템이 특정 분야에 어떻게 적용될 수 있는지를 보여 주며, 지식 베이스와 추론 엔진을 결합해 도메인‑특화 지원을 제공하는 사례입니다.
요약
전문가 시스템 = Knowledge Base(시스템이 아는 것) + Inference Engine(시스템이 생각하는 방식).
이러한 시스템은 방대한 지식과 논리적 추론을 결합해 의사, 농부, 엔지니어 등 다양한 전문가들을 돕는, 마치 도움이 되는 로봇 친구와 같습니다.