MMOAILE revisited

W 2007 roku popełniłem wpis MMOAILE (Massively-Multiplayer Online Artificial Intelligence Learning Environment), w którym przedstawiałem potencjał wykorzystywania gier MMO jako środowiska, w którym autonomiczni agenci sztucznej inteligencji będą mogli testować strategie swoich zachowań społecznych na dużych grupach graczy. Środowiska te są o tyle prostsze od wypuszczania AI w świat rzeczywisty, ponieważ interakcje są czysto wirtualne, redukując potrzebę wprowadzania wielu warstw dla samej percepcji, a także dobrze zdefiniowane – możliwości interakcji jest skończona ilość. Obie te cechy pozwalają wyizolować problem uczenia się zachowań społecznych przez agenta bez bycia dyskryminowanym przez ludzi ze względu na brak dopracowania w innych aspektach. Dodatkowym atutem jest zmniejszenie wymagań obliczeniowych, których nadal brakuje naszym maszynom, żeby zasymulować umysł ludzki w jakkolwiek zadowalającym poziomie. Bardzo ważna jest także możliwość podjęcia tematu przez każdego, kto posiada wystarczające zdolności programistyczne, aby skorzystać z zestawu narzędzi do tworzenia takich agentów. Gdyby tylko taki zestaw narzędzi istniał.

Mamy 2016 rok i odczuwam, że nasza cywilizacja wielkimi krokami zbliża się do podjęcia tego tematu. Jest to jedna z tych rzeczy, wobec której mogę przytoczyć przykłady dla mnóstwa dyscyplin krążących dookoła, a jednocześnie nie słyszałem jeszcze wieści o stuprocentowej realizacji zasugerowanego tu pomysłu. Pozbierajmy zatem to, co już istnieje, żeby zachęcić czytelnika do dalszego śledzenia tematu.

Prawdziwi NPC

Zacznę od anegdoty. Kilka tygodni temu ruszyło Pokemon GO, gra firmy Niantic, która polega na łapaniu wirtualnych stworków w realnym świecie. W internecie trafiłem na interesujący post dotyczący przypadkowej wymiany zdań, która brzmiała mniej więcej tak:

— Grasz w Pokemon Go?

— Tak… ?

— Ostatnimi dniami wszyscy w to grają. Powodzenia!

Osoba grająca udostępniła to w Internecie wraz z komentarzem, że po raz pierwszy w życiu spotkała prawdziwego NPC.

Pomyślałem wtedy – jak miło byłoby mieć w grach komputerowych interesujących NPC, którzy co jakiś czas mogą zaskoczyć czymś nowym gracza. W świecie elektronicznej rozgrywki istnieje bardzo duże ograniczenie, jakim jest czas rzeczywisty i konieczność przekazania informacji zwrotnej w trakcie jednej, dwóch klatek, ale w grach MMO agent nie jest ograniczony tak restrykcyjnymi zasadami. W większości gier, poza specyficznymi kontekstami, takimi jak walka, 5-10 sekund reakcji nie będzie dla nikogo problemem, a głębszą analizę można przeprowadzać w tle, ponieważ z góry zakładamy, że nasz agent będzie działać 24 godziny na dobę.

Jest to punkt wyjścia do eksperymentowania. Jestem ciekaw, jak agent realizujący funkcję sprzedawcy w sklepie zacząłby się zachowywać, gdyby jego założeniem było być chciwym i sprzedawać jak najwięcej (reagując np. na problemy z inflacją pieniądza w grze). Okazuje się, że nawet w ekosystemie MMO taki agent mógłby być przydatny dla twórców gry.

Badania

Oczywiście, badania nad zachowaniami społecznymi graczy oraz ich wirtualizacją byłyby głównym odbiorcą tego rodzaju środowiska. Nawet wcześniej wspomniany Niantic był z początku wewnętrznym start-upem Google, za którym stał John Hanke, człowiek odpowiedzialny wcześniej za powstanie Google Earth. Celem Niantic było eksperymentowanie z tworzeniem nowych warstw nad rzeczywistą mapą świata za pomocą augmented reality.

Gry MMO mają wielki potencjał badawczy. Jako przykład niech posłuży Corrupted Blood Incident w World of Warcraft z 2005 roku — pomyłka programistów, która zakończyła się epidemią dziesiątkującą miasta w grze. Mimo, że całe wydarzenie skończyło się znacznie większym oddźwiękiem w mediach piszących o zbawiennym wpływie gier komputerowych na naprawę świata, niż ilością artykułów naukowych, było to pierwsze wydarzenie tego typu dla epidemiologów i wskazało potencjalną możliwość analizowania danych zebranych w grach MMO w zupełnie innych dziedzinach naszego życia.

Z innej beczki, zajmijmy się dziedziną Affective Computing, z której pisałem swoją pracę inżynierską. Sam posiadam w domu książkę Affective Computing for Games: Bots with Emotions, która podejmuje temat wprowadzania zachowań emocjonalnych do inteligentnych agentów. Jest to jedna z pozycji na mojej liście do przeczytania, ale samo istnienie pozycji, która łączy model OCC emocji z wykorzystaniem jej w grach. Warto zauważyć, że sam model OCC liczy sobie prawie 30 lat, co oznacza jednocześnie dwie rzeczy — naukowcy przeprowadzili już wiele eksperymentów od czasu jego powstania, ale nadal czekamy na komercyjny sukces, który zostałby tak opisany w mediach jak wyżej przedstawiony Corrupted Blood Incident.

Z trzeciej strony, dostępność dla ludzi — a nie dla specjalizowanych teamów badaczy — jest coraz większa. Oglądałem swego czasu jedno z przemówień na TEDzie, gdzie wypowiadał się człowiek zajmujący się tworzeniem miniaturowych, sztucznych ogrodów – takich, które każdy człowiek mógłby ustawić zamiast akwarium i hodować tam swoje rośliny. Z całego przemówienia zapadła mi jedna idea. Podobnie jak z rewolucją małej elektroniki, którą zapoczątkowały projekty jak Arduino, podobnie rewolucję w rozwijaniu technik uprawy w sztucznym środowisku zobaczymy dopiero wtedy, kiedy każdy z nas będzie mógł, w przystępnej cenie, kupić sobie taki ogród, podłączyć go do komputera i pozwolić mu rosnąć.

W dziedzinie budowania AI do gier komputerowych, osiągnęliśmy już wiele. Wiele eksperymentów poczyniono, aby podjąć się rozwiązywania rozmaitych gatunków gier komputerowych, z czego jednym z ciekawszych było AI grające w Starcrafta II, które przechwytuje wywołania do API DirectX, żeby symulować reakcję na to, co faktycznie widzi gracz podczas rozgrywki. Lub inny przykład — mój przyjaciel, z którym pracuję, jako tezę licencjatu miał rozwiązanie Super Mario Bros poprzez wykorzystanie sieci neuronowych i reinforcement learning.

Mimo, że nie posiadamy jeszcze wygodnych narzędzi, żeby budować naszych agentów, to jesteśmy już w tym miejscu, pozwalającym jednej osobie stworzyć oprogramowanie, które potrafi grać w daną grę. To wielki krok naprzód, bo dzięki temu kolejne pokolenia młodych graczy, którzy za kilka lat świętować będą swoje 18 urodziny, będą właściwymi ludźmi do tego zadania. Czemu oni? Bo spełniają dwa kryteria — uwielbienie dla jednej lub większej ilości gier komputerowych oraz pasję do uczenia się nowych rzeczy. To dość wybuchowa mieszanka.

Problemy

Gdzie więc pojawią się te światy wirtualne? Odpowiedź na to pytanie nie jest prosta. Wróćmy na chwilę do Corrupted Blood Incident — czy Blizzard chciałby powtarzać takie wydarzenie? Najprawdopodobniej nie, bo ich celem jest zarabianie, a nie przeprowadzanie eksperymentów na ludziach, którzy chcą grać, a nie być królikami doświadczalnymi. Czy chciałby wprowadzić boty jako np. sprzedawców w grze? Być może, jeśli okazałoby się to dla nich opłacalne.

Z kolei grupy badawcze zazwyczaj nie mogą sobie pozwolić na stworzenie gier o takiej jakości, żeby przyciągnąć miliony graczy do ich eksperymentów — gdyby było to proste, to wszyscy teraz robilibyśmy gry komputerowe.

Miejsca upatruję w rozwiązaniach hybrydowych. Do głowy przychodzą mi właśnie takie osoby jak John Hanke — kto siedział po obu stronach i sprawnie skomercjalizował swoje badania (z których może wyniknąć więcej badań — Pokemon Go dla człowieka z wizją to kopalnia wiedzy na temat tego jak uczynić miasta lepszymi), oraz w partnerstwach publiczno-prywatnych, gdzie wkład finansowy badawczy będzie zapewniony przez instytucję naukową, a dostarczenie środowiska przez firmę posiadającą grę.

Spójrzmy jeszcze na kwestię prawną. Wiele obecnych gier MMO zabrania teraz wykorzystywania jakiegokolwiek rodzaju automatyzacji, a nieprzestrzeganie tej zasady skutkuje permanentnym zbanowaniem konta gracza, co dla wielu młodych programistów będzie czynnikiem hamującym.

Ale projekty takie jak fold.it pokazują, że można.

Czyli jesteśmy daleko, ale nie dość daleko. Podobnie jak przy „prawdziwych NPC”, potrzebujemy jeszcze trochę zmian światopoglądowych, żeby móc w pełni zająć się badaniami wirtualnych interakcji maszyna – człowiek.


Ciekawe linki

Wzmianka o Corrupted Blood Incident

Starcraft II automated player

— http://www.businessinsider.com/pokemon-go-niantic-john-hanke-interview-2016-7?IR=T

— https://bib.irb.hr/datoteka/763657.CIS_24_3121.pdf

— http://gamedev.stackexchange.com/questions/23531/what-online-games-would-let-me-practice-ai-development

— https://www.reddit.com/r/civ/comments/2y9toc/the_official_rciv_42_ai_battle_royale_has/

Leave a Reply

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *