Zmien skórke
Logo Polygamii

Komputer obliczył, że najlepszą strategią na zwycięstwo jest zaprzestanie walki

Co się stanie, jeśli w popularnej strzelance na 4 lata zostawisz 16 sterowanych przez komputer postaci walczących ze sobą?

Postaci sterowane przez komputer (boty) w Quake 3 Arena zostały zaprojektowane tak, by uczyły się od gracza (a także od siebie nawzajem) zachowań i strategii. Ich sztuczna inteligencja sprawdza kolejne taktyki, akceptuje działające i odrzuca te, które się nie sprawdzają. To jedna z pierwszych gier, w których zastosowano takie rozwiązanie.

Gdy pewien użytkownik popularnego forum 4chan się o tym dowiedział, postanowił założyć serwer z nigdy niekończącym się meczem tej gry, w którym ścierało się ze sobą 16 botów. Zupełnie jednak o nim zapomniał. Dopiero 4 lata później postanowił sprawdzić, co stało się z jego eksperymentem. Do jakiego poziomu doszły boty? Czy zabijają się nawzajem w pół sekundy? Jak celne są?

Po zajrzeniu na serwer okazało się, że… stoją w miejscu. Czy był to jakiś błąd? Po zmianie mapy sytuacja się nie zmieniła. Okazało się natomiast, że plik z zapisem sztucznej inteligencji każdego z botów zajmuje… 512MB – bardzo, bardzo dużo.

Użytkownik 4chana (który niestety pozostaje anonimowy) postanowił więc samemu dołączyć do botów. Zainstalował grę, a gdy wszedł do meczu… nic się nie zmieniło. Zaobserwował tylko, że gdy porusza się po mapie, komputerowe postaci kręcą się wokół własnej osi, obserwując go. Wziął więc broń i strzelił do jednej z nich. Wtedy wszystkie się na niego rzuciły, a gra zawiesiła się.

Wygląda więc na to, że po 4 latach bezustannego ścierania się ze sobą, komputer opracował najbardziej opłacalną strategię – bezczynność. “Nikt nie umiera, jeśli nikt nie zabija“, jak napisał ktoś na 4chanie. Gdy jedna ze stron zaatakowała inną, pozostałe stwierdziły, że muszą ją wyeliminować.

Innymi słowy, komputer wynalazł pokój (na świecie).

Oczywiście, nie mamy do końca pewności, że to prawdziwa historia. Jedynym dowodem są wpisy na 4chanie (a te bywają różne, bo przecież w Internecie nikt nie wie, że jesteś psem), których zapis można znaleźć choćby tutaj.

Ale nawet jeśli to kłamstwo, to pięknie wymyślone.

Tomasz Kutera

Historia wzbudziła sporo kontrowersji, o opinię zapytaliśmy więc eksperta. Znajdziecie ją tutaj. Albo poniżej.

Postanowiliśmy zapytać eksperta. Mieszko Zieliński jest programistą AI w studiu People Can Fly, pracował między innymi przy Bulletstorm. Obszerny, archiwalny wywiad na temat jego pracy można znaleźć tutaj. Poniżej publikujemy zaś jego komentarz do historii z Quake 3 Arena:

“Moja pierwsza obserwacja, która nie wymaga nawet wiedzy AI-owej, to że up-time’em rzędu 4 lat pochwalić się mogą tylko profesjonalne rozwiązania serwerowe, więc pytanie, jak ktoś mógł zapuścić sobie taki serwer Quake na drogiej maszynie i zwyczajnie o tym zapomnieć.

Druga obserwacja: co to znaczy “plik z zapisem sztucznej inteligencji”? W każdym razie, jeżeli dla każdego bota zajmował 512 MB, to znaczy, że dla 16 botów byłoby to 8GB, co dla 32-bitowego programu, jakim był Quake 3 Arena, oznacza crash z powodu OOM (out of memory – 32-bitowe programy mogą wykorzystać do 4GB pamięci, taką mają przestrzeń adresową).

A teraz co do meritum AI-owego: jeżeli ktoś rzeczywiście postawiłby taką grę, to nie w 4 lata, a o wiele krócej można uzyskać taki sam efekt. Wszystko sprowadza się do “funkcji oceny” dostępnych działań czy aktualnego stanu gry. Jeżeli taka funkcja oceny preferuje przeżycie nad zdobywanie punktów, to oczywiście “optymalnym”, stabilnym stanem gry jest, kiedy żaden AI nie atakuje innych. To z kolei jest realne tylko, kiedy wszystkie 16 botów realizuje ten sam kod, na tych samych parametrach, czyli na przykład każdy jest w takim samym stopniu agresywny, celny, szybki, skory do skakania, ceniący własne życie itp.

Nawet w takim przypadku potrzebna byłaby specjalnie przygotowana mapa, żeby każdy AI pojawił się w identycznej odległości od wszystkich istotnych zasobów (jak broń, zbroje, inni przeciwnicy) – w innym przypadku subtelne różnice w wyliczanej “przydatności” wpłynęłyby na wybieranie różnych akcji przez poszczególne boty. Ten argument można obalić, twierdząc, że do stanu równowagi AI doszło z czasem. Ale tu wchodzi argument ostateczny: jeśli wszystkie boty traktują eliminację potencjalnego zagrożenia (jak tego gracza, który włączył się do gry i zaczął strzelać) jako najwyższy priorytet, wówczas ten bot, który odda ostatni strzał eliminujący zagrożenie dostaje za to zabójstwo punkty i wtedy to on zostanie potraktowany jako największe zagrożenie.

Oczywiście można sobie wyobrazić kawałek kodu, który będzie rozpoznawał, że dany kill był “egzekucją dla dobra ogółu”, ale to by w ogóle znaczyło, że ktoś stworzył boty z gruntu pokojowo nastawione i walczące tylko po to, żeby wyeliminować mącicieli porządku publicznego.

Podsumowując: teoretycznie możliwe, ale nie wierzę, że to prawdziwa historia.”

Więcej na temat:

Dodaj komentarz

Zaloguj się by skomentować
  Subskrybuj  
Powiadom o