BLOGCZEJNalpha

Parę rzeczy o Sztucznej inteligencji

Temat AI rozwija się w dość dziwnych kierunkach moim zdaniem. Komputery powoli zaczynają myśleć, ale nie wiadomo o czym ;) Aktualnie jeden komputer przechodzi Super Mario Bros (o czym napiszę niebawem wpis). Ale przecież wcześniej nie było takiego rodzaju sztucznej inteligencji, a jakoś sobie gry radziły.

https://cdn.pixabay.com/photo/2017/03/23/09/34/artificial-intelligence-2167835_960_720.jpg

Brak AI

Wiele gier oczywiście nie miało AI (podejmowania decyzji) - Weźmy takie Mario - goomba chodziła w lewo, a jak napotkała na przeszkodę to w prawo. Jest to oczywiście podejmowanie decyzji, ale jakby mimowolne. Jeśli jest to możliwe i gra pozwala to polecam ten rodzaj AI - najprostszy w implementacji i działa ;)

Podejmowanie decyzji

https://cdn.pixabay.com/photo/2017/08/02/19/52/girl-2573111_960_720.jpg

Ogólnie często w grach coś musi podjąć decyzję. Dzisiaj próbuje się implementować różnego rodzaju algorytmy genetyczne, które np. na podstawie obserwacji tysięcy rozgrywek mają wybrać optymalną drogę (i tak dalej). Jednak w klasycznych wariantach radzono sobie inaczej rozwiązując różne problemy - np. Problem Komiwojażera (określenie jaką drogę wybrać by optymalnie przejść między wieloma punktami). Jak dobrze ma chodzić bohater NPC w Heroes 3 po mapie? Musi znać punkty ważne do których należy się kierować, a także określać szanse na dojście do nich. Nie zaatakuje gnollami np. Aniołów.

Różnego rodzaju systemy eksperckie mają za zadanie na podstawie obserwacji odpowiednio podejmować decyzje - bez symulacji sieci neuronowych i tak dalej. Moim zdaniem jest to dobra droga, gdyż wystarczy odpowiednio to zaprogramować i system jest bardzo dobry i nie musi się niczego uczyć. Jeśli widzisz anioły i nie pokonasz tego, to omiń ten punkt i poszukaj następnego. Oczywiście takie AI jest tak inteligentne jak człowiek, który je zaprogramował.

RandomAI

https://cdn.pixabay.com/photo/2016/07/07/16/46/roll-the-dice-1502706_960_720.jpg

Najlepsze możliwe dla przeciętnego człowieka podejmowanie decyzji. Masz 5 kart, która jest najlepsza? A kto go tam wie, zagrywasz losowo. Co jest ciekawym mechanizmem, gdyż znając algorytm działania AI możesz przewidzieć jego ruchy. Z wykorzystaniem losowości nie możesz tego przewidzieć gdyż takie ruchy są pseudolosowe. Oczywiście nie do każdej gry nadaje się takie coś i należy sobie zdawać z tego sprawę.

Dlatego ciekawe to było w mojej grze Occult (o ile powstanie do końca :D) - nigdy nie byłeś pewien, że wygrasz i szanse na wygraną wynosiły średnio 50%. Oczywiście gra ostatecznie wyglądała tak, by małpa mogła w nią zagrać, ale jednak ... ;)

Taki system mogłoby więcej gier używać. Weźmy Pacmana, duch dochodzi do skrzyżowania i co dalej? Może iść losowo. Gra może nie byłaby tak trudna, ale z drugiej strony trochę głupio byłoby przegrać. Ew. nawet podwójne AI. Jak jest daleko to losowo, a jak blisko to szarża na Pacmana (co chyba było tak realizowane nawet).

Sztuczna inteligencja to przyszłość?

https://cdn.pixabay.com/photo/2017/12/02/19/36/robot-2993561_960_720.jpg

Powiem tak, obserwuję sobie LuigI/O i nie wiem co sądzić. Z jednej strony komputer przechodzi grę, z drugiej zajmie mu to pół roku (na oko). Przechodzi teraz planszę 5-3, więc troszkę mu zostanie (5-4, 6-1 do 6-4, 7-1 do 7-4 i 8-1 do 8-4). Nie wiem czy Mario można by było łatwo oprogramować, ale Snake ... w teorii byłoby łatwiej, by nie zjadał się (na ile można).

W każdym razie temat wszelakiego AI i podejmowania decyzji to podstawa tworzenia gier. Często człowiek nawet nie siedzi i nie studiuje książek, a próbuje sam opracować własny model. Ciekawe rzeczy powstają ;)


Artykuł powstał na podstawie pierwszego Tematu z Tematów Tygodnia - "Drzewa klasyfikacyjne".

KOMENTARZE

  • ayatollah

    Stoma gnollami już bym próbował :P

  • ytedimeq

    Ahh.. Heroes 3. To jedna z tych gier do których wraca się zawsze. W sumie chyba to zrobię.
    A ty @fervi masz jakąś grę do której zawsze powrócisz po jakimś czasie?

  • fat.music

    Sztuczna inteligencja, ciekawy temat. Tylko post bardziej że tak powiem z punktu widzenia informatyka. Ale patrząc tak szerzej, to inteligencja to nie tylko liczenie. Gdyby tak było to komputery byłyby bardziej inteligentne od ludzi. Inteligencja to też wyobraźnia, a to AI słabiej wychodzi :)

  • who-knock

    "Co jest ciekawym mechanizmem, gdyż znając algorytm działania AI możesz przewidzieć jego ruchy. Z wykorzystaniem losowości nie możesz tego przewidzieć gdyż takie ruchy są pseudolosowe."

    Losowość tyczy się konkretnego/krótkiego wycinku czasu, natomiast w systemie zamkniętym, zdarzenia przestają być losowe* a stają się powtarzalne, w związku z czym możemy je przewidzieć. Oczywiście mowa w kontekście decyzji statystycznej, niemniej jednak można na tej podstawie podejmować racjonalne i efektywne decyzje...

    "Sztuczna inteligencja to przyszłość?"

    Uważam, że nazwanie tych algorytmów inteligentnymi jest marketingiem zbyt daleko idącym, na tyle daleko, że niektórzy naprawdę utożsamiają te algorytmy z inteligencją w wymiarze pełnym - ludzkim.

    Jest przynajmniej kilka czynników składających się na inteligencje i podejmowanie decyzji których ani teraz ani w najbliższej przyszłości żadna technologia nie będzie w stanie zastąpić...

  • iphoris

    @fervi: co do duchów w Pacmanie, to sprawa jest ciekawsza, niż się wydaje. Każdy duszek ma swój "charakter". Na pewno jeden z nich śledzi głównego bohatera, a drugi próbuje zagradzać mu drogę, jeden chyba chodzi losowo albo losowo zmienia algorytm (nie pamiętam, a i źródła są nie do końca spójne).