2010-12-08 4 views
2

저는 FSM을 사용하여 FPS를 구현 한 코스 프로젝트에서 작업했으며, 게임의 2 차원 뷰를 보여주고 봇과 플레이어와 서클을 사용했습니다. . 봇의 동작은 결정적이었습니다. 예를 들어 봇의 상태가 임계 값 아래로 떨어지고 플레이어가 표시되면 봇은 도망칩니다. 그렇지 않으면 건강 팩을 찾습니다.1 인칭 슈팅 게임에서 FSM 대신 숨겨진 마코프 모델

그러나이 경우 봇은 우리가 이미 결정한 규칙에 기반하여 의사 결정의 대부분을 수행하므로 정보의 상당 부분을 보여주지 못한다고 생각했습니다.

봇에 실제 정보를 구현하는 데 도움이되는 다른 기술은 무엇입니까? 나는 HMM을보고 있었고, 그들이 봇에 불확실성을 더주는 데 도움이 될 것이라고 생각합니다. 봇은 미리 정의 된 규칙에 의존하는 것보다 결정을 내리는 데있어 더 자율적으로 시작될 수 있습니다.

너희들은 어떻게 생각하니? 어떤 조언을 주시면 감사하겠습니다.

+0

이것은 유전자 알고리즘을 깨는 좋은 시간처럼 들립니다. FPS에서의 "Fitness"는 매우 쉽게 결정할 수 있습니다. 다음은 봇을 생성하고 서로 쌓아 올리는 간단한 문제입니다. 또 다른 요점 : 봇이 FSM에서 어떻게 작동하는지 정확하게 알고 있습니다. 약간의 임의성을 추가하여 때때로 당신을 놀라게 할 수 있습니다. –

답변

2

숨겨진 마르코프 모델을 사용하는 것이 실제로 더 자율적이라고 생각하지 않습니다. 상태 머신의 명시적인 규칙보다는 모델의 더 불투명 한 규칙을 따르는 것일뿐입니다. 여전히 결정적입니다. 그들이 가져올 유일한 불확실성은 예측을 기반으로하는 간단한 규칙 집합이없는 관찰자에게 있습니다.

올바르게 사용할 수 없다고 말하는 것은 아닙니다. 정확하게 기억한다면 FPS 게임의 여러 봇은 플레이어로부터 배우고 자신의 AI를 개발할 때 이런 종류의 시스템을 사용했습니다.

그러나 이것은 프로세스를 모델로하고 싶은 것에 정확히 의존합니다. AI는 알고리즘에 관한 것이 아니라 표현에 관한 것입니다. 현재하는 FSM과 동일한 상태를 선택하고 기존 플레이어의 전환을 관찰하면 전문가 입력에 FSM에 대한 규칙을 신중하게 조정하는 것보다 더 나은 시스템을 얻지 못할 수 있습니다.

현대 과학을 넘어서는 것으로 여겨지는 것처럼 "일부 실제 인텔리전스"를 구현하지 않는다면, 무엇을 만들고 싶습니까? 그것은 자신의 실험에서 배우는 시스템입니까? 인간 대상을 관찰하여 학습하는 시스템? 상대방이 예측하기가 더 어려워 지도록 고의적으로 선택을 도입 한 사람?

+0

HMM은 확률 론적이 아니라 결정 론적입니다. –

+0

모델 자체는 결정적이지 않거나 아닙니다. 이것은 단지/something /의 모델 일뿐입니다. 당신이 그것을 사용하는 방법은 무작위적인 요인을 가질 수 있습니다 - 그렇다면 유한 상태 기계가 될 수 있습니다. 그 사용법의 선택은 흥미 롭지 만 처음부터 모델에 넣은 것만 큼은 아닙니다. – Kylotan

+0

글쎄, 나는 플레이어가 봇의 행동을 예측할 수 없길 원했다. Markov systems/Fuzzy systems은 일정 수준의 불확실성을 도입함으로써 그러한 문제를 해결할 수 있습니까? 나는 규칙이 프로그래머에 의해 여전히 주어지기 때문에, 로봇의 실제 "정보"를 증가 시키지는 않을 것이라는 점에 동의한다. – Karan