tvgry.pl Problemy AI - dlaczego Sztuczna Inteligencja jest taka... głupia?

14.04.2017 17:02
1
1
thomas_
23
Chorąży

Jednym z najlepiej zaprojektowanych AI jest mały nieruchomy kamyk, jest tak inteligentnie zaprojektowany że daje fory graczowi żeby ten go przeskoczył, a nawet obszedł od prawej bądź nawet lewej strony. Ich skrypt pojawia się w polu widzenia wirtualnego avatara, tak żeby czasem nie obciążać komputera i by grafika mogła być lepsza. Czasem nawet inteligentnie z daleka staje się brzydszy żeby nie przegrzewać obwodów sprzętu i gracza. Te najbardziej inteligentne nawet z bliższa są brzydkie.
Ps. o czym do cholery jest ten materiał?

14.04.2017 17:50
2
odpowiedz
Orek666
13
Centurion

Najlepsze AI w serii total war - medieval jedynka :)

14.04.2017 17:57
3
1
odpowiedz
MajsterX4
11
Chorąży

Najlepiej, jakby dano dwa tryby: normalny (czyli taki, jaki mamy obecnie w grach) oraz zaawansowany (gdzie AI stara się imitować zachowania człowieka na tyle, ile pozwalają możliwości). Każdy byłby wtedy zadowolony.?

14.04.2017 19:07
4
2
odpowiedz
Ummon
10
Legionista

aha, czyli to programiści tak robią. np. cywilizację 5 żeby AI było specjalnie głupie i spamowało archerów w erze industrial, a na wyższych poziomach trudności zamiast wyłączyć ogłupianie, to dają bonusy do produkcji, że AI spamuje tak dużo archerów, że już trudno się przez nich przebić czołgami.
Makes perfect sense.

14.04.2017 19:16
5
odpowiedz
ajax34
26
Porucznik

Wystające głowy zza przeszkód i tak rządzą.

14.04.2017 20:02
6
odpowiedz
Cobrasss
113
Senator

Tak skrypty :) Do dziś śmieszy mnie że w Call of duty Modern Warfare 2 mamy przestrzelić zawiasy w drzwiach a AI tylko stoi i do nas ciągle nawołuje SHOOT THE HINGES! jakby sami tego zrobić nie mogli.

14.04.2017 20:43
7
1
odpowiedz
Assassinek06
29
Chorąży

Najgłupsza garść skryptów na świecie - Płotka.

14.04.2017 21:27
8
1
odpowiedz
<Rydygier>
16
Memento mori

Trochę niejasny cel tego wywodu. Nieco racji, nieco dziwnych tez a przynajmniej jedno, mam wrażenie, mylne mniemanie - że oto devowie są w stanie bez problemu stworzyć o niebo bardziej zaawansowane AI, o niebywałych zdolnościach uczenia itp. a nie robią, by nie drażnić graczy. Mnie się zdaje, że devowie, przynajmniej niektórzy, gdyby tylko umieli/gdyby opłacało im się uczyć, tworzyliby znacznie bardziej zaawansowane AI. Tyle, że to nie takie trywialne i niestety mało kto próbuje, a szkoda. Na tubce można sobie pooglądać bardzo rudymentarne jak dotąd eksperymenty z ewolucji sieci neuronowych, fascynujące, ale na razie raczej ciekawostka z punktu widzenia gracza. W ilu grach jest coś takiego wykorzystywane?

Zachowania/reakcje AI mogą być tak szybkie, że gracz nie ma szans, a skuteczność (np. celność, spostrzegawczość, refleks) absolutna i tu trzeba AI temperować, by je uczłowieczyć. To, jak zauważono, nie jest pogarszaniem AI a własnie ulepszaniem. Ale nie to świadczy o zaawansowaniu AI, to świadczy jedynie o naturalnie ponadludzkiej mocy obliczeniowej procesora. Nie wiem, czy ten poziom się w ogóle godzi nazywać AI. Ja bym zarezerwował ten termin dla zachowań, gdzie pojawia się dynamiczna decyzyjność, może nawet adaptacja, nie tylko reaktywność czy podążanie za liniowym skryptem. Złożoność, dynamiczność, adaptacja i wszechstronność zachowań. Ale to rzecz umowna.

O zaawansowaniu AI też wcale niekoniecznie musi świadczyć naga efektywność w rozwiązywaniu problemów. AI może być również zaawansowana np. pod kątem przekonującego symulowania cech ludzkich, wraz z niedoskonałościami - i to się po mojemu liczy, w tym sedno, tam cel.

W mojej ulubionej Arma 3 AI owszem, posiada ograniczoną zdolność flankowania (w ramach działania w grupie) i nie słyszałem, by komuś to przeszkadzało. Gracze nauczyli się brać na to poprawkę i git. Co przeszkadza? Często właśnie to, że AI pod ogniem nie miewa wystarczająco ludzkich odruchów (panika, dezorientacja, przede wszystkim chowanie się, odstrzeliwanie się na ślepo, dbałość o własne życie). Słowem tam AI jest na tyle zaawansowane, że gracze narzekają na sprawy, które nawet by im nie przyszły do głowy wobec prymitywniejszej AI w innej grze. Inna sprawa, odwrotna, z pojazdami. Tam AI nie bywa nieludzko odważna/niewzruszona czy sprawna, a nieludzko nieudolna - pijany szympans za kółkiem. Optimum, którego oczekują gracze w obu przypadkach jest jedno - maksymalne "uczłowieczenie" zachowań. Co ciekawe, jednocześnie bez krępacji narzeka się, jak wymagająca dla CPU jest ta gra.

Takie naprawdę dobre AI, tzn. dające głębią swych algorytmów przyzwoite złudzenie ludzkiego sposobu działania i nie ośmieszające się/demaskujące się idiotyzmami, jest moim zdaniem wyzwaniem niebywale ambitnym. Kto próbował takie coś napisać, ten pewnie wie. Kto nie próbował - temu może się wydawać, ilekroć przyłapie AI na czymś durnym, czego człowiek nigdy by nie zrobił, że twórcy to idioci albo lenie, którzy olali rzecz oczywistą, i bez trudu mogli problemu uniknąć. Bo przecież to oczywiste że w takiej sytuacji człowiek zrobiłby to, a nie tamto. Nic bardziej mylnego, a też przełożyć bez luk tzw. zdrowy rozsądek na kod algorytmu to poniekąd niepodobieństwo.

Na koniec - rzecz przeca jasna, że to, co potocznie, w grach, zwiemy AI, to jest niewątpliwie A, ale niespecjalnie I. Że to algorytmy mające dać złudzenie, iż mamy do czynienia z ludzkim, inteligentnym zachowaniem, a nie prawdziwe byty samoświadome. Faktycznie też mylnie chyba niektórzy przeciwstawiają "prawdziwe" AI i "skrypty" podczas, gdy jedno i drugie to po prostu kod. Zwykle mają pewnie na myśli algorytmy dynamiczne, adaptatywne, rozgałęzione etc. z jednej strony i statyczne, liniowo-reaktywne czy jak je zwać z drugiej.

post wyedytowany przez <Rydygier> 2017-04-14 22:31:13
14.04.2017 21:49
9
1
odpowiedz
wcogram
77
Generał

AI botów/npc w grach stoi w miejscu coś od dekady. Deweloperzy walą 4K z rozmyciami. Jest to szybsze i łatwiejsze niż zrobienie dobrego AI.
To samo tyczy się fizyki.
Gdyby mieli rozwijać, grafikę, fizykę i AI to konsole by się spaliły na starcie.

14.04.2017 23:20
10
odpowiedz
Jakubik219
19
Legionista

AI korzysta często z różnego rodzaju pomocy jak w starych rts age of empires i jemu podobne gdzie wróg ma nielimitowane surowce czy zawsze wie gdzie jesteś i mimo ogłupiania AI gracz uważa się oszukany. W moim przypadku często czuje frustrację gdy dostaje heda z drugiego końca mapy od gościa którego nawet nie widzę. Ale najbardziej wnerwiają mnie towarzysze są jeszcze bardziej ogłupieni niż przeciwnik bo inaczej nie miałbym co robić i zajdzie mnie jakiś fagas od boku a ten go nie zabije żeby nie psuć mi zabawy ;( Na marginesie fajny materjał.

15.04.2017 01:36
11
1
odpowiedz
Gosen
76
Pretorianin

Ja bym uważał tak rozdzielać skrypty od AI, bo wszystko na jednym wózku jedzie jak dla mnie. Wystarczająca (bardzo duża) ilość skomplikowanych skryptów i jest inteligencja. Człowiek działa tak samo, po prostu ma napakowanych tych neuronów tyle, że pojawia się iluzja świadomości. Umiejętność nauki żywego organizmu czy komputera to po prostu: "jeśli A nie działa, spróbuj B" + "wybierz najwydajniejsze rozwiązanie ze zbioru X".

Nie widzę problemu by stworzyć coś takiego np. w grach piłkarskich, tym bardziej że w PES zbiera dość szczegółowe statystyki jak gramy. Drużyny rywala by to analizowały i jeśli wykryły, że dużo gramy skrzydłami to nie pozwoliłyby nam w kolejnych spotkaniach na tak swobodne rajdy po bokach boiska. Z resztą chyba w 2017 coś podobnego już funkcjonuje.

W rpgach sługusy głównego wroga zdawałyby raport tak by kolejni nasyłani sub-bossowie dostosowywali się do naszego stylu (poszliśmy w łuki to pojawi się więcej tarczy). To gracz będzie zaskoczony, ale każdy inaczej:

"Słuchaj ziomek, jak pokonać tych tarczowników?"
"Co? Przez całą grę nie widziałem żadnych tarczowników! Było grać zabójcą, tylko te cholerne miny wszędzie..."

Indywidualne doświadczenie i więcej rozmów o tytule między ludźmi tylko promuje dany tytuł. To ma nawet swoją nazwę - buzz marketing o ile się nie mylę.

A tak w ogóle to wpadłem na inny pomysł - proste skrypty jak przy testach psychologicznych. Pytania ukryte, przemycane w dialogach tak by w trakcie gry AI/skrypt poznawałby gracza i na tej podstawie atakował w jego słabości lub jeśli wybrałby łatwiejszy poziom to nie naciskałby tam, gdzie zaboli najbardziej. Na najtrudniejszym natomiast generowałby scenariusze, które sprawiałyby danej osobie największą trudność. Tak na dobrą sprawę jest to rozwinięcie algorytmów z wyszukiwarek, tylko w przeciwnym kierunku jeśli chcemy wyzwania. Wolisz zagadki humanistyczne to hard będzie zrobiony specjalnie dla ciebie - zasypiemy cię zadaniami z matematyki.

Jakby tego nie rozwiązali, mam nadzieję, że przyszłość gier podejdzie bardziej indywidualnie do gracza. Coś, na co na razie odważył się po części Wiedźmin, również w wypadku drugiej części, choć w bardzo ograniczonym zakresie.

post wyedytowany przez Gosen 2017-04-15 01:51:48
15.04.2017 11:41
12
3
odpowiedz
2 odpowiedzi
acat
2
Junior

Przykro mi ale licząc na ciekawy materiał srogo się zawiodłem. Liczba nieścisłości, błędnych założeń i wniosków jest przytłaczająca.
Pozwolę sobie odnieść się merytorycznie i zgodnie z moim doświadczeniem w temacie chociaż do części z nich (bo na wszystkie przepraszam nie mam czasu, ale jeśli ktoś chciałby bardziej szczegółowych odpowiedzi to zapraszam do dyskusji.)
Także tak w miarę na szybko:

1. (04:47) Powiedzenie, że AI w grach nie istnieje bo postacie nie są inteligentne tylko oskryptowane to mylenie pojęć. Tzw. silnej sztucznej inteligencji nie potrafimy stworzyć (różne są opinie czy kiedykolwiek będziemy potrafili) i pod pojęciem AI zarówno w grach jak i innych dziedzinach są techniki które nie są 'inteligentne' - bo to jest po prostu trochę kodu nadbudowanego na aparat matematyczny. I bez względu na to czy będą to proste drzewa decyzyjne, drzewa behawioralne, uczenie się ze wzmocnieniem, czy MCTS / genetyk / sieć neuronowa jest to po prostu zbiór zahardcodowanych/nauczonych strategii radzenia sobie w określonych sytuacjach.

I, jak każdy kawałek kodu działającego w zewnętrznym środowisku, AI ma problemy z radzeniem sobie w sytuacjach których wcześniej nie zostało nauczone oraz upraszcza i ujednoznacznia sytuacje które pobieżnie wydają mu się podobne - inaczej złożoność takiego AI wymagałaby bardzo dużego nakładu pracy i najprawdopodobniej uniemożliwiłaby jego efektywne działanie pod względem obliczeniowym.

2. (03:08), (03:41) Należy odróżnić dwa typy przeciwników w grach, tzw. 'AI as adversary' - gdzie AI jest równorzędnym przeciwnikiem gracza (szachy, starcraft, cywilizacja) od 'AI as villian' - gdzie siły nie są rozłożone równo i przeciwnicy mają zostać pokonani ale generalnie dysponują dużą przewagę ze względu na założenia scenariusza (wszystkie fps gdzie przebijamy się przez hordy wrogów, skradanki). W tym sensie można powiedzieć, że AI musi być uproszczone/ograniczone, ale z drugiej strony to jest kwestia scenariusza.

Jeśli komputer dysponuje hordą przeciwników, ale musi ich rzucać falami - bo takie są założenia scenariusza - to interesuje nas ich AI, a nie fakt że mógł je rzucić wszystkie na raz. I jeśli oni są głupi (a nie powinni - bo oddzielmy również sytuację kiedy AI jest głupie bo fabularnie ma to sens, np. zombie wszelkiej maści) to jest kwestia która nas bezpośrednio interesuje.

3. Często pokazywane w materiale szachy (01:18). Ludzie zajmują się AI do szachów od dziesięcioleci - był to problem którego rozwiązanie było utożsamiane z osiągnięciem silnej sztucznej inteligencji (i jako takie zawiodło) i w związku z tym włożono tam masę pomysłów i energii. Istnieją wyspecjalizowane algorytmy, funkcje heurystyczne, bardzo efektywne sposoby kodowania planszy na bitach itd. Tak, AI szachowe generalnie pokonuje ludzi i jeśli się je robi na potrzeby gry która ma uczyć - to komplikuje kwestię. Ale to dlatego że chcemy stworzyć nie jedno super AI, tylko takie które ma wiele stopni zaawansowania, co więcej ściśle określonych (tzn. musimy im przypisać odpowiednie rankingi).

Ale to jest przypadek jednostkowy - weźmy takiego StarCrafta. Zawody AI korzystające z BWAPI rozgrywają się od lat i komputery nadal dostają od ludzi łomot. W zeszłym roku Google DeepMind ogłosiło, że biorą się za Stara 2 i będzą do niego tworzyć AI - może wtedy coś z tego będzie. Ale jak na razie to nie istnieje na świecie AI do StarCrafta zdolne pokonać profesjonalnych ludzkich graczy - więc nie ma tu żadnych forów! (00:30)

4. (02:16) Tylko jednym zdaniem - jeśli AI podążało za graczem do wąskiego przejścia, gdzie dawało się wystrzeliwać jak kaczki to rzeczywiście było głupie. To, że jeden element jest sprytny i dopracowany to nie znaczy, że całość należy określić jako mądre AI. Po prostu jego mądre zachowanie doprowadziło do wykrycia głupiego zachowania. Trzeba siąść i porządnie zakodować a nie narzekać.

5. (03:49) Przytoczony przykład AI w skradankach. Zdecydujmy się - materiał jest o AI w grze czy fakcie, że gra mając pełna władzę nad światem może zabić postać gracza w pierwszej sekundzie? Oczywiście, że gra wie gdzie znajduje się gracz, ale fakt że automagicznie strażnicy z drugiego końca budynku nie są o tym informowanie nie oznacza, że nie są inteligentni tylko że system jest spójny z przedstawioną wizja świata. Przecież takie coś byłoby bez sensu - to oczywiste, że gracz musi być blisko (w polu widzenia, słyszenia, czucia) strażnika żeby ten zareagował.

Kwestia jest - jak zareagował! Jako, że w tym momencie mówimy o sztucznych wartościach, ciężko przymierzalnych do świata rzeczywistego, rzecz ma się w sensytywności która opiera się na arbitralnych wartościach. Jeśli umożliwimy AI nasłuchiwanie gracza z odległości 100 metrów pomimo, że się skrada gra jest bez sensu - ale to nie ma nic wspólnego z AI tylko z mechaniką systemu! Od AI zależy jak się zachowa gdy gracza zobaczy, jak zareaguje na zmiany w otoczeniu, itd. To jest przypadek AI as villian i to, że gra może stworzyć przeciwników nie do pokonania podkręcając im wartości jest zagadnieniem odrębnym od samego AI.

6. Autor brzmi jakby nie zdawał sobie sprawy z ograniczeń rzeczywistości. To nie jest tak, że MOŻEMY stworzyć AI które się będzie uczyło, adaptowało, robiło same mądre rzeczy ale tego NIE ROBIMY bo nie. Przy standardowych grach (zachowując założenie, że strony mają grać fair i odkładając założenia scenariusza i wszystkowiedzącą grę na bok) złożoność problemu decyzyjnego i orientacji w świecie jest tak duża, że takiego AI po prostu zrobić się nie da. Albo wymagałoby to większych środków i czasu niż cała reszta gry. Dlatego często twórcy idą na łatwiznę manipulując parametrami zamiast tworzyć rozbudowane i nietrywialne AI (05:20). Bo to jest prostsze, a na pewno (lepiej lub gorzej) możliwe do zrobienia.

BTW Akurat na platformie CodinGame trwają zawody w pisaniu AI do gierki w której sterujemy flotyllą statków pływających za rumem, omijających miny i strzelających do innych statków - przeciwnikami są AI innych ludzi - serdecznie zapraszam.

15.04.2017 11:55
12.1
<Rydygier>
16
Memento mori

Ot, pożytek z materiału - sprowokował tak ciekawy komentarz. Być może tvgry.pl w materiałach merytorycznych (czyli według mnie najbardziej wartościowych) powinno czerpać regularnie i śmiało z eksperckiego doradztwa/outsourcingu tam, gdzie wiedzy własnej kuso, czyli po prostu zapraszać znawców do studia lub robić wywiady na odległość itp. Nikt zdrowy na umyśle nie wymaga chyba od redaktorów, by znali się na tym wszystkim, a jednak warto, by i ta zbyt mało znana im wiedza była popularyzowana, byle rzetelnie.

post wyedytowany przez <Rydygier> 2017-04-15 11:59:01
17.04.2017 01:39
12.2
-1
Thorgal93
6
Junior

Tak jak napisał Rydygier - największa zaleta tego materiału jest taka, że pod spodem zaczęli wypowiadać się ludzie, którzy się znają na rzeczy! :)

Sorry Arasz, ale tym razem pokpiłeś sprawę (jak rzadko).

23.04.2017 17:35
13
odpowiedz
nietoperztbg
53
Pretorianin

Absolutnie się zgadzam ze wszystkimi krytycznymi komentarzami dotyczącymi tego materiału.

23.04.2017 21:45
14
odpowiedz
Al Swearengen
33
Pretorianin

ej wystraczy przejrzeć te nasze forum, naprawdę uważacie ze te wszystkie hydra czy camelsony byłyby w stanie pokonać przeciwnika o inteligencji wyższej niż taka gąbka?

tvgry.pl Problemy AI - dlaczego Sztuczna Inteligencja jest taka... głupia?