System użytkowy

W grach wideo sztuczna inteligencja , system narzędziowy lub sztuczna inteligencja narzędziowa to prosty, ale skuteczny sposób modelowania zachowań postaci niezależnych . Używając liczb, wzorów i wyników do oceny względnej korzyści z możliwych działań, można przypisać użyteczność do każdego działania . Zachowanie można następnie wybrać na podstawie tego, które z nich uzyskało najwyższą „użyteczność” lub używając tych wyników do zaszczepienia rozkładu prawdopodobieństwa dla losowego wyboru ważonego. W rezultacie postać wybiera „najlepsze” zachowanie w danej sytuacji w danym momencie na podstawie tego, jak te zachowania są zdefiniowane matematycznie.

Kluczowe idee

Pojęcie użyteczności istnieje od wieków – głównie w dziedzinach matematycznie zależnych, takich jak ekonomia . Jednak był również używany w psychologii , socjologii , a nawet biologii . Ze względu na to tło i nieodłączną naturę konieczności przekształcania rzeczy w matematykę w programowaniu komputerowym, było to coś, co przyszło naturalnie jako sposób projektowania i wyrażania zachowań postaci w grach.

Oczywiście różne architektury sztucznej inteligencji mają swoje zalety i wady. Jedną z zalet użytkowej sztucznej inteligencji jest to, że jest ona mniej „autorska” niż wiele innych typów architektur sztucznej inteligencji w grach. Podczas gdy zachowania w systemie narzędziowym są często tworzone indywidualnie (i ręcznie), interakcje i priorytety między nimi nie są z natury określone. Na przykład drzewa zachowań (BT) wymagają od projektanta określenia priorytetów w kolejności, aby sprawdzić, czy coś należy zrobić. Tylko wtedy, gdy to zachowanie (lub gałąź drzewa) NIE zostanie wykonane, system drzewa zachowań przejdzie do sprawdzenia następnego.

Dla porównania, zachowania w wielu systemach użyteczności sortują się według priorytetów na podstawie wyników generowanych przez dowolne modelowanie matematyczne, które definiuje każde zachowanie. Z tego powodu programista nie musi dokładnie określać, gdzie nowe zachowanie „pasuje” w ogólnym schemacie tego, co może być tysiącami „węzłów” zachowań w BT. Zamiast tego nacisk kładziony jest na proste zdefiniowanie konkretnych powodów, dla których dane zachowanie byłoby korzystne (tj. jego „użyteczność”). Następnie system decyzyjny ocenia każde zachowanie zgodnie z tym, co dzieje się w danym momencie na świecie i wybiera najlepsze. Podczas gdy należy zachować pewną ostrożność, aby zapewnić przestrzeganie standardów, tak aby wszystkie oceny zachowań korzystały z tych samych lub podobnych przesłanek, „ciężkie podnoszenie” polegające na określeniu, jak przetworzyć dziesiątki – a nawet setki – różnych zachowań jest odciążone od projektanta i umieścić w wykonaniu samego systemu.

Tło

Wczesne użycie

Liczby, formuły i wyniki są od dziesięcioleci używane w grach do definiowania zachowań. Nawet coś tak prostego jak zdefiniowanie ustalonej procentowej szansy na to, że coś się wydarzy (np. 12% szansy na wykonanie Akcji X) było wczesnym krokiem w stronę użytkowej sztucznej inteligencji. Jednak dopiero na początku XXI wieku metoda ta zaczęła nabierać bardziej sformalizowanego podejścia, obecnie określanego powszechnie jako „użyteczna sztuczna inteligencja”.

Matematyczne modelowanie zachowania

W The Sims (2000) aktualna „potrzeba” NPC na coś (np. odpoczynek, jedzenie, aktywność społeczna) została połączona z oceną przedmiotu lub czynności, która mogłaby zaspokoić tę samą potrzebę. Kombinacje tych wartości dawały ocenę akcji, która mówiła Simowi, co powinien zrobić. Było to jedno z pierwszych widocznych zastosowań użytkowej sztucznej inteligencji w grze. Chociaż gracz nie widział samych obliczeń, został poinformowany o względnych potrzebach Sima i różnych stopniach satysfakcji, jakie zapewnią obiekty w grze. W rzeczywistości był to podstawowy mechanizm rozgrywki.

W The Sims 3 (2009) Richard Evans użył zmodyfikowanej wersji dystrybucji Boltzmanna , aby wybrać akcję dla Sima, używając temperatury , która jest niska, gdy Sim jest szczęśliwy, i wysoka, gdy Sim ma się źle, aby uczynić go bardziej prawdopodobieństwo, że wybrano działanie o niskiej użyteczności. Włączył także „osobowości” do Simów. Stworzyło to coś w rodzaju 3-osiowego modelu — rozszerzenie liczbowych „potrzeb” i „wartości satysfakcji” o preferencje, tak aby różni NPC mogli reagować inaczej niż inni w tych samych okolicznościach, w oparciu o ich wewnętrzne pragnienia i popędy.

W swojej książce Behavioural Mathematics for Game AI Dave Mark szczegółowo opisał, jak mentalnie myśleć o zachowaniu w kategoriach matematycznych, w tym takich rzeczy, jak krzywe odpowiedzi (konwersja zmieniających się zmiennych wejściowych na zmienne wyjściowe). On i Kevin Dill wygłosili wiele wczesnych wykładów z teorii użyteczności na AI Summit podczas dorocznej konferencji Game Developers Conference (GDC) w San Francisco, w tym „Improving AI Decision Modeling Through Utility Theory” w 2010 r. i „Embracing the Dark Art of Mathematical Modeling in AI” w 2012 r. Wykłady te posłużyły do ​​wstrzyknięcia użytecznej sztucznej inteligencji jako powszechnie przywoływanej architektury obok skończone maszyny stanowe (FSM), drzewa zachowań i planiści.

„System narzędziowy”

Podczas gdy prace Richarda Evansa i późniejszych programistów AI w serii Sims, takich jak David „Rez” Graham, były w dużej mierze oparte na użytkowej sztucznej inteligencji, Dave Mark i jego współpracownik z ArenaNet, Mike Lewis, wygłosili wykład na AI Summit podczas GDC 2015 o całkowicie samodzielnej architekturze, którą opracował, Infinite Axis Utility System (IAUS). IAUS został zaprojektowany jako niezależna architektura oparta na danych, która po podłączeniu do wejść i wyjść systemu gry nie wymagała dużego wsparcia programistycznego. W pewnym sensie przypominało to drzewa zachowań i planistów, w których wnioskodawca (to, co podejmuje decyzje) był w pełni ustalony, a zespołowi programistycznemu pozostawiono dodawanie zachowań do miksu według własnego uznania.

Narzędzie z innymi architekturami

Dodatkowo, zamiast samodzielnej architektury, inne osoby omówiły i przedstawiły metody włączania obliczeń użyteczności do istniejących architektur. Bill Merrill napisał segment w książce Game AI Pro , zatytułowany „Building Utility Decisions into Your Existing Behaviour Tree” z przykładami, jak zmienić przeznaczenie selektorów w BT, aby używać matematyki opartej na narzędziach. Stworzyło to potężną hybrydę, która zachowała wiele z popularnej struktury formalnej drzew zachowań, ale pozwoliła na niektóre niekruche zalety oferowane przez narzędzie.

Podejmowanie decyzji dotyczących użyteczności jest stosunkowo szybkie, jeśli chodzi o wydajność w czasie rzeczywistym, w porównaniu z bardziej kosztownymi obliczeniowo podejściami do planowania, takimi jak przeszukiwanie drzew Monte Carlo . Wynika to głównie z faktu, że Utility System jest reaktywny, tzn. podejmuje decyzję na podstawie aktualnego stanu. Podejścia planistyczne obejmują pewnego rodzaju poszukiwania, które umożliwiają rozważenie różnych przyszłych scenariuszy kosztem ciężkich obliczeń. Jednak obie architektury można łączyć. W referacie konferencyjnym na temat sztucznej inteligencji w oddziałach taktycznych: Antracytowa zmiana W grze Utility System odpowiada za podejmowanie strategicznych decyzji na wysokim poziomie, podczas gdy Monte Carlo Tree Search odpowiada za głębokie sytuacje taktyczne, które wymagają dokładniejszego planowania.

Zobacz też