{"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\/pt\/blog\/news\/kak-ustroen-gibridnyj-igrovoj-ii-i-v-chyom-ego-preimushhestva","title":{"rendered":"Como funciona a IA h\u00edbrida para jogos e quais s\u00e3o suas vantagens","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dando continuidade ao tema anteriormente levantado em nosso blog <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/pixonic\/blog\/428892\/\"> sobre intelig\u00eancia artificial em jogos<\/a><\/noindex> vamos discutir o qu\u00e3o aplic\u00e1vel \u00e9 o aprendizado de m\u00e1quina e em que formato. Compartilhando minhas experi\u00eancias e as solu\u00e7\u00f5es escolhidas com base nelas <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gamasutra.com\/blogs\/JakobRasmussen\/20180326\/315812\/Are_Hybrid_AIs_the_Answer_to_Better_Gaming_AI.php\">compartilhou<\/a><\/noindex> o especialista em IA da Apex Game Tools, Jakob Rasmussen.<\/p>\n<p><img decoding=\"async\" alt=\"Como funciona a IA h\u00edbrida para jogos e quais s\u00e3o suas vantagens\" src=\"\/wp-content\/uploads\/2019\/11\/828be058dffa643debe57b96dec21a22.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNos \u00faltimos anos, muito se tem falado sobre como o aprendizado de m\u00e1quina pode transformar radicalmente a ind\u00fastria de jogos, j\u00e1 que essa tecnologia se mostrou disruptiva em muitas outras aplica\u00e7\u00f5es digitais. Mas n\u00e3o devemos esquecer que os jogos s\u00e3o muito mais complexos do que um simulador de dire\u00e7\u00e3o, um programa de controle de drones ou algoritmos de reconhecimento facial em imagens. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Enquanto a ind\u00fastria de jogos ainda se apoia em m\u00e9todos tradicionais de IA, como m\u00e1quinas de estados finitos, \u00e1rvores de comportamento e\u2014cada vez mais recentemente\u2014IA baseada em utilidade (sistemas baseados em utilidade). Essa IA \u00e9 muitas vezes chamada de design-based (intelig\u00eancia artificial de design) ou sistemas especialistas. Por\u00e9m, est\u00e1 se tornando cada vez mais evidente\u2014especialmente para os jogadores\u2014que esses sistemas s\u00e3o cada vez menos adequados para criar oponentes verdadeiramente avan\u00e7ados que possam imitar o comportamento dos jogadores. Isso \u00e9 particularmente verdadeiro para solu\u00e7\u00f5es criativas. Isso pode ser explicado pelo fato de que os desenvolvedores de intelig\u00eancia artificial n\u00e3o conseguem levar em conta todas as t\u00e1ticas e estrat\u00e9gias de comportamento poss\u00edveis e implement\u00e1-las com sucesso em sistemas tradicionais de IA. Para os jogadores, isso frequentemente resulta em uma experi\u00eancia de jogo mon\u00f3tona e previs\u00edvel contra um oponente cuja linha de comportamento \u00e9 facilmente memoriz\u00e1vel.<\/p>\n<p>Esse resultado \u00e9 causado por v\u00e1rias raz\u00f5es, mas uma das principais \u00e9 a incapacidade da IA de aprender. Portanto, ao criar uma intelig\u00eancia artificial para oponente, \u00e9 natural considerar a transi\u00e7\u00e3o para o aprendizado de m\u00e1quina, que j\u00e1 se provou eficaz em muitas outras aplica\u00e7\u00f5es. No entanto, existem algumas nuances a serem consideradas. Assim, a IA dos jogos deve ser capaz de se adaptar a qualquer situa\u00e7\u00e3o e aproveitar as vantagens que ela oferece, al\u00e9m de se ajustar a diferentes estilos de jogo de oponentes\u2014jogadores humanos e outras IAs. <\/p>\n<p><\/p>\n<h3>Como est\u00e1 a situa\u00e7\u00e3o agora<\/h3>\n<p>\nA empresa brit\u00e2nica DeepMind, especializada no desenvolvimento de intelig\u00eancia artificial, recentemente demonstrou como a IA pode aprender a jogar jogos, compreender suas regras e encontrar maneiras de avan\u00e7ar ou vencer \u2014 embora, por enquanto, apenas em exemplos de jogos simples, como os primeiros jogos. <noindex><a rel=\"nofollow\" href=\"https:\/\/deepmind.com\/research\/publications\/playing-atari-deep-reinforcement-learning\/\">Atari<\/a><\/noindex> \u2014 como xadrez e o jogo japon\u00eas go. Os resultados obtidos para eles mostram que a intelig\u00eancia artificial \u00e9 capaz de formar uma avalia\u00e7\u00e3o adequada do que acontece no campo. Quanto \u00e0 adapta\u00e7\u00e3o da IA a diferentes estilos de jogo do oponente, os resultados ainda n\u00e3o s\u00e3o t\u00e3o impressionantes.<\/p>\n<p>Hoje em dia, redes neurais j\u00e1 aprenderam a reconhecer imagens e conduzir ve\u00edculos. No entanto, essas fun\u00e7\u00f5es podem ser implementadas tamb\u00e9m com arquiteturas relativamente simples, mesmo que o resultado final seja bastante profundo e extenso. Por exemplo, a IA para reconhecimento de imagens no Facebook tem uma profundidade de cerca de 100 camadas, o que a torna semelhante ao c\u00e9rebro biol\u00f3gico \u2014 em termos de quantidade e complexidade das interconex\u00f5es entre neur\u00f4nios que formam uma grande rede. <\/p>\n<p><\/p>\n<h3>IA de Jogo<\/h3>\n<p>\nNo que diz respeito \u00e0 aplica\u00e7\u00e3o do aprendizado de m\u00e1quina na ind\u00fastria de jogos, existem v\u00e1rias limita\u00e7\u00f5es que nem sempre permitem o uso desse tipo de arquitetura. Estas incluem requisitos de sistema, especialmente relacionados ao CPU, que determinam a capacidade do computador de processar estruturas complexas de jogos e sua adequa\u00e7\u00e3o para storytelling e gameplay. <\/p>\n<p>Assim, muitos jogos n\u00e3o conseguem fornecer a infraestrutura necess\u00e1ria para implementar sistemas complexos de intelig\u00eancia artificial, muito menos um cluster de servidores, como existe, por exemplo, nas redes de reconhecimento de imagens do Facebook. \u00c0s vezes, m\u00faltiplas IAs precisam operar simultaneamente \u2014 n\u00e3o apenas em computadores, mas tamb\u00e9m em dispositivos m\u00f3veis e outras plataformas menos potentes. Tudo isso imp\u00f5e limita\u00e7\u00f5es ao tamanho e \u00e0 complexidade da arquitetura de aprendizado de m\u00e1quina, j\u00e1 que todos os c\u00e1lculos ainda precisam ser realizados dentro de um intervalo de 1 ou 2 milissegundos. \u00c9 claro que \u00e9 poss\u00edvel usar v\u00e1rias tecnologias de otimiza\u00e7\u00e3o e distribui\u00e7\u00e3o de carga entre os quadros, mas ainda assim n\u00e3o \u00e9 poss\u00edvel eliminar completamente essas limita\u00e7\u00f5es.<\/p>\n<p>A dificuldade do jogo pode trazer s\u00e9rios problemas para a IA. Em jogos como StarCraft II, por exemplo, a mec\u00e2nica \u00e9 muito mais complexa do que em jogos da Atari. Portanto, n\u00e3o se deve esperar que, com uma determinada taxa de quadros e requisitos de sistema conhecidos, o aprendizado de m\u00e1quina consiga compreender todo o estado do jogo e interagir com ele. Assim como um jogador frequentemente se guia por sua intui\u00e7\u00e3o nos est\u00e1gios iniciais do jogo, a IA tamb\u00e9m deve aprender a processar inicialmente o estado do jogo para simplificar seu progresso posterior. Por exemplo, em um dos \u00faltimos <noindex><a rel=\"nofollow\" href=\"https:\/\/deepmind.com\/blog\/article\/alphastar-mastering-real-time-strategy-game-starcraft-ii\">API para StarCraft II<\/a><\/noindex> nos mapas, \u00e9 exibida apenas a informa\u00e7\u00e3o que os desenvolvedores consideraram importante: em um caso, a IA utilizou uma vers\u00e3o reduzida de todo o territ\u00f3rio do mapa; no segundo, assim como o jogador, ela podia mover a c\u00e2mera, e sua percep\u00e7\u00e3o era limitada \u00e0s informa\u00e7\u00f5es exibidas na tela.<\/p>\n<p><img decoding=\"async\" alt=\"Como funciona a IA h\u00edbrida para jogos e quais s\u00e3o suas vantagens\" src=\"\/wp-content\/uploads\/2019\/11\/269321549d5c3a1077666532cec55d12.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Visualiza\u00e7\u00e3o do jogo da IA AlphaStar contra um jogador em StarCraft II: na captura de tela est\u00e3o as observa\u00e7\u00f5es de entrada \"cruas\", a atividade da rede neural, algumas de suas poss\u00edveis a\u00e7\u00f5es e coordenadas, assim como o resultado previsto da partida.<\/i><\/p>\n<p>Este \u00e9 um aspecto especialmente relevante no caso dos jogos. Muitas vezes, m\u00e9todos tradicionais de resolu\u00e7\u00e3o de problemas de aprendizado de m\u00e1quina n\u00e3o se aplicam \u00e0 intelig\u00eancia artificial em jogos. Por exemplo, geralmente n\u00e3o \u00e9 necess\u00e1rio que o AI ven\u00e7a ou fa\u00e7a tudo o que \u00e9 poss\u00edvel para garantir a vit\u00f3ria, como acontecia nos jogos da Atari. Frequentemente, o papel da IA \u00e9 tornar a experi\u00eancia de jogo mais envolvente. Ela pode precisar representar um papel e se comportar da maneira que se espera do personagem que controla. Assim, as IAs em jogos est\u00e3o mais conectadas ao design de jogos e \u00e0 narrativa, e devem possuir as ferramentas necess\u00e1rias para gerenciar seu comportamento em busca de um objetivo. O aprendizado de m\u00e1quina puro nem sempre \u00e9 adequado para isso - e, portanto, \u00e9 necess\u00e1rio procurar algo diferente. <\/p>\n<p><\/p>\n<h3>Problemas pr\u00e1ticos de aprendizado de m\u00e1quina<\/h3>\n<p>\nEsses problemas surgiram ao desenvolver intelig\u00eancia artificial baseada em aprendizado de m\u00e1quina para <noindex><a rel=\"nofollow\" href=\"https:\/\/steamcommunity.com\/app\/621940\">Unleash<\/a><\/noindex>, onde a IA deve agir como jogadores comuns - ou seja, ser t\u00e3o flex\u00edvel e astuta quanto eles. <\/p>\n<p>Assim como Starcraft II, Unleashed \u00e9 muito mais complexo do que xadrez e go da Atari. O gameplay \u00e9 intuitivo e f\u00e1cil de aprender, mas para realmente se destacar, habilidades espec\u00edficas de gerenciamento da meta s\u00e3o necess\u00e1rias. O jogador deve criar labirintos, enviar monstros contra os inimigos e pensar em sua estrat\u00e9gia em economia, ataque e defesa de estruturas durante todo o jogo. Para isso, \u00e9 preciso blefar e antecipar os movimentos dos oponentes, al\u00e9m de gerenciar a meta psicol\u00f3gica - \u00e9 isso que transforma o p\u00f4quer em algo mais do que um simples jogo estat\u00edstico.<\/p>\n<p><img decoding=\"async\" alt=\"Como funciona a IA h\u00edbrida para jogos e quais s\u00e3o suas vantagens\" src=\"\/wp-content\/uploads\/2019\/11\/70fec14225b2c46af4a772216118e6e8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Captura de tela de Unleashed<\/i><\/p>\n<p>Na busca pela arquitetura mais adequada para esses objetivos, inicialmente tecnologias como <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.ucf.edu\/~kstanley\/\">neuroevolu\u00e7\u00e3o<\/a><\/noindex> e aprendizado profundo foram integradas ao jogo em quase sua forma original, para verificar como se comportariam em estado bruto como um oponente de IA. <\/p>\n<p>Foi horr\u00edvel. <\/p>\n<p>Logo ficou claro que eram muitos os problemas globais a serem resolvidos em Unleashed, para os quais o aprendizado de m\u00e1quina \u00e9 dif\u00edcil de se adaptar. <\/p>\n<p>Um deles \u00e9 a constru\u00e7\u00e3o de um labirinto eficaz. Assim como em muitos jogos cujo objetivo \u00e9 a defesa de torres, os jogadores precisam construir um labirinto ao redor dela, pelo qual os monstros ir\u00e3o tentar passar. Eles, por sua vez, devem ser eliminados com as armas posicionadas pelo labirinto. Idealmente, o labirinto deve ser o mais longo poss\u00edvel, para que se consiga infligir dano suficiente aos monstros e impedi-los de alcan\u00e7ar a torre. Para alguns tipos de armas, os monstros s\u00e3o mais vulner\u00e1veis do que para outros, portanto, \u00e9 aconselh\u00e1vel posicion\u00e1-las no labirinto antes das demais. A particularidade de Unleash \u00e9 que n\u00e3o existe um labirinto perfeito: no jogo h\u00e1 tantos tipos de monstros que, de uma forma ou de outra, algum deles passar\u00e1 livremente por alguma parte do labirinto. Qualquer labirinto deve ser adaptado para novos monstros que s\u00e3o acionados por outros jogadores. Portanto, n\u00e3o era suficiente apenas ensinar a intelig\u00eancia artificial a construir labirintos \u2014 era necess\u00e1rio ensin\u00e1-la a criar labirintos eficazes para diferentes cen\u00e1rios que podem ser encontrados tanto na vers\u00e3o inicial quanto na final do jogo. <\/p>\n<p>Al\u00e9m disso, a IA precisava aprender a prever quais monstros apareceriam no labirinto. Isso \u00e9 uma esp\u00e9cie de problema reverso em rela\u00e7\u00e3o \u00e0 constru\u00e7\u00e3o do labirinto. Assim como em muitos outros jogos, em Unleash n\u00e3o basta apenas aumentar o ex\u00e9rcito e envi\u00e1-lo para as linhas inimigas: tamb\u00e9m \u00e9 necess\u00e1rio espionar a defesa advers\u00e1ria e estruturar as tropas de modo a atacar os pontos fracos do inimigo da maneira mais eficaz poss\u00edvel. O ex\u00e9rcito de monstros deve interagir entre si de maneira a conseguir romper o labirinto com mais sucesso. \u00c0s vezes, tamb\u00e9m \u00e9 necess\u00e1rio liberar os monstros em uma ordem espec\u00edfica, dependendo de suas fun\u00e7\u00f5es e pap\u00e9is. Isso tamb\u00e9m aumenta o n\u00famero de combina\u00e7\u00f5es diferentes.<\/p>\n<p>Finalmente, uma vez que o jogador deve tanto criar labirintos quanto reunir um ex\u00e9rcito de monstros, a IA tamb\u00e9m precisa aprender a encontrar um equil\u00edbrio entre ataque e defesa. Tamb\u00e9m vale a pena considerar que quanto mais o jogador aumenta seu ex\u00e9rcito de monstros e constru\u00ed labirintos, mais recursos ele precisa para isso. Portanto, uma estrat\u00e9gia de ataque adequada \u00e9 extremamente importante tanto para a economia durante o jogo quanto para a vit\u00f3ria. E para garantir a competitividade, a IA deve ser capaz de alocar recursos de modo a criar um ex\u00e9rcito poderoso de monstros, sem comprometer a for\u00e7a do labirinto. Investir ao m\u00e1ximo em monstros pode ser economicamente vantajoso, mas isso aumenta o risco de o labirinto ser capturado pelos monstros do advers\u00e1rio. Por outro lado, se optar por refor\u00e7ar a defesa do labirinto, isso pode prejudicar sua economia. Nenhuma dessas op\u00e7\u00f5es levar\u00e1 \u00e0 vit\u00f3ria. Assim, o problema de otimiza\u00e7\u00e3o em Unleashed acaba sendo mais complexo do que em jogos como xadrez ou Starcraft, e envolve a necessidade de sacrificar algo e projetar seu retorno a v\u00e1rias jogadas \u00e0 frente. <\/p>\n<p>\u00c0 medida que a intelig\u00eancia artificial avan\u00e7a, surgem muitos problemas anteriormente n\u00e3o considerados. No in\u00edcio, a IA frequentemente alcan\u00e7ava um certo n\u00edvel de desenvolvimento, no qual come\u00e7ava a entender alguns aspectos do jogo \u2014 por exemplo, qual arma no labirinto \u00e9 eficaz contra tipos espec\u00edficos de monstros ou quais monstros t\u00eam melhor desempenho em determinadas partes do labirinto. No entanto, o aprendizado era lento e resultava na formula\u00e7\u00e3o de estrat\u00e9gias repetitivas. <\/p>\n<p><\/p>\n<h3>A necessidade de abordagens paralelas<\/h3>\n<p>\nEnquanto o treinamento de IA baseado em aprendizagem de m\u00e1quina evolu\u00eda lentamente e de forma n\u00e3o muito eficaz, outras etapas de testes e desenvolvimento exigiam IA melhor e IA concorrentes mais confi\u00e1veis. Para isso, foi utilizada a arquitetura Utility, que permite a cria\u00e7\u00e3o de IAs espec\u00edficas para testes e verifica\u00e7\u00e3o da qualidade do jogo, testes internos e balanceamento de armas e monstros, bem como cria\u00e7\u00e3o de labirintos e monstros espec\u00edficos. No entanto, durante o desenvolvimento de Unleash, os criadores tamb\u00e9m aprimoraram suas habilidades em sua conclus\u00e3o, e depois decidiram usar o conhecimento adquirido para desenvolver uma Utility IA mais complexa. Assim, ficou claro que muitos problemas enfrentados por sistemas de intelig\u00eancia artificial baseados em aprendizagem de m\u00e1quina podem ser facilmente resolvidos com sistemas Utility que utilizam os conhecimentos embutidos neles, e vice-versa. <\/p>\n<p>Por exemplo, labirintos mais eficientes s\u00e3o melhor constru\u00eddos com a ajuda de Utility IAs, baseadas em bancos de dados resultantes de testes internos. \u00c9 poss\u00edvel descrever e programar facilmente um algoritmo para a constru\u00e7\u00e3o de labirintos e a disposi\u00e7\u00e3o de armas de uma maneira que facilite a defesa de uma torre contra monstros espec\u00edficos para um jogador real. No entanto, a cria\u00e7\u00e3o de um ex\u00e9rcito de monstros com base no conhecimento sobre a base do inimigo apresentou-se como uma tarefa complexa para tais IAs, devido \u00e0 quantidade de condi\u00e7\u00f5es e combina\u00e7\u00f5es diferentes que precisam ser consideradas, o que era impressionante. Com esse tipo de arquitetura de IA, a busca por conjuntos adequados de monstros levaria um tempo infinito. Portanto, sob as condi\u00e7\u00f5es impostas, o aprendizado profundo seria a solu\u00e7\u00e3o ideal para essa tarefa. <\/p>\n<p><\/p>\n<h3>Cria\u00e7\u00e3o de IAs h\u00edbridas<\/h3>\n<p>\nAssim, foi decidido combinar duas abordagens e, assim, criar um sistema h\u00edbrido de intelig\u00eancia artificial baseado em aprendizado de m\u00e1quina e Utility. A ideia era que, onde era necess\u00e1rio processar uma enorme quantidade de combina\u00e7\u00f5es e estados do jogo, ou onde era preciso ensin\u00e1-lo algo, o aprendizado de m\u00e1quina fosse utilizado. Para outras tarefas, onde era melhor confiar na experi\u00eancia pessoal dos desenvolvedores, foram empregadas sistemas Utility. A vantagem dessa abordagem tamb\u00e9m reside no fato de que, se necess\u00e1rio, \u00e9 poss\u00edvel controlar melhor o comportamento da IA, garantindo que ela siga mais precisamente o objetivo definido. Por exemplo, pode-se usar Utility IA para garantir um equil\u00edbrio entre ataque e defesa, criando assim diferentes n\u00edveis de agressividade, ou \u00e9 poss\u00edvel criar diferentes configura\u00e7\u00f5es de labirintos para diferentes IAs, para formar estilos de jogo individuais. Tamb\u00e9m \u00e9 poss\u00edvel definir certos sistemas de valores para as redes neurais, a fim de desenvolver diferentes prefer\u00eancias ao selecionar monstros a\u00e9reos ou terrestres, e assim adicionar individualidade a cada IA. H\u00e1 muitas outras op\u00e7\u00f5es para a implementa\u00e7\u00e3o de solu\u00e7\u00f5es de design, e todas elas destacam os pontos fortes de cada tipo de arquitetura de IA. <\/p>\n<p>A abordagem h\u00edbrida tamb\u00e9m foi uma resposta a outra quest\u00e3o que surgiu para a equipe de desenvolvedores durante o desenvolvimento da intelig\u00eancia artificial para o Unleash: deve-se aplicar uma \u00fanica e global rede neural profunda baseada em aprendizado de m\u00e1quina para considerar todos os dados de entrada e sa\u00edda, ou \u00e9 melhor projetar a IA com uma estrutura hier\u00e1rquica? <\/p>\n<p><img decoding=\"async\" alt=\"Como funciona a IA h\u00edbrida para jogos e quais s\u00e3o suas vantagens\" src=\"\/wp-content\/uploads\/2019\/11\/0e1aac2e77bd22489e83066eb8e9fed2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Duas arquiteturas usadas no Unleash: \u00e0 esquerda \u2014 uma grande rede neural profunda com sua pr\u00f3pria arquitetura \u00fanica, \u00e0 direita \u2014 um sistema hier\u00e1rquico, onde cada rede tem sua pr\u00f3pria tarefa.<\/i><\/p>\n<p>E ainda assim, desejaria criar uma abordagem comum para o sistema de intelig\u00eancia artificial, cuja arquitetura n\u00e3o fosse baseada na experi\u00eancia pr\u00f3pria dos desenvolvedores. Contudo, quanto mais entradas havia no jogo, mais a rede neural se expandia. N\u00e3o era poss\u00edvel separar o treinamento da IA e ensin\u00e1-la a focar em um \u00fanico aspecto: ou defesa ou ataque. Havia receios de que uma abordagem mais geral resultaria em um aumento significativo no n\u00famero de c\u00e1lculos. <\/p>\n<p>Assim, surgiu a ideia de criar uma arquitetura hier\u00e1rquica, onde cada tarefa espec\u00edfica seria executada por uma rede neural especializada. De acordo com essa ideia, primeiro, a intelig\u00eancia artificial precisa decidir sobre a aloca\u00e7\u00e3o de recursos entre ataque (aumentar o ex\u00e9rcito de monstros) e defesa (construir um labirinto). Assim que faz isso, ela avan\u00e7a para o pr\u00f3ximo n\u00edvel de acordo com sua escolha e ganha acesso \u00e0 parte necess\u00e1ria do estado do jogo, ap\u00f3s o que toma decis\u00f5es detalhadas sobre quais monstros escolher e qual arma instalar no labirinto.<\/p>\n<p><\/p>\n<h3>Conclus\u00e3o e pr\u00f3ximos passos<\/h3>\n<p>\nCom uma abordagem h\u00edbrida, a IA Utility com redes baseadas em aprendizado de m\u00e1quina incorporadas lembra uma arquitetura hier\u00e1rquica. E esta, por sua vez, assemelha-se ao c\u00e9rebro biol\u00f3gico, onde diferentes centros nervosos s\u00e3o respons\u00e1veis por tarefas espec\u00edficas.<\/p>\n<p>Atualmente, a IA do oponente em Unleash \u00e9 muito dif\u00edcil de vencer: eles s\u00e3o capazes de se adaptar a qualquer situa\u00e7\u00e3o no jogo, \u2014 mas os desenvolvedores podem alterar suas configura\u00e7\u00f5es \u00e0 vontade. Na opini\u00e3o do autor do artigo, com o passar do tempo, a abordagem h\u00edbrida deve se tornar mais comum e surgir em muitos outros jogos. Talvez um dia possamos integrar a intelig\u00eancia artificial baseada em aprendizado de m\u00e1quina de forma pura ao processo do jogo. Mas, claramente, isso ainda requer tempo. Enquanto isso, o objetivo \u00e9 encontrar uma arquitetura que se ajuste automaticamente \u00e0s tarefas que enfrenta e descubra maneiras otimizadas de resolv\u00ea-las.<br \/>\n<br \/>Fonte: <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.3 - 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\/pt\/blog\/news\/kak-ustroen-gibridnyj-igrovoj-ii-i-v-chyom-ego-preimushhestva\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Como funciona a IA h\u00edbrida em jogos e quais s\u00e3o suas vantagens | ProHoster","description":"Dando continuidade ao tema do intelig\u00eancia artificial em jogos que j\u00e1 abordamos em nosso blog, vamos discutir o qu\u00e3o aplic\u00e1vel isso \u00e9.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/kak-ustroen-gibridnyj-igrovoj-ii-i-v-chyom-ego-preimushhestva","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/52119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=52119"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/52119\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=52119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=52119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=52119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}