프로덕션시스템
태그 :
- 개념
- 프로덕션 시스템(Production System)의 정의 - 인공지능에서 자주 사용되는 지식표현 방법으로 주어진 조건에 대한 권고, 지시, 전략 등을 나타내는 정형화된 지식 표현 방법 - 지식을 조건(condition)-행동(action) 또는 전제(antecedent)-결론(consequent)의 형태로 표현하는 프로덕션 규칙을 기반으로 관리하기 위한 체계
I. 인공지능의 지식표현, 프로덕션 시스템의 개요
가.프로덕션 시스템(Production System)의 정의
- 인공지능에서 자주 사용되는 지식표현 방법으로 주어진 조건에 대한 권고, 지시, 전략 등을 나타내는 정형화된 지식 표현 방법
- 지식을 조건(condition)-행동(action) 또는 전제(antecedent)-결론(consequent)의 형태로 표현하는 프로덕션 규칙을 기반으로 관리하기 위한 체계
나. 프로덕션 규칙(Rule)의 예제
- IF 비가올 확률이 50%이상이면 THEN 우산을 가지고 나가는 것이 좋다
II. 프로덕션시스템(Production System)의 구성과 인식행동 사이클
구성요소 |
설명 |
프로덕션 메모리 (Product memory) |
- 규칙의 집합이 저장되는 기억장소로 규칙베이스, 지식베이스로 불림 |
작업 메모리 (Woking memory) |
- 규칙에 의해 참조/갱신의 대상이 되는 데이터의 결합이 저장되는 기억장소로 데이터베이스 또는 단기 메모리라고 함 |
인터프리터 (Interpreter) |
- 인식-행동 사이클에 따라 추론의 실행과 상태를 감시하는 기구로서 추론엔진 제어기구라고 불림 |
센서 (Sensor) |
- 외부환경의 상태를 감시하여 변화에 반응하고 필요한 정보를 작업 메모리에 전달하는 역할을 하는 기구 |
모터 (Motor) |
- 작업 메모리의 상태를 감시하고 반응하여 필요한 정보 또는 조작을 외부 환경에 전달하는 기구 |
외부환경 (External environment) |
- 프로덕션 시스템의 조작 대상(프린터, 기계설비, 인간 등)이 되는 실세계 |
나. 프로덕션 시스템(Production System)의 인식행동 사이클
- 프로덕션 시스템의 실행은 인식-행동사이클의반복을 기본으로 함
절차 |
설명 |
패턴 매칭 (Pattern matching) |
- 프로덕션 메모리 상의 각 규칙의 전제부와 작업 메모리 상의 데이터 사이의 패턴을 비교하여 전제부를 만족하는 규칙을 모두 찾아냄 - 규칙과 사실을 매칭하는 단계로 전체 시간의 90%를 차지 |
경합 해소 (Conflict resolution) |
- 미리 설정되어 있는 경합해소 전략에 따라 경합 집합 중에서 하나의 규칙을 선택함. 매칭된 규칙들 중 선택하는 단계 |
실행 (Action) |
- 경합 해소 단계에서 선택한 규칙의 행동부의 동작을 실행하고 작업 메모리의 내용을 갱신 |
Ⅲ. 프로덕션시스템(Production System)의 추론방식
가. 전향추론(forward Chaining)
1)전향추론(forward Chaining)의 정의
- 규칙의 전제부와 작업 메모리 사이의 패턴을 비교하여 결론부에 지시된 내용에 따라 작업 메모리의 상태를 바꾸는 추론방식
- 원인으로부터 전향으로 규칙을 적용해 결과를 추론하는 것으로 적용할 규칙의 수가 적은 경우 효율적으로 추론가능하고 목표규칙이 참이 될 때까지 반복함
2) 전향추론(forward Chaining)의 사례
나. 후향추론(Backward Chaining)
1) 후향추론(Backward Chaining)의 정의
- 규칙의 결론부와 작업 메모리 사이에서 패턴을 비교하여 전제부에서 지시된 내용에 따라 작업 메모리의 상태를 바꾸는 추론 방식
- 결과로부터 후향으로 규칙을 적용해 원인을 추론하는 방식으로 목표 규칙 중의 하나를 참으로 가정하고 추론을 시작
- 지식베이스의 규칙의 수가 많은 경우 추론 시간을 단축하는데 큰 효과
2) 후향추론(Backward Chaining) 사례
Ⅳ. 프로덕션 시스템(Production System)의 장단점
장단점 |
설명 |
장점 |
- 지식 표현이 용이하고 이해가 쉽고 지식의 모듈화로 새로운 지식의 추가 및 변경이 용이함 - 지식베이스를 한꺼번에 만들지 않고 서서히 확장 가능 |
단점 |
- 지식의 전체적인 구조 파악이 힘들고 지식의 제어가 용이하지 않음 - 지식표현과 제어가 분리된 상태에서 지식을 표현하여 제어 문제를 고려하지 않아도 지식 표현이 가능하나 다량의 지식을 이용하는 제어 구조는 중요한 문제가 발생 가능 |