
1. 전문가 시스템(expert system)
일반적인 문제해결사가 아니라, 특정 업무에 대한 인간의 능력과 필적할 수 있는 시스템 개발로 초점맞는 것으로,
특수한 영역에서 인간 전문가의 의사 결정 능력을 흉내내는 컴퓨터 시스템
(지식 기반 시스템(knowledge-based system)의 한 예시)
지식베이스(knowledge base)
: 어떤 특수한 문제 영역에 관한 사실(fact)과 규칙(rule)으로 구성됨.
언제든지 지식이 추가될 수 있지만, 전문가 시스템은 자동적으로 학습은 X
(추론 과정에서 유도된 사실은 동적으로 추가)
추론 엔진(inference engine)
: 문제를 해결하기 위해서, 언제 어떤 사실들과 규칙을 적용해야 되는지를 결정
추론엔진은 거의 동일한 구조를 가지고, 지식베이스와 상관없이 독립적
사용자 인터페이스(user interface)
: 사용자와 전문가 시스템의 상호작용을 지원
사용자로부터 문제를 입력받아서 해결한 후에 사용자에게 의사 결정에 도움되는 출력을 함

2. 데이터, 정보, 지식 (지식 베이스)
데이터(data) : 사실(ex. 빨간색, 7시 30분, 5명)
=특정 분야에서 관측한 결과값
정보(information) : 의미있는 사실(ex. 사거리의 신호등이 빨간색으로 바뀌었다)
=데이터를 가공하여 어떤 목적이나 의미를 갖도록한 것
지식(knowledge) : 추론을 위한 정보(ex. 신호등이 빨간색으로 바뀌었으므로 멈추어야 한다)
=정보를 취합하고 분석하여 얻은 대상에 대해 사람이 이해한 것
데이터를 가공해서 정보로, 정보를 가공해서 지식으로
3. 생성 규칙 (production rule)
컴퓨터를 통해 프로그램이 쉽게 처리할 수 있도록 정형화된 형태로 표현
생성 규칙 : if-else문
술어 논리/의미망/프레임 : (수업 X)

if-then 형태의 문장으로 직관적이고 이해가 쉬움
대상(주어)/속성/행동 or 판단의 정보 로 규칙 획득이 가능하다.
그리고 이 세 가지로 if부분(대상, 속성) then부분(판단, 행동)을 표현한다.
"신호등이 녹색일 때는 건널목을 안전하게 건널 수 있고, 빨간색일 때는 건너지 말아야 한다."
대상 : 신호등
속성 : 녹색/빨간색
행동/판단 : 건넌다/멈춘다
if 신호등이 녹색이다. then 행동은 건넌다.
if 신호등이 빨간색이다. then 행동은 멈춘다.

1) 대상(실내 온도)/속성(28도 이상)/행동(에어콘을 강하게 작동시킨다)
if 실내온도가 28도 이상이다
then 에어콘을 강하게 작동시킨다
2) 대상1(캐릭터의 체력)/속성1(없다) 대상2(물약)/속성2(있다)/속성2(없다)/ 행동(사용한다)/행동(도망친다)
if 캐릭터 체력이 없다
if 물약이 있다
then 사용한다
if 물약이 없다
then 도망친다
3) 대상1(기운)/속성1(떨어진다)/대상2(오한)/속성2(있다)/대상3(기침)/속성3(나온다)/판단(감기에 걸렸다)/행동(병원에 간다)
if 기운이 떨어진다 and 오한이 있다 and 기침이 나온다
then 감기에 걸렸다 and 병원에 간다
4. 추론
구축된 지식과 주어진 데이터, 정보를 이용하여 새로운 사실을 생성하는 것

알려진 사실로부터 출발하여 결론을 찾는 방법
(규칙의 조건부와 만족하는 사실이 있을 때 규칙의 결론부를 실행하거나 처리)

순방향 추론 도식화
단기 기억장치에 규칙이 발화될 때마다 생기는 새로운 사실을 update하는 방식으로 진행된다.
순방향 추론의 도식화는 장기 기억장치(규칙) 단기 기억장치(사실)로 정리한다.





목표를 설정하고 추론 엔진이 이를 증명하는 증거를 찾는 방법
(결론부에 가지고 있는 규칙을 찾아서 조건부의 조건들이 모두 만족하는지 확인)
목표에 필요한 규칙들을 검색 후, 그 규칙에 필요한 조건 중 단기 기억장치에 없는 것을 새로운 목표로 update하여 참인지 거짓인지 확인한다.



5. 충돌 해법
동일한 사실이 입력되어도 서로 상반된 결론을 내리는 규칙이 저장되는 경우 있음
solution1. 각 규칙에 우선 순위를 부여, 높은 우선 순위를 가진 규칙부터
solution2. 가장 특수한 규칙부터
solution3. 단기 기억 장치에 가장 최근 입력된 데이터를 사용하여