1 / 20

41 장 . 계층적 상태기계

최신 AI 기법을 적용한 인공지능 게임 프로그래밍 실전가이드. 41 장 . 계층적 상태기계. 목차. 개요 계층구조 계층간의 상호 작용 논의. 1. 계층 구조. 정의 일련의 객체가 여러 레벨에 걸쳐 결합된 구조. 1. 계층구조 (cont ’ ). 중첩된 상태 다른 상태들을 포괄하는 상태를 상위상태 라 부름 HSM 의 상태 개수는 일반적으로 펼쳐놓은 유한상태 기계의 상태 개수보다 줄어들지 않음 . 중첩된 상태는 단지 입 / 출력 알파벳의 부분집합만 받아들일 수 있다.

Download Presentation

41 장 . 계층적 상태기계

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 최신 AI기법을 적용한 인공지능 게임 프로그래밍 실전가이드 41장.계층적 상태기계

  2. 목차 • 개요 • 계층구조 • 계층간의 상호 작용 • 논의

  3. 1.계층 구조 • 정의 • 일련의 객체가 여러 레벨에 걸쳐 결합된 구조

  4. 1. 계층구조(cont’) • 중첩된 상태 • 다른 상태들을 포괄하는 상태를 상위상태 라 부름 • HSM의 상태 개수는 일반적으로 펼쳐놓은 유한상태 기계의 상태 개수보다 줄어들지 않음. • 중첩된 상태는 단지 입/출력 알파벳의 부분집합만 받아들일 수 있다.

  5. 3개의 중첩된 상태로 정의된 상위 상태. 각각의 중첩된 상태는 동일한 나가는 전이를 공유

  6. 1. 계층구조(cont’) • 중첩된 유한상태 기계 • 추상화 • 구현의 복잡도를 추상화 하는 역할. • 줌 아웃 연산 • 상세화 • 추상화의 반대적인 개념 • 모듈화 • 모듈화된 유한상태 기계는 어떤 위치에나 재사용 가능 • 설계 단계에서 유한 상태 기계의 모듈을 라이브러리에 저장해 뒀다가 필요할 때 마다 꺼내 쓸 수 있음.

  7. 1.계층구조 (cont’) • 줌아웃 • 계층구조의 하위 레벨을 감춤 • 줌인 • 하위 레벨을 다시 집어 넣음.

  8. 1.계층구조(cont’) • 두개의 상태가 동일한 유한상태기계모듈을 중첩된 컴포넌트로 재사용하고 있음.

  9. 1.계층구조(cont’) • 혼성 계산 모델 • 계층적 모델의 중요 장점은 융통성 • 각 상태마다 서로 다른 계산 모델을 사용하는 것이 가능

  10. 2.계층 간 상호작용 • 마스터와 슬레이브 • 중첩된 유한상태 기계 사이의 전형적 관계

  11. 2.계층 간 상호작용(cont’) • 수행상 모호성이 존재 • 설계 자체를 수정해야 함 • 하드코딩 센서를 이용한 절차적 방식문제 • 계층구조의 서로 다른 레벨에 위치한 전이가 동시에 일어날 수 있다는 것임. • 문제 해결의 지침 • 충돌가능성이 존재 할 경우 마스터에 영향을 미치는 모든 전이가 우선권 • 슬레이브가 먼저 수행되기 때문에 상위 유한상태 기계안에 전이가 존재한다면 중첩된 유한상태 기계에 대한 모든 변화는 무시.

  12. 2.계층 간 상호작용(cont’) • 스택기반 • 각 레벨의 활성화 된 유한상태 기계를 스택에 저장할 수 있음. • 상태의 줌인연산 • 스택에 새로운 유한상태기계를 추가하는 포시연산 • 상태의 줌아웃 연산 • 마지막으로 추가된 유한상태 기계를 제거하는 팝 연산

  13. 2.계층 간 상호작용(cont’) • 한 순간에는 단 하나만의 유한 상태기계가 시뮬레이션 됨 • 주의깊은 설계를 통해 각 상태 기계가 스스로를 스택에서 제거하도록 해야 함.

  14. 2.계층 간 상호작용(cont’) • 레벨 오브 디테일 • 계산 비용을 달리 하면서 행동 양식의 품질을 조절하고자 하는것. • 상세도가 주어진 LOD알고리즘은 행동의 품질과 계산 오버헤드를 절충할 수 있어야 함.

  15. 2.계층 간 상호작용(cont’) • 설계시 • 각각의 상태 기계에 손수 상세도 할당 • 시뮬레이션 시 • HSM의 총 상세도 추적 가능. • 상세도는 필요에 따라 동적으로 변경 가능 • 문제점 • 상세도를 잃음으로서 발생.

  16. 2.계층 간 상호작용(cont’) • HSM의 장점 • 상태기계가 상세도 자체를 제어할 수 있다.

  17. 2.계층 간 상호작용(cont’) • HSM을 이용해 부드러운 LOD수행 시 조건 • 게임 디자이너가 중첩된 유한상태의 행동 양식에 대한 약식 AI를 만들 수 잇어야 함 • 두 상세도 간의 전이를 처리하는 절차를 만들 수 있어야 함 • 상세도 변화 때문에 AI나 게임 플레이의 일관성이 조금이라도 깨진다면 HSM은 올바른 접근 방식이 아님.

  18. 2.계층 간 상호작용(cont’) • 상호작용 구조의 일반화 • 상태 내부의 처리 방식을 추상화 해 놓음 • 마스터/슬레이브 방식 • 슬레이브 상태를 먼저 수행, 다음으로 자가 자신을 수행함.(필요하다면 전이를 재정의함) • 스택기반 • 무조건 가장 아래쪽 슬레이브까지 내려감 • 레벨오브디테일 • 충분한 수준의 상세도가 제공될 때 까지 중첩된 유한상태 기계 안으로 들어감.

  19. 3.논의 • 장점 • 모듈화 • 설계상의 복잡성을 줄여줌, • 개발과정의 단순화 • 계산모델 • 많은 융통성 제공 • 중첩된 상태 간의 상호 작용 구조를 간편하게 변경가능.

  20. 3.논의(cont’) • 단점 • 규모가 커지면 디버깅은 매우 까다로움 • 시각적 도구를 사용하지 않고 계층구조 활용하기는 어려움 • 구현 • 상태 간의 상호 작용을 정의 하는 과정 중요 • 예기치 못한 사건이 발생 가능성은 여전히 존재 • 유한상태기계 전반의 공통적 문제이나 계층구조가 도입되면 한층 심각해짐.

More Related