유틸리티 시스템

Utility system

비디오 게임 AI에서 유틸리티 시스템, 즉 유틸리티 AI플레이어가 아닌 캐릭터행동을 모델링하는 간단하지만 효과적인 방법이다.가능한 조치의 상대적 편익을 평가하기 위해 숫자, 공식 및 점수를 사용하여 각 조치유틸리티를 할당할 수 있다.그런 다음 어떤 사람이 가장 높은 "유틸리티" 점수를 얻는지 또는 그러한 점수를 사용하여 가중 무작위 선택에 대한 확률 분포를 시드함으로써 동작을 선택할 수 있다.그 결과 캐릭터는 그러한 행동들이 수학적으로 어떻게 정의되는지에 기초하여 현재 주어진 상황에 대해 "최상의" 행동을 선택하게 된다.

주요개념

효용 개념은 수세기 동안 존재해 왔는데, 주로 경제학과 같은 수학적으로 의존하는 분야에 있었다.그러나 심리학, 사회학, 심지어 생물학에도 사용되었다.이러한 배경과 컴퓨터 프로그래밍을 위해 사물을 수학으로 전환해야 하는 본질적인 특성 때문에 게임 캐릭터의 행동을 디자인하고 표현하는 방법으로 자연스럽게 다가온 것이었다.

당연히 서로 다른 AI 아키텍처들은 다양한 장단점을 가지고 있다.유틸리티 AI의 장점 중 하나는 다른 게임 AI 아키텍처에 비해 '수저'가 적다는 점이다.[1]효용 시스템에서의 행동들은 종종 개별적으로(그리고 손으로) 만들어지지만, 그것들 사이의 상호 작용과 우선순위는 본질적으로 명시되지 않는다.예를 들어 행동 나무(BT)는 설계자가 우선순위를 순서대로 지정하여 어떤 조치가 이루어져야 하는지를 확인하도록 요구한다.동작(또는 트리 분기)이 실행되지 않는 경우에만 동작 트리 시스템이 다음 동작을 점검하기 위해 실행된다.

이에 비해, 많은 유틸리티 시스템의 동작은 주어진 동작을 정의하는 모든 수학 모델링에 의해 생성된 점수에 기초하여 우선순위로 자신을 분류한다.이 때문에 개발자는 새로운 행동이 BT에서 수천 개의 행동 "노드"가 될 수 있는 전체적인 계획에서 정확히 어디에 "적합"하는지를 결정할 필요가 없다.대신에, 초점은 단순히 문제의 단일 행동이 유익할 수 있는 구체적인 이유(즉, 그것의 "유틸리티")를 정의하는 데 있다.그런 다음 의사결정 시스템은 그 순간 세상에서 일어나는 일에 따라 각각의 행동을 점수 매기고 가장 좋은 행동을 선정한다.모든 행동 채점이 동일하거나 유사한 전제를 사용할 수 있도록 표준이 준수되고 있는지 확인하기 위해 어느 정도 주의를 기울여야 하지만, 수십 개 또는 수백 개의 서로 다른 행동의 처리 방법을 결정하는 "무거운 리프팅"은 설계자로부터 오프로드되어 시스템 자체의 실행에 투입된다.

배경

조기사용

게임에서 숫자와 공식, 점수는 행동을 정의하기 위해 수십 년 동안 사용되어 왔다.어떤 일이 일어날 수 있는 일정한 확률(예: 행동 X를 수행할 수 있는 12% 확률)을 정의하는 간단한 일조차도 유틸리티 AI의 초기 단계였다.그러나 21세기 초에야 그 방법이 이제는 일반적으로 "유틸리티 AI"라고 불리는 정형화된 접근법을 채택하기 시작했다.

행동의 수학적 모델링

심즈(2000년)에서 어떤 것에 대해 현재 "필수"하고 있는 NPC(예: 휴식, 음식, 사회 활동)는 같은 요구를 충족시킬 수 있는 사물이나 활동에서 얻은 점수와 결합되었다.이 값들의 조합은 심에게 무엇을 해야 하는지 말해주는 행동에 점수를 주었다.이것은 게임에서 유틸리티 AI를 처음으로 에 띄게 사용한 것 중 하나이다.플레이어가 계산 자체를 보지 못하는 동안 심 선수의 상대적 필요성과 게임 내 물체가 제공할 만족도가 다르다는 것을 알게 되었다.사실 그것은 핵심 게임 플레이 메커니즘이었다.

심스 3(2009)에서 리처드 에반스는 심이 행복할 때 낮은 온도를 사용하고 심이 좋지 않을 때 낮은 효용성을 가진 행동이 선택될 가능성을 높이기 위해 심이 나쁜 행동을 할 때 높은 온도를 사용하여 심에 대한 행동을 선택하기 위해 볼츠만 분포의 수정 버전을 사용했다.[2]그는 또한 심스에 "개인적인 것"을 포함시켰다.이것은 숫자 "필수"와 "만족 값"을 선호도를 포함하도록 확장하여 서로 다른 NPC가 내부 요구와 드라이브에 따라 동일한 상황에서 다른 것과 다르게 반응할 수 있도록 하는 일종의 3축 모델을 만들었다.

데이브 마크는 '게임 AI를 위한 행동수학'이라는 저서에서 응답 곡선(입력 변수를 출력 변수로 바꾸는 것) 등을 포함해 수학 측면에서 어떻게 행동을 정신적으로 생각하는지를 자세히 설명했다.[3]이어 케빈 딜과 함께 2010년 '유틸리티이론을 통한 AI 의사결정 모델링 향상',[4] 2012년 'AI의 수학적 모델링의 다크아트 구현' 등 미국 샌프란시스코에서 열린 연례 게임개발자회의(GDC) AI 서밋에서 효용이론에 대한 초기 강의를 많이 했다.[5]이 강의들은 유틸리티 AI를 유한한 상태 기계(FSM), 행동 트리, 계획자와 함께 일반적으로 언급되는 아키텍처로 주입하는 역할을 했다.

"유틸리티 시스템"

반면 리차드 에반스의 데이비드"북미 원주민 보호 구역"Graham[6]등 심즈 프랜차이즈에 대한 작업, 그리고 후속적인 AI프로그래머들은 유틸리티 AI, 데이브 마크와 아레나 넷에서 그의 동료 마이크 루이스에 근거한 것이었다,. AI정상 회의에서 2015년 일반 설계 기준 동안 그가 개발한 완전한 독립형 건축, 무한 Axis유틸리티 시스템(에 대해 강연했다.IAUS).[7] IAUS는 한때 게임 시스템의 입력과 출력에 연결되었을 때, 많은 프로그래밍 지원이 필요하지 않았던 데이터 기반의 자급자족 아키텍처로 설계되었다.어떻게 보면, 이것은 행동 나무나 계획자와 유사하게 만들었고, 이유자(결정하는 것)가 완전히 확립되어 있고, 그들이 적합하다고 생각하는 대로 행동을 혼합에 추가하는 것을 개발팀에 맡겼다.

다른 아키텍처의 유틸리티

또한, 독립형 아키텍처보다는 다른 사람들이 기존 아키텍처에 효용 계산을 통합하는 방법을 논의하고 제시하였다.빌 메릴은 '게임 AI 프로'[8]라는 책에서 "기존 행동 트리에 유틸리티 결정을 쌓는다"[9]라는 제목의 코너에 유틸리티 기반 수학을 사용하기 위해 BT에서 선택기를 재목적으로 사용하는 방법의 예를 적었다.이것은 행동 나무의 인기 있는 공식적인 구조를 많이 유지하면서도 유틸리티가 제공하는 일부 취약하지 않은 장점들을 허용하는 강력한 하이브리드를 위해 만들어졌다.

효용 의사결정은 몬테카를로 트리 검색과 같이 계산적으로 비용이 많이 드는 계획 접근방식에 비해 실시간 성능 측면에서 상대적으로 빠르다.이것은 주로 유틸리티 시스템이 반응적이라는 사실, 즉 현 상태에 근거한 결정을 선택하는 데서 기인한다.계획 접근방식은 과도한 계산을 희생하면서 다양한 미래 시나리오를 고려할 수 있는 일종의 검색을 포함한다.그러나, 두 아키텍처는 결합될 수 있다.전술 부대의 AI에 관한 회의 논문에서: 무연탄 시프트 [10]게임인 유틸리티 시스템이 고도의 전략적인 의사결정을 담당하고 몬테카를로 트리 서치(Monte Carlo Tree Search)는 보다 정확한 계획이 필요한 심층 전술적 상황을 담당한다.

참고 항목

참조

  1. ^ Mark, Dave (August 2012). "AI Architectures: A Culinary Guide".
  2. ^ Evans, Richard. "Modeling Individual Personalities in The Sims 3". GDC Vault. pp. 36–38. Retrieved 21 September 2015.
  3. ^ Mark, Dave (March 2009). "Behavioral Mathematics for Game AI". Amazon.
  4. ^ Mark, Dave; Dill, Kevin (2010). "Improving AI Decision Modeling Through Utility Theory". GDC Vault.
  5. ^ Mark, Dave; Dill, Kevin (2012). "Embracing the Dark Art of Mathematical Modeling in AI". GDC Vault.
  6. ^ Graham, David "Rez" (September 2013). "An Introduction to Utility Theory" (PDF). GameAIPro.
  7. ^ Mark, Dave; Lewis, Mike (2015). "Building a Better Centaur: AI at Massive Scale". GDC Vault.
  8. ^ Rabin, Steve (September 2013). "Game AI Pro". Amazon.
  9. ^ Merrill, Bill (September 2013). "Building Utility Decisions into Your Existing Behavior Tree" (PDF). GameAIPro.
  10. ^ Świechowski, Maciej; Lewiński, Daniel; Tyl, Rafał (5 December 2021). Combining Utility AI and MCTS Towards Creating Intelligent Agents in Video Games, with the Use Case of Tactical Troops: Anthracite Shift. IEEE Symposium Series on Computational Intelligence (SSCI). Orlando, Florida, USA: IEEE. pp. 1–8. doi:10.1109/SSCI50451.2021.9660170.{{cite conference}}: CS1 maint: 날짜 및 연도(링크)