Acceleration of Connection
18

Pokonanie najlepszych graczy w StarCraft przez maszynę będzie kluczowe dla rozwoju sztucznej inteligencji

„Zostaw już te gry, to nic mądrego” - na pewno część z Was usłyszała choć raz takie lub podobne słowa od swoich rodziców. Pokażcie im wtedy ten artykuł, okazuje się bowiem, że StarCraft może być przełomowy dla rozwoju sztucznej inteligencji.

StarCraft to strategia czasu rzeczywistego, która miała swoją premierę w 1998 roku. Zachwycałem się nią podczas premiery, ale nigdy nie wciągnąłem się w rozgrywki sieciowe – pewnie dlatego, że te 18 lat temu internet przez modem był szczytem możliwości większości użytkowników komputerów. Świat jednak na punkcie sieciowych zmagań w StarCraft wręcz oszalał, gra była jednym z pierwszych prawdziwych tytułów e-sportowych, a w Korei Południowej stała się sportem narodowym. Dziś gracze wciąż o niej pamiętają, a naukowcy i inżynierowie pracujący nad sztuczną inteligencją wzięli sobie StarCrafta na celownik.

Pokonała mnie maszyna

W wielu grach boty na wysokim poziomie trudności są sporym wyzwaniem. Dużo zależy jednak zarówno od gry, jak i umiejętności samego grającego. Bijatyki wymagają przede wszystkim dobrego refleksu – wtedy wygranie z odpowiednio napisanym programem graniczy niemal z cudem. Sztuczna inteligencja wciąż jednak nie potrafi pokonać najlepszych graczy w produkcjach, gdzie liczy się zarówno strategia, jak i szybkie podejmowanie kluczowych dla rozgrywki decyzji. Jedną z takich gier jest StarCraft i choć na pewno większość graczy uległaby komputerowemu przeciwnikowi, ta garstka najlepszym specjalistów od produkcji Blizzarda sobie z nimi poradzi.

Oczywiście za ten stan rzeczy winić można poziom kodów botów, które w owego StarCrafta grają – to wciąż nie są programy wspierane przez największe firmy z branży, ich twórcy nie mają więc dostępu do góry pieniędzy, która na pewno pchnęłaby ich prace do przodu. Z drugiej strony nawet gdyby za sprawę wzięli się najwięksi, potrzebny byłby jakiś przełom – przełom, którego wciąż nie widzieliśmy. I póki co nawet „głębokie uczenie” (deep learning), które przecież jest kluczowe w badaniach i rozwoju nad SI wciąż nie może sobie poradzić z zawiłością 18 letniej gry. Czy raczej strategii i planowania cechujących najlepszych graczy w StarCrafta.

Bot chce wygrać, a nie naprawdę myśleć

Jednym z problemów kodów napędzających komputerowych graczy jest ich specjalizacja. Bot co do zasady uczy się gry i sposobów na wygranie – to wciąż nie jest sztuczna inteligencja, która potrafiłaby zaadaptować się do zastanych warunków, szczególnie jeśli te podczas rozgrywki wielokrotnie się zmieniają. Bot nauczy się najlepszej ścieżki, ale nie zrozumie zależności – chociażby w grach RPG, gdzie zrozumienie historii, wypowiedzi i podejmowanie odpowiednich wyborów jest kluczowe. A w samym StarCrafcie? Co z tego, że bot szybko rozmieści jednostki, odpowiednio oceni zarówno własne surowce, oddziały jak również siłę oddziałów spostrzeżone przeciwnika, jeśli nie weźmie pod uwagę tego, że człowiek może nie zachować się racjonalnie i zrobić coś, czego maszyna nigdy by nie zrobiła? No właśnie – to odróżnia program od sztucznej inteligencji, której tak bardzo wszyscy wyczekujemy.

Tyle tylko, że któregoś dnia uda się stworzyć sztuczny rozum, który faktycznie zacznie uczyć się i myśleć. Żarty o SkyNecie sobie daruję, ale jak taka inteligentna maszyna odbierze ludzi? Na to pytanie pewnie poznamy odpowiedź dopiero, gdy taki twór faktycznie zostanie stworzony, bo domysły to tylko domysły.

Photo: agsandrew/Depositphotos

grafika: 1

źródło

  • Jakub Dropia

    Ale o co chodzi? Co autor chciał przekazać tym wpisem? Muszę powiedzieć, że czasem Wasze wpisy wołają o pomstę do nieba…

    • Kamil Ro. Dzióbek

      Autor nie chciał przekazać niczego. Autorowi płacą za ilość klików i liter w artykule. Przy czym jest minimalna ilość liter od której forsa jest liczona. Dlatego niezbędne są wypełniacze które nie mają treści.

  • Ari

    „jeśli nie weźmie pod uwagę tego, że człowiek może nie zachować się racjonalnie i zrobić coś, czego maszyna nigdy by nie zrobiła” – to nie znaczy, że człowiek zagra po prostu źle i maszyna powinna jeszcze bardziej wygrać? Problemem tutaj nie jest to, że gracz może grać dziwnie, bo przecież i w szachy ktoś może grać dziwnie/nieracjonalnie.

    Problemem z RTSami itp jest to, że nie da się tutaj przekształcić grę w graf stanów, a później tylko wykonywać „ruchy”. W związku z tym komputer nigdy nie będzie wiedział, jaki ruch jest najlepszy, czy danej taktyki nie da się skontrować itp. A człowiek umie myśleć na tyle abstrakcyjnie, że wymyśli.

    • mall

      Czy aby na pewno? Nie gram w SC ale czasami oglądam casty i większość gier jest do siebie bardzo podobna. Przewaga gracza zaznacza się wyraźnie w takich elementach jak świetne mikro (np. idealne wyczucie zasięgów) czy świetny timing w sterowaniu jednostką/armią (szybsze wycofanie oddziału gdy widać marker AOE). AI można nauczyć nieszablonowego podejścia- zdaje się, że to właśnie ten element sprawił, że AI wygrało w go z człowiekiem niedawno. Generalnie nieszablonowość podejścia to trochę taki chochoł- to jak najbardziej normalne podejście z tym, że stosowane rzadko. A akurat szacowanie ryzyka AI może robić lepiej niż człowiek.

    • wefhy

      Teoretycznie potencjał AI w takich grach jest znacznie wiekszy niż człowieka. Szczególnie w mikro. AI może kontrolować osobno każdą jednostkę nabijając setki tysięcy APM. Atak i wycofanie na poziomie każdej jednostki to ogromna przewaga. Tym bardziej jak można każdą z osobna zaatakować ułamek sekundy przed kontratakiem przeciwnika, wyliczyć wszystko co do milisekundy.
      Problem w tym, że takie działania przy aktualnej mocy obliczeniowej są ograniczone do przewidywania kilku sekund rozgrywki w przód. Ari ma rację, tej gry się nie da rozpisać w graf, bo rozgałęzia się setki razy na sekundę w ogromną ilość kombinacji. Jedna sekunda rozgrywki to jak cała partia szachowa.
      Na dzisiejszym poziomie badań nad AI nie umiemy zaimplementować dobrze funkcji przewidywania działań przeciwnika, podejmowania ryzyka w odpowiedni do sytuacji sposób. AI będzie chciało wykonać optymalną opcję. Niestety optymalna opcja to przewidywalna opcja, na zakrytej mapie nie ma za dużego sensu.

    • mall

      Teoretycznie się rozgałęzia, ale praktycznie po danym wyborze jest kilka scenariuszy jedynie. Nieudany harass na początku zmusza albo do poddania gry (reakcja raczej emocjonalna) albo do przyjęcia postawy defensywnej i poczynienia pewnych założeń co do spodziewanych reakcji przeciwnika.Wydaje mi się, że nieuzasadnione jest zakładanie, że to super-szybkie „szacowanie” różnych scenariuszy realizują gracze w czasie rzeczywistym. Rzeczywistość jest raczej bliższa przyjęciu pewnego planu i jego realizacji z uwzględnieniem działań będących reakcją na działania przeciwnika. A to już raczej nie są miliardy rozwiązań. Mam wrażenie, że to AI od wygranej w go byłoby w stanie już się tego nauczyć.

    • Paweł Winiarski

      Dokładnie – optymalna opcja to przewidywana opcja. I tu drzemie przewaga człowieka, jego styl gry, umiejętność podejmowania ryzyka. Boty nie „znają” takich pojęć, idą po wyliczonej linii.

    • mall

      AI, które wygrało w go podejmowało zaskakujące i nieoczywiste decyzje.

    • Kamil Ro. Dzióbek

      Nie trzeba generować całego drzewa. AlphaGo użył losowego przeszukiwania drzewa.
      https://pl.wikipedia.org/wiki/Monte-Carlo_Tree_Search
      Zmiksowali to też z dwiema sieciami neuronowymi. Pewnie do Starcrafta użyją identycznego podejścia. Wydaje mi się że StarCraft jest prostszy od Go.

    • wefhy

      To nie to samo. W GO masz odkrytą planszę. W Starcrafcie nie, przez co mniej liczy się optymalność zastosowania, a bardziej jego nieprzewidywalność.

    • Huggarn

      Bez przesady z mikro, tu akurat człowiek nie ma najmniejszych szans -> https://www.youtube.com/watch?v=IKVFZ28ybQs

    • xytras

      W tym filmie ataki ludzi nie maja zadnego mikro, przeciez nikt nie pusci tak „psów” na siege…, szczegolnie bez wbicia klina w srodek…

    • Paweł Winiarski

      No właśnie – klasyczny komputer nie będzie tego wiedział, AI już powinna – bo z założenia ma myśleć podobnie jak człowiek (albo i lepiej).

  • doogopis

    Sztuczna inteligencja, jak to dumnie brzmi.Tylko to jak granie z komputerem.
    Działanie człowieka jest łatwo przewidywalne. Możliwości w grach są ograniczone.Większy problem to konstrukcja takiej inteligencji.
    NIby powstają jakieś prototypy, ale to jeszcze nic wielkiego.Jak takowa powstanie to kto wie jak gry bedą wyglądać?

  • Paweł Tadejko

    Bardzo dziwny wpis i na dodatek właściwie o niczym. Warto podkreślić, że komputery właśnie te proste obliczenia potrafią wykonywać piekielnie szybko. Oczywiście czasem głupie obliczenia, bo wszystko zależy od algorytmu. Co ciekawe podobno „kluczowym dla rozwoju sztucznej inteligencji” było pokonanie człowieka przez Google AlphaGo w grze Go.

    Autorowi proponuję bliżej zapoznać się z pojedynkami AlphaGo, a w szczególności z „Move 37 Match 2”. Wtedy nie pisałby takich dziwnych stwierdzeń jak „jeśli nie weźmie pod uwagę tego, że człowiek może nie zachować się racjonalnie i zrobić coś, czego maszyna nigdy by nie zrobiła?”. Ale pomimo tego wszystkiego, wygrana w Go przez sztuczną sieć neuronową uczoną metodą „deep learning”, mimo że jest przełomem, nie oznacza automatycznie, że da się wykorzystać do rozwiązywania innych problemów.

    • Piotr Potulski

      Ta sama sieć neuronowa, może zostać wykorzystana do rozwiązania innych problemów. Bardzo zbliżone mózgi różnych osób są w stanie radzić sobie z kompletnie różnymi klasami problemów po przeprowadzeniu odpowiedniego treningu.

  • Kamil Ro. Dzióbek

    >Pokonanie najlepszych graczy w StarCraft przez maszynę będzie kluczowe dla rozwoju sztucznej inteligencji

    Wątpię by to miało jakiekolwiek znaczenie. Google tym się zajmuje bo to proste i gra jest popularna. Chcą sobie zrobić dobry PR i zareklamować to czym się zajmują.
    Pewnie tylko przetrenują AlphaGo do Starcrafa.

  • Piotr Potulski

    Myślę, że poziom niektórych artykułów zyskałby bardzo, gdyby autorzy mieli chociaż blade pojęcie o dziedzinie na temat której postanowili napisać.