Gromimy mit: czy historia o pokojowo nastawionych botach może być prawdziwa?
Prawda czy fałsz? Postanowiliśmy zapytać eksperta o opublikowaną przez nas historię o botach w Quake 3 Arena, które po kilku latach walki "wynalazły" pokój.
01.07.2013 | aktual.: 05.01.2016 16:11
Jeśli jeszcze nie czytaliście, to odsyłamy do oryginalnej notki. Zaznaczyliśmy tam, że historia pochodzi z 4chana, może być więc nieprawdziwa. Wywołała sporo komentarzy, także negatywnych, bo np. garam napisał:
Ta copypasta jest tak stara i nieprawdziwa, że aż powinniście się wstydzić za jej wrzucenie. Nie przekonaliśmy też Maćka (komentarz z Facebooka):
Bullshit. Sztuczna inteligencja w Q3A jest oparta na tradycyjnych maszynach stanowych, a nie sieci neuronowej. Cała historyjka jest wyssana z palca. Nie zmienia to jednak faktu, że podobny eksperyment jest możliwy do przeprowadzenia i efekty mogłyby być ciekawe. Ale, z drugiej strony, nie było też żadnych dowodów na nieprawdziwość całej historii. Niektórych z Was zainspirowało, jak choćby thekola:
Kurde, piękne to. Ciekawe ile lat nam, ludziom, zajmie dojście do takich wniosków. Postanowiliśmy więc 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."
Tomasz Kutera