Um Algoritmo Evolutivo para a adaptação de NPCs em um jogo de ação

Tamanho: px
Começar a partir da página:

Download "Um Algoritmo Evolutivo para a adaptação de NPCs em um jogo de ação"

Transcrição

1 Um Algoritmo Evolutivo para a adaptação de NPCs em um jogo de ação Kleber O. Andrade 1, Ana Estela A. Silva 2, Marcio K. Crocomo 2 1 Escola de Engenharia de São Carlos Universidade de São Paulo (USP) Caixa Postal São Carlos, SP Brasil. 2 Departamento de Ciência da Computação Escola de Engenharia de Piracicaba (EEP) Piracicaba, SP Brasil. {pdjkleber, marciokc}@gmail.com, aeasilva@unimep.com.br Abstract. An Evolutionary Algorithm was developed to support a game in which the non-player character strategies are adapted, during each battle, accordingly to the human player strategies. Thus, the Evolutionary Algorithm tends to increase the software attraction to the players. In order to develop the game, the C# language and the XNA framework (by Microsoft) were employed. The present work tries to contribute to the state of the art in which there are few publications using Evolutionary Algorithm applied to games in real time execution. Therefore, this work contributes to one more case study. Thanks to the Evolutionary Algorithm implemented in this work, the related game was very successfully adapted to the player s actions. Resumo. Durante este trabalho foi desenvolvido um Algoritmo Evolutivo (AE) e elaborado um jogo em que as estratégias adotadas pelos personagens não controlados pelo jogador se adaptam de acordo com as estratégias utilizadas pelo jogador a cada batalha. Desta forma o AE tende a aumentar a atratividade do software. Para a elaboração deste jogo, foi utilizada a linguagem C# e o framework XNA desenvolvido pela Microsoft. O presente trabalho vem a contribuir com o estado da arte, onde são poucas as publicações de aprendizagem utilizando AEs aplicados a jogos em tempo real, sendo assim, o mesmo contribui com mais um estudo de caso. Graças ao AE implementado, o jogo produzido mostrou adaptar-se às ações do jogador. 1. Introdução As primeiras tentativas de se criar um jogo segundo Kent (2001), foi em 1958 no Brookhaven National Laboratories em Nova Iorque, pelo físico Willy Higinbotham. O Tennis for Two era exibido em um osciloscópio e processado por um computador analógico. Willy morreu no dia 10 de Novembro de 1995, porém ele não é lembrado por inventar o primeiro jogo eletrônico, e sim por ter contribuído com a criação da primeira bomba atômica que destruiu as cidades de Hiroshima e Nagasaki durante a segunda guerra mundial. Para muitos adoradores de jogos clássicos, o primeiro jogo eletrônico chama-se Spacewar!, desenvolvido por Steve Russel em 1961 durante a sua graduação no MIT (Massachussets Institute of Technology) [Demaria 2004]. Spacewar é um jogo no qual

2 dois jogadores se envolvem em uma batalha espacial e tentam derrotar o oponente com torpedos e, ao mesmo tempo, evitar uma representação do sol que fica no centro da tela. Uma das pessoas que tinha contato com o jogo era o engenheiro Ralph H. Bear que em 1971 fecha contrato com a Magnavox e lança em 1972 o primeiro console doméstico, o Magnavox Odyssey. A indústria de jogos procurou tornar os jogos mais realistas, para atrair novos jogadores e aumentar o faturamento. Desde então, a criação de jogos evoluiu, e os jogos eletrônicos começaram a chegar a um nível impensável de realidade nos últimos 20 anos. Desenvolver jogos é uma atividade multidisciplinar na área da computação. Dentre as matérias envolvidas estão: projeto, programação, desenho, música, efeitos sonoros, hardware, redes, inteligência artificial (IA), matemática e física. Em função da diversidade de disciplinas envolvidas, os jogos se mostram um bom ambiente para a pesquisa de novas tecnologias para estas áreas da computação. Inicialmente os fabricantes de jogos têm concentrado grandes esforços ao realismo da ambientação gráfica. No entanto, autores como Sweetser (2002) dizem que o próximo foco a ser explorado no mercado de jogos será com personagens que se comportam de forma realista e podem aprender a se adaptar, ao invés de personagens mais visivelmente reais [Crocomo 2006]. Tais informações estão sendo reforçadas devido ao aumento do investimento das empresas em jogos com qualidade em sua inteligência artificial. Dentre as diversas técnicas envolvidas em IA, os Algoritmos Evolutivos (AE) [Yannakakis 2005] têm sido bastante utilizados para evoluir comportamentos e estratégias de jogos desde os anos 80. Porém, a técnica encontra resistência em ser utilizada pelos desenvolvedores de jogos. Autores como Spronck, Sprinkhuizen-Kuyper e Postma (2004) afirmam que esta técnica (assim como a técnica de Redes Neurais Artificiais [Haykin 2001]) permite a obtenção de comportamentos não aceitáveis durante o processo de aprendizado dos personagens se aplicada de maneira errada [Crocomo 2006]. Alguns trabalhos realizados por: Crocomo (2006), Crocomo (2008) e Cruz e Demasi (2003) já conseguiram, com sucesso, utilizar AEs para gerar estratégias pelos personagens não controlados pelo jogador (NPCs Non-Player Characters). O presente trabalho procura contribuir com a aplicação dos AEs no aprendizado dos NPCs de um jogo, onde existem poucos trabalhos encontrados até o momento. 2. Trabalhos Relacionados Em um trabalho de graduação desenvolvido no Instituto de Ciências e Matemática Computacional (ICMC-USP), AEs são utilizados para criar um jogo adaptativo, no qual o comportamento dos agentes controlados pelo computador tende a se adaptar de acordo com as estratégias utilizadas pelo jogador. Neste trabalho, vários AEs são testados, com o objetivo de encontrar uma configuração capaz de alcançar seu objetivo [Crocomo 2006]. Em [Crocomo, 2006] é dito que alguns autores chegam a afirmar que AEs não são alternativas viáveis pra esse tipo de aplicação por não cumprirem o requisito de

3 eficiência. Contrariando essas informações, o software produzido resultou num jogo em que os personagens controlados pelo computador oferecem um grau de adaptabilidade às ações do jogador devido ao AE implementado. Além disso, foi possível observar o surgimento de estratégias originais muito eficientes utilizadas pelo computador que superaram as expectativas dos desenvolvedores. Em outro trabalho de Crocomo (2008), o autor tenta verificar a possibilidade de aplicar AEs no aprendizado on-line de jogos. Para isso, é contestada a veracidade da afirmação de alguns autores que afirmam que os AEs não são aplicáveis na prática para atingir o objetivo em questão. Um jogo de computador é desenvolvido, no qual o algoritmo de aprendizagem gera estratégias inteligentes para os NPCs através de um AE. Desta forma, a função do AE é fazer com que a estratégia adotada pelo computador se adapte a estratégia utilizada pelo usuário a cada vez que joga. No final do trabalho, é realizada uma comparação entre a técnica Dynamic Scripting desenvolvida por Spronck, Sprinkhuizen-Kuyper e Postma (2004), e o AE desenvolvido, onde se concluí que o AE é no mínimo tão eficiente quanto à técnica anterior. Cruz e Demasi (2003) apresentam um método de evolução em tempo real de agentes em jogos eletrônicos de ação, baseado em algoritmos genéticos. A idéia de seu trabalho é de fazer os agentes dentro de um jogo evoluírem de acordo com determinados objetivos até atingirem um certo patamar, a partir do qual evoluem livremente de acordo com o adversário. O objetivo do método proposto é de permitir que haja uma evolução suave da capacidade dos agentes de acordo com o adversário, fazendo assim, com que o nível de dificuldade do jogo cresça na mesma proporção em que o jogador humano melhora seu desempenho. Para ainda Cruz e Demasi (2003) testarem o método, foi desenvolvido um jogo chamado Olhos Assassinos, no qual, o jogador controla um aventureiro que dispõe de uma arma com tiros limitados, mas recarregáveis que deve se proteger contra os olhos que tentam matá-lo. Os resultados do projeto foram bastante animadores. Baseado em tempos de perda de vida do jogador e diferença entre esses tempos, pode-se notar um tendência ao longo do tempo de ter uma evolução bem suave entre os agentes. O método apresentado apesar de ter resultados animadores e de ampla gama de possibilidades de uso, apresentou algumas desvantagens, como o risco da evolução dos agentes sair completamente do previsto em relação à próxima geração. 3. O Projeto Desenvolvido O projeto foi construído utilizando a linguagem C#, o Ambiente Integrado de Desenvolvimento Microsoft Visual C# Express Edition 2005 (Integrated Development Environment IDE), XNA Game Studio Express 2.0 que é um framework desenvolvido pela Microsoft. Ferramentas como GIMP e Inkscape para computação gráfica e na edição do som o software Audacity. Todos os softwares utilizados são gratuitos. O jogo desenvolvido (O Último Sobrevivente) para este projeto tem como objetivo servir de ambiente de teste para o AE implementado. Neste jogo o usuário é responsável pelo controle de um único personagem, contra quatro NPCs. O Último Sobrevivente segue o gênero ação, onde o jogador deve responder com velocidade ao que está acontecendo na batalha para não ser surpreendido pelos NPCs e perder.

4 3.1. O Jogo O jogo se passa em uma arena de batalha, no qual existem quatro NPCs (cavaleiros vermelhos) e um jogador (cavaleiro negro). Cada NPC possui uma energia e um único equipamento que é composto por uma espada. A espada possui um dano padrão, retirando somente um quarto de vida do personagem que recebe o ataque. O jogador controla o cavaleiro negro que dispõe também de uma energia e uma espada. O cavaleiro negro deve se proteger contra os cavaleiros vermelhos que tentam matá-lo. Os personagens podem andar em oito direções, estando limitados somente à dimensão da arena (570x600 pixels). O objetivo é tentar permanecer vivo e exterminar os NPCs. A Figura 1 mostra uma tela do jogo desenvolvido. Figura 1. Tela do jogo O Último Sobrevivente Sprites utilizados no jogo extraídos de Acessado em abril de Cada um dos NPCs pode se encontrar em situações determinadas pelas duas primeiras colunas da Tabela 1. A terceira coluna apresenta as ações a serem tomadas em cada uma destas situações. Na primeira coluna é representado o nível de energia que pode variar de 0 a 2, sendo 0 um nível baixo de energia, 1 o nível intermediário e 2 o nível mais alto. A segunda coluna representa a quantidade de amigos que está dentro do campo de percepção daquele NPC (limitada a um raio de 150 pixels ao seu redor). Para cada situação, existe uma única saída (coluna 3) que representa a ação a ser executada pelo NPC. Os possíveis valores para a terceira coluna são explicados abaixo: (0) Algoritmo para fugir do jogador quando o ver. (1) Algoritmo para caminhar em direção ao amigo mais próximo. (2) Algoritmo para procurar e perseguir o jogador para atacá-lo. De acordo com os dados da Tabela 1, os NPCs com base na energia e quantidade de amigos que pode ver, assumem assim uma determinada ação, definida pela coluna 3.

5 Como essa coluna define o comportamento para um personagem do computador, a mesma pode ser vista como uma possível abstração de um NPC. Tabela 1. Entrada (colunas 1 e 2) e suas respectivas saídas (coluna 3) O Algoritmo Evolutivo do Jogo O AE proposto para o jogo tem como cromossomos as estratégias de uma população composta por quatro guerreiros. Um cromossomo é uma configuração para a coluna 3 da Tabela 1 acima. O funcionamento do AE consiste em 5 etapas básicas: geração da população aleatoriamente, testes dos indivíduos no ambiente, seleção do indivíduo mais bem adaptado, aplicação dos operadores genéticos (crossover e mutação), geração de uma nova população. Este funcionamento pode ser visto no fluxograma da Figura 2. Geração da população aleatoriamente Testes dos indivíduos no ambiente Seleção do indivíduo mais bem adaptado Geração da nova população Aplicação dos operadores genéticos Figura 2. Fluxograma de funcionamento do AE. Os parâmetros dos cromossomos dos indivíduos são iniciados aleatoriamente após começar o jogo. A população então é testada no ambiente do jogo, e o membro mais bem adaptado ao final da batalha é então selecionado para se tornar o pai da próxima geração. São aplicadas em seguida, as funções de crossover e mutação para produzir a próxima geração que será então testada na próxima batalha Cromossomos O cromossomo é uma estrutura de dados que representa uma possível solução para um problema. Os cromossomos dos NPCs do jogo a serem evoluídos serão representados

6 como um vetor numérico, sendo que cada célula pode ser composta de valores variando de 0 a 2. Essa estrutura tem 3¹² ( ) possibilidades de estratégia para cada NPC. Um exemplo de cromossomo é representado na Figura 3. Figura 3. Exemplo de cromossomo População O conceito de população aplica-se a um grupo de indivíduos. Cada indivíduo dentro da população é representado por um cromossomo, e cada cromossomo é detentor de uma possível solução para o mesmo problema, sendo na maioria das vezes diferentes entre si. Pode-se chamar de geração cada nova população produzida nas iterações do algoritmo. Cada nova iteração representa uma nova batalha. Um exemplo de uma possível população é representado na Tabela 2 abaixo. Tabela 2. Exemplo de população onde cada indivíduo é um NPC Função de Pontuação Cada solução é avaliada por uma função de pontuação no decorrer do jogo, recebendo uma nota que indica o quão eficaz é a solução [Tomassini, 1995]. Os NPCs do jogo são recompensados com 5 pontos para cada ataque realizado com sucesso e 2 pontos a cada 10 segundos que permaneça vivo na partida. Porém, para encontrar uma boa solução é necessário punir certas ações, e para cada ataque que o NPC receber do jogador ele é punido com 3 pontos de sua nota. Essas pontuações foram reguladas empiricamente após alguns jogos, para deixar o jogo mais dinâmico Método de Seleção O método de seleção é responsável por selecionar os indivíduos mais aptos para o cruzamento. No jogo proposto foi utilizado o método de elitismo, já que este pode aumentar rapidamente o desempenho do AE, porque previne a perda da melhor solução já encontrada. Sendo assim o AE pode convergir mais rapidamente, o que é ideal para o jogo, já que o mesmo possui um grande número de soluções e uma pequena população. A idéia do elitismo é copiar os melhores cromossomos (neste jogo, é copiado apenas o melhor cromossomo) para a nova população. O resto da população é submetido aos operadores genéticos (crossover e mutação). A partir disso, a melhor solução é escolhida para gerar descendentes.

7 Crossover O operador crossover permite combinar dois ou mais cromossomos de uma mesma população para formar descendentes similares. Esse operador pode ser aplicado de diversas maneiras e com certa probabilidade de ocorrência, denominada probabilidade de recombinação. O crossover no jogo, assim como em qualquer outro problema é aplicado logo após o indivíduo mais bem adaptado ser escolhido. Esse indivíduo torna-se o pai da população e terá chances de ter seus genes na próxima população. Cada valor dos cromossomos dos indivíduos tem 50% de probabilidade de recombinação. Um exemplo pode ser visto na Figura 4. Figura 4. Exemplo de crossover Mutação O operador de mutação é necessário para a introdução e manutenção da diversidade genética da população, alterando arbitrariamente um ou mais componentes de um indivíduo. Por exemplo, quando o operador é aplicado, cada alelo possui 5% (valor definido empiricamente após vários testes) de chance de ser substituído por um novo valor. No caso do valor original ser 0 ou 1, o novo valor será 2. Se o valor original for 2, o novo valor terá 50% de probabilidade de ser 1, caso contrário, será 0. Outro exemplo de mutação pode ser visto na Figura 5. Figura 5. Exemplo de mutação. 4. Resultados Obtidos Neste trabalho foi desenvolvido um AE para a adaptação das estratégias dos NPCs do jogo O Último Sobrevivente, construído também neste projeto. O AE utilizado apresentou uma adaptação bem interessante, tendendo a ter uma evolução de forma bem distribuída ao longo do tempo e de acordo com o próprio desempenho do jogador. Foram realizados testes em 80 batalhas. Após cada partida, seus dados foram armazenados para análises futuras. A partir desses dados foram obtidos gráficos que apresentam a adaptação dos NPCs. Cada linha do gráfico da Figura 6 abaixo é referente

8 a um indivíduo daquela população. Maiores valores de aptidão indicam melhor desempenho do NPC durante aquela partida em particular. Figura 6. Gráfico de evolução do experimento 1 com coordenadas Média Móvel Aptidão / Geração Com o primeiro experimento demonstrado no gráfico da Figura 6, é possível notar que naquele jogo a população começou aleatoriamente muito boa conseguindo garantir desafios ao jogador. Com o passar dos jogos o usuário começou a perceber como os NPCs agiam, passando a ganhar dos mesmos. Porém, uma adaptação dos NPCs à nova estratégia adotada pelo usuário fez com que os mesmos voltassem a dar dificuldades ao jogador. Um segundo experimento, obteve um jogo mais desafiador. Os NPCs aprendiam de maneira rápida a estratégia do jogador, que também se adaptava às estratégias dos NPCs. Sendo assim o jogo permaneceu em equilíbrio, aumentando a atratividade do mesmo. O gráfico que representa este experimento pode ser visto na Figura 7. Figura 7. Gráfico de evolução do experimento 2 com coordenadas Média Móvel Aptidão / Geração. Embora o primeiro experimento tenha resultado em um maior número de vitórias para o jogador (30 derrotas e 50 vitórias), essas vitórias foram consecutivas. Já o segundo experimento, o jogador teve uma quantidade menor de vitórias (54 derrotas e 26 vitórias), porém elas foram distribuídas de maneira uniforme, sendo assim o jogo obteve um maior nível de disputa entre o jogador e os NPCs. O desafio ao jogador surgiu da adaptatividade das estratégias dos NPCs proporcionada pelo AE.

9 O objetivo do trabalho era adaptar as estratégias dos NPCs, de maneira a tornar o jogo mais desafiador ao usuário. Além das estratégias básicas de procurar amigos, fuga e perseguição do jogador, os NPCs apresentaram em algumas ocasiões estratégias muito eficientes, como a formação de grupo para um ataque mais concentrado. Essa estratégia pode ser vista na Figura 8. Figura 8. Agrupamento formado pelos NPCs. 5. Conclusão O Algoritmo Evolutivo desenvolvido durante este projeto foi capaz de adaptar as estratégias dos NPCs frente ao desempenho apresentado pelo usuário. Essas adaptações podem ser constatadas nos experimentos realizados, pois apresentam evidências da adaptação das populações evoluídas pelo AE em resposta ao ambiente em que se encontram. Aplicações como esta, podem ser possíveis em uma variedade de jogos, como os de ação, estratégia, MMORPGs e outros. Dessa forma, não é necessário que o programador codifique todas as estratégias que serão utilizadas e sim esperar que a capacidade de gerar estratégias novas a cada jogo diferente renove o interesse despertado pelo mesmo em seus usuários. Ao utilizar o AE proposto neste projeto, busca-se aumentar o entretenimento, pois o mesmo adiciona novos desafios ao jogador e apresenta comportamentos diferentes para cada personagem evoluído com o objetivo de aumentar o interesse do usuário no jogo. Foi constatado que os níveis de dificuldade oferecidos pelas adaptações das estratégias adotadas pelo computador foram bem equilibrados, tendendo a oferecer entretenimento. Como são poucos os trabalhos existentes que utilizam um AE para aprendizado em tempo real em um jogo, este trabalho colabora com o estado da arte ao produzir um caso de uso para esta situação. O jogo de ação obtido permitiu que estratégias eficientes fossem obtidas pelo computador durante a interação com o jogador. Tais resultados incentivam a aplicação desta técnica pelos desenvolvedores de jogos que tenham como interesse oferecer novos desafios a cada partida. Referências Crocomo, M. K. (2006) Desenvolvimento de um Jogo Adaptativo Utilizando um Algoritmo Evolutivo f. Dissertação (Graduação) Universidade de São

10 Paulo Instituto de Ciências Matemática e Computação (USP-ICMC), São Carlos, SP. Crocomo, M. K. (2008) Um Algoritmo Evolutivo para Aprendizado On-line em Jogos Eletrônicos f. Dissertação (Mestrado) Universidade de São Paulo Instituto de Ciências Matemática e Computação (USP-ICMC), São Carlos, SP. Demaria, R. Wilson, J. L. (2004) Hign Score! The Illustrated History of Electronic Games. 2 nd edition. Emeryville: McGraw-Hill/Osborne, Demasi, P. e Cruz, A. (2003) Evolução de Agentes em Tempo Real para Jogos Eletrônicos de Ação. II Workshop Brasileiro de Jogos e Entretenimento Digital, Haykin, S. (2001) Redes Neurais: Princípios e Prática. 2. Ed. Porto Alegre: Brookman p. Kent, S. L. (2001) The Ultimate History of Video Game: From Pong to Pokemon, the Story Behind the Craze That Touched Our Lives and Changed the World, New York: Three Rivers Press. Spronck, P., Sprinkhuizen-kuyper, I. e Postma, E. (2003) Online Adaptation of Game Opponent AI in Simulation and in Practice. Proceedings of the 4th International Conference on Intelligent Games and Simulation (GAME-ON 2003), pp EUROSIS, Belgium, 2003 Sweetser, P. (2002) Current AI in games: A review. Australian Journal of Intelligent Information Processing Systems. Scool of ITEE, University of Queensland. Tomassini, M. (1995) Survey of genetic algorithms. In: Annua reviews of Computational Physics, World Scietific, 3, , Yannakakis, G. N. (2005) AI in Compute Games: Generating Interesting Interactive opponents by the use of Evolutionary Computation. 257 f. Tese (Doutorado) University Of Edinburgh, Edinburgh 2005.

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP 1 Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 2 Introdução http://www.formula-um.com/ Como

Leia mais

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 1 2 Introdução Evolução natural http://www.formula-um.com/

Leia mais

3 Algoritmos Genéticos

3 Algoritmos Genéticos Técnicas de Inteligência Computacional 33 3 Algoritmos Genéticos Este capítulo resume os principais conceitos sobre o algoritmo evolucionário empregado nesta dissertação. É apresentada uma breve explicação

Leia mais

Algoritmos Evolutivos Aplicados no Aprendizado em Jogos de Estratégia em Tempo Real

Algoritmos Evolutivos Aplicados no Aprendizado em Jogos de Estratégia em Tempo Real Algoritmos Evolutivos Aplicados no Aprendizado em Jogos de Estratégia em Tempo Real Rodrigo de Freitas Pereira Claudio Fabiano Motta Toledo Marcio Kassouf Crocomo Eduardo do Valle Simões Sumário Trabalhos

Leia mais

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid 1 Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid Luciana Conceição Dias Campos Resumo Este trabalho consiste da aplicação de um algoritmo genético ao método

Leia mais

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO AULA 06 Algoritmos Genéticos Sumário Introdução Inteligência Artificial (IA) Algoritmos Genéticos Aplicações de

Leia mais

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva Computação Evolutiva Algoritmos Genéticos A computação evolutiva (CE) é uma área da ciência da computação que abrange modelos computacionais inspirados na Teoria da Evolução das Espécies, essencialmente

Leia mais

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples Introdução Inspiração biológica Histórico da computação evolutiva Algoritmo evolutivo simples Programação evolutiva Estratégias evolutivas Algoritmos genéticos Abordagem unificada de algoritmos evolutivos

Leia mais

Inteligência Computacional para Jogos Eletrônicos

Inteligência Computacional para Jogos Eletrônicos Inteligência Computacional para Jogos Eletrônicos Papéis da IA em Jogos Adversários Aliados Personagens de apoio NPC s (Non-player Character) Comentaristas Controle de câmera Geração de fases Nivelamento

Leia mais

Um Algoritmo Evolutivo para Aprendizado On-line em Jogos Eletrônicos

Um Algoritmo Evolutivo para Aprendizado On-line em Jogos Eletrônicos Um Algoritmo Evolutivo para Aprendizado On-line em Jogos Eletrônicos Marcio Kassouf Crocomo Eduardo do Valle Simões Laboratório de Robótica Móvel, Universidade de São Paulo, Brasil Figura : Imagem do jogo

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 9 Algoritmos Genéticos Max Pereira Algoritmos Genéticos Algoritmos Genéticos São técnicas de busca e

Leia mais

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Algoritmo Genético Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução 2. Conceitos Básicos 3. Aplicações 4. Algoritmo 5. Exemplo Introdução São técnicas de busca

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 9 Algoritmos Genéticos Max Pereira Algoritmos Genéticos São técnicas de busca e otimização. Uma metáfora

Leia mais

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Patrocínio, MG, outubro de 2016 ENCONTRO DE PESQUISA & EXTENSÃO, 3., 2016, Patrocínio. Anais... Patrocínio: IFTM, 2016. ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Igor Acassio Melo

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Algoritmos Genéticos Aluno: Fabricio Aparecido Breve Prof.: Dr. André Ponce de Leon F. de Carvalho São Carlos São Paulo Maio

Leia mais

Como as aplicações de entretenimento (em especial jogos digitais) têm enfrentado um constante crescimento, tanto em tamanho quanto em complexidade,

Como as aplicações de entretenimento (em especial jogos digitais) têm enfrentado um constante crescimento, tanto em tamanho quanto em complexidade, 1 Introdução Como as aplicações de entretenimento (em especial jogos digitais) têm enfrentado um constante crescimento, tanto em tamanho quanto em complexidade, os desafios encontrados durante o desenvolvimento

Leia mais

Max Pereira. Inteligência Artificial

Max Pereira. Inteligência Artificial Max Pereira Inteligência Artificial Algoritmos Genéticos Algoritmos Genéticos São técnicas de busca e otimização. Uma metáfora da teoria da evolução das espécies iniciada pelo Naturalista inglês Charles

Leia mais

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO Prof. Msc. Saulo Popov Zambiasi (saulopz@gmail.com) Informação - ICPG - Criciuma - SC 1 Características Gerais, operadores, algoritmo.

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos Introdução Um Algoritmo Genético (AG), conceitualmente, segue passos inspirados no processo biológico de evolução natural segundo a teoria de Darwin Algoritmos Genéticos seguem a idéia

Leia mais

DIVISION OF THE WORLDS

DIVISION OF THE WORLDS DIVISION OF THE WORLDS RODRIGO, Maycon Dutra do Santos 1 ; CRUZ, Fernando Ferreira da 2 ; MODESTO, Lisandro Rogério 3 ; RANDO, Déverson Rogério 4 Resumo Objetivo: Desenvolver um jogo eletrônico com gráfica

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

Introdução aos Algoritmos Genéticos

Introdução aos Algoritmos Genéticos Introdução aos Algoritmos Genéticos Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana 2 Algoritmos Genéticos: Introdução Introduzidos

Leia mais

IF-705 Automação Inteligente Algoritmos Evolucionários

IF-705 Automação Inteligente Algoritmos Evolucionários IF-705 Automação Inteligente Algoritmos Evolucionários Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática - CIn Departamento de Sistemas da Computação aluizioa@cin.ufpe.br

Leia mais

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante: Algoritmos Genéticos Prof. Luis Otavio Alvares INE/UFSC Características de alguns problemas Tamanho do espaço de busca- Ex. caixeiro viajante: 10 cidades: 181.000 soluções 20 cidades: 10.000.000.000.000

Leia mais

UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO Aluno: Pedro Ivo Silveira Sousa (piss@cin.ufpe.br) Orientador: Geber Lisboa Ramalho (glr@cin.ufpe.br) Área:

Leia mais

Estrutura comum dos AEs

Estrutura comum dos AEs Estrutura comum dos AEs Os algoritmos estudados seguem o seguinte padrão para modelagem dos sistemas evolutivos: Uma população de tamanho constante m evolui sobre o tempo A população atual é utilizada

Leia mais

5 Estudo de Caso e Resultados

5 Estudo de Caso e Resultados 5 Estudo de Caso e Resultados 5.1. Introdução Finalizado o desenvolvimento da ferramenta, é indispensável testar suas funcionalidades e a eficácia da aplicação conjunta dos seus módulos de geração de experimentos

Leia mais

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Algoritmos Genéticos Aula I Introdução Roteiro Introdução Computação Evolutiva Algoritmos

Leia mais

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP Gilson Rogério Batista, Gideon Villar Leandro Universidade Regional do Noroeste do Estado do Rio

Leia mais

6 Estudos de Casos Porta Lógica OU de 4 Entradas

6 Estudos de Casos Porta Lógica OU de 4 Entradas 6 Estudos de Casos Com o objetivo de avaliar a síntese automática de circuitos de QCA usando técnicas de Hardware Evolucionário (EHW), alguns circuitos foram sintetizados e serão apresentados a seguir.

Leia mais

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Introdução São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin.

Leia mais

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO Profa. Mariana Cavalca Baseado em: Material didático do Prof. Dr. Carlos Henrique V. Moraes da UNIFEI Curso de verão da Profa. Gisele L. Pappa Material

Leia mais

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR ALGORITMOS GENÉTICOS Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2018 Introdução Algoritmos Genéticos são algoritmos heurísticos de busca, que utilizam regras

Leia mais

3 Algoritmos Genéticos

3 Algoritmos Genéticos Algoritmos Genéticos Algoritmos Genéticos (AGs) constituem um mecanismo de busca adaptativa que se baseia no princípio Darwiniano de seleção natural e reprodução genética [101]. AGs são tipicamente empregados

Leia mais

Aprendizado de Máquina Aplicado à Jogos

Aprendizado de Máquina Aplicado à Jogos Aprendizado de Máquina Aplicado à Jogos Leandro Soriano Marcolino 14 de novembro de 2006 Inteligência Artificial para Jogos Introdução Por que utilizar técnicas de aprendizado? IA é um diferencial Capacidade

Leia mais

1. Introdução. Figura 1 - Space Invaders (a) e Super Mario Bros(b). 1 Universidade de Cruz Alta

1. Introdução. Figura 1 - Space Invaders (a) e Super Mario Bros(b). 1 Universidade de Cruz Alta Pixel Art: uma técnica de arte simplificada para desenho Digital Alex Vinícios Telocken 1, Daniel Dessbesell 1, Éverton Amaral 1, João David Prevedello 1, Kelvin Dallas Pinto 1, Vinícius Lopes 1 1 Universidade

Leia mais

Professor: Laboratório de Programação com Games. Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF

Professor: Laboratório de Programação com Games. Anselmo Montenegro  Conteúdo: - Introdução. Instituto de Computação - UFF Laboratório de Programação com Games Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Introdução 1 Objetivo do curso Desenvolver habilidades de programação através da construção de vídeo

Leia mais

Algoritmos Evolutivos para Otimização

Algoritmos Evolutivos para Otimização Algoritmos Evolutivos para Otimização A área de aplicação que tem recebido mais atenção é a otimização. Uma das razões é que existem uma variedade de problemas de otimização e a maioria deles sem solução

Leia mais

Tópicos Especiais em Informática Fatec Indaiatuba

Tópicos Especiais em Informática Fatec Indaiatuba Prof. Dilermando Piva Jr. ((Compilação de diversas fontes na Internet)) Principal motivação para o estudo da computação evolutiva Otimização de processos complexo e que possuem um grande número de variáveis

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação plicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada -

Leia mais

Problema de Satisfação de Restrições

Problema de Satisfação de Restrições Problema de Satisfação de Restrições Exemplos de PSR (CSP, Constraint Satisfaction Problem) Busca genérica aplicada a PSRs Backtracking Verificação forward Heurísticas para PSRs Problema de Satisfação

Leia mais

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR Problema de Satisfação de Restrições Problema de Satisfação de Restrições Exemplos de PSR (CSP, Constraint Satisfaction Problem) Busca genérica aplicada a PSRs Backtracking Verificação forward Heurísticas

Leia mais

Otimização com Algoritmos Evolutivos

Otimização com Algoritmos Evolutivos Otimização com Algoritmos Evolutivos Francisco Pereira (xico@dei.uc.pt) ELBCE 2016 (Setembro 2016) Resumo Problem Optimization Method Solution } Algoritmos Evolutivos } Propriedades e funcionamento } Exemplos

Leia mais

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador 1 Introdução 1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador possa resolver problemas de forma automática

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Prof. Kléber de Oliveira Andrade pdjkleber@gmail.com Algoritmos Genéticos Conteúdo Introdução O Algoritmo Genético Binário Noções de Otimização O Algoritmo Genético com Parâmetros

Leia mais

Aula 6 TECNOLOGIA EM JOGOS DIGITAIS INTELIGÊNCIA ARTIFICIAL PARA JOGOS. Marcelo Henrique dos Santos

Aula 6 TECNOLOGIA EM JOGOS DIGITAIS INTELIGÊNCIA ARTIFICIAL PARA JOGOS. Marcelo Henrique dos Santos Aula 6 TECNOLOGIA EM JOGOS DIGITAIS INTELIGÊNCIA ARTIFICIAL PARA JOGOS Marcelo Henrique dos Santos Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios em Mídias Digitais MBA

Leia mais

Introdução a Algoritmos Genéticos

Introdução a Algoritmos Genéticos Introdução a Algoritmos Genéticos Tiago da Conceição Mota Laboratório de Inteligência Computacional Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro Outubro de 2007 O Que São? Busca

Leia mais

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial Algoritmos Genéticos Texto base: Stuart Russel e Peter Norving - Inteligência Artificial junho/2007 Algoritmo Genético Uma variante da busca em feixe estocástica Estado sucessor gerado pela combinação

Leia mais

Algoritmos Evolutivos Canônicos

Algoritmos Evolutivos Canônicos Algoritmos Evolutivos Canônicos Como representar os indivíduos Vetor de comprimento fixo com L características escolhidas previamente. Ex.: Definição

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 06 Algoritmos Genéticos Edirlei Soares de Lima Algoritmos Genéticos Método de busca local. Boa abordagem para lidar com espaços de busca muito

Leia mais

CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA.

CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA. CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA. Emerson Carlos Pedrino * e-mail: ecpedrin@sel.eesc.sc.usp.br Valentin Obac Roda ** e-mail: valentin@sel.eesc.sc.usp.br

Leia mais

ESTUDO DO EFEITO DOS PARÂMETROS GENÉTICOS DE UM ALGORITMO GENÉTICO NA SOLUÇÃO OTIMIZADA E NO TEMPO DE CONVERGÊNCIA EM UMA FUNÇÃO DE DUAS VARIÁVEIS

ESTUDO DO EFEITO DOS PARÂMETROS GENÉTICOS DE UM ALGORITMO GENÉTICO NA SOLUÇÃO OTIMIZADA E NO TEMPO DE CONVERGÊNCIA EM UMA FUNÇÃO DE DUAS VARIÁVEIS ESTUDO DO EFEITO DOS PARÂMETROS GENÉTICOS DE UM ALGORITMO GENÉTICO NA SOLUÇÃO OTIMIZADA E NO TEMPO DE CONVERGÊNCIA EM UMA FUNÇÃO DE DUAS VARIÁVEIS Marcelo Henrique dos Santos Universidade de Uberaba, Engenharia

Leia mais

APLICAÇÃO DE REDES NEURAIS RECORRENTES EM AMBIENTES PARCIALMENTE OBSERVÁVEIS 1

APLICAÇÃO DE REDES NEURAIS RECORRENTES EM AMBIENTES PARCIALMENTE OBSERVÁVEIS 1 APLICAÇÃO DE REDES NEURAIS RECORRENTES EM AMBIENTES PARCIALMENTE OBSERVÁVEIS 1 Eldair Fabrício Dornelles 2, Henrique Augusto Richter 3, Márcia Da Silva 4, Rogério Samuel De Moura Martins 5, Sandro Sawicki

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

INTRODUÇÃO À. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

INTRODUÇÃO À. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2018 Computação Evolutiva Ramo da ciência da computação que propõe um paradigma

Leia mais

Experimentos e Resultados

Experimentos e Resultados 6 Experimentos e Resultados Neste capítulo apresentamos os experimentos realizados e os resultados obtidos pelas heurísticas apresentadas. A primeira parte do capítulo aborda os experimentos e resultados

Leia mais

Identificação de Pontos Perceptualmente Importantes (PIP) em séries temporais de tópicos extraídos de dados textuais

Identificação de Pontos Perceptualmente Importantes (PIP) em séries temporais de tópicos extraídos de dados textuais Universidade de São Paulo Biblioteca Digital da Produção Intelectual - BDPI Departamento de Ciências de Computação - ICMC/SCC Comunicações em Eventos - ICMC/SCC 2015 Identificação de Pontos Perceptualmente

Leia mais

VERIFICAÇÃO DO DECAIMENTO DE INFORMAÇÃO EM REDES NEURAIS RECORRENTES APLICADAS AO PROBLEMA DO MUNDO DE WUMPUS 1

VERIFICAÇÃO DO DECAIMENTO DE INFORMAÇÃO EM REDES NEURAIS RECORRENTES APLICADAS AO PROBLEMA DO MUNDO DE WUMPUS 1 VERIFICAÇÃO DO DECAIMENTO DE INFORMAÇÃO EM REDES NEURAIS RECORRENTES APLICADAS AO PROBLEMA DO MUNDO DE WUMPUS 1 Henrique Augusto Richter 2, Eldair Fabrício Dornelles 3, Márcia Da Silva 4, Rogério Samuel

Leia mais

4 Implementação Computacional

4 Implementação Computacional 4 Implementação Computacional 4.1. Introdução Neste capítulo é apresentada a formulação matemática do problema de otimização da disposição das linhas de ancoragem para minimizar os deslocamentos (offsets)

Leia mais

3 Trabalhos Relacionados

3 Trabalhos Relacionados 3 Trabalhos Relacionados Este capítulo apresenta, em linhas gerais, dois trabalhos relacionados que contribuíram de alguma forma para a concepção e desenvolvimento do método de verificação de sistemas

Leia mais

3 Computação Evolucionária

3 Computação Evolucionária 34 3 Computação Evolucionária Computação Evolucionária compreende diversos algoritmos inspirados no princípio Darwiniano da evolução das espécies e na genética. São algoritmos probabilísticos, que fornecem

Leia mais

Construção de uma Ferramenta para Evoluir Estratégias e Estudar a Agressividade/Cooperação de uma População submetida ao Dilema dos Prisioneiros

Construção de uma Ferramenta para Evoluir Estratégias e Estudar a Agressividade/Cooperação de uma População submetida ao Dilema dos Prisioneiros Construção de uma Ferramenta para Evoluir Estratégias e Estudar a Agressividade/Cooperação de uma População submetida ao Dilema dos Prisioneiros generalizá-lo para várias outras situações, como em problemas

Leia mais

Computação Bioinspirada PROF. PAULO SALGADO

Computação Bioinspirada PROF. PAULO SALGADO Computação Bioinspirada AULA 1 APRESENTAÇÃO DA DISCIPLINA PROF. PAULO SALGADO Aula de hoje Falar sobre Objetivos Ementa Avaliação Roteiro Proposto (Cronograma) Referências Periódicos da Área Objetivos

Leia mais

Um Middleware de Inteligência Artificial para Jogos Digitais 105

Um Middleware de Inteligência Artificial para Jogos Digitais 105 6 Conclusão Este capítulo apresenta alguns comentários e considerações gerais sobre o trabalho de pesquisa realizado durante o desenvolvimento desta dissertação, as contribuições alcançadas e sugestões

Leia mais

IPRJ TÓPICOS ESPECIAIS EM LINGUAGENS DE PROGRAMAÇÃO TRABALHO 3 UNITY 3D

IPRJ TÓPICOS ESPECIAIS EM LINGUAGENS DE PROGRAMAÇÃO TRABALHO 3 UNITY 3D IPRJ TÓPICOS ESPECIAIS EM LINGUAGENS DE PROGRAMAÇÃO TRABALHO 3 UNITY 3D O objetivo do trabalho 3 é desenvolver uma fase de um jogo de aventura utilizando a Unity 3D. Neste jogo, o jogador deve controlar

Leia mais

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos SCC-230 Inteligência Artificial Thiago A. S. Pardo Solange O. Rezende 1 Computação Evolutiva (CE) Trata de sistemas para a resolução de problemas

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 6 Algoritmos Genéticos M.e Guylerme Velasco Roteiro Introdução Otimização Algoritmos Genéticos Representação Seleção Operadores Geneticos Aplicação Caixeiro Viajante Introdução

Leia mais

3 Otimização Evolucionária de Problemas com Restrição

3 Otimização Evolucionária de Problemas com Restrição 3 Otimização Evolucionária de Problemas com Restrição 3.1. Introdução Este capítulo resume os principais conceitos sobre os algoritmos evolucionários empregados nesta dissertação. Primeiramente, se fornece

Leia mais

Método de Hardy-Cross Capitulo 13- Algoritmo genético engenheiro Plínio Tomaz 24 dezembro de Algoritmo genético 13-1

Método de Hardy-Cross Capitulo 13- Algoritmo genético engenheiro Plínio Tomaz 24 dezembro de Algoritmo genético 13-1 1 Algoritmo genético 13-1 2 Capítulo 13-Algoritmo genético 13.1 Introdução As tecnologias recentes para dimensionamento de redes de água são: Algoritmo genético Programação Dinâmica Decision Support System

Leia mais

COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1

COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1 COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1 Márcia Da Silva 2, Eldair Fabricio Dornelles 3, Rogério S. M. Martins 4, Édson L. Padoin 5. 1 Pesquisa desenvolvida

Leia mais

Inteligência Computacional Aplicada. O que é Inteligência Computacional? Áreas de Aplicação Algoritmos Genéticos

Inteligência Computacional Aplicada. O que é Inteligência Computacional? Áreas de Aplicação Algoritmos Genéticos Inteligência Computacional Aplicada Resumo O que é Inteligência Computacional? Áreas de Aplicação Algoritmos Genéticos O que é Inteligência Computacional? Técnicas e sistemas computacionais que imitam

Leia mais

3 Métodos de Otimização

3 Métodos de Otimização 3 Métodos de Otimização Problemas de otimização são relacionados a minimização ou maximização de função de uma ou mais variáveis num determinado domínio, possivelmente com a existência de um conjunto de

Leia mais

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. Metahuerísticas: Algoritmos Genéticos Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 8) Meta-heurísticas Classificação de métodos heurísticos: os métodos

Leia mais

OCEAN ADVENTURES. BRUZAFERRO, Guilherme 1 ; SANTOS, Anderson Batista dos 2 ; MODESTO, Lisandro Rogério 3 ; RANDO, Déverson Rogério 4

OCEAN ADVENTURES. BRUZAFERRO, Guilherme 1 ; SANTOS, Anderson Batista dos 2 ; MODESTO, Lisandro Rogério 3 ; RANDO, Déverson Rogério 4 OCEAN ADVENTURES BRUZAFERRO, Guilherme 1 ; SANTOS, Anderson Batista dos 2 ; MODESTO, Lisandro Rogério 3 ; RANDO, Déverson Rogério 4 RESUMO Objetivo: Esse trabalho tem como objetivo o desenvolvimento de

Leia mais

Computação Bioinspirada. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Computação Bioinspirada. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Computação Bioinspirada Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) 1 Principais tópicos Computação Bioinspirada Computação Biológica Biologia Computacional

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 1.7. Outras Metaheurísticas Populacionais 1.7.1. Metaheurísticas Populacionais

Leia mais

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Computação Evolutiva Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Principais Tópicos Computação Evolutiva Algoritmos Genéticos Codificação Função de

Leia mais

Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística

Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística José Edson Rodrigues Guedes Gondim 1 Joab de Oliveira Lima 2 1 Introdução

Leia mais

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS Uma visão geral dos GAs Um algoritmo genético é uma classe de algoritmo de busca. O algoritmo procura uma solução dentro de um espaço para um problema de otimização.

Leia mais

Desenvolvimento de um simulador de jogo de estratégia em tempo real. Fabiano Aono Leandro Aono Orientador: Prof. Dr. Paulo André Vechiatto de Miranda

Desenvolvimento de um simulador de jogo de estratégia em tempo real. Fabiano Aono Leandro Aono Orientador: Prof. Dr. Paulo André Vechiatto de Miranda Desenvolvimento de um simulador de jogo de estratégia em tempo real Fabiano Aono Leandro Aono Orientador: Prof. Dr. Paulo André Vechiatto de Miranda Departamento de Ciência da Computação Instituto de Matemática

Leia mais

Créditos. Introdução a Sistemas Inteligentes. Agenda Introdução Breve Histórico. Introdução. Introdução aos Algoritmos Evolutivos

Créditos. Introdução a Sistemas Inteligentes. Agenda Introdução Breve Histórico. Introdução. Introdução aos Algoritmos Evolutivos Introdução a Sistemas Inteligentes Introdução aos Algoritmos Evolutivos Créditos Este material consiste de adaptações e extensões dos originais gentilmente cedidos: pelo Prof. Dr. Eduardo Raul Hruschka

Leia mais

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa Prof. Paulo André Castro pauloac@ita.br www.comp.ita.br/~pauloac Sala 110, IEC-ITA Sumário Busca Competitiva Para Ambientes multiagentes...

Leia mais

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Figura 3.1: Fluxograma do algoritmo da Programação Genética. 3 Programação Genética O termo Programação Genética passou a ser utilizado em 1990 nos trabalhos publicados por Koza [30] e De Garis [31]. A definição de Koza para este termo passou a predominar após a

Leia mais

Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos

Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos https://eventos.utfpr.edu.br//sicite/sicite17/index Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos RESUMO Stéfanie Caroline Pereira Dekker stefanie.c.dekker@gmail.com Universidade Tecnológica

Leia mais

1 Introdução 1.1 Motivação

1 Introdução 1.1 Motivação 13 1 Introdução 1.1 Motivação A preocupação e os esforços empregados para melhorar as práticas de desenvolvimento de software buscando o aumento da produtividade e da qualidade, bem como a redução de custos

Leia mais

Introdução à Engenharia ENG1000

Introdução à Engenharia ENG1000 Introdução à Engenharia ENG1000 Aula 02 Introdução ao Game Design 2016.1 Prof. Augusto Baffa Introdução O que é um jogo? Jogar uma bola contra uma parede pode ser considerado um

Leia mais

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Francisco Henrique de Freitas Viana Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento de Informática

Leia mais

ANEXO 2. TÍTULO DO PROJETO: Construção de um ambiente virtual para simulação de aplicações de Vida Artificial

ANEXO 2. TÍTULO DO PROJETO: Construção de um ambiente virtual para simulação de aplicações de Vida Artificial ANEXO 2 INSTITUCIONAL/IFSP PROJETO DE PESQUISA TÍTULO DO PROJETO: Construção de um ambiente virtual para simulação de aplicações de Vida Artificial Área do Conhecimento (Tabela do CNPq): 1. 0 3. 0 0. 0

Leia mais

Otimizando o processo de criação de personagens 2D em pixel art para jogos digitais através da ferramenta SpriteGen

Otimizando o processo de criação de personagens 2D em pixel art para jogos digitais através da ferramenta SpriteGen Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação Otimizando o processo de criação de personagens 2D em pixel art para jogos digitais através da ferramenta SpriteGen

Leia mais

INTELIGÊNCIA ARTIFICIAL LISTA DE EXERCÍCIOS

INTELIGÊNCIA ARTIFICIAL LISTA DE EXERCÍCIOS INTELIGÊNCIA ARTIFICIAL LISTA DE EXERCÍCIOS 1) Considerando a empresa NAIKE, do ramo de calçados, que possui diversos setores como financeiro, marketing, produção, compras... A qual produz calçados e realiza

Leia mais

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos. Gustavo Pessin 2007

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos. Gustavo Pessin 2007 GT-JeDi - Curso de Desenv. de Jogos IA para Jogos Gustavo Pessin 2007 Cronograma Base conceitual Exemplo: Achando o máximo de uma função... Como criar uma pequena aplicação: Exercício-Exemplo [Animal selvagem...]

Leia mais

Universidade Federal de Pernambuco

Universidade Federal de Pernambuco Universidade Federal de Pernambuco Graduação em Engenharia da Computação Centro de Informática Análise de Comportamento de Sistemas DASH com Teoria de Controle em Redes 3G Aluno: Daniel Bezerra { db@cin.ufpe.br

Leia mais

4 Algoritmo Genético com Chaves Aleatórias

4 Algoritmo Genético com Chaves Aleatórias 4 Algoritmo Genético com Chaves Aleatórias Neste capítulo é apresentado um algoritmo genético com chaves aleatórias [9] para o problema min-rwa. A opção por esta classe de algoritmos genéticos é motivada

Leia mais

UTILIZAÇÃO DE REGRAS PARA ADAPTAÇÃO DE HIPERMÍDIA

UTILIZAÇÃO DE REGRAS PARA ADAPTAÇÃO DE HIPERMÍDIA UTILIZAÇÃO DE REGRAS PARA ADAPTAÇÃO DE HIPERMÍDIA Eliane Pozzebon eliane@inf.ufsc.br Jorge Muniz Barreto barreto@inf.ufsc.br Universidade Federal de Santa Catarina (UFSC) Departamento de Ciências Exatas

Leia mais

RECONHECIMENTO AUTOMÁTICO DE PADRÕES MUSICAIS UTILIZANDO OPERADORES MORFOLÓGICOS E PROGRAMAÇÃO GENÉTICA.

RECONHECIMENTO AUTOMÁTICO DE PADRÕES MUSICAIS UTILIZANDO OPERADORES MORFOLÓGICOS E PROGRAMAÇÃO GENÉTICA. RECONHECIMENTO AUTOMÁTICO DE PADRÕES MUSICAIS UTILIZANDO OPERADORES MORFOLÓGICOS E PROGRAMAÇÃO GENÉTICA. Emerson Carlos Pedrino e-mail: ecpedrin@sel.eesc.sc.usp.br Valentin Obac Roda e-mail: valentin@sel.eesc.sc.usp.br

Leia mais

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL Miquéias Augusto Ferreira Nantes 1, Douglas Peixoto de Carvalho 1 (Alunos do Curso de Matemática da Universidade Anhanguera - Uniderp)

Leia mais

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados Agenda PCS / PCS 09 Inteligência Artificial Prof. Dr. Jaime Simão Sichman Profa. Dra. Anna Helena Reali Costa Busca Local e Problemas de Otimização. Introdução. Busca Local I. Subida da Encosta (Hill-Climbing)

Leia mais