{"id":52119,"date":"2019-11-01T00:00:00","date_gmt":"2019-10-31T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/kak-ustroen-gibridnyj-igrovoj-ii-i-v-chyom-ego-preimushhestva"},"modified":"2020-02-18T13:59:47","modified_gmt":"2020-02-18T10:59:47","slug":"kak-ustroen-gibridnyj-igrovoj-ii-i-v-chyom-ego-preimushhestva","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/kak-ustroen-gibridnyj-igrovoj-ii-i-v-chyom-ego-preimushhestva","title":{"rendered":"Jak dzia\u0142a hybrydowy AI w grach i jakie ma zalety","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>W kontynuacji kiedy\u015b poruszonego w naszym blogu tematu <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/pixonic\/blog\/428892\/\"> sztucznej inteligencji w grach<\/a><\/noindex> porozmawiamy o tym, jak zastosowa\u0107 w tym przypadku uczenie maszynowe i w jakiej formie. Swoim do\u015bwiadczeniem i wybranymi na jego podstawie rozwi\u0105zaniami <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gamasutra.com\/blogs\/JakobRasmussen\/20180326\/315812\/Are_Hybrid_AIs_the_Answer_to_Better_Gaming_AI.php\">podzieli\u0142 si\u0119<\/a><\/noindex> ekspert w dziedzinie AI w Apex Game Tools, Jakob Rasmussen.<\/p>\n<p><img decoding=\"async\" alt=\"Jak dzia\u0142a hybrydowy AI w grach i jakie ma zalety\" src=\"\/wp-content\/uploads\/2019\/11\/828be058dffa643debe57b96dec21a22.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nW ostatnich latach du\u017co m\u00f3wi si\u0119 o tym, \u017ce uczenie maszynowe radykalnie zmieni bran\u017c\u0119 gier, gdy\u017c ta technologia ju\u017c sta\u0142a si\u0119 prze\u0142omowa w wielu innych aplikacjach cyfrowych. Jednak nie nale\u017cy zapomina\u0107, \u017ce gry s\u0105 znacznie bardziej skomplikowane, ni\u017c symulator jazdy samochodem, program do sterowania dronem czy algorytmy rozpoznawania twarzy na zdj\u0119ciach. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Do tej pory w bran\u017cy gier wci\u0105\u017c stosowane s\u0105 tradycyjne metody AI, takie jak metoda automat\u00f3w sko\u0144czonych, drzewa zachowa\u0144 i \u2014 coraz cz\u0119\u015bciej \u2014 AI oparte na u\u017cyteczno\u015bci (systemy oparte na u\u017cyteczno\u015bci). Takie AI nazywane s\u0105 r\u00f3wnie\u017c design-based (sztuczn\u0105 inteligencj\u0105 opart\u0105 na designie) lub systemami ekspertowymi. Jednak staje si\u0119 coraz bardziej oczywiste \u2014 i w pierwszej kolejno\u015bci dla graczy \u2014 \u017ce te systemy s\u0105 coraz mniej odpowiednie do tworzenia naprawd\u0119 zaawansowanych przeciwnik\u00f3w, kt\u00f3rzy mogliby na\u015bladowa\u0107 zachowanie graczy. Szczeg\u00f3lnie dotyczy to kreatywnych rozwi\u0105za\u0144. Mo\u017cna to wyja\u015bni\u0107 tym, \u017ce tw\u00f3rcy sztucznej inteligencji nie s\u0105 w stanie uwzgl\u0119dni\u0107 wszystkich mo\u017cliwych taktyk i strategii zachowa\u0144 oraz skutecznie je wdro\u017cy\u0107 w tradycyjnych systemach AI. Dla graczy cz\u0119sto oznacza to, \u017ce gra z przeciwnikiem, kt\u00f3rego linia zachowania \u0142atwo zapada w pami\u0119\u0107, staje si\u0119 nudna i przewidywalna.<\/p>\n<p>Do takiego wyniku prowadzi wiele powod\u00f3w, ale jednym z g\u0142\u00f3wnych jest niezdolno\u015b\u0107 AI do uczenia si\u0119. Dlatego te\u017c przy tworzeniu sztucznej inteligencji przeciwnika samo przez si\u0119 nasuwa si\u0119 decyzja o przej\u015bciu do uczenia maszynowego, kt\u00f3re doskonale sprawdzi\u0142o si\u0119 w wielu innych aplikacjach. Jednak istnieje kilka kwestii, kt\u00f3re warto wzi\u0105\u0107 pod uwag\u0119. Tak wi\u0119c, AI w grach powinno umie\u0107 dostosowa\u0107 si\u0119 do ka\u017cdej sytuacji i skorzysta\u0107 z korzy\u015bci, jakie ona mu daje, a tak\u017ce adaptowa\u0107 si\u0119 do r\u00f3\u017cnych styl\u00f3w gry przeciwnik\u00f3w \u2014 zar\u00f3wno \u017cywych graczy, jak i innych AI. <\/p>\n<p><\/p>\n<h3>Jak wygl\u0105da sytuacja obecnie<\/h3>\n<p>\nBrytyjska firma DeepMind, zajmuj\u0105ca si\u0119 rozwojem sztucznej inteligencji, niedawno pokaza\u0142a, w jaki spos\u00f3b SI mo\u017ce samodzielnie uczy\u0107 si\u0119 gra\u0107 w gry, przyswaja\u0107 ich zasady oraz znajdowa\u0107 sposoby na przej\u015bcie gry lub wygranie w ni\u0105 \u2014 na razie jednak tylko na przyk\u0142adzie prostych gier, takich jak wczesne gry. <noindex><a rel=\"nofollow\" href=\"https:\/\/deepmind.com\/research\/publications\/playing-atari-deep-reinforcement-learning\/\">Atari<\/a><\/noindex> \u2014 na przyk\u0142ad szachy i japo\u0144ska gra logiczna go. Wyniki uzyskane w tych przypadkach pokazuj\u0105, \u017ce sztuczna inteligencja jest w stanie stworzy\u0107 adekwatn\u0105 ocen\u0119 sytuacji na planszy. Je\u015bli chodzi o adaptacj\u0119 SI do r\u00f3\u017cnych styl\u00f3w gry przeciwnika, rezultaty nadal nie s\u0105 tak imponuj\u0105ce.<\/p>\n<p>W dzisiejszych czasach sieci neuronowe ju\u017c nauczy\u0142y si\u0119 rozpoznawa\u0107 obrazy i prowadzi\u0107 samochody. Jednak te funkcje mo\u017cna zrealizowa\u0107 r\u00f3wnie\u017c przy u\u017cyciu stosunkowo prostych architektur, nawet je\u017celi w rezultacie b\u0119d\u0105 one do\u015b\u0107 g\u0142\u0119bokie i rozbudowane. Na przyk\u0142ad, SI do rozpoznawania obraz\u00f3w na Facebooku ma g\u0142\u0119boko\u015b\u0107 oko\u0142o 100 warstw, co sprawia, \u017ce przypomina biologiczny m\u00f3zg \u2014 pod wzgl\u0119dem liczby i z\u0142o\u017cono\u015bci powi\u0105za\u0144 mi\u0119dzy neuronami, kt\u00f3re tworz\u0105 jedn\u0105 du\u017c\u0105 sie\u0107. <\/p>\n<p><\/p>\n<h3>Sztuczna inteligencja w grach<\/h3>\n<p>\nJe\u015bli chodzi o zastosowanie uczenia maszynowego w przemy\u015ble gier, istnieje szereg ogranicze\u0144, kt\u00f3re czasami uniemo\u017cliwiaj\u0105 wykorzystanie tego typu architektury. Nale\u017c\u0105 do nich wymagania systemowe, szczeg\u00f3lnie te dotycz\u0105ce CPU, kt\u00f3re okre\u015blaj\u0105 zdolno\u015b\u0107 komputera do przetwarzania z\u0142o\u017conej struktury gry oraz jej przydatno\u015b\u0107 do opowiadania historii i rozgrywki. <\/p>\n<p>Oznacza to, \u017ce w wielu grach wdro\u017cenie z\u0142o\u017conego systemu sztucznej inteligencji napotyka na trudno\u015bci zwi\u0105zane z dost\u0119pno\u015bci\u0105 niezb\u0119dnego sprz\u0119tu, a tym bardziej klastr\u00f3w serwer\u00f3w, kt\u00f3re istniej\u0105 na przyk\u0142ad dla sieci rozpoznawania obraz\u00f3w w Facebooku. Czasami r\u00f3wnocze\u015bnie musz\u0105 dzia\u0142a\u0107 r\u00f3\u017cne systemy AI \u2014 nie tylko na komputerach, ale tak\u017ce na urz\u0105dzeniach mobilnych i na innych mniej wydajnych platformach. Wszystko to nak\u0142ada ograniczenia na rozmiar i z\u0142o\u017cono\u015b\u0107 architektury uczenia maszynowego, poniewa\u017c wszystkie obliczenia musz\u0105 by\u0107 realizowane z czasem klatki wynosz\u0105cym od 1 do 2 milisekund. Oczywi\u015bcie mo\u017cna wykorzysta\u0107 r\u00f3\u017cne technologie optymalizacji i rozk\u0142adu obci\u0105\u017cenia pomi\u0119dzy klatkami, jednak wci\u0105\u017c nie udaje si\u0119 ca\u0142kowicie pozby\u0107 tych ogranicze\u0144.<\/p>\n<p>Powa\u017cne problemy dla AI mog\u0105 rodzi\u0107 si\u0119 z\u0142o\u017cono\u015bci\u0105 gry. W grach takich jak StarCraft II mechanika rozgrywki jest znacznie bardziej skomplikowana ni\u017c w grach z czas\u00f3w Atari. Dlatego nie powinno si\u0119 oczekiwa\u0107, \u017ce przy danej liczbie klatek na sekund\u0119 i znanych wymaganiach systemowych uczenie maszynowe poradzi sobie z nauczeniem si\u0119 ca\u0142ego stanu gry i b\u0119dzie mog\u0142o wchodzi\u0107 z nim w interakcje. Tak jak gracz cz\u0119sto w pocz\u0105tkowych etapach gry kieruje si\u0119 intuicj\u0105, tak AI musi nauczy\u0107 si\u0119 podstawowego przetwarzania stanu gry, aby u\u0142atwi\u0107 dalsz\u0105 rozgrywk\u0119. <noindex><a rel=\"nofollow\" href=\"https:\/\/deepmind.com\/blog\/article\/alphastar-mastering-real-time-strategy-game-starcraft-ii\">API dla StarCraft II<\/a><\/noindex> na mapach wy\u015bwietlana jest tylko ta informacja, kt\u00f3r\u0105 tw\u00f3rcy uznali za wa\u017cn\u0105: w jednym przypadku AI korzysta\u0142o ze zredukowanego widoku ca\u0142ego terenu mapy, w drugim \u2014 podobnie jak gracz, mog\u0142o przesuwa\u0107 kamer\u0119, a wtedy jego postrzeganie ogranicza\u0142o si\u0119 do informacji na ekranie.<\/p>\n<p><img decoding=\"async\" alt=\"Jak dzia\u0142a hybrydowy AI w grach i jakie ma zalety\" src=\"\/wp-content\/uploads\/2019\/11\/269321549d5c3a1077666532cec55d12.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Wizualizacja gry AI AlphaStar przeciwko graczowi w StarCraft II: na zrzucie ekranu przedstawione s\u0105 \"surowe\" pocz\u0105tkowe obserwacje, aktywno\u015b\u0107 sieci neuronowej, niekt\u00f3re z jej potencjalnych dzia\u0142a\u0144 oraz wsp\u00f3\u0142rz\u0119dne, a tak\u017ce przewidywany wynik meczu.<\/i><\/p>\n<p>To szczeg\u00f3lnie istotny aspekt w przypadku gier. Cz\u0119sto metody rozwi\u0105zywania problem\u00f3w uczenia maszynowego nie maj\u0105 zastosowania w kontek\u015bcie sztucznej inteligencji w grach. Na przyk\u0142ad, zazwyczaj nie musi on wygrywa\u0107 ani robi\u0107 wszystkiego, co mo\u017cliwe, by zwyci\u0119\u017cy\u0107, jak to mia\u0142o miejsce w przypadku gier Atari. Cz\u0119\u015bciej rola AI polega na uczynieniu rozgrywki bardziej fascynuj\u0105c\u0105. Mo\u017ce by\u0107 wymagane, aby odgrywa\u0142 rol\u0119 i zachowywa\u0142 si\u0119 tak, jak sugeruje charakter postaci, za kt\u00f3r\u0105 jest odpowiedzialny. W ten spos\u00f3b gierkowe AI jest bardziej zwi\u0105zane z projektowaniem gier i opowiadaniem historii, i musi posiada\u0107 odpowiednie narz\u0119dzia do zarz\u0105dzania swoim zachowaniem w celu osi\u0105gni\u0119cia zamierzonego celu. Czyste uczenie maszynowe nie zawsze si\u0119 do tego nadaje - dlatego nale\u017cy szuka\u0107 czego\u015b innego. <\/p>\n<p><\/p>\n<h3>Praktyczne problemy uczenia maszynowego<\/h3>\n<p>\nTe problemy pojawi\u0142y si\u0119 przy tworzeniu sztucznej inteligencji opartej na uczeniu maszynowym dla <noindex><a rel=\"nofollow\" href=\"https:\/\/steamcommunity.com\/app\/621940\">Unleash<\/a><\/noindex>, gdzie AI musi zachowywa\u0107 si\u0119 jak zwykli gracze - to znaczy, by\u0107 r\u00f3wnie elastycznymi i pomys\u0142owymi. <\/p>\n<p>Tak jak w Starcraft II, Unleashed jest znacznie bardziej skomplikowane ni\u017c szachy czy go w Atari. Rozgrywka jest intuicyjna i \u0142atwo si\u0119 w niej porusza\u0107, ale aby naprawd\u0119 odnie\u015b\u0107 sukces, potrzebne s\u0105 okre\u015blone umiej\u0119tno\u015bci zarz\u0105dzania met\u0105. Gracz musi budowa\u0107 labirynty, nak\u0142ania\u0107 potwory do ataku na przeciwnik\u00f3w oraz wymy\u015bla\u0107 swoj\u0105 strategi\u0119 dotycz\u0105c\u0105 ekonomii, ataku i obrony budowli przez ca\u0142\u0105 gr\u0119. Wymaga to od niego blefowania i przewidywania ruch\u00f3w innych graczy, a tak\u017ce zarz\u0105dzania psychologiczn\u0105 met\u0105 \u2014 to w\u0142a\u015bnie ona sprawia, \u017ce poker to co\u015b wi\u0119cej ni\u017c tylko gra statystyczna.<\/p>\n<p><img decoding=\"async\" alt=\"Jak dzia\u0142a hybrydowy AI w grach i jakie ma zalety\" src=\"\/wp-content\/uploads\/2019\/11\/70fec14225b2c46af4a772216118e6e8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Zrzut ekranu z Unleashed<\/i><\/p>\n<p>W poszukiwaniu najbardziej odpowiedniej architektury dla tych cel\u00f3w, najpierw wprowadzono do gry praktycznie w niezmienionej formie technologie takie jak <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.ucf.edu\/~kstanley\/\">neuroewolucja<\/a><\/noindex> i uczenie g\u0142\u0119bokie, a nast\u0119pnie sprawdzono, jak zaprezentuj\u0105 si\u0119 w surowej formie jako AI przeciwnika. <\/p>\n<p>To by\u0142o straszne. <\/p>\n<p>Szybko sta\u0142o si\u0119 jasne, \u017ce w Unleashed nale\u017cy rozwi\u0105za\u0107 wiele globalnych problem\u00f3w, do kt\u00f3rych trudno dostosowa\u0107 uczenie maszynowe. <\/p>\n<p>Jednym z nich jest budowanie skutecznego labiryntu. Tak jak w wielu grach, kt\u00f3rych celem jest obrona wie\u017cy, tutaj gracze musz\u0105 wok\u00f3\u0142 niej stworzy\u0107 labirynt, przez kt\u00f3ry b\u0119d\u0105 przedostawa\u0142y si\u0119 potwory. Te z kolei nale\u017cy wyeliminowa\u0107 za pomoc\u0105 broni rozmieszczonej w labiryncie. W idealnym przypadku labirynt powinien by\u0107 jak najd\u0142u\u017cszy, aby zd\u0105\u017cy\u0107 zada\u0107 potworom wystarczaj\u0105c\u0105 ilo\u015b\u0107 obra\u017ce\u0144 i nie dopu\u015bci\u0107 ich do wie\u017cy. Niekt\u00f3re rodzaje broni s\u0105 bardziej skuteczne przeciwko potworom ni\u017c inne, dlatego dla wi\u0119kszej efektywno\u015bci warto umie\u015bci\u0107 je w labiryncie wcze\u015bniej ni\u017c inne. Cech\u0105 Unleash jest to, \u017ce nie istnieje idealny labirynt: w grze jest tyle rodzaj\u00f3w potwor\u00f3w, \u017ce tak czy inaczej, kt\u00f3ry\u015b z nich przejdzie bez przeszk\u00f3d przez jaki\u015b fragment labiryntu. Ka\u017cdy labirynt nale\u017cy dostosowa\u0107 do nowych potwor\u00f3w wprowadzanych przez innych graczy. W ten spos\u00f3b trzeba by\u0142o nie tylko nauczy\u0107 sztucznej inteligencji budowa\u0107 labirynty \u2014 trzeba by\u0142o j\u0105 nauczy\u0107 tworzy\u0107 skuteczne labirynty dla r\u00f3\u017cnych scenariuszy, z jakimi mo\u017cna si\u0119 spotka\u0107 zar\u00f3wno w wczesnej, jak i p\u00f3\u017anej wersji gry. <\/p>\n<p>AI musia\u0142 te\u017c nauczy\u0107 si\u0119 przewidywa\u0107, jakie potwory pojawi\u0105 si\u0119 w labiryncie. To swego rodzaju odwrotna problematyka wzgl\u0119dem budowania labiryntu. Jak w wielu innych grach, w Unleash nie wystarczy po prostu zbudowa\u0107 armi\u0119 i wys\u0142a\u0107 j\u0105 w stron\u0119 wroga: konieczne jest r\u00f3wnie\u017c szpiegowanie wrogiej obrony i tak zorganizowanie wojsk, aby jak najskuteczniej uderzy\u0107 w newralgiczne punkty przeciwnika. Armia potwor\u00f3w powinna wsp\u00f3\u0142dzia\u0142a\u0107 ze sob\u0105 w taki spos\u00f3b, aby najskuteczniej przej\u015b\u0107 przez labirynt. Czasami konieczne jest tak\u017ce wypuszczenie potwor\u00f3w w okre\u015blonej kolejno\u015bci w zale\u017cno\u015bci od ich funkcji i roli. To r\u00f3wnie\u017c zwi\u0119ksza liczb\u0119 r\u00f3\u017cnych kombinacji.<\/p>\n<p>W ko\u0144cu, poniewa\u017c gracz musi zar\u00f3wno tworzy\u0107 labirynty, jak i gromadzi\u0107 armi\u0119 potwor\u00f3w, AI r\u00f3wnie\u017c musi nauczy\u0107 si\u0119 znajdowa\u0107 r\u00f3wnowag\u0119 mi\u0119dzy atakiem a obron\u0105. Nale\u017cy r\u00f3wnie\u017c pami\u0119ta\u0107, \u017ce im wi\u0119ksza armia potwor\u00f3w i bardziej rozbudowany labirynt, tym wi\u0119cej zasob\u00f3w gracz potrzebuje. Dlatego w\u0142a\u015bciwa strategia ataku jest niezwykle wa\u017cna zar\u00f3wno dla gospodarki w trakcie gry, jak i dla zwyci\u0119stwa w niej. Aby zapewni\u0107 konkurencyjno\u015b\u0107, AI musi umie\u0107 zarz\u0105dza\u0107 zasobami tak, aby stworzy\u0107 pot\u0119\u017cn\u0105 armi\u0119 potwor\u00f3w, nie nara\u017caj\u0105c przy tym si\u0142y labiryntu. Inwestowanie maksymalnie w potwory mo\u017ce by\u0107 korzystne ekonomicznie, ale zwi\u0119ksza ryzyko przej\u0119cia labiryntu przez potwory przeciwnika. Je\u015bli postawisz na umocnienie obrony labiryntu, mo\u017ce to os\u0142abi\u0107 twoj\u0105 gospodark\u0119. \u017baden z tych scenariuszy nie prowadzi do zwyci\u0119stwa. W ten spos\u00f3b problem optymalizacji w Unleashed okazuje si\u0119 bardziej rozbudowany ni\u017c w przypadku szach\u00f3w czy Starcrafta i obejmuje konieczno\u015b\u0107 po\u015bwi\u0119cenia czego\u015b oraz przewidywania swoich korzy\u015bci na kilka ruch\u00f3w do przodu. <\/p>\n<p>W miar\u0119 jak sztuczna inteligencja si\u0119 rozwija, pojawia si\u0119 wiele wcze\u015bniej nieprzewidzianych problem\u00f3w. Na pocz\u0105tku AI cz\u0119sto osi\u0105ga\u0142o pewien poziom rozwoju, na kt\u00f3rym zaczyna\u0142o rozumie\u0107 niekt\u00f3re aspekty gry \u2014 na przyk\u0142ad, kt\u00f3ra bro\u0144 w labiryncie jest skuteczna przeciwko konkretnym typom potwor\u00f3w lub kt\u00f3re potwory najlepiej radz\u0105 sobie w okre\u015blonych cz\u0119\u015bciach labiryntu. Jednak nauka by\u0142a powolna i prowadzi\u0142a do opracowania monotematycznych strategii. <\/p>\n<p><\/p>\n<h3>Potrzeba r\u00f3wnoleg\u0142ych podej\u015b\u0107<\/h3>\n<p>\nPodczas gdy rozw\u00f3j AI oparty na uczeniu maszynowym przebiega\u0142 powoli i niezbyt skutecznie, do innych etap\u00f3w testowania i rozwoju potrzebne by\u0142y lepsze AI oraz bardziej niezawodne AI konkurencyjne. Do ich realizacji wykorzystano architektur\u0119 Utility, kt\u00f3ra umo\u017cliwia tworzenie specjalnych AI do testowania i weryfikacji jako\u015bci gry, test\u00f3w wewn\u0105trzgrywowych oraz balansowania broni i potwor\u00f3w, a tak\u017ce do tworzenia konkretnych labirynt\u00f3w i potwor\u00f3w. Jednak w trakcie rozwoju Unleash tw\u00f3rcy sami doskonalili swoje umiej\u0119tno\u015bci w jej przechodzeniu, a nast\u0119pnie postanowili wykorzysta\u0107 zdobyt\u0105 wiedz\u0119 do stworzenia bardziej skomplikowanego AI Utility. Tak sta\u0142o si\u0119 jasne, \u017ce wiele problem\u00f3w wyst\u0119puj\u0105cych w systemach sztucznej inteligencji opartych na uczeniu maszynowym mo\u017cna \u0142atwo rozwi\u0105za\u0107 za pomoc\u0105 system\u00f3w Utility, wykorzystuj\u0105cych wbudowan\u0105 wiedz\u0119, i odwrotnie. <\/p>\n<p>Na przyk\u0142ad, bardziej efektywne labirynty lepiej budowa\u0107 za pomoc\u0105 AI Utility, bazuj\u0105cych na bazach wiedzy zbudowanych na podstawie wynik\u00f3w wewn\u0119trznych test\u00f3w. \u0141atwo mo\u017cna opisa\u0107 i zaprogramowa\u0107 algorytm budowy labiryntu oraz rozmieszczenia w nim broni w taki spos\u00f3b, aby \u0142atwiej by\u0142o broni\u0107 wie\u017c\u0119 przed konkretnymi potworami przed \u017cywym graczem. Natomiast tworzenie armii potwor\u00f3w na podstawie wiedzy o bazie przeciwnika stanowi\u0142o trudne zadanie dla takich AI, poniewa\u017c liczba r\u00f3\u017cnych warunk\u00f3w i kombinacji, kt\u00f3re nale\u017ca\u0142o wzi\u0105\u0107 pod uwag\u0119, przyt\u0142acza\u0142a wyobra\u017ani\u0119. Przy takim rodzaju architektury AI wyszukiwanie odpowiednich zestaw\u00f3w potwor\u00f3w zajmowa\u0142oby niesko\u0144czono\u015b\u0107 czasu. W takim przypadku, przy zadanych ograniczeniach, g\u0142\u0119bokie uczenie by\u0142oby idealnym rozwi\u0105zaniem dla tego zadania. <\/p>\n<p><\/p>\n<h3>Tworzenie hybrydowych AI<\/h3>\n<p>\nPostanowiono po\u0142\u0105czy\u0107 dwa podej\u015bcia, tworz\u0105c w ten spos\u00f3b hybrydowy system sztucznej inteligencji oparty na uczeniu maszynowym i Utility. Idea polega\u0142a na tym, \u017ce tam, gdzie konieczne by\u0142o przetworzenie ogromnej liczby kombinacji i stan\u00f3w gry, lub gdzie wymagano nauki, stosowano uczenie maszynowe. W innych zadaniach, gdzie lepiej polega\u0107 na osobistym do\u015bwiadczeniu programist\u00f3w, wykorzystano systemy Utility. Zalet\u0105 tego podej\u015bcia jest r\u00f3wnie\u017c to, \u017ce w razie potrzeby mo\u017cna lepiej kontrolowa\u0107 zachowanie AI, aby zapewni\u0107 jego bardziej dok\u0142adne d\u0105\u017cenie do okre\u015blonego celu. Na przyk\u0142ad, mo\u017cna wykorzysta\u0107 Utility AI do zapewnienia r\u00f3wnowagi mi\u0119dzy atakiem a obron\u0105, tworz\u0105c w ten spos\u00f3b r\u00f3\u017cne poziomy agresji, lub stworzy\u0107 r\u00f3\u017cne konfiguracje labirynt\u00f3w dla r\u00f3\u017cnych AI, aby nada\u0107 im indywidualne style gry. R\u00f3wnie\u017c mo\u017cna zdefiniowa\u0107 dla sieci neuronowych okre\u015blone systemy warto\u015bci, aby kszta\u0142towa\u0107 r\u00f3\u017cne preferencje przy doborze powietrznych lub l\u0105dowych potwor\u00f3w, co r\u00f3wnie\u017c doda okre\u015blonym AI osobowo\u015bci. Jest jeszcze wiele innych opcji do realizacji projektowych, kt\u00f3re podkre\u015blaj\u0105 mocne strony danego rodzaju architektury AI. <\/p>\n<p>Hybrydowe podej\u015bcie by\u0142o r\u00f3wnie\u017c odpowiedzi\u0105 na inne pytanie, kt\u00f3re stan\u0119\u0142o przed zespo\u0142em programist\u00f3w podczas opracowywania sztucznej inteligencji dla Unleash: czy warto zastosowa\u0107 jedn\u0105 globaln\u0105 g\u0142\u0119bok\u0105 sie\u0107 neuronow\u0105 opart\u0105 na uczeniu maszynowym, aby uwzgl\u0119dni\u0107 wszystkie dane wej\u015bciowe i wyj\u015bciowe, czy lepiej zaprojektowa\u0107 AI w hierarchicznej strukturze? <\/p>\n<p><img decoding=\"async\" alt=\"Jak dzia\u0142a hybrydowy AI w grach i jakie ma zalety\" src=\"\/wp-content\/uploads\/2019\/11\/0e1aac2e77bd22489e83066eb8e9fed2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Dwie architektury u\u017cyte w Unleash: po lewej stronie \u2014 du\u017ca g\u0142\u0119boka sie\u0107 neuronowa z w\u0142asn\u0105 unikaln\u0105 architektur\u0105, po prawej \u2014 system hierarchiczny, w kt\u00f3rym ka\u017cda sie\u0107 ma swoje zadanie.<\/i><\/p>\n<p>Niemniej jednak chcieliby\u015bmy stworzy\u0107 wsp\u00f3lne podej\u015bcie do systemu sztucznej inteligencji, w kt\u00f3rego architekturze deweloperzy nie wbudowaliby w\u0142asnego do\u015bwiadczenia. Jednak im wi\u0119cej wej\u015b\u0107 do gry mia\u0142o miejsce, tym bardziej rozrasta\u0142a si\u0119 sie\u0107 neuronowa. Nie mo\u017cna by\u0142o przy tym oddzieli\u0107 uczenia si\u0119 AI i uczy\u0107 ich tylko jednego: albo obrony, albo ataku. Powsta\u0142y obawy, \u017ce bardziej og\u00f3lne podej\u015bcie prowadzi\u0142oby do znacznego zwi\u0119kszenia liczby oblicze\u0144. <\/p>\n<p>St\u0105d powsta\u0142 pomys\u0142 stworzenia hierarchicznej architektury, w kt\u00f3rej ka\u017cd\u0105 konkretn\u0105 funkcj\u0119 realizowa\u0142aby wyspecjalizowana sie\u0107 neuronowa. Zgodnie z tym pomys\u0142em, najpierw sztuczna inteligencja musi podj\u0105\u0107 decyzj\u0119 o przydzieleniu zasob\u00f3w na atak (zwi\u0119kszenie armii potwor\u00f3w) i obron\u0119 (budowa labiryntu). Gdy tylko to zrobi, przechodzi do nast\u0119pnej warstwy zgodnie ze swoim wyborem i uzyskuje dost\u0119p do odpowiedniej cz\u0119\u015bci stanu gry, po czym podejmuje szczeg\u00f3\u0142owe decyzje dotycz\u0105ce tego, kt\u00f3rych potwor\u00f3w wybra\u0107 i jakie uzbrojenie ustawi\u0107 w labiryncie.<\/p>\n<p><\/p>\n<h3>Podsumowanie i nast\u0119pne kroki<\/h3>\n<p>\nW przypadku hybrydowego podej\u015bcia, Utility AI z w\u0142\u0105czonymi w niego sieciami opartymi na uczeniu maszynowym przypomina hierarchiczn\u0105 architektur\u0119. Z kolei ona przypomina biologiczny m\u00f3zg, w kt\u00f3rym r\u00f3\u017cne centra nerwowe odpowiadaj\u0105 za okre\u015blone zadania.<\/p>\n<p>Obecnie AI przeciwnika w Unleash jest bardzo trudne do pokonania: potrafi\u0105 dostosowa\u0107 si\u0119 do ka\u017cdej sytuacji w grze, ale deweloperzy mog\u0105 zmienia\u0107 ich ustawienia wed\u0142ug w\u0142asnego uznania. Wed\u0142ug autora artyku\u0142u, w miar\u0119 up\u0142ywu czasu hybrydowe podej\u015bcie powinno zyska\u0107 wi\u0119ksz\u0105 popularno\u015b\u0107 i pojawi\u0107 si\u0119 w wielu innych grach. By\u0107 mo\u017ce pewnego dnia uda si\u0119 wprowadzi\u0107 do rozgrywki czyst\u0105 sztuczn\u0105 inteligencj\u0119 opart\u0105 na uczeniu maszynowym. Jednak oczywi\u015bcie, to jeszcze wymaga czasu. Na razie celem jest znalezienie takiej architektury, kt\u00f3ra sama dostosuje si\u0119 do stoj\u0105cych przed ni\u0105 zada\u0144 i znajdzie optymalne sposoby ich rozwi\u0105zania.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/pixonic\/blog\/473932\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043d\u0435\u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0434\u043d\u044f\u0442\u043e\u0439 \u0432 \u043d\u0430\u0448\u0435\u043c \u0431\u043b\u043e\u0433\u0435 \u0442\u0435\u043c\u044b \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0442\u043e\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e \u043a \u043d\u0435\u043c\u0443 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0438 \u0432 \u043a\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435. \u0421\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0441\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u043f\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c \u0418\u0418 \u0432 Apex Game Tools \u042f\u043a\u043e\u0431 \u0420\u0430\u0441\u043c\u0443\u0441\u0441\u0435\u043d. \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u043e\u0432 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-52119","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043d\u0435\u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0434\u043d\u044f\u0442\u043e\u0439 \u0432 \u043d\u0430\u0448\u0435\u043c \u0431\u043b\u043e\u0433\u0435 \u0442\u0435\u043c\u044b \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0442\u043e\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/kak-ustroen-gibridnyj-igrovoj-ii-i-v-chyom-ego-preimushhestva\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d \u0433\u0438\u0431\u0440\u0438\u0434\u043d\u044b\u0439 \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u0418\u0418 \u0438 \u0432 \u0447\u0451\u043c \u0435\u0433\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043d\u0435\u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0434\u043d\u044f\u0442\u043e\u0439 \u0432 \u043d\u0430\u0448\u0435\u043c \u0431\u043b\u043e\u0433\u0435 \u0442\u0435\u043c\u044b \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0442\u043e\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/kak-ustroen-gibridnyj-igrovoj-ii-i-v-chyom-ego-preimushhestva\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T10:59:47+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Jak dzia\u0142a hybrydowe AI w grach i jakie ma zalety | ProHoster","description":"W kontynuacji tematu sztucznej inteligencji w grach, porozmawiajmy o jej zastosowaniu.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/kak-ustroen-gibridnyj-igrovoj-ii-i-v-chyom-ego-preimushhestva","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d \u0433\u0438\u0431\u0440\u0438\u0434\u043d\u044b\u0439 \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u0418\u0418 \u0438 \u0432 \u0447\u0451\u043c \u0435\u0433\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 | ProHoster","og:description":"\u0412 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043d\u0435\u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0434\u043d\u044f\u0442\u043e\u0439 \u0432 \u043d\u0430\u0448\u0435\u043c \u0431\u043b\u043e\u0433\u0435 \u0442\u0435\u043c\u044b \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0442\u043e\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/kak-ustroen-gibridnyj-igrovoj-ii-i-v-chyom-ego-preimushhestva","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T21:00:00+00:00","article:modified_time":"2020-02-18T10:59:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"52119","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 02:32:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:49:49","updated":"2026-01-24 02:32:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/52119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=52119"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/52119\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=52119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=52119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=52119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}