BLOGCZEJNalpha

Sztuczna inteligencja, która gra - Krótka seria o grach

Podczas ostatniej edycji tematów tygodnia pojawił się temat "Drzewa klasyfikacyjne", które można ostatecznie powiązać z AI. Troszkę poopowiadałem o tym, chociaż nie skupiłem się na różnego rodzaju algorytmach genetycznych czy ogólnie sztucznej inteligencji. Temat ten odżył dość niedawno i na studiach pojęcie sztucznej sieci neuronowej było raczej science fiction (chociaż na upartego już wtedy były).

https://cdn.pixabay.com/photo/2016/08/23/06/45/bot-1613652_960_720.png

Aktualnie mamy rozgrywkę LuigI/O i troszkę o tym (i innych projektach opowiemy).

LuigI/O

LuigI/O to projekt przejścia całej gry Super Mario Bros (gra z NES / Pegasus z 1985 roku - znana u nas ze składanek 9999999999999999 w 1 z bazarów).

Oczywiście postacią zielonego Mario gra sztuczna inteligencja używając emulatora (i save stateów). Wczoraj po 7 dniach, 19 godzinach, 14 minutach i 54 sekundach udało mu się przejść planszę 5-3 ;)

https://www.youtube.com/watch?v=SvMKFs74JXQ

Projekt oczywiście trwa już z 3 miesiące, więc (co możecie się domyślić) nie jest to AI za szybkie ;) Twórcy starają się maksymalnie przyspieszyć czas przechodzenia poziomów.

Ogólnie nie jestem ekspertem od algorytmów genetycznych, więc nie wiem jak działa (ale się wypowiem). Pozwala się przejść iluś osobnikom z generacji 0 kawałek planszy. Potem bierze się najlepsze wyniki i krzyżuje (ich wiedzę?), przez co kolejna generacja jest lepsza od poprzedniej. I tak aż Luigi przejdzie dany poziom.

Piglet

Piglet to piękna cyber-kobieta-prosiak. Nie wiem czemu autor stwierdził, że to ona - może dlatego, że to pewnego rodzaju sztuczna inteligencja. Ogólnie myśląc o AI myślimy o komputerze, który podejmuje decyzje, jednak często mogą to być irracjonalne decyzje nie na podstawie dowodów. W pewien sposób Piglet tak działa.

Weźmy dla przykładu Mario. Jak idziemy w lewo to świat się kończy i nie możemy iść - niewidzialna ściana. Jak idziemy w prawo to świat się przesuwa, dużo rzeczy zaczyna się dziać. A skoro dużo się dzieje, to dla bota jest lepiej niż jak nic się nie dzieje. I w ten sposób Piglet próbuje przejść poziom - na podstawie decydowania czy dzieje się dużo w pamięci emulatora. Jeśli dana czynność dużo nie zmienia w ekosystemie to jest uznawana za nudną (a gra uruchamia się od save state).

Ogólnie sam się tym bawiłem chwilę, ale na rezultaty raczej trzeba parę dni poczekać (jak to w AI). Dla przykładu mam filmik z Youtube z Pokemon Yellow, w którym Red wychodzi z domu po 6 godzinach ;)

https://www.youtube.com/watch?v=mu2ffFgDaow

Piglet to dodatek do VisualBoy Advance (ale musi obsługiwać skrypty LUA - jest specjalna wersja nieoficjalna do TASów).

Code bullet i ich gry.

Code bullet to kanał na Youtube https://www.youtube.com/channel/UC0e3QhIYukixgh5VVpKHH9Q/undefined zajmujący się tematyką AI. Na podstawie oryginalnych gier tworzą ich kopie, a potem oskryptowują z wykorzystaniem algorytmów genetycznych. Jest to o tyle ciekawe, że ich gry są (przynajmniej część) darmowa i Open Source, więc można postawić je u siebie (lub oglądać przez przeglądarkę) i samemu odtworzyć zadania.

Tutaj dla przykładu film o najtrudniejszej grze świata:
https://www.youtube.com/watch?v=Yo2SepcNyw4

A tutaj możecie przetestować jak AI sobie poradzi (lub samemu przejść):
https://code-bullet.github.io/WorldsHardestGameAI/WHG/

Rezultat

Nie jestem pewien co sądzić o sztucznej inteligencji grającej w gry. Wydaje się to być przyszłością, ale na razie jest z tym dość słabo. I want to belive. Na razie ludzie nie mają czego się bać, szczególnie gdy przeszli Super Smash Bros z rekordem świata co do klatki (tak już wszystko jest wymaksowane)!

Czy kiedykolwiek komputery będą tak inteligentne jak ludzie? Tak, ale bardzo krótko.
~ jacekw

Na razie to nie grozi, ale zobaczymy co przyniesie przyszłość ;)

KOMENTARZE

  • jacekw

    Można też przypomnieć sukcesy OpenAI w grze Dota 2: https://www.youtube.com/watch?v=l92J1UvHf6M

  • mys

    I w ten sposób Piglet próbuje przejść poziom - na podstawie decydowania czy dzieje się dużo w pamięci emulatora. Jeśli dana czynność dużo nie zmienia w ekosystemie to jest uznawana za nudną

    To jest bardzo ciekawy punkt widzenia. Jeśli przyjąć, że celem ma być poznawanie świata, to będzie odwzorowywać ciekawość ludzką.

    Czy kiedykolwiek komputery będą tak inteligentne jak ludzie? Tak, ale bardzo krótko.

    Przez chwilę się zastanowiłem, ale trafne ;)