Imitacja doskonała

Sztuczna inteligencja w grach komputerowych to głównie proste, szybkie sztuczki, które tylko symulują, że kryje się za nimi coś głębszego. To całkiem jak u człowieka.

15.04.2019

Czyta się kilka minut

Gra Settlers 2, Blue Byte, 1996 r. /
Gra Settlers 2, Blue Byte, 1996 r. /

Programista Ian Millington we wpływowej książce „Artificial Intelligence for Games” pisze o trzech poziomach inteligencji w grach komputerowych. Są to kolejno: ruch, decyzja i strategia. Pierwsze dwa dotyczą pojedynczych „podmiotów” w grze, tzw. agentów. Decyzja to etap rozumowania, od którego zależy, co będzie robił w najbliższym czasie dany agent. Może być to po prostu stanie w miejscu lub patrolowanie po ustalonej ścieżce (co często robią strażnicy w grach przygodowych), zbieranie surowców (co stanowi fundament gier strategiczno-ekonomicznych typu „Settlers” [1993]* albo „Warcraft” [1994]), ale też sen, odpoczynek czy praca (w grach typu „The Sims” (2000), w których kontroluje się życie zwykłych ludzi). Jeśli decyzja brzmi: „Idź do punktu B”, realizowany jest etap „ruch”, polegający na opracowaniu skutecznego sposobu dotarcia do celu. Poziom „strategia” odnosi się zaś nie do pojedynczych agentów, lecz ich grup. To od wyborów strategicznych zależy, czy – w grach typu „Civilization” (1991) albo „Age of Empires” (1997) – wroga cywilizacja już cię zaatakuje, czy też będzie jeszcze gromadzić zasoby i rozwijać kolejne technologie.

Choć dopiero ostatnia z tych kategorii pozwala maszynom nieco rozwinąć skrzydła, większość gier opiera się na dwóch pierwszych.

Zasady gry

Tworzenie gier ma w sobie tyleż ze sztuki, co z rzemiosła. Nawet najwspanialsza idea może skończyć się fiaskiem, gdy samochód prowadzi się jakoś dziwnie, a skuteczne kliknięcie w skrzynię ze skarbami zakrawa na cud. Do niemal mitologicznej rangi zakrawa zaś niedająca się w żaden sposób precyzyjnie zdefiniować cecha dobrych gier: grywalność (playability). Istnieje jednak na nią prosty test: jeśli po zapoznaniu się z nowym tytułem z każdą chwilą chce się grać coraz bardziej – grywalność jest duża. Granie jest wszak przede wszystkim formą rozrywki i ma sprawiać przyjemność. Ta fundamentalna prawda wpływa również na kwestię sztucznej inteligencji.

Prosty przykład. Jedną z najsłynniejszych gier komputerowych wszech czasów jest „Pac-Man” (1980). Inteligencja czterech „duszków”, gdy gonią tytułowego bohatera, ma bardzo prostą postać. Duszek porusza się przed siebie, dopóki nie natrafi na skrzyżowanie dróg. Wtedy może podjąć jedną z dwóch decyzji: albo skręcić w losowo wybranym kierunku, albo wybrać ten kierunek, który bardziej przybliży go do gracza. Zmienna, mogąca przyjmować wartości od 0 do 1, decyduje o tym, jak często będzie wybierana jedna z tych dwóch opcji. I tyle.

To na tyle prosty algorytm, że niektórzy mogliby powątpiewać, czy w ogóle można go określić jako przejaw sztucznej inteligencji. Spójrzmy jednak z punktu widzenia gracza, który równie silnie nienawidzi „za łatwo” i „za trudno”. Gdyby duszki poruszały się całkowicie losowo, gra byłaby względnie łatwa do opanowania. Gdyby zaś zawsze szły w kierunku gracza, prawdopodobnie byłaby za trudna – i niezbyt grywalna. Problem ten znamy zresztą z życia codziennego – wystarczy spędzić godzinę przy jakiejkolwiek grze z prawdziwym ekspertem. Czy to bilard, czy poker, czy „Monopoly”: gra idealna, nastawiona na zwycięstwo, jest po prostu nudna i szybko staje się irytująca. Często nie chodzi przecież tak naprawdę o to, by wygrać, ale o to, by grać! Twórców „game AI” nie interesuje więc zwykle najlepsze, najbardziej inteligentne zachowanie, ale raczej takie, które można płynnie „podkręcać”, za każdym razem uzyskując realistycznego przeciwnika, który nie jest ani zbyt kiepski, ani zbyt dobry.

Wprowadzenie do „Pac-Mana” warunku „lub” sprawiło, że sterując wartością jednej zmiennej, można było w prosty sposób regulować trudność gry. Jednym z najtrudniejszych zadań przy tworzeniu gier komputerowych jest zaś odpowiednie wyregulowanie „krzywej uczenia się” – gracz musi przez cały czas odczuwać przyjemność z pokonywania kolejnych zadań oraz mieć przed sobą jakieś wyzwanie. Jego umiejętności tymczasem stale rosną. Rozwiązanie zastosowane przez twórców „Pac-Mana” ilustruje fundamentalną zasadę „game AI”: prostota!

Ma dodatkową zaletę praktyczną. Gdyby w „,mózgu” każdego duszka siedziała zaawansowana, samoucząca się sieć neuronowa, być może zachowywałyby się one w sposób mogący zachwycić amatorów AI, ale w „Pac-Mana” można by grać wyłącznie na paru superkomputerach świata. To zaś dopiero czterech przeciwników, podczas gdy w grach strategicznych komputer musi często jednocześnie symulować zachowanie kilkuset jednostek.

Co więcej, interakcja gracza z inteligentnym agentem może trwać bardzo krótko. W grach RPG zawierających elementy otwartego świata – jak „Fallout” (1997), „Baldur’s Gate” (1998), „Assassin’s Creed” (2007) czy „Wiedźmin” (2007) – gracz porusza się swobodnie po wirtualnym świecie, napotykając jego mieszkańców. Większość z nich ujrzy tylko na kilka sekund, co Millington określa jako „okno percepcyjne”. Ich inteligencja musi być akurat na tyle dobra, aby gracz miał przez ten krótki czas wrażenie, że ma do czynienia z prawdziwym człowiekiem.

Millington podaje następujący przykład: wyobraźmy sobie, że obserwujemy z przyczajenia strażnika, gdy zza rogu dobiega jakiś odgłos. Jeśli strażnik pobiegnie natychmiast w przeciwnym kierunku, uznamy to za błąd AI – powinien przecież zbadać, co jest źródłem hałasu. Rzeczywisty człowiek może mieć oczywiście mnóstwo powodów, aby biec w drugą stronę: być może boi się albo właśnie na drugim końcu pokoju znajduje się włącznik światła. A może stuknięcie było ustalonym wcześniej sygnałem, że jego kolega-strażnik wsunie za chwilę pod drzwiami paczkę papierosów? Wszystkie te zaawansowane zachowania można oczywiście zasymulować, jednak doceniliby je tylko ci gracze (a są tacy!), którzy śledziliby strażników godzinami. Cała reszta uznałaby, że są oni po prostu kiepsko zaprogramowani.

Z punktu A do punktu B

Biegnący w twoją stronę ork, czołg przekraczający rzekę w symulatorze wojskowym i samochód wyścigowy ścinający zakręt na Nürburgring – to wszystko wymaga znalezienia trasy pomiędzy punktami A i B (gdzie wyznaczenie punktu B należy już do poziomu decyzji i/lub strategii). Tu wkracza pathfinding – odnajdywanie ścieżki.

Zadanie może wydawać się trywialne, ale tylko wtedy, gdy zapomnimy o wszystkich tych przypadkach, gdy sami wjechaliśmy w ślepą uliczkę albo po dojechaniu na miejsce zorientowaliśmy się, że trasa mogła być o połowę krótsza. W rzeczywistości problem znalezienia optymalnej trasy stanowi trudne zagadnienie matematyczne.

Wyznaczenie linii prostej między dwoma punktami jest względnie łatwe. Mogłoby się wydawać, że gdy gra toczy się na otwartym terenie, jak w wielu symulacjach militarnych, załatwia to sprawę. Tego typu lenistwo lubi jednak owocować błędami, czasem spektakularnymi. W grze wojennej „Armed Assault” (2007) niekontrolowani bezpośrednio przez gracza żołnierze idą do celu zawsze po najkrótszej ścieżce, co skutkuje np. tym, że gdy mają przejść na drugą stronę nawet bardzo łagodnej zatoki, zawsze płyną po cięciwie, podczas gdy kilkukrotnie szybciej byłoby biec plażą.

Gdy na mapie występuje wiele przeszkód, jak budynki, gęsty las czy wąwozy, wyznaczenie najlepszej trasy przestaje być zadaniem trywialnym. Istnieje algorytm zawsze znajdujący najkrótszą (lub najszybszą) ścieżkę, tzw. algorytm Dijkstry opracowany w 1956 r. przez holenderskiego programistę Edsgera Dijkstrę, jednak jest on zbyt wolny dla większości zwykłych zastosowań. Polega on na równo- ległym badaniu wszystkich ścieżek wychodzących z punktu A, krok po kroku, na podobieństwo rozrastającego się krzewiaście drzewa możliwości. Gałązki nie mogą się jednak pokrywać, tak że do każdego punktu prowadzi tylko jedna trasa – a pierwsza gałązka w danym miejscu to zawsze ta, która dotarła tam w najmniejszej liczbie kroków. Rozrastanie trwa, dopóki cała mapa nie zostanie pokryta tego typu trajektoriami. Potem po prostu wraca się „po strzałkach” z pożądanego punktu B do punktu wyjścia A. Tego typu algorytm stosuje się jednak wyłącznie wtedy, gdy jest dużo czasu na podjęcie ważnej decyzji, np. w turowych symulacjach strategicznych, gdy komputer może sobie w spokoju obliczać przez parę sekund, a człowiekowi pozostaje cierpliwie patrzeć na przekręcającą się na ekranie klepsydrę. We wszystkich pozostałych przypadkach konieczne są metody przybliżone, które nie zawsze dają dobry rezultat. Ot, we wspomnianej strategii „Age of Empires” nie dość dokładny pathfinding prowadził do dość zabawnych konsekwencji. Szczególnie kłopotliwe były duże zbiorniki wodne, których okrążenie wymagałoby przyjęcia bardzo zawiłej trasy. Oddziały potrafiły godzinami stać w bezruchu nad brzegiem morza, morderczo wpatrując się w stojącego na drugim brzegu wroga.

Trudne wybory

Najprostszym modelem decyzyjnym jest maszyna stanowa, technicznie nazywana też „automatem skończonym”. Automat taki znajduje się zawsze w jednym z kilku określonych z góry stanów. Dla omawianego wyżej przypadku strażnika mogą być to np.: „patrol”, „walka” i „ucieczka”. Przejście pomiędzy nimi następuje po spełnieniu określonego warunku. Przykładowo, strażnik przechodzi od stanu „patrol” do stanu „walka”, gdy ujrzy przeciwnika, a od stanu „walka” do stanu „ucieczka”, gdy zazna poważnych obrażeń (np. gdy jego punkty życia spadną do poziomu 10 proc.). Każdy ze stanów wiąże się ponadto z określonym sposobem ruchu: wędrowanie po ustalonej trajektorii (lub stanie w miejscu) w czasie patrolu, bieg w kierunku przeciwnika w trakcie walki, i bieg w przeciwną stronę podczas ucieczki.

Gra Doom, ID Software, 1993 r.

Nawet przy pomocy tak prostego modelu można z powodzeniem symulować względnie złożone zachowania. Stan „walka” może uwzględniać więcej niż tylko bezmyślny pęd w kierunku wroga, np. utrzymywanie określonego dystansu, który pozwala na wyprowadzanie ciosów. Już w tak prymitywnej grze, jaką był „Doom” (1993), jedna z pierwszych w historii „strzelanek” 3D, wrogowie walczyli na jeden z kilku sposobów, co wymagało od gracza odpowiedniego dopasowania swojego zachowania. Jest to więc przy okazji pierwszy, zalążkowy przypadek emergent gameplay, tj. wyłaniania się złożonych zjawisk wskutek nakładania się na siebie prostych mechanizmów gry i złożonego zachowania graczy.

Pobawmy się jednak dalej naszą prostą maszyną stanową. Stan „ucieczka” może zostać aktywowany od razu, jeśli strażnik widzi zbyt silnego jak dla siebie przeciwnika. Sztuczka ta była z powodzeniem stosowana przez twórców gier typu dungeon crawler (czyli „pełzający po podziemiach”), np. „NetHack” (1987), „Angband” (1990) czy „Diablo” (1996) – zachowanie się potworów zależało tu również od poziomu rozwinięcia postaci gracza. Jedna i ta sama banda rzuci się więc żarłocznie na gracza początkującego, ale rozpierzchnie się na widok zaawansowanego.

Te same gry, rozwijane zresztą do dzisiaj, zawierają często niezliczone warianty podstawowej maszyny stanowej, których skutkiem są odrębne „osobowości” i „style walki” przeciwników. Przykładowo, mało groźne w pojedynkę, ale atakujące gromadnie potwory realizują często strategię polegającą na wciąganiu w zasadzkę. Po otrzymaniu pierwszego ciosu, jakkolwiek mizernego, zawsze przechodzą na parę sekund w tryb „ucieczka” – gdy więc gracz natrafia na najbardziej wysuniętego, pojedynczego osobnika, ten po pierwszym ciosie umknie w kierunku swoich towarzyszy. Jeśli nieostrożny gracz pobiegnie za nim, licząc na łatwe zwycięstwo, po chwili znajdzie się pośrodku chmary przeciwników. To klasyczny przykład strategii emergentnej – zasadzka sama „wyłania się” z zachowania się prostej maszyny stanowej w połączeniu z meandrami psychologii ludzkiej.

Kolejnym typowym sposobem na szybkie „ożywienie” automatu skończonego jest dodanie stanu czwartego – „zaniepokojony”. Przechodzi do niego agent ze stanu „patrol” po usłyszeniu czegoś niepokojącego lub ujrzeniu gracza na krótką chwilę. Strażnik zaniepokojony zmienia sposób poruszania się – zastygając w bezruchu albo przyspieszając – na ustalony okres. Jeśli nic się w tym czasie nie wydarzy, wraca do stanu „patrol”. Niby drobna korekta, a jednak dodająca do gry sporo realizmu.

Oszustwo idealne

Dodajmy na koniec, że znaczna część odpowiedzialności za postrzegany „poziom inteligencji” agentów w grze spada na twórców grafiki i dźwięku. Strażnik w stanie „patrol” mógłby z punktu widzenia programisty stać jak słup przez 8 godzin dniówki, tymczasem rzeczywisty człowiek zacząłby niechybnie szukać sobie jakiegoś zajęcia. Jedną z wielkich przyjemności wędrowania po otwartych światach współczesnych gier RPG jest przysłuchiwanie się rozmowom i zachowaniom przechodniów. W „Wiedźminie 3” (2015) można by godzinami patrzeć na goniące się dzieci, podśpiewujące: „Cisza na morzu, cisza w komnacie, cesarz Emhyr narobił w gacie”, zmęczonego mieszczanina wzdychającego „Jak żyć, wiedźminie?...” albo wieśniaków z nudów oddających się bijatyce za pieniądze. Twórcy tego typu gier prześcigają się w wymyślaniu coraz bardziej realistycznych „mikrozachowań”, jak odwracanie wzroku od rażącego światła czy chowanie się pod daszkiem w czasie deszczu. Nie wymaga to stosowania AI w zwykłym sensie, stanowi jednak efektywną symulację inteligencji.

Paradoksalnie próby stosowania rzeczywistej, zaawansowanej sztucznej inteligencji są, poza grami typowo logicznymi, nieliczne i zasadniczo mało udane. Millington pisze, że z dużym zawodem przyjął grę „Creatures” (1994), polegającą na hodowaniu autonomicznych, rozwijających się na oczach gracza stworzonek. Ich „mózgi” były prawdziwymi sieciami neuronowymi, rozwijającymi się pod wpływem algorytmów ewolucyjnych, a więc metodą prób i błędów. Stworzonka zachowywały się dziwnie, nieciekawie, „szczerze mówiąc – głupio”, wspomina Millington. Co więcej, w algorytmach ewolucyjnych nie do wyeliminowania jest element nieudanego eksperymentu. Choć my sami wyłoniliśmy się wskutek miliardów nieudanych eksperymentów, a każde inteligentne zachowanie okupione jest dziesiątkami zachowań idiotycznych, niekoniecznie chcemy oglądać te wszystkie niezbędne potknięcia na ekranie swojego komputera. Niemożliwość przewidzenia, jak zachowa się dany agent, może cieszyć teoretyków AI, ale nie twórców gier, które mają oferować graczom przyjemne doznanie. Prawdziwa, żywa, rozwijająca się na naszych oczach inteligencja prędzej czy później doprowadzi do wyłonienia się jakiegoś irytującego błędu, a potencjalny zysk – ze względu na ograniczony rozmiar „okna percepcyjnego” – jest niewielki.

W ten sposób wracamy do tego, od czego zaczęliśmy – do wymiaru pragmatycznego „game AI”. Jest ona narzędziem, które ma służyć osiągnięciu określonego celu przy jak najmniejszych poniesionych nakładach. Przestrzelenie – stosowanie zawsze najbardziej zaawansowanych technik analizy i przeprowadzanie każdego procesu decyzyjnego „do dna” – jest nie tylko niepotrzebne, ale bywa wręcz irytujące i prowadzi do rezultatów przeciwnych: czasem najlepsze jest zachowanie proste i przewidywalne. Brzmi znajomo, prawda? ©℗

* Rok wydania odnosi się zawsze do pierwszej gry w serii.

Gra The Sims, Maxis Software, Electronic Arts, 2000 r.

 

PSYCHIKA SIMÓW

Analizę procesu decyzyjnego można dowolnie komplikować, tworząc coraz lepsze imitacje ludzkiej psychiki. W grze „The Sims” agenci („Simowie”) zamieszkujący kontrolowany przez gracza świat są już wyposażeni w szereg typowo ludzkich potrzeb, które zaspokajają poprzez jedzenie, spanie, pracę albo ćwiczenia fizyczne. Decyzja o podjęciu którejś z tych aktywności sprowadza się do spełnienia pewnego warunku matematycznego, jednak stanowiącego odzwierciedlenie prawideł ludzkiej psychiki. Przykładowo, zjedzenie szybkiej przekąski obniża poziom głodu o 2 punkty w ciągu 15 minut, podczas gdy przygotowanie pełnego posiłku odejmuje aż 4 „punkty głodu”, jednak dopiero za 2 godziny. Podobne reguły opisują np. różne formy odpoczynku (szybka drzemka, długi sen). Ponieważ Simowie zachowują się zasadniczo na sposób minimalizujący poziom niezadowolenia (będący sumą „punktów głodu”, „punktów zmęczenia” i innych), ich postępowanie w skali kolejnych dni jest niebanalną mieszaniną impulsywnych decyzji i rozsądnego, długofalowego zarządzania czasem.

Dziękujemy, że nas czytasz!

Wykupienie dostępu pozwoli Ci czytać artykuły wysokiej jakości i wspierać niezależne dziennikarstwo w wymagających dla wydawców czasach. Rośnij z nami! Pełna oferta →

Dostęp 10/10

  • 10 dni dostępu - poznaj nas
  • Natychmiastowy dostęp
  • Ogromne archiwum
  • Zapamiętaj i czytaj później
  • Autorskie newslettery premium
  • Także w formatach PDF, EPUB i MOBI
10,00 zł

Dostęp kwartalny

Kwartalny dostęp do TygodnikPowszechny.pl
  • Natychmiastowy dostęp
  • 92 dni dostępu = aż 13 numerów Tygodnika
  • Ogromne archiwum
  • Zapamiętaj i czytaj później
  • Autorskie newslettery premium
  • Także w formatach PDF, EPUB i MOBI
89,90 zł
© Wszelkie prawa w tym prawa autorów i wydawcy zastrzeżone. Jakiekolwiek dalsze rozpowszechnianie artykułów i innych części czasopisma bez zgody wydawcy zabronione [nota wydawnicza]. Jeśli na końcu artykułu znajduje się znak ℗, wówczas istnieje możliwość przedruku po zakupieniu licencji od Wydawcy [kontakt z Wydawcą]
Filozof przyrody i dziennikarz naukowy, specjalizuje się w kosmologii, astrofizyce oraz zagadnieniach filozoficznych związanych z tymi naukami. Pracownik naukowy Uniwersytetu Jagiellońskiego w Krakowie, członek Centrum Kopernika Badań Interdyscyplinarnych,… więcej

Artykuł pochodzi z numeru Nr 16/2019