Rule based system

Ahn9807 (토론 | 기여)님의 2023년 2월 24일 (금) 09:22 판 (새 문서: 분류: 의사 결정 섬네일|가운데 == 개요 == 규칙 기반 시스템은 Production system이라고 불리기도 한다. 메인 스트림은 아니지만 꾸준히 사용되고 있다. 규칙 기반 시스템은 3가지의 정보를 기반으로 한다. Database, If-then rules, Inferece engine이 3가지를 이용하여 주어진 상황에서 도출 할 수 있는 가장 적합한 반응을 만들어 낸다. 예를 들면, 상대가...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
Rule based System.png

개요

규칙 기반 시스템은 Production system이라고 불리기도 한다. 메인 스트림은 아니지만 꾸준히 사용되고 있다. 규칙 기반 시스템은 3가지의 정보를 기반으로 한다. Database, If-then rules, Inferece engine이 3가지를 이용하여 주어진 상황에서 도출 할 수 있는 가장 적합한 반응을 만들어 낸다. 예를 들면, 상대가 점화를 들고 킬각을 볼때 -> Database 만약 죽을 것 같으면 -> Inferece engine 만약 점멸이 있으면 -> Database 도망처라 -> If-then rule 을 통해서 이루어 지는 것이다.

간단한 문제를 해결하기에는 너무 무겁고, 복잡한 문제를 해결하기에는 Rule을 설정하는 작업이 매우 복잡해 진다는 단점이 있으나, 꾸준히 사용되고 있는 방식이다. FSM이나 Behavior Trees와 보다는 복잡한 문제 그러나 현재 RTS게임처럼 복잡한 게임은 Rule이 충돌하는 결과도 생기고 Rule을 추가하고 빼는 과정이 매우 복잡해 지기 때문에, 그 중간 정도의 문제에서 많이 사용된다.

Knowledge based (Database)

Knowledge Base.png

현재 상황에 대해서 Inference Engine이 가질수 있는 정보이다.

Alice health 100

정보는 formalization된 형식으로 저장되어야 한다. 예를 들어서 그래프나 Logical terms혹은 Object-oriented structures와 같은 형식으로 저장되어야 한다. Knowledge base에 저장될 수 있는 데이터는 다음과 같이 세개의 분야로 나눌 수 있다.

  1. External Information: 외부 환경에 대한 정보 수집을 통해서 얻어낸 정보. 모두가 아는 정보
  2. Internal Information: 현재 AI가 어떤 행동을 수행하는지에 대한 정보. 나만 아는 정보
  3. Inferece Information: 추론을 통해서 얻어낸 정보

이러한 정보는 List나 Object로 컴퓨터에 저장되어 진다.

Production Rules (If-then rules)

Author가 직접 등록한 IF-THEN 규칙으로 구성되어 있다. 룰은 크게 두가지의 부분으로 나뉘에 진다.

  1. A pattern: 패턴은 정보와 Composite(AND,OR,XOR...)로 구성되어 패턴의 일치 여부를 판단한다.
  2. An effect: 이펙트는 액션을 취하는 것과, knowledge base를 수정하는 effect로 구성된다. knowledge base의 수정은 add나 remove와 같은 명령어로 구성된다.

만약 pattern이 Knowledge base에 있는 정보와 일치하면 rule이 trigger된다.

IF Alice health < 100 && Alice has posion THEN Alice takes posion

여기서 중요한 것은 어떤 사람이 무었을 가진다 와 같은 융통성 있는 RULE이 필요한 것이다. 예를 들어서 다음과 같이 pattern을 등록할 수 있다.

has(SOMEONE, radio) <누군가 라디오를 가진다면>

Inferece Engine