게임인공지능설계 3주차 - RBS
RBS
Rule-Based System, 규칙 기반 시스템
- 단순하지만 가장 성공적인 AI 기법
- AI 연구 초창기(20세기 중반) 탄생
- 사람의 이성적 사고 과정을 전문가들의 경험을 통해 단계적 문제 해결 방식으로 모델링
- 적용된 지식은 매우 함축적인 형태로 저장 (if...then 형식)
- RBS는 넓은 범주에서 지식 기반 시스템에 속한다
KBS
Knowledge-based system, 지식 기반 시스템
- 복잡한 문제를 해결하기 위해 지식베이스를 사용하고 추론하는 컴퓨터 프로그램.
- 지식 기반 시스템은 2가지 구별되는 기능이 있다 : 지식베이스, 추런엔진
- IF(Condition) Then(Action)의 구조로 구성되어 있다.
- 규칙의 저장은 선형 구조와 트리 형태로 구성한다.
- 정방향 연쇄와 역방향 연쇄가 있다.
선형 자료구조로 표현하기
1 - if A, then C
2 - if A and B, then D
3 - if D, then E
4 - if C and D and E, then F
Index | Rule | Action
1 | A | C
2 | A and B | D
3 | D | E
4 | C and D and E | F
정방향 연쇄, 역방향 연쇄
- 정방향 연쇄 : 일련의 가정으로 시작해서 원하는 결과에 도달할 때까지 반복적으로 규칙을 적용하는 방식
- 역방향 연쇄 : 정방향 연쇄와는 반대로, 가정으로부터 시작해서 현재 상태까지 거슬러 내려올 수 있는지 검증
RBS의 장점
- 단순성 : 각각의 규칙은 단순한 문법을 가지며 자연스러운 방식으로 표현된다.
- 분할성 : 지식을 비교적 잘 분할된 형태로 표현한다. 각각의 규칙은 다른 규칙과 무관하게 결합, 수정할 수 있다.
- 응용성 : 시뮬레이션부터 문제 해결까지 매우 넓은 분야에 적용할 수 있다.
RBS의 단점
- 표현력 : 하나의 규칙 안에 많은 정보가 담겨져 있지 않고, 결과를 확인하기 위해서는 추론을 거쳐야 한다.
- 효율성 : 간단하게 구현된 시스템에서는 규칙의 개수에 따라 계산량이 선형으로 증가한다.
- 적합성 : RBS는 여러 분야에 적용할 수 있지만, 항상 최적의 결과를 만들지는 못한다. (예를 들어 부드러운 제어나, 예외성이 필요한 경우)
RBS는 고전 게임에서 많이 사용했으며, 그 중 슈팅 장르에서 가장 많이 쓰이는 형태를 가진다.
실습 진행
- 게임에서 RBS를 적용해 적 AI를 구현 해 보자.
- 갤러그에서 적의 행동 패턴을 찾아보고, 선형 RBS 구조로 작성 해 보자.
- 행동 패턴은 "플레이어와 일직선상에 놓여있으면 총알A를 발사한다"와 같은 형식의 모든 행동을 서술한다.
- 행동 패턴을 테이블로 서술한다.
(영상 시청 - NFace Demo)
https://youtu.be/FTyz5jbX_PQ?si=tYWFTWFxpvfB8P44
다음 주 수업 안내
FSM과 감정모델링
Finite-State machine
- NPC의 행동양식을 구성할 때 가장 일반적으로 사용
- 밀리 머신, 무어 머신
- 배열과 그래프를 이용한 표현 방법
- NPC의 감정을 모델링 해보기