Emerson de Oliveira Antunes Samir Elias Hachem Kerbage

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

Download "Emerson de Oliveira Antunes Samir Elias Hachem Kerbage"

Transcrição

1 MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA Seção de Engenharia de Computação / SE 8 Emerson de Oliveira Antunes Samir Elias Hachem Kerbage Implementação de heurísticas para a Liga Simulada RoboCup 2D Rio de Janeiro 2011

2 INSTITUTO MILITAR DE ENGENHARIA Emerson de Oliveira Antunes Samir Elias Hachem Kerbage Implementação de heurísticas para a Liga Simulada RoboCup 2D Monografia de Projeto de Final de Curso ao Curso de Graduação em Engenharia de Computação. Orientador: Paulo Fernando Ferreira Rosa, PhD Rio de Janeiro 2011

3 INSTITUTO MILITAR DE ENGENHARIA EMERSON DE OLIVEIRA ANTUNES SAMIR ELIAS HACHEM KERBAGE IMPLEMENTAÇÃO DE HEURÍSTICAS PARA A LIGA SIMULADA ROBOCUP 2D Projeto de Final de Curso sob o título Implementação de heurísticas para a Liga Simulada RoboCup 2D, defendido por Emerson Oliveira Antunes e Samir Elias Hachem Kerbage e aprovada em 2011, no Rio de Janeiro, Estado do Rio de Janeiro, pela banca examinadora constituída pelos professores: Prof. Paulo Fernando Ferreira Rosa Orientador Cap Wallace Anacleto Pinheiro Instituto Militar de Engenharia Cap Julio Cesar Duarte Instituto Militar de Engenharia

4 INSTITUTO MILITAR DE ENGENHARIA Praça General Tibúrcio, 80-Praia Vermelha Rio de Janeiro-RJ CEP Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá incluílo em base de dados, armazenar em computador, microfilmar ou adotar qualquer forma de arquivamento. É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem finalidade comercial e que seja feita a referência bibliográfica completa. Os conceitos expressos neste trabalho são de responsabilidade do autor e do orientador Kerbage, Samir Elias Hachem. A6361 Implementação de heurísticas para a Liga Simulada RoboCup 2D. Antunes, Emerson de Oliveira; Kerbage, Samir Elias Hachem - Rio de Janeiro: Insituto Militar de Engenharia, p.: il. Projeto Fim de Curso Instituto Militar de Engenharia Rio de Janeiro, Inteligência Artificial. 2. Robótica Inteligente. 3. Heurística. I Antunes, Emerson de Oliveira. II Título III Instituto Militar de Engenharia CDD 006.3

5 Resumo O Aprendizado por Reforço é uma técnica muita conhecida para a solução de problemas quando o agente precisa atuar com sucesso em um local desconhecido por meio de tentativa e erro. Esta técnica tem sido utilizada amplamente em robôs autônomos em ambientes desestruturados, apesar do tempo que o agente leva para aprender. Este trabalho apresenta o uso do Aprendizado por Reforço acelerado por heurística no domínio da robótica móvel, utilizando a plataforma de simulação da RoboCup 2D. Esta plataforma vem sendo usada cada dia mais no meio científico, pois possibilita fazer inúmeros experimentos com jogadores virtuais, sem sofrer com problemas que comumente são encontrados em sistemas reais, além de manterem sempre as mesmas características de ambiente. O principal problema abordado neste trabalho é desenvolver um time com Aprendizado por Reforço Acelerado por Heurística na RoboCup 2D. Tal time apresenta diversos desafios, sendo o maior deles o tamanho do ambiente, o que gera grande dificuldade para um agente aprender uma política de decisões. Para solucionar este problema foram propostas formas de generalizar os estados, sem causar qualquer interferência no aprendizado. Foram realizados treinamentos com o time implementado e os resultados indicam que a convergência desse método é lenta, indicando a necessidade de definição de algumas diretrizes adicionais para o uso da aprendizagem por reforço no domínio do futebol de robôs, como a implementação de estratégias diferentes de acordo com a função que cada jogador assume, como as de atacante, zagueiro, meio de campo e goleiro. Palavras-chave: Inteligência Artificial, Robótica Inteligente, Aprendizado por Reforço, Heurística, Q-Learning, RoboCup 2D

6 Abstract Reinforcement Learning is a very known technique for solving problems when the agent needs to operate successfully in an unfamiliar place through trial and error. This technique has been widely used in autonomous robots in unstructured environments, despite the time that the agent takes to learn. This paper presents the use of Heuristic Accelerated Reinforcement Learning in the field of mobile robotics, using the simulation platform of RoboCup 2D. This platform is being used increasingly in the scientific community, because it makes possible to do many experiments with virtual players, without suffering from problems that are commonly found in real systems, while maintaining all the same features of the environment. The main problem addressed in this work is to develop a Heuristic Accelerated Reinforcement Learning Team in the RoboCup 2D competition. This team presents several challenges, the largest being the size of the environment, which creates great difficulty for an agent to learn a policy-making. To solve this problem, ways to generalize the states were proposed, without causing any interference in the learning process. So far, trainings with the team were conducted and the results indicate that the convergence of this method is slow. This demonstrate the need to define some additional guidelines for applying the use of reinforcement learning in the field of robot soccer, like implementation of different strategies accordingly to the role that each player takes, such as attacker, defender, midfielder and goalkeeper. Keywords: Artificial intelligence, Intelligent Robotics, Reinforcement Learning, Heuristic, Q-Learning, RoboCup 2D.

7 Sumário Lista de Figuras Lista de Tabelas 1 Introdução p Objetivos p Revisão de Literatura e Tópicos Tutoriais p Aprendizagem p Características dos ambientes de aprendizagem p Agentes Inteligentes p Processo Markoviano de Decisão p Determinação de uma política ótima p Aprendizado por Reforço p Métodos de aprendizagem por reforço p O Método de Diferenças Temporais p Q-Learning p Aceleração da aprendizagem por reforço p Generalização espacial p Imitação p Heurística p A função heurística H p O algoritmo Q Learning Acelerado por Heurísticas p. 32

8 2.3 Robocup p Objetivos do Robocup p As Categorias da RoboCup p Robocup 2D p O Simulador p O ambiente simulado p Análise do time UvA Trilearn p Implementação p Modelagem da estratégia para o time p Discretização dos estados p Discretização das ações p Definição dos reforços p Implementação da estratégia p Matriz de estados e ações p Crítico p Análise do melhor instante para colhimento do reforço p Implementação das Heurísticas p Escolha do melhor jogador para fazer o passe p Posicionamento dos jogadores no campo p Chutar a gol sempre que houver condições favoráveis p Definição da melhor trajetória do chute à gol p Otimização do tiro de meta p Treinamentos e Resultados Experimentais p Q-Learning sem Heurística p Q-Learning com Heurísticas - 11 jogadores p. 54

9 4.3 Q-Learning com Heurísticas - 5 jogadores p Comparação dos resultados p Considerações Finais p Contribuições p Lições aprendidas p Trabalhos Futuros p. 58 Referências p. 59

10 Lista de Figuras 1 Diagrama esquemático de um agente reativo simples (RUSSEL; NORVIG, 2004) p Agente baseado na utilidade (RUSSEL; NORVIG, 2004) p Um modelo geral de agentes com aprendizagem (RUSSEL; NORVIG, 2004). p Funcionamento de um agente com aprendizado por reforço p Uma partida de simulação 2D vista do SoccerMonitor p Arquitetura do Sistema de Simulação SoccerServer (REIS, 2003).... p Localização e nomes dos marcos de orientação no SoccerServer (NODA et al., 1998) p Arquitetura de camadas do time UVA Trilearn. (BOER; KOK, 2002).. p Representação da localização do índice (i0) da chave de estados e determinação do índice (i1) da chave de estados p Arquitetura de camadas do time p Histograma do número de ciclos transcorridos a partir da última ação realizada até fazer um gol p Histograma do número de ciclos transcorridos a partir da última ação realizada até sofrer um gol p Boxplot do número de ciclos transcorridos a partir da última ação realizada até fazer um gol p Boxplot do número de ciclos transcorridos a partir da última ação realizada até sofrer um gol p Histograma do número de ciclos transcorridos a partir do último toque realizado até a constatação da manutenção ou perda da posse de bola.. p. 49

11 16 Histograma do número de ciclos transcorridos a partir do último drible realizado até a constatação da manutenção ou perda da posse de bola.. p Histograma do número de ciclos transcorridos a partir do último chute realizado até a constatação da manutenção ou perda da posse de bola.. p Escolha da melhor trajetória de chute à gol baseado nos ângulos entre o jogador, a bola e as traves p Resultado do saldo de gols para o algoritmo Q-Learning sem heurísticas p Resultado do saldo de gols para o algoritmo HAQL em uma partida com 11 jogarores em cada time p Resultado do saldo de gols para o algoritmo HAQL em uma partida com 5 jogarores em cada time p Comparação do resultado das seções de treinamento com e sem Heurísticas p. 56

12 Lista de Tabelas 1 Diferenças entre as características dos domínios do RoboCup e Xadrez. (REIS, 2003) p Chave de estados p Representação dos ângulos p Representação das distâncias p Reforços com avanço em direção ao gol adversário p Reforços sem avanço em direção ao gol adversário p. 44

13 12 1 Introdução O interesse de pesquisa da comunidade de Inteligência Artificial em Sistemas Multiagentes tem gerado o crescimento da utilização de técnicas de agentes nas mais diversas aplicações em que esses sistemas podem ser usados, como por exemplo: jogos de computadores, interfaces adaptativas, simulação e controle de processos industriais. O futebol de robôs é uma iniciativa de um grupo internacional de pesquisadores em Inteligência Artificial e Robótica Inteligente, a RoboCup Federation, que propõe um problema padrão a ser solucionado: uma partida de futebol de robôs. A RoboCup é uma tentativa de estimular a área de IA (Inteligência Artificial) e, principalmente de Sistemas Multiagentes por promover um problema padrão onde uma ampla cadeia de tecnologias podem ser integradas, examinadas e comparadas. A utilização do ambiente da RoboCup 2D para simulação de uma partida de futebol (simulador Soccer Server) permite a avaliação de diferentes técnicas de Sistemas Multiagentes como planejamento de estratégias, conhecimento em tempo real, colaboração de agentes, princípios de agentes autônomos, entre outros, e estimula as pesquisas, investigações e testes que possibilitem a construção gradativa de agentes avançados. A Robocup possui três categorias, duas delas disputadas entre times de robôs reais de pequeno e médio porte e uma terceira categoria na qual as partidas são disputadas em um simulador, o Soccer Server. Esta última será o foco de nosso estudo. A Robocup 2D foi inicialmente proposta para ser um meio de divulgação da robótica e da pesquisa em inteligência artificial, e fornecer meios para a avaliação de várias teorias, algoritmos e arquiteturas, servindo também como uma ferramenta para a integração e estudos de como várias tecnologias podem trabalhar em conjunto (BOER; KOK, 2002). Esta competição deu oportunidade aos pesquisadores trabalharem nas mais variadas áreas da inteligência artificial, como por exemplo, em sistemas multiagentes, estratégia, aprendizado, visão, redes neurais, controle e em muitas outras, pois a criação de times para o Robocup vai além da simples integração da Inteligência Artificial. Dentre as aplicações dos estudos envolvidos na Robocup, podemos destacar: Roteamento de pacotes de rede;

14 13 Controle inteligente de câmeras; Robótica industrial e controle de processos; Coordenação de Veículos não tripulados; Simulação de ambientes desestruturados. Atualmente, o interesse pelo estudo da robótica e inteligência artificial tem sido incentivado pelos campeonatos criados pela RoboCup, envolvendo estudantes do mundo todo. Um pré-requisito para participação em uma competição na modalidade de simulação 2D de futebol é a disponibilização do código fonte do time participante. Portanto, a partir do código fonte do time UVA Trilearn (BOER; KOK, 2002) com implementações de técnicas de Aprendizado por Reforço (AR) já efetuadas em trabalho de Iniciação à Pesquisa, é que iremos desenvolver este trabalho, adicionando em seu código mais estratégias de AR e heurísticas, com o intuito de acelerar o aprendizado e melhorar o desempenho dos jogadores. Quando se deseja solucionar uma variedade de problemas e quando não existem modelos disponíveis a priori, o Aprendizado por Reforço é uma técnica muito atraente, pois o agente irá aprender a cumprir uma função de maneira correta em um ambiente desconhecido através de tentativa e erro. No Aprendizado por Reforço, o agente aprende por meio da interação direta entre o agente e o ambiente, e das recompensas recebidas. Estas recompensas são dadas na forma de reforços positivos e negativos, que são usados para sinalizar ao agente se ele está realizando as ações corretas ou não. A tarefa de aprendizagem por reforço consiste em usar recompensas observadas para aprender uma política ótima (ou quase ótima) para o ambiente. Em uma plataforma de robôs autônomos cooperativos (e.g., o futebol de robôs), o programa pode ser informado quando ganhou ou perdeu, e pode usar essa informação para aprender uma função de avaliação que forneça estimativas razoavelmente precisas da probabilidade de ganhar a partir de qualquer posição dada. Apesar de o aprendizagem por reforço ser muito indicado como técnica de aprendizagem no ambiente de futebol de robôs, ele apresenta uma deficiência que é a lentidão do aprendizado. É na tentativa de solucionar este problema que se torna importante o uso de heurísticas visando acelerá-lo. 1.1 Objetivos Este projeto tem por objetivo a implementação de heurísticas baseadas no uso de técnicas de aprendizado por reforço no domínio da robótica móvel, utilizando a plata-

15 14 forma padrão de simulação da Liga Simulada 2D da RoboCup. O objetivo específico desta pesquisa consiste na participação de competições locais, nacionais e internacionais de futebol de robôs. Esta plataforma vem sendo usada cada dia mais no meio científico por possibilitar a realização de inúmeros experimentos com jogadores virtuais, sem sofrer com problemas que comumente são encontrados em sistemas reais, além de manter sempre as mesmas características de ambiente. Devido à complexidade que envolve a criação de todos os componentes de um time inteiro, como camada de comunicação e modelagem do mundo, utilizamos como base o time da equipe UvA Trilearn, desenvolvido como trabalho de mestrado da universidade de Amsterdam, para focar o estudo na implementação de um sistema onde os agentes devem aprender a agir de acordo com a sua posição no campo, a posição da bola e dos oponentes. Neste trabalho é utilizado o algoritmo Q-Learning, técnica de aprendizado não supervisionado na qual um agente sem conhecimentos prévios aprende por meio de interações com o ambiente, recebendo recompensas por suas ações e assim descobrindo a política ótima para a resolução de um determinado problema. E para tornar essa descoberta mais rápida empregam-se diversas heurísticas sobre as estratégias de aprendizado. O Q-Learning foi empregado por ser um dos mais conhecidos algoritmos de Aprendizado por Reforço e por já ter sido aplicado com sucesso em uma grande variedade de domínios. Neste trabalho também é aplicada a técnica exploração aleatória ɛ-greedy para que, durante o treinamento, o agente possa explorar com frequência todos os estados para que o treinamento seja mais efetivo.

16 15 2 Revisão de Literatura e Tópicos Tutoriais 2.1 Aprendizagem Em IA existe um campo chamado de Aprendizado de Máquina (Machine Learning ML) que busca a criação de programas de computador capazes de aprender automaticamente com estímulos externos de ambientes diversos, baseados em experiências. Em (BIANCHI, 2001) encontramos duas classificações do aprendizado de máquina, que levam em consideração a forma na qual o agente interage com o ambiente em que está atuando com o intuito de aprender, são elas: supervisionado, semi-supervisionado e não supervisionado. No aprendizado supervisionado o agente é guiado por um supervisor que o informa sobre o seu desempenho, forncecendo-lhe portanto, informações a cerca dos resultados esperados para suas ações. No Aprendizado por Reforço não existem exemplos de entrada, nem a especificação das saídas. Nele o aprendizado acontece a partir da interação do agente aprendiz com o ambiente em que está inserido, o qual irá responder às ações do agente, retornando um reforço, também denominado de recompensa. A tarefa do agente é aprender um mapeamento das diferentes respostas do ambiente em relação às diferentes ações que esse agente venha a executar, buscando maximizar as recompensas recebidas a cada interação com o ambiente, acumuladas ao longo do tempo Características dos ambientes de aprendizagem Ambientes possuem diversas características que definem a maneira que esse ambiente pode ter seu estado alterado e como o mesmo reage às ações executadas pelo agente. Para que um agente possa interagir com o ambiente em que está inserido, primeiro ele

17 16 tem que observar esse ambiente. Um ambiente onde o agente é capaz de observar todas as informações relevantes para a escolha da ação a ser executada, é denominado ambiente completamente observável. Esses ambientes completamente observáveis são ideais, pois não é necessário que o agente armazene informações sobre o ambiente ao longo do tempo para ser capaz de selecionar a ação a ser executada. Entretanto, a presença de ruído e a imprecisão na leitura de sensores podem impossibilitar que o agente seja capaz de observar todas as variáveis do ambiente que definem um estado. Pode acontecer, ainda, que um agente não seja capaz de observar todas as variáveis que definem um estado. Logo, o ambiente é denominado parcialmente observável. Depois de observar o estado atual em que se encontra e selecionar a ação a ser executada, é conveniente que o agente possa de determinar o estado futuro do ambiente. Quando é possível determinar o estado futuro apenas com a observação do estado atual e com a informação de qual ação será executada pelo agente, o ambiente é denominado determinístico. Caso apenas as informações de estado atual e ação a ser executada pelo agente não sejam suficientes para determinar o estado futuro, esse ambiente é denominado não-determinístico. Quando se trata da mudança de estados de um ambiente, caso seu estado seja alterado apenas pela execução da ação selecionada pelo agente, então é denominado ambiente estático. Do contrário, quando o estado do ambiente pode sofrer alterações enquanto o agente está selecionando qual ação deve ser executada, esse ambiente é denominado dinâmico Agentes Inteligentes Agente é o elemento básico da IA. É ele quem irá perceber e agir num ambiente, através de seus sensores e atuadores. Mas para decidir qual ação tomar sob determinada circunstância é necessário um programa que implemente sua função de agente. Existem alguns tipos de programas de agentes, mas neste trabalho nos restringiremos aos agentes reativos, baseados na utilidade e com aprendizagem. O tipo mais simples de agente é o agente reativo simples. Esses agentes selecionam ações com base na percepção atual, ignorando o restante do histórico de percepções. São, portanto agentes com inteligência limitada e tem sua estrutura ilustrada na Figura 1. Já os agentes baseados na utilidade procuram tomar suas decisões segundo ações que lhe são mais úteis, guiados por funções de utilidade que mapeiam os sentidos captados do

18 17 Figura 1: Diagrama esquemático de um agente reativo simples (RUSSEL; NORVIG, 2004). ambiente em um número real. Suas estruturas são mostradas na Figura 2. Figura 2: Agente baseado na utilidade (RUSSEL; NORVIG, 2004). Os agentes com aprendizagem não são básicos como os demais e sim utilizados como evolução dos outros tipos, ou seja, os demais tipos podem evoluir e passar a trabalhar com aprendizado se incorporarem alguns elementos, tais como crítico, de aprendizado e gerador de problemas. Nesse trabalho a técnica de aprendizado por reforço é usada para implementação desses agentes inteligentes, dado a complexidade do ambiente (parcialmente observável, não determinístico e dinâmico) na liga simulada 2D e a impossibilidade de emprego de um supervisor para orientar o agente nas tomadas de decisão Processo Markoviano de Decisão Uma das maneiras de formalizar um agente de AR é através do Processo Markoviano de Decisão (Markov Decision Process - MDP), descrito em (RUSSEL; NORVIG, 2004). Utilizando o MDP é possível modelar matematicamente um agente de AR, isto é, definir as

19 18 Figura 3: Um modelo geral de agentes com aprendizagem (RUSSEL; NORVIG, 2004). funções matemáticas para os componentes de um agente de AR. A propriedade de Markov define que as transições de estados são independentes do histórico de estados visitados e ações executadas anteriormente pelo agente. Um MDP é definido da seguinte maneira: Um conjunto finito de estados S; Um conjunto finito de ações A; Uma função recompensa R : S A R ; Uma função de transição de estados T : S A Π(S), onde Π(S) é um mapeamento da transição de estados em probabilidades. As funções de recompensa e transição de estados são definidas de acordo com as propriedades do ambiente, representando um modelo desse ambiente. Um agente de AR é composto por quatro componentes: uma política, uma função de recompensa, uma função valor e uma função de transição de estados. A política é responsável por selecionar a ação a ser executada, dependendo da situação em que o agente se encontra, para que uma meta seja alcançada. Seja qual for o estado inicial, essa política deve indicar uma seqüência de ações para se chegar ao objetivo, sendo essa seqüência a que maximiza o ganho de recompensas acumuladas ao longo do tempo até um estado terminal ou até que um critério de parada seja atingido. Uma política que maximiza esse ganho de recompensas acumuladas é tida como uma política ótima. Uma política pode determinar uma seqüência de ações que não alcance o objetivo, ou

20 19 ainda, que alcance o objetivo, mas cuja recompensa acumulada ao longo do tempo não seja a máxima possível. Dessa forma, a política é tida como não ótima, ou sub-ótima. O objetivo do agente de AR é representado através da função de recompensa. A função de recompensa deve retornar um valor que representa, numericamente, uma punição ou uma gratificação para cada possível ação a ser executada em cada um dos possíveis estados. Enquanto a função recompensa representa uma resposta imediata do ambiente à ação executada pelo agente, a função valor representa, para cada ação possível a ser executada em determinado estado, o valor máximo de recompensa acumulada que pode ser recebida ao longo do tempo, até que um estado terminal seja atingido. Por fim, a função de transição de estados é capaz de retornar o estado futuro, seja qual for o estado atual e a ação executada. Essa função de transição de estados depende das propriedades do ambiente no qual o agente de AR está inserido. Em um ambiente determinístico, a seleção de uma ação a t A em um estado s t S resulta sempre no mesmo estado futuro s t+1 S e a transição T (s t, a t, s t+1 ) ocorre com probabilidade 1. Para ambientes não-determinísticos, a seleção da ação a t A no estado s t S pode resultar em diferentes estados futuros e a transição T (s t, a t, s t+1 ) é representada por uma distribuição de probabilidades que define os efeitos de cada ação a t sobre o conjunto de estados S, que pode ser expressa como a probabilidade de alcançar o estado s t+1, dado o estado atual s t e considerando que a ação a t seja executada, P (s t+1 s t, a t ) Determinação de uma política ótima Com o agente de AR modelado por um MDP, admitindo que as funções de recompensa e transição de estados são conhecidas e o ambiente seja determinístico, é possível determinar uma política ótima π : S A, para selecionar a próxima ação a A quando observado o estado s S, ou seja, π(s) = a. Pode-se definir o valor acumulado V π (s t ), que utiliza uma política arbitrária π, a partir de um estado inicial s t, como mostrado na equação 2.1: V π (s t ) = γ i r t+i (2.1) i=0 onde: r t+i é a seqüência de recompensas recebidas a partir do estado s t, utilizando a

21 20 política π para selecionar ações; γ é um fator de desconto que determina o quanto as recompensas futuras serão consideradas, admitindo o intervalo 0 γ < 1. Para que uma política ótima, denominada π, seja determinada, a tarefa do agente de AR é aprender uma política π que maximize o valor acumulado V π (s), para qualquer estado s S, como mostrado na equação 2.2: π arg π maxv π (s), s S (2.2) Dessa forma, denomina-se V (s) como sendo o valor acumulado ótimo, aquele que resulta de uma política ótima π Aprendizado por Reforço No Aprendizado por Reforço, um agente sem conhecimentos prévios aprende por meio de interações com o ambiente, recebendo recompensas por suas ações e assim descobrindo a política ótima para a resolução de um determinado problema. A suposição principal deste método é a existência de um agente que pode aprender a escolher suas ações que resultarão em um melhor resultado futuro na realização de uma tarefa. Em uma grande variedade de domínios complexos, nos quais não se conhece a solução de um problema, a opção pelo uso do Aprendizado por Reforço pode ser útil (JUNIOR, 2007). Hoje em dia ele é utilizado nas mais diversas áreas como jogos, navegação autônoma de robôs, controle de tráfego, entre outras. O Aprendizado por Reforço é uma técnica de aprendizado não supervisionado devido à não existência de uma representação de pares de entrada e de saída. Para cada movimentação do agente não é fornecida nenhuma informação externa que ajude na tomada de suas decisões, tirando aquela que ele mesmo percebe da sua interação com o ambiente. O Aprendizado por Reforço funciona da seguinte maneira: em um ambiente, a cada intervalo de tempo o agente executa uma ação a t. Esta ação é determinada pela política já aprendida e faz o agente ir para o estado s t+1 e tendo em vista a recompensa r st,at que irá ganhar. A recompensa pode ser dada por valores positivos ou negativos, indicando a correta ou incorreta perseguição do objetivo, respectivamente. A figura 4 apresenta um esboço do funcionamento de um agente no Aprendizado por Reforço. Seguindo este ciclo de funcionamento, o agente poder aprender uma política ótima

22 21 Figura 4: Funcionamento de um agente com aprendizado por reforço. para o problema, que tem o intuito de maximizar a soma das recompensas que foram recebidas durante o processo de aprendizado do agente Métodos de aprendizagem por reforço Segundo (MARTINS, 2007), existem três classes de métodos para resolver o problema de AR: programação dinâmica, métodos de Monte Carlo e métodos de diferenças temporais. Os métodos de programação dinâmica têm uma base matemática consistente, embora necessitem de um modelo completo do ambiente, ou seja, o conhecimento das funções de recompensa e transição de estados. Métodos de Monte Carlo são conceitualmente simples e não requerem um modelo de ambiente, mas não são apropriados para computação iterativa, onde uma política é aprendida passo a passo, enquanto os métodos de diferenças temporais não requerem um modelo de ambiente e são, essencialmente, métodos iterativos. A seguir apresentamos os algoritmos fundamentais para a compreensão desse trabalho O Método de Diferenças Temporais O Método de Diferenças Temporais (TD) é fundamentado por uma base matemática consistente. Esse método calcula, de forma iterativa, uma estimativa V π do valor acumulado V π, selecionando as ações seguindo uma política π. O Método TD exige apenas que o próximo passo s t+1 seja observado para atualizar a estimativa V π, sem a necessidade de um modelo do ambiente. A regra de atualização da estimativa V π do Método TD mais simples, conhecido por TD(0), acontece de acordo com as equações 2.3 e 2.4:

23 22 V π t+1(s t ) V π t (s t ) + α t δ 0 t (2.3) δ 0 t = r t + γv π t (s t+1 ) V π t (s t ) (2.4) Onde: s t é o estado atual; s t+1 é o estado futuro; V π t é a estimativa atual do valor acumulado V π na iteração t; V π t+1 é a estimativa futura do valor acumulado V π na iteração t + 1; α t é a taxa de aprendizado na iteração t, sendo 0 < α 1; δt 0 é chamado de diferença temporal, ou erro TD(0), na iteração t, que representa uma estimativa da diferença entre a estimativa de valor atual V π t (s t ) e o valor acumulado esperado r t + γv π t (s t+1 ) ; r t é a recompensa recebida na iteração t, quando uma ação a t, selecionada a partir da política π, é executada no estado s t, atingindo o estado s t+1 ; γ é um fator de desconto que determina o quanto as recompensas futuras serão consideradas, admitindo o intervalo 0 γ < 1. O algoritmo 1 é o TD(0) que se encarrega de calcular a estimativa V π. Para todo estado s, inicialize V π (s) com zero Observe o estado atual s t repita Selecione uma ação a t de acordo com a política π Receba a recompensa imediata r t Observe o novo estado s t+1 Compute o erro TD(0) conforme a equação 2.4 Atualize a estimativa do valor acumulado V π conforme a equação 2.3 s t s t+1 até que algum critério de parada seja atingido; Algoritmo 1: Algoritmo TD(0) (MARTINS, 2007) As equações 2.3 e 2.4 mostram que a estimativa futura V π t+1 é atualizada gradualmente, sendo ponderada com a estimativa atual V π t através da taxa de aprendizado α. Em ambientes determinísticos, o valor 1 é atribuído a α, o erro TD(0) δ 0 é calculado e

24 23 a estimativa V π t é atualizada com o valor da estimativa V π t+1. Para o caso de ambientes não determinísticos, a taxa de aprendizado α deve ter seu valor menor que 1 para que a estimativa futura V π t+1 seja ponderada com a estimativa anterior V π t. Dessa forma, com a taxa de aprendizado α < 1, todas as iterações anteriores são consideradas para calcular a estimativa de valor acumulado V π. Segundo (MARTINS, 2007), a taxa de aprendizado α deve decair ao longo do tempo para satisfazer duas condições de convergência de algoritmos iterativos utilizados em ambientes não determinísticos. Uma maneira de se obter uma taxa de aprendizado α que decai ao longo do tempo é através da equação 2.5: α t = visitas t (s) Onde visitas t (s) é o número de visitas ocorridas ao estado s até a iteração t. (2.5) Pode-se expandir o Método TD(0), que calcula a diferença após uma iteração observando o estado futuro s t+1, para uma formulação mais geral que considera a influência das diferenças temporais obtidas em n estados futuros à frente, sendo n o número de iterações. A regra de atualização para calcular a estimativa V π, mostrada na equação 2.6, é muito similar à regra da equação 2.3 : V π t+1(s t ) V π t (s t ) + α t δ n t (2.6) No entanto, a diferença temporal δ n t estados futuros, n iterações à frente, conforme a equação 2.7 : é definida para considerar os erros TD(0) dos δt n = δt 0 + γδt γ 2 δt γ 3 δt = δt 0 + γ n δt+n 0 (2.7) A partir da definição da diferença temporal δ n, (MARTINS, 2007) apresenta uma formulação que desconta a influência das diferenças temporais futuras independente do fator γ, utilizando um fator λ, admitindo o intervalo 0 λ 1, originando o Método TD(λ). Enquanto o fator γ representa o desconto de recompensas futuras, o fator λ representa o desconto das diferenças temporais futuras. Dessa forma, é possível definir o erro TD(λ) δ λ de acordo com a equação 2.8: n=1 δt λ = δt 0 + γλδt γ 2 λ 2 δt γ 3 λ 3 δt = δt 0 + (γλ) n δt+n 0 (2.8) n=1

25 24 Além disso é possível determinar o erro DT(λ) δt λ recursivamente, conforme a equação 2.9: δt λ = δt 0 + γλδt+1 λ (2.9) A regra de atualização da estimativa V π que utiliza o erro TD(λ) δ λ, que por sua vez considera as recompensas futuras e as diferenças temporais futuras, descontadas ao longo do tempo pelos fatores γ e λ respectivamente, é definida, então, conforme a equação 2.10: V π t+1(s t ) V π t (s t ) + α t δ λ t (2.10) Entretanto, não é possível implementar diretamente a regra de atualização da equação 2.10, pois ela é não causal, o que significa que as diferenças temporais futuras δ 0 t+1, δ 0 t+2, δ 0 t+3,..., δ 0 t+n são utilizadas para atualizar a estimativa V π t+1 na iteração t. Para que o cálculo das atualizações possa ser feito iterativamente, utiliza-se o rastro de elegibilidade. Esse rastro de elegibilidade é uma variável de memória associada a cada estado s S. O rastro de elegibilidade pode ser definido por acumulação (accumulating trace), conforme a equação 2.11, ou ainda, por substituição (replacing trace), conforme a equação 2.12: λγe t 1 (s) se s s t e t (s) = (2.11) λγe t 1 (s) + 1 se s = s t λγe t 1 (s) se s s t e t (s) = (2.12) 1 se s = s t O rastro de elegibilidade armazena a informação sobre quais estados foram visitados recentemente. Determina-se o quão recente um estado s foi visitado através de sua elegibilidade e(s), que decai em γλ a cada iteração. Dessa forma, a atualização de V π t+1, calculada pelo erro DT(0) λ 0 t, é propagada proporcionalmente aos estados recentemente visitados, conforme mostra a equação 2.13, através do rastro de elegibilidade e t (s): V π t+1(s) V π t (s) + α t δ 0 t e t (s), s S (2.13) O algoritmo TD(λ) é apresentado a seguir:

26 25 Para todo estado s, inicialize V π (s) e e(s) com zero Observe o estado atual s t repita Selecione uma ação a t de acordo com a política π Receba a recompensa imediata r t Observe o novo estado s t+1 Compute o erro TD(0) conforme a equação 2.4 Atualize o rastro de elegibilidade conforme uma das regras 2.11 ou 2.12 Para todo estado s: Atualize a estimativa do valor acumulado V π (s) conforme a equação 2.13 Compute o decaimento do rastro e(s) γλe(s) s t s t+1 até que algum critério de parada seja atingido; Algoritmo 2: Algoritmo TD(λ) (MARTINS, 2007) Q-Learning Entre os diversos algoritmos de Aprendizado por Reforço existentes, o mais conhecido é o Q-Learning (WATKINS; DAYAN, 1992). Neste método, para cada ação realizada pelo agente, é computado sua recompensa e o valor esperado ao seguir a melhor política com um desconto. Esta política é aprendida por meio da interação com o ambiente e, assim, aprendidos quais as melhores ações para chegar a um objetivo. A informação da política é armazenada em uma matriz Q(s, a), que guarda os valores estimados para cada par de estado e ação. Inicialize Qt (st,at) arbitrariamente repita Visita o estado s t. Selecione uma ação a de acordo com a regra de transição de estados. Execute a ação a t. Receba o reforço r(s t, a t ) e observe o próximo estado s t+1. Atualize os valores de Q t+1 (s t, a t ) de acordo com a equação 2.14 Atualize o estado s t s t+1. até que algum critério de parada seja atingido; Algoritmo 3: Algoritmo Q-Learning (WATKINS; DAYAN, 1992) O Q-Learning tem como principal característica a capacidade de aprender por meio da interação de uma política ótima π, quando não existe um modelo do sistema. Esta política ótima é encontrada escolhendo a ação que maximiza os valores de Q, para um determinado estado. O valor de custo de um estado (função valor V (s)) é o valor máximo de Q(s t, a t ) de um estado s t, para todas as ações possíveis de serem executadas nesse estado.

27 26 O algoritmo do Q-Learning é apresentado no algoritmo 3. Nesta técnica de aprendizado uma função de estimação Q é calculada por meio da exploração on-line do agente. A função de estimação Q é computada por meio da equação 2.14 (WATKINS; DAYAN, 1992): Q t+1 (s t, a t ) Q t (s t, a t ) + α [ r(s t, a t ) + γmax at+1 Q t (s t+1, a t+1 ) Q t (s t, a t ) ] (2.14) Onde: s t : estado atual; a t : ao que ser realizada em s; r(s t, a t ) : reforço ao se realizar uma ação em um determinado estado; s t+1 : próximo estado; a t+1 : ao a ser realizada no próximo estado; γ : fator de desconto (importância das recompensas futuras); α: taxa de aprendizado (velocidade de aprendizado). O parâmetro γ é compreendido entre os valores 0 e 1. Caso o valor de γ seja muito próximo a 0, o agente tende a considerar apenas valores imediatos de recompensa. Caso o valor esteja muito perto de 1, o agente considera as recompensas futuras com o maior peso. Este algoritmo possui uma propriedade muito importante: pode ser usado qualquer tipo de estratégia de exploração durante um processo interativo de aproximação da função Q. Porém deve-se garantir que cada par de estados seja visitado inúmeras vezes para que a convergência de Q para Q* seja garantida (JUNIOR, 2007). Uma estratégia para a escolha das ações bastante utilizada em implementações do Q Learning é a exploração aleatória ɛ-greedy, na qual o agente executa a ação com maior valor Q com probabilidade 1-ɛ e escolhe uma ação aleatória com probabilidade ɛ. Dessa forma, na fase de treinamento, podemos utilizar um valor de ɛ alto, para garantir que todos os estados sejam visitados com frequência, diminuir o valor de ɛ gradualmente à medida que temos uma amostra considerável e utilizar ɛ = 0 durante as competições. 2.2 Aceleração da aprendizagem por reforço Apesar de ser aplicado em muitos problemas de maneira bem sucedida, uma desvantagem do Aprendizado por Reforço é o tempo que o agente leva para aprender. Sendo assim,

28 27 o algoritmo Q learning se usado sozinho somente seria usual para poucas situações, as que não requerem muitos estados para cobrirem todo o domínio do problema. Como o futebol de robôs tem uma complexidade elevada, o número de estados para representar o problema é grande, mesmo tendo discretizado o espaço. Isso somado ao fato da aprendizagem por esse método necessitar que um mesmo par (estado, ação) seja percorrido diversas vezes, resulta numa demora enorme até o agente poder aprender sobre o ambiente onde ele está ou sobre a tarefa que deve realizar. Existem diversas maneiras de acelerar o Aprendizado por Reforço. Dentre elas, trataremos das seguintes: generalizações espaciais (resultados são distribuídos para os estados usando medidas de similaridade do espao de estados). Além da possibilidade das generalizações, também é possível o uso imitações (o agente absorve a experiência de outro agente mais experiente). Outra maneira é com o uso de heurísticas Generalização espacial Durante seu processo de aprendizagem um agente visita diversos estados e dificilmente encontrará exatamente a mesma situação duas vezes. Na prática muitas situações apresentam similaridades e são discriminadas apenas por alguns detalhes nas características que definem o estado. Afim de aumentar a velocidade com que um agente aprende, podese portanto, aproveitar o conhecimento obtido numa situação para estados parecidos, levando-se em conta o grau de similaridade entre os estados em questão. Para fazer isto, (RIEDMILLER et al., 2009) propõe a aplicação de uma função de aproximação φ(s, a), que representa o grau de similaridade entre os estados envolvidos na comparação. Para o caso da aprendizagem Q, a nova equação passaria a ser como vista na equação Q t+1 (s t, a t ) Q t (s t, a t ) + α [ r(s t, a t ) + γmax at+1 Q t (s t+1, a t+1 ) Q t (s t, a t ) ] φ(s, a) (2.15) A principal consequência para usar a generalização espacial no algoritmo Q-Learning é que, além de atualizar o Q(s t, a t ) atual, deverá também ser realizada a atualização de Q s adicionais em um número k de estados escolhidos de acordo com o grau similaridade de seus estados, defididos por φ(s, a). Uma forma de definir a função de similaridade seria linearmente, como um registro de ativação que possui valores contidos no intervalo entre 0 (ou seja, a característica não possui nenhuma similaridade)e 1 (ou seja, a característica é idêntica). No caso unidimensional (um estado definido por apenas uma característica) o campo receptivo é um

29 28 intervalo [b0, b1] (limites de ponderação da similaridade). Portanto, um estado idêntico deve estar no centro deste campo receptivo e a medida que se afasta do centro deste campo o grau de similaridade diminui até chegar a zero nas bordas do intervalo definido. Então, a função de ativação : 1 2 x c b φ(x) = 1 b 0 se x [b 0, b 1 ] 0 caso contrário (2.16) Já para o caso de n dimensões tem-se: ) ni=1 (1 2 x(i) c (i) se x [b φ(x (1),..., x (n) ) = b (i) 0, b 1 ] 1 b(i) 0 0 caso contrário (2.17) Onde x (i) e b (i) [0/1] são as entradas e as bordas, respectivamente, de cada característica que define um estado Imitação A imitação é um mecanismo para a transferência do conhecimento e habilidades entre agentes sem muita experiência e agentes experientes. Um agente aprendiz pode observar o comportamento de outro experiente e tirar suas próprias conclusões sobre as consequências de certas ações. A técnica de imitação acelera o aprendizado pois conduz o agente por caminhos promissores para atingir seus objetivos. Sua aplicação junto ao Q Learning se dá por meio das sequências de estados e ações percorridos pelo agente professor e pelos reforços correspondentes, aplicados de acordo com a estratégia do agente aprendiz Heurística Etimologicamente a palavra heurística vem da palavra grega Heuriskein, que significa descobrir. Trata-se de métodos em que, embora a exploração seja feita de forma algorítmica, o progresso é obtido pela avaliação puramente empírica do resultado. Ganhos de eficiência, principalmente nos termos da eficiência computacional, no custo da precisão podem ocorrer. As técnicas heurísticas são usadas, por exemplo, nos problemas em que a complexidade da solução do algoritmo disponível é a função exponencial de algum parâmetro; quando o valor deste cresce, o problema torna-se rapidamente mais complexo. Uma alternativa heurística será praticável se a complexidade do cálculo depender, por

30 29 exemplo, polinomialmente do mesmo parâmetro. As técnicas heurísticas não asseguram as melhores soluções, mas somente soluções válidas, aproximadas; e frequentemente não é possível justificar em termos estritamente lógicos a validade do resultado, visto que nem toda heurística tem uma razão de qualidade comprovada matematicamente ou prova formal de convergência. Uma das maneiras de diminuir o tempo que agente leva para aprender no Aprendizado por Reforço é aplicar uma heurística, isto é, uma ajuda que acelere o aprendizado. Uma heurística indica que uma ação deve ser executada em detrimento de outra. Neste trabalho as heurísticas devem influenciar um agente em quais ações ele deve realizar, dentre as diversas ações propostas e possíveis de serem realizadas. Um exemplo de uma heurística é quando o agente está na frente do gol adversário, a heurística deve influenciar o agente a chutar a bola em direção ao gol. O problema abordado neste trabalho é o uso da aceleração por heurísticas no Aprendizado por Reforço no domínio do futebol de robôs simulado, mantendo, entretanto, as propriedades interessantes e as vantagens dos algoritmos de AR, entre elas, a convergência para uma política estacionária e o aprendizado autônomo não supervisionado, ao mesmo tempo que minimiza sua principal desvantagem, que é o tempo necessário para o aprendizado. Segundo (BIANCHI, 2001), existe uma classe de algoritmos de AR que permite o uso de heurísticas para abordar o problema da aceleração do aprendizado. Esta classe de algoritmos é denominada Aprendizado Acelerado por Heurísticas (Heuristically Accelerated Learning - HAL). Uma heurística pode ser definida como uma técnica que melhora, no caso médio, a eficiência na solução de um problema. Segundo (RUSSEL; NORVIG, 2004), funções heurísticas são a forma mais comum de se aplicar o conhecimento adicional do problema a um algoritmo de busca, e portanto, uma maneira de generalização do conhecimento que se tem acerca de um domínio. De maneira mais formal, um algoritmo da classe HAL pode ser definido como um modo de solucionar um problema modelável por um MDP que utiliza explicitamente a função heurística H : S A R para conduzir o agente na escolha de suas ações, durante o aprendizado. H t (s t, a t ) define a heurística que indica a importância de se executar a ação a t estando no estado s t. A função heurística está fortemente vinculada à política: a heurística indica que uma

31 30 ação deve ser tomada em detrimento de outra. Dessa forma, pode-se dizer que a função heurística define uma Política Heurística, isto é, uma política exploratória que visa acelerar o aprendizado. A utilização da função heurística feita pelos HALs explora uma característica importante do AR: a livre escolha das ações. Desta forma, pode-se dizer que os algoritmos de AR são um subconjunto dos algoritmos HAL, onde a influência da heurística é sempre nula. Uma heurística adequada acelera o aprendizado e, se a heurística não for adequada, o resultado não impede o aprendizado de convergir para um valor estacionário ótimo (no caso dos sistemas deterministas). Dessa maneira, pode-se construir algoritmos da classe HAL a partir de qualquer algoritmo de AR. Por não modificar o funcionamento do algoritmo de AR, esta proposta permite que muitas das conclusões obtidas para algoritmos de AR continuem válidas para os HALs. A idéia de utilizar heurísticas em conjunto com um algoritmo de aprendizado já foi abordada por muitos autores, como na abordagem de Otimização por Colônia de Formigas, proposta para resolver o Problema do Caixeiro Viajante, no qual diversas formigas viajam entre cidades e o trajeto mais curto é reforçado. Porém, as possibilidades do uso de heurísticas ainda não foram devidamente exploradas. A seguir é feita uma análise mais aprofundada de cada elemento envolvido nos algoritmos HAL A função heurística H A função heurística H t (s t, a t ) determina o quão desejável é a seleção da ação a t quando no estado s t. Essa função modifica as estratégias de seleção das ações dos algoritmos de AR, determinando que, para cada estado s t, a seleção da ação a t sugerida pela heurística pode direcionar o agente ao seu objetivo. Dessa forma, a função heurística H representa uma política heurística π H (s t ) = a t. A função heurística explora o conhecimento sobre uma política apropriada para acelerar o aprendizado, conhecimento este derivado diretamente do domínio ou construído a partir de indícios existentes no próprio processo de aprendizagem. A função heurística pode atuar na política de exploração aleatória ɛ-greedy, na qual, além da estimativa das funções de probabilidade de transição T e da recompensa R, a função H também é considerada. Assim, a regra de transição de estados aqui proposta é dada por:

32 31 a random se q ɛ π(s t ) = arg max at {F t (s t, a t ) ξh t (s t, a t ) β } caso contrário (2.18) Onde: F : S A R é uma estimativa da função valor que descreve a recompensa esperada acumulada. Por exemplo, se F t (s t, a t ) Q t (s t, a t ) tem-se um algoritmo similar ao Q-Learning; H : S A R é a função heurística, que influencia a escolha da ação. H t (s t, a t ) define a importância de se executar a ação a t estando no estado s t. O índice t na função heurística indica que ela pode se diferente em dois instantes distintos; é uma função matemática, que deve operar sobre números reais e produzir um valor pertencente a um conjunto ordenado (que suporte a operação de maximização); ξ e β são variáveis reais usadas para ponderar a influência da função heurística; q é um valor escolhido de maneira aleatória com distribuição de probabilidade uniforme sobre [0,1] e ɛ(0 ɛ 1) é o parâmetro que define a taxa de exploração: quanto menor o valor de ɛ, menor a probabilidade de se fazer uma escolha aleatória; a random é uma ação selecionada de maneira aleatória entre as ações executáveis no estado s t. A principal consequência desta formulação é que as provas de convergência existentes para os algoritmos de AR continuam válidas nesta abordagem. O teorema a seguir é um dos três teoremas apresentados por Bianchi(BIANCHI, 2001) que confirmam esta afirmação e limitam o erro máximo causado pelo uso de uma heurística. Teorema Se a técnica de Aprendizado por Reforço na qual um HAL é baseado corresponde a uma forma generalizada do algoritmo Q Learning, então o valor F t converge para o F, maximizando a recompensa acumulada esperada com desconto, com probabilidade unitária para todos os estados s S, desde que a condição de visitação infinita de cada par (estado,ação) seja mantida. Nos algoritmos HAL, a atualização da aproximação da função valor ao valor estacionário não depende explicitamente do valor da heurística. As condições necessárias para a convergência dos algoritmos Q Learning generalizados que podem ser afetadas

33 32 com o uso da heurística nos algoritmos HAL são as que dependem da escolha da ação. Das condições apresentadas por Szepesvari e Littman, a única que depende da ação escolhida é a necessidade de visitação infinita a cada par (estado, ação). Como a equação 2.18 propõe uma estratégia de exploração ɛ Greedy que leva em conta a aproximação da função valor F (s t, a t ) já influenciada pela heurística, a possibilidade de visitação infinita a cada par (estado, ação) é garantida e o algoritmo converge. A condição de visitação infinita de cada par (estado, ação) pode ser aceita na prática da mesma maneira que ela é aceita para os algoritmos de AR em geral por meio do uso de diversas outras estratégias de visitação: utilizando uma estratégia de exploração ɛ-greedy; intercalando passos onde se utiliza a heurística com passos de exploração; iniciando cada novo episódio a partir dos estados menos visitados; ou utilizando a heurística durante um período determinado de tempo, menor que o tempo total de exploração, permitindo que o agente ainda visite estados não apontados pela heurística O algoritmo Q Learning Acelerado por Heurísticas O algoritmo Q Learning pertence à classe HAL e por conseguinte sua versão incrementada por heurísticas é denominada Q Learning Acelerado por Heurísticas HAQL. Para sua implementação, é necessário definir a regra de transição de estados e o método a ser usado para atualizar a heurística. A regra de transição de estados, definida na equação 2.18 é, no caso do HAQL, dada por: a random se q ɛ π(s t ) = arg max at {Q(s t, a t ) + ξh t (s t, a t )} caso contrário (2.19) Vale notar que as únicas modificações em relação ao algoritmo Q Learning se referem ao uso da função heurística para a escolha da ação a ser executada e a existência de um passo de atualização da função H t (s t, a t ). A convergência deste algoritmo é demonstrada em (BIANCHI, 2001). 2.3 Robocup A iniciativa RoboCup (KITANO et al., 1995) é um projeto de pesquisa internacional com o objetivo de promover o estudo em Inteligência Artificial e Sistemas Multiagentes

34 33 (REIS, 2003). O projeto baseia-se na utilização de um problema padrão - o futebol de robôs - onde um grande conjunto de tecnologias são necessárias para possibilitar a construção de uma equipe de robôs reais ou virtuais capaz de participar de uma partida de futebol. O futebol de robôs inclui diversas ligas que se dividem em dois tipos: ligas robóticas (utilizando robôs pequenos, médios, cães e humanóides) e a liga simulada. Cada liga foca em um conjunto de desafios de pesquisa próprio e tem ênfase em determinados tópicos necessários para colocar equipes de robôs para disputar uma partida de futebol. Por exemplo, na liga de simulação, a ênfase é dada na coordenação em SMA, enquanto na liga de robôs pequenos, a ênfase é no controle rápido e preciso dos robôs e na liga de robôs médios os tópicos mais importantes incluem a visão computacional, projeto mecânico e localização dos robôs. Existem também outras competições que a iniciativa RoboCup promove, entre elas destaca-se o RoboCup Rescue (KITANO et al., 1999), que tem como objetivo estimular a aplicação da investigação realizada no futebol de robôs a domínios socialmente mais úteis, como missões de salvamento e resgate em grandes catástrofes (KITANO et al., 1999). Neste trabalho um destaque especial é dado à liga de simulação do RoboCup. Esta liga é baseada no sistema de simulação soccerserver (NODA et al., 1998) que permite a duas equipes de agentes autonomos disputar um jogo de futebol simulado. O soccerserver fornece um domínio muito realístico, incluindo muitas complexidades do futebol real e dos sistemas robóticos tais como erros nos sensores e atuadores e energia limitada. A complexidade geral do RoboCup e em particular do soccerserver implica a necessidade de uma descrição prévia da iniciativa e da liga de simulação, introduzindo os desafios de investigação e terminologia própria do sistema soccerserver para que o trabalho realizado possa ser compreendido Objetivos do Robocup O objetivo da iniciativa RoboCup é promover a investigação em Robótica e Inteligência Artificial através de um desafio que seja estimulante do ponto de vista científico, colocando um vasto conjunto de problemas científicos aos investigadores da área mas, ao mesmo tempo, extremamente atraente para o público em geral e para a mídia. Com isto, pretende-se que o RoboCup seja capaz de chamar a atenção do público em geral, não só para o à competição por si só, mas também para a investigação realizada em Inteligência Artificial e Robótica Inteligente pelos diversos laboratórios participantes (REIS, 2003).

35 34 prazo: Como forma de promover a investigação na área, foi lançado um objetivo de longo No ano de 2050, uma equipe de robôs autonomos humanóides seja capaz de vencer o time campeão da copa do mundo de futebol, num encontro disputado de acordo com as regras da FIFA. (KITANO et al., 1995) Como afirma (REIS, 2003), embora este desafio, à luz da ciência e tecnologia atuais, pareça altamente ambicioso, a colocação de objectivos científicos bem definidos de longo prazo, tem sido, ao longo dos anos, uma forma de estimular o desenvolvimento científico. Segundo (REIS, 2003), Um outro desafio semelhante colocado aos investigadores em Inteligência Artificial no século passado foi construir um agente (software) que fosse capaz de vencer o campeão mundial de Xadrez utilizando as regras oficiais da Federação Internacional de Xadrez. Este desafio para além de promover a investigação em Inteligência Artificial, mostrou a importância da existência de problemas padrão em que diferentes metodologias e avanços científicos podem ser comparados. Diversos algoritmos, arquiteturas e metodologias científicas foram desenvolvidas para este domínio. Em Maio de 1997, o computador Deep Blue da IBM derrotou Gary Kasparov (o campeão humano de Xadrez), utilizando as regras oficiais do Xadrez. Com esta vitória, o desafio de 40 anos da Inteligência Artificial utilizando o Xadrez como domínio de aplicação ficou muito próximo de um final com sucesso. Uma das características que tornou o Xadrez computorizado um problema padrão foi a facilidade que este domínio ofereceu para a comparação de abordagens distintas, e para a avaliação do progresso científico global realizado no domínio. No entanto, com a chegada ao final do desafio associado ao Xadrez, no mundo da IA, novos domínios e problemas padrão mais complexos e estimulantes tornaram-se necessários. Foi neste contexto que se desenvolveu o desafio do futebol de robôs como um problema padrão para a Inteligência Artificial e Robótica. Uma característica essencial do RoboCup consiste em visualizá-lo também como um problema padrão em que várias teorias, arquitecturas, metodologias e algoritmos podem ser avaliados e facilmente comparados entre si. O domínio preenche inteiramente as características necessárias para ser o sucessor do Xadrez como problema standard da IA e domínio para a comparação de diversas metodologias da IA e Robótica (REIS, 2003). As principais diferenças entre o domínio do Xadrez e o RoboCup podem ser visualizadas na Tabela 1. Analisando a Tabela 1 podemos ver que a RoboCup constitui um domínio que inclui

36 35 Características Xadrez Robocup Ambiente Estático Dinâmico Mudança de Estado Por turnos Tempo Real Determinação do Estado do Mundo Completa Incompleta Resultado das Ações Determinístico Não Determinístico Leitura dos Sensores Discreta Contínua Utilização dos Atuadores Discreta Contínua Controle Centralizado Distribuído Tabela 1: Diferenças entre as características dos domínios do RoboCup e Xadrez. (REIS, 2003) características bem mais complexas que o Xadrez. Entre essas características, é possível destacar que a maioria das variáveis, estados, ações e informações sobre ambiente no Robocup são contínuas e dinâmicas, enquanto no xadrex são discretas e estáticas. O RoboCup foi projetado de forma a oferecer em um ambiente limitado, um conjunto elevado de complexidades do mundo real, mantendo no entanto o custo, complexidade global e dimensão do problema acessível aos grupos de investigação em Robótica e Inteligência Artificial. Os problemas de investigação colocados pelo RoboCup de uma forma integrada, cobrem uma vasta área dos domínios da IA e Robótica, incluindo coordenação, cooperação e comunicação multi-agente, arquiteturas de agentes inteligentes, aprendizado computacional, planejamento em tempo-real, decisão estratégica e táctica, comportamento reativo, visão computacional, processamento e análise de imagem, sistemas de locomoção e atuação, sistemas sensoriais, navegação, controle inteligente robótico, etc. Este trabalho foca no estudo de arquiteturas, aprendizado e decisão de agentes inteligentes As Categorias da RoboCup O desafio colocado pelo RoboCup aos investigadores mundiais das áreas da IA e Robótica divide-se em 3 categorias principais, sendo o Futebol Robótico a categoria mais relevante: RoboCup Soccer - Futebol de Robôs, incluindo uma liga de simulação e três ligas robóticas principais com regras distintas; RoboCup Rescue - Aplicação da pesquisa realizada no futebol de Robôs ao domínio da busca e salvamento em grandes catástrofes. A categoria divide-se numa modalidade de simulação e uma modalidade robótica;

37 36 RoboCup Júnior - Utilização do RoboCup na educação. Crianças e jovens utilizando uma infra-estrutura simples, criam equipes de robôs para jogar futebol (2 contra 2), dançar ou resgatar vítimas. Além destas atividades e da organização anual do campeonato mundial de futebol de robôs, a iniciativa RoboCup conta ainda com a realização de conferências especializadas, programas educacionais e desenvolvimento de infra-estruturas diversas. O Futebol de Robôs é sem dúvida o pilar central do RoboCup. Divide-se em quatro ligas principais e diversos desafios associados (KITANO et al., 1995): Liga de Simulação - Equipes de 11 agentes de software competem num ambiente simulado, jogando um desafio de futebol virtual, utilizando o sistema de simulação soccerserver; Liga de Robôs Pequenos - Small-Size - Equipes de 5 robôs de dimensões reduzidas, com controle e visão centralizados, competem num campo com dimensões semelhantes às de uma mesa de ping-pong; Liga de Robôs Médios - Middle-Size - Equipes de 4 robôs totalmente autonomos competem num campo de 5x10 metros; Liga de Robôs com Pernas - Sony Legged - Equipes de 4 robôs cães Aibo da Sony (FUJITA; ZREHEN; KITANO, 1999) jogam num campo de dimensões reduzidas. Além das ligas principais do RoboCup, existem diversos desafios associados: Liga de Robôs Humanóides - Desenvolvimento de robôs humanóides capazes de a médio prazo, jogar um desafio de futebol. Para já, têm existido unicamente demonstrações e competições de velocidade de deslocamento bípede e penalties. Treinador da Simulação - Desenvolvimento de sistemas de análise de jogo que sejam capazes de alterar o comportamento de uma equipa, através de instruções para os seus constituintes, tendo em consideração o decurso do jogo; Comentador Inteligente - Desenvolvimento de sistemas de análise de jogo e comentadores inteligentes com capacidade de geração de linguagem natural; Visualizador 3D - Criação de visualizadores tridimensionais para jogos de simulação, incluindo animações e sons realistas;

38 37 Todos os anos, de forma a avaliar o progresso científico realizado pelos vários grupos de investigação nos diversos tópicos mencionados, a Federação RoboCup organiza o Robot World Cup Soccer Games and Conferences, conhecido por RoboCup. Competições relacionadas com as diversas ligas e desafios, demonstrações e um congresso científico (KITANO et al., 1999) compõem o programa deste evento. Existem ainda diversas competições e eventos regionais relacionados com o RoboCup tais como o campeonato Brasileiro, o German Open, o Japan Open, o China Open, etc Robocup 2D Figura 5: Uma partida de simulação 2D vista do SoccerMonitor. A categoria RoboCup simulação 2D utiliza uma arquitetura cliente-servidor e é constituída por 11 jogadores (clientes) de cada time, criados por meio de softwares, que fazem uma partida de futebol simulado em um servidor - SoccerServer (NODA et al., 1998). Este servidor foi desenvolvido para ser um ambiente de simulação multiagentes em tempo real, sendo este um sistema que simula a complexidade de uma partida de futebol e de sistemas robóticos. O jogo pode ser acompanhado através de um software monitor (SoccerMonitor) que conecta-se ao servidor e exibe na tela a partida O Simulador O simulador (servidor) é o sistema que possibilita a realização de jogos simulados de futebol entre duas equipes compostas por 11 agentes autonomos. O SoccerServer funciona numa arquitetura cliente-servidor, permitindo aos jogadores se comunicarem

39 38 através de sockets UDP, logo não impõe qualquer limitação às linguagens ou sistemas operacionais utilizados para o desenvolvimento das equipes. A única restrição é que as equipes suportem comunicação via Sockets UDP. Figura 6: Arquitetura do Sistema de Simulação SoccerServer (REIS, 2003) Cada equipe possui 11 jogadores (clientes) e um técnico (cliente com capacidades e privilégios especiais). Cada cliente é um processo separado que se conecta ao servidor através de uma porta especificada. Para participar num jogo, o cliente deve enviar uma mensagem para a porta 6000 do servidor que como resposta deverá aceitar a sua conexão atribuindo-lhe uma porta específica que irá ser utilizada para efetuar a transferência de informação entre o simulador e o cliente. Os jogadores enviam pedidos ao simulador sobre as ações a realizar pelo jogador que controlam (girar, acelerar, chutar a bola, etc.). O servidor recebe as suas mensagens, executa os seus pedidos caso eles sejam válidos e atualiza o ambiente. Além disso, o servidor envia aos jogadores informações sensoriais, como informação visual relativa aos jogadores e objetos no campo de visão do jogador, informação auditiva composta pelas mensagens que o jogador ouve, etc. O cliente atua no campo de futebol baseado nas informações que são recebidas. Estas informações são: auditiva (hear), visual (see) e sensorial (sense body) (CHEN et al., 2003). Por meio destas informações recebidas o agente pode saber se está em uma posição favorável para fazer um gol ou em uma situação de desvantagem, e assim tentar evitar que receba um gol ou saber se têm energia para chegar no adversário ou receber alguma informação de outro jogador. Por outro lado, o cliente, ao processar a informação, necessita

40 39 retornar ao servidor o que ele deseja fazer. O servidor então irá receber estas informações e atualizar o estado da partida. Esta troca de informações acontece deste modo até o final do jogo. Todo o sistema que envolve o simulador trabalha em tempo real, com intervalos de tempos discretos, denominados de ciclos. Em cada ciclo (que tem uma duração de 100ms), o simulador aguarda por comandos dos jogadores e envia (se for o caso), informação sensorial aos jogadores. No final do ciclo, o simulador actualiza o ambiente virtual tendo em conta as acções que cada jogador deseja executar e a dinâmica do sistema em geral O ambiente simulado Os jogos da liga simulada são disputados em um campo virtual com 105m x 68m que contém diversas linhas e objetos para auxiliar os jogadores a se localizarem. A 7 contém uma representação do campo virtual e de suas linhas e marcos de localização. Figura 7: Localização e nomes dos marcos de orientação no SoccerServer (NODA et al., 1998) As bandeiras (goal r) e (goal l) correspondem a bandeiras virtuais localizadas no centro dos gols direito e esquerdo. (flag g l b), (flag g l t), (flag g r b) e (flag g r t) correspondem às traves virtuais dos dois gols. (flag c) corresponde a uma bandeira virtual no centro do campo. Existem ainda bandeiras colocadas nos limites do campo e das áreas. As bandeiras restantes estão colocadas fora do campo e a 5 metros do limite deste, com espaços de 10 metros entre elas. Existem ainda 4 linhas visíveis que limitam o campo. Estas correspondem a (line t), (line b), (line r) e (line l) que limitam o campo

41 40 respectivamente em cima, embaixo, à direita e à esquerda. Cada bandeira é identificada por uma etiqueta que é usada para a sua identificação durante a comunicação simuladorjogador. Uma partida realizada no simulador tem uma duração de aproximadamente 10 minutos. Este valor corresponde a ciclos de simulação. Como em uma partida de futebol real, a duração da partida é dividida em dois tempos de 5 minutos. Quando ocorrem os empates, mais um tempo adicional de ciclos é utilizado. Quando mesmo assim a partida continua em empate, é possível definir o jogo utilizando gol de ouro, vencendo o primeiro time que fizer um gol. (CHEN et al., 2003) 2.4 Análise do time UvA Trilearn O UVA Trilearn (BOER; KOK, 2002) foi um trabalho de mestrado da universidade de Amsterdam, composto pela criação de um time de futebol para o RoboCup 2D, formado por uma arquitetura denominada de três camadas: Camada de interação: destinada a trabalhar diretamente com o servidor da Robo- Cup, recebe a informação vinda dos sensores (sensores aqui definidos como todas as percepções recebidas pelo agente) e envia aos atuadores o que deve se feito (andar, girar,etc); Camada de competência : Constrói com base nas informações recebidas da camada de interação um modelo de ambiente e implementa inúmeras habilidades para os agentes; Camada de controle: escolhe entre as habilidades, qual é a melhor a ser utilizada, dependendo do que se necessita fazer e de sua localização no campo. As camadas do UVA Trilearn trabalham em paralelo para minimizar o problema de recebimento e de transmisão de informação, fazendo com que os agentes gastem menos tempo nas tarefas. Os agentes do UVA Trilearn têm a capacidade de perceber, decidir e agir. Fizemos o estudo do código fonte do UVA Trilearn Basic, que é uma versão disponível para uso dos pesquisadores e que contém toda a infra-estrutura para a construção de um time, faltando apenas implementar os comportamentos dos jogadores durante um jogo. Concentramos nossa análise na camada de controle (PlayerTeams.cpp), já que é nela que é

42 41 Figura 8: Arquitetura de camadas do time UVA Trilearn. (BOER; KOK, 2002) tomada a decisão para a próxima rodada. O jogador faz várias consultas sobre a situação do ambiente e de acordo com a resposta opta pela decisão mais adequada, chamando funções específicas da camada de competência. O time estudado realiza basicamente as seguintes ações durante a partida: 1. Se o jogador possui condições de chutar a bola, então chuta na direcão do gol; 2. Se não, se o jogador for mais rápido que a bola, então ele a intercepta; 3. Se não o jogador se move para uma posição estratégica. Neste trabalho foi utilizado o UVA Trilearn Basic (BOER; KOK, 2002), que é uma versão que se encontra à disposição para uso dos pesquisadores e que fornece todas as camadas descritas nesta seção para a construção de um time, exceto pela camada de decisão, que implementa apenas estratégias simples, como chutar diretamente para o gol ao tomar posse da bola.

43 42 3 Implementação 3.1 Modelagem da estratégia para o time A implementação do algoritmo de Aprendizado por Reforço necessita de discretização do ambiente a fim de obter um número de estados viável para aplicação prática, devido às limitações de memória e principalmente de tempo. Foi criada uma chave de estados que contém informações da localização do agente; do ângulo entre o adversário mais próximo, da bola e do agente; da distância do agente mais próximo; da distância do adversário mais próximo e por final da posição do adversário mais próximo(à direita, em frente ou à esquerda do agente). Estes valores são adicionados à chave por uma representação qualitativa, discretizados em valores que vão de zero a cinco. Com esta chave trabalharemos com 6x3x6x6x3 = 1944 estados. Cada estado constitui uma informação relevante para que o agente decida entre uma das cinco possíveis ações disponíveis Discretização dos estados Posição do agente no campo i0 i1 i2 i3 i4 [0;5] [0;2] [0;5] [0;5] [0;2] Ângulo entre o Distância do Distância do oponente mais agente ao jogador agente ao jogador próximo, a bola e o do mesmo time oponente mais aliado mais mais próximo próximo próximo Posição do oponente mais próximo em relação ao agente Tabela 2: Chave de estados A posição do agente no campo (i0) é informada com o valor dado como 0 se o agente está localizado na área central da defesa, como 1 se o agente está em qualquer outra posição dentro da área da defesa, como 2 se ele está localizado na área central do meio de campo, como 3 se está localizado em outra posição dentro do meio do campo, como

44 43 4 se estiver localizado na área central do ataque e como 5 se estiver em outra posição dentro da área de ataque. A Figura 9 exemplifica o que foi descrito. Esta discretização do campo valoriza a característica do UVA Trilearn de posicionar os jogadores mais velozes nas posições laterais de sua formação Figura 9: Representação da localização do índice (i0) da chave de estados e determinação do índice (i1) da chave de estados. Os ângulos de i1 são representados na tabela 2. Ângulo (em graus) Representação a <= < a <= < a 2 Tabela 3: Representação dos ângulos As distâncias de (i2) e (i3), são representadas na tabela 3. Distância Representação d <= < d <= < a <= < a <= < a <= < a 5 Tabela 4: Representação das distâncias Discretização das ações Há uma enorme quantidade de ações realizáveis por um agente da RoboCup. Para a aplicação do algoritmo foi necessário reduzir o número de ações realizáveis, mas sem

45 44 Resultados Reforço Gol feito +50 Posse da bola +10 Adversário toma a bola -10 Adversário marca gol -100 Tabela 5: Reforços com avanço em direção ao gol adversário Resultados Reforço Posse da bola +5 Adversário toma a bola -20 Adversário marca gol -100 Tabela 6: Reforços sem avanço em direção ao gol adversário incapacitar o jogador. Procurou-se dar uma ênfase maior em ações para adoção de uma estratégia ofensiva. Outro ponto a se destacar é que o aprendizado só ocorre quando o agente está de posse da bola. Ações com a bola: Chutar para o gol adversário; Driblar na direção 30 ; Driblar na direção 0 ; Driblar na direção -30 ; Tocar para o jogador mais próximo Definição dos reforços Reforços com avanço em direção ao gol adversário: Reforços sem avanço em direção ao gol adversário: Na próxima seção é feita uma descrição de como foi feita a implementação da estratégia de aprendizagem por reforço descrita neste capítulo em um time de futebol de robôs da liga simulada 2D utilizando o UvA Trilearn como time base. 3.2 Implementação da estratégia Para realização da estratégia descrita no capítulo 4 foram feitas algumas adaptações no time base original do UvA Trilearn com as seguintes alterações:

46 45 Encontrar oponente mais próximo e retornar sua posição; Encontrar jogador do mesmo time mais próximo e retornar sua posição; Retornar distância do agente à bola; Retornar distância do jogador do mesmo time mais próximo; Retornar distância do oponente mais próximo. Além disso, foram implementadas as classes descritas nas seções 5.1 e Matriz de estados e ações Nesta classe concentraram-se os métodos para manipulação e armazenamento do conhecimento adquirido durante os jogos. No início de uma partida o agente instancia uma Matriz e a carrega com as experiências que estão armazenadas num arquivo comum para toda a equipe. Essa matriz é atualizada pelo agente que ao final da partida a armazena num arquivo referente a este agente. Como numa partida estão envolvidos 11 agentes do time em questão, são salvos 11 arquivos contendo as experiências obtidas por cada um dos agentes durante uma partida completa. Há, portanto a necessidade de centralizar em um único arquivo todo o conhecimento colhido. Isto é feito por uma classe auxiliar que tem o trabalho de ler os 11 arquivos referentes a cada agente e calcular a média do valor de cada posição da matriz de estados e salvar esse resultado em um único arquivo, que é o que será carregado pelos agentes numa próxima partida. Outro detalhe desta implementação é a necessidade de sincronismo dos processos, já que cada agente é na verdade um processo sendo executado separadamente, não havendo, portanto, uma ordem específica para que cada um termine sua operação. A solução adotada foi controlar o término dos processos através de um arquivo cujo código foi editado em shellscript Crítico É onde está implementado o algoritimo Q-Learning, sendo portanto onde ocorre a atualização da Matriz de estados, onde é calculado o novo valor para esta atualização com base nos valores de reforços e parâmetros do algoritmo e onde o agente registra sua ação atual para uma posterior análise de seus efeitos. Dessa forma, a nova arquitetura do time é mostrada na figura abaixo:

47 46 Figura 10: Arquitetura de camadas do time Análise do melhor instante para colhimento do reforço Tendo observado a evolução dos resultados de testes anteriores, foi constatado uma melhora de desempenho muito pequena. Sabe-se que muitos fatores podem estar influenciando estes resultados tais como a lentidão do aprendizado, dificultado ainda pela grande quantidade de variáveis envolvidas e, por conseguinte, de estados no sistema de aprendizagem, pela calibração inadequada das constantes multiplicativas do algoritmo Q-Learning(ALFA, GAMA) e outras possíveis causas. A fim de descobri-las extraiu-se um conjunto amostral de 20 jogos que tiveram seus arquivos de logs avaliados. Dele, informações acerca das possíveis causas foram analisadas e concluiu-se que o instante de captura do reforço não estava adequado às ações e reforços colhidos durante os jogos, que era de 5 ciclos após qualquer ação realizada quando de posse da bola. Partiu-se então para a determinação do momento (ou momentos) ideal de coleta do reforço, fundamentado numa análise estatística apresentada a seguir. Pelos histogramas das figuras 11 e 12 podemos acompanhar as distribuições do número de ciclos de jogo decorridos após a ação do agente e a caracterização dos critérios de

48 47 reforços que são os gols feitos e gols sofridos, respectivamente. 25,0% 20,0% 15,0% 10,0% 5,0% 0,0% Figura 11: Histograma do número de ciclos transcorridos a partir da última ação realizada até fazer um gol. 7,0% 6,0% 5,0% 4,0% 3,0% 2,0% 1,0% 0,0% Figura 12: Histograma do número de ciclos transcorridos a partir da última ação realizada até sofrer um gol. Já pelos diagramas de boxplot visualizamos melhor a concentração dos dados amostrais já que nota-se com facilidade os valores de forma acumulativa, referentes aos ciclos até a concretização de gols feitos (figura 13) e sofridos (figura 14). A análise estatística dos ciclos até a caracterização da manutenção ou perda da posse de bola pode ser extraída das figuras 15, 16 e 17. Os dados foram agrupados da seguinte maneira: (i) ciclos após uma ação até fazer um gol; (ii) ciclos após uma ação até sofrer um gol; (iii) ciclos até a caracterização da manutenção; e (iv) ciclos até a caracterização da perda da posse de bola; esses dois últimos agrupados por ações (chute, toque e drible) devido à similaridade que apresentam. Por isso já era de se esperar que a ação de chute demore mais ciclos que o toque e consequentemente que o drible para evidenciar algum critério de reforço, como fazer ou sofrer um gol, manter ou perder a posse de bola. Baseados nos dados até aqui expostos conclui-se, acerca do momento ideal para a

49 Figura 13: Boxplot do número de ciclos transcorridos a partir da última ação realizada até fazer um gol Figura 14: Boxplot do número de ciclos transcorridos a partir da última ação realizada até sofrer um gol obtenção dos reforços, que ele não é único para todas as possíveis combinações de estados e ações. Optou-se portanto adotar sua recuperação nos ciclos 3, 8, 14 e 25, para todas as ações. 3.3 Implementação das Heurísticas A estratégia de aprendizado por reforço na seção anterior se limita a decidir a melhor ação a ser executada quando o jogador possui a posse da bola porém, devido à complexidade que envolve um jogo de futebol, essa estratégia não é suficiente para garantir um bom desempenho no jogos pois não aborda algumas decisões importantes na partida, como a estratégia de posicionamento dos jogadores no campo e o que o jogador deve fazer quando não possui a posse de bola. Além disso, com a estratégia implementada o jogador só pode fazer o passe para o jogador mais próximo dele, mas nem sempre o jogador mais próximo é o melhor jogador para fazer o toque. Podemos ter um jogador em uma posição estratégica, ou sem marcação, que tenha maiores chances de conduzir a bola para o gol. Visando melhorar o desempenho do time, utilizamos algumas heurísticas para tratar essas e outras decisões que não foram abordadas na primeira estratégia. A seguir será feita uma descrição das heurísticas implementadas.

50 49 30,0% 25,0% 20,0% 15,0% 10,0% 5,0% 0,0% Figura 15: Histograma do número de ciclos transcorridos a partir do último toque realizado até a constatação da manutenção ou perda da posse de bola. 80,0% 70,0% 60,0% 50,0% 40,0% 30,0% 20,0% 10,0% 0,0% Figura 16: Histograma do número de ciclos transcorridos a partir do último drible realizado até a constatação da manutenção ou perda da posse de bola Escolha do melhor jogador para fazer o passe Quando o jogador decide tocar para um outro jogador do time, ele sempre tocava para o que estivesse mais próximo de sua posição. Esta estratégia pode não ser boa caso este jogador esteja marcado, ou tenha um jogador do outro time no meio. Para otimizar esse passe, foi implementada uma heurística para determinar qual seria o melhor jogador para fazer o passe. Ela busca o jogador mais próximo que não tenha nenhum adversário na linha entre ele e a bola, ou que esteja livre para chutar à gol Posicionamento dos jogadores no campo No time anterior, a estratégia de posicionamento dos jogadores no campo era aleatória. Para melhorar a dinâmica do time, criamos rotinas que posicionam os jogadores mais rápidos nas laterais do campo, facilitando o deslocamento dos jogadores e a condução da bola à área inimiga.

51 50 20,0% 15,0% 10,0% 5,0% 0,0% Figura 17: Histograma do número de ciclos transcorridos a partir do último chute realizado até a constatação da manutenção ou perda da posse de bola Chutar a gol sempre que houver condições favoráveis Esta heurística altera a ação a ser executada caso o jogador detecte que a linha entre a bola e o gol se encontra livre, fazendo com que ele chute com toda a potência em direção ao gol, aumentando as chances de fazer um gol Definição da melhor trajetória do chute à gol Quando o jogador decidia chutar à gol, ele sempre mirava na posição central, que sabese que nem sempre é a melhor posição para se chutar, já que o goleiro ou qualquer outro jogador oponente pode estar nessa posição e interceptar a bola em meio à sua trajetória. Foi implementado um algoritmo de detecção da região mais livre do gol para direcionar os chutes. Ele leva em consideração três ângulos formados entre: (i) trave esquerda, bola e goleiro; (ii) trave direita, bola e goleiro; e (iii) trave esquerda, bola e trave direita. As possíveis áreas de chute selecionadas por este algoritmo são próximas à trave esquerda ou direita ou na região central do gol adversário Otimização do tiro de meta O time base implementa uma estratégia muito básica para o tiro de meta do goleiro. Ele basicamente chuta a bola para uma posição a 45 graus do centro do gol. Apesar do comportamento do goleiro não ser o foco do nosso trabalho, constatamos que esta ação básica comprometia de forma substancial na evolução do jogo, já que na maioria das vezes o time adversário conseguia alcançar a bola por estar próximo à esta posição. Foi, então, implementada uma ação mais complexa no momento do tiro de meta. O goleiro analisa a posição de todos os jogadores mais próximos dos dois times e busca pelo jogador mais

52 51 Figura 18: Escolha da melhor trajetória de chute à gol baseado nos ângulos entre o jogador, a bola e as traves próximo que esteja livre de marcação ou com uma linha livre de chute. Caso não encontre, ele chuta para a região com menos jogadores do time adversário.

53 52 4 Treinamentos e Resultados Experimentais Como comentado na revisão de literatura, utilizamos um algoritmo de aprendizado por reforço para decidir as melhores ações a serem tomadas quando o jogador tem a posse de bola. Este tipo de algoritmo precisa de treinamentos para evoluir e melhorar seu desempenho. Neste trabalho, foram realizados no total cerca de jogos, agrupados em séries de treinamentos com e sem heurísticas. O treinamento do time requer muitos jogos para um efetivo aprendizado. Como cada jogo é composto de 6000 ciclos o que requer aproximadamente 12 minutos de duração além de necessitarem de ação humana para iniciar, a realização de vários jogos se torna muito demorada e dispendiosa se for feita através de comandos manuais. Implementar a automação dos treinos foi então uma necessidade para o progresso dos treinamentos e análise de desempenho. Foram criados alguns scripts em que são definidos os parâmetros dos treinamentos, como número de jogos, time adversário e taxa de exploração de cada jogo. Dessa forma, os jogos podem ser executados sem a necessidade de intervenção humana, facilitando o processo de treinamento e acompanhamento dos resultados. Além disso, alteramos alguns parâmetros do servidor de simulação para melhorar a eficiência do treinamento, como a ativação do modo síncrono, fazendo com que cada partida tenha uma duração média de 3 minutos, ao invés dos 12 minutos do modo assíncrono, e ativação da visão em 360 graus dos jogadores. As estratégias de treinamentos utilizadas envolviam a modificação da taxa de exploração ɛ do algoritmo ɛ-greedy. Como explicado anteriormente, essa é a taxa na qual o agente executa a melhor ação, de acordo com a matriz de estados x ações do Q-Learning, com probabilidade 1-ɛ e escolhe uma ação aleatória com probabilidade ɛ. Ou seja, quanto maior o valor de ɛ, maior a quantidade de jogadas aleatórias na partida. Esta solução

54 53 foi adotada para que a matriz de estados x ações seja bastante explorada e preenchida durante os treinamentos. Foi adotada uma estratégia de de começar com uma taxa de exploração de 100%, ou seja, todas as ações executadas sendo aleatórias, e diminuir gradualmente até chegar em 0%. Esta estratégia foi utilizada para que a maior quantidade possível de ações seja visitada em cada estado e assim podemos analisar o efeito de cada uma delas em um determinado estado. A seguir é feita uma descrição de todas as seções de treinamentos e seus resultados. 4.1 Q-Learning sem Heurística Esta primeira seção foi realizada antes da implementação das heurísticas apresentadas neste trabalho e visa analisar a evolução do aprendizado. Figura 19: Resultado do saldo de gols para o algoritmo Q-Learning sem heurísticas Os resultados mostram que a implementação de um algoritmo de aprendizado por

55 54 reforço sem utilização de heurísticas não apresentou uma evolução satisfatória. 4.2 Q-Learning com Heurísticas - 11 jogadores Após a implementação das heurísticas, uma nova seção de treinamentos foi realizada para a eficácia das mesmas, bem como comparar a evolução. Figura 20: Resultado do saldo de gols para o algoritmo HAQL em uma partida com 11 jogarores em cada time Os resultados revelam como a implementação de heurísticas pode melhorar os resultados do algoritmo desde as primeiras iterações, já que a média do saldo de gols por partida foi de -6,7 para -3, Q-Learning com Heurísticas - 5 jogadores Apesar de podermos constatar uma melhora com a implementação das heurísticas, os treinamentos realizados anteriormente não foram suficientes para identificar a convergência do algoritmo.

56 55 Visando reduzir a complexidade do jogo, realizamos uma seção de treinamento com apenas o goleiro e 4 jogadores em cada time. Figura 21: Resultado do saldo de gols para o algoritmo HAQL em uma partida com 5 jogarores em cada time Os resultados apresentaram uma melhora expressiva em relação aos jogos com o time completo e pode-se verificar a convergência do aprendizado para uma política ótima. 4.4 Comparação dos resultados O gráfico da figura 22 compara as 3 seções treinamento. Podemos concluir que a eficácia da implementação de heurísticas para acelarar o aprendizado por reforço é alta, de forma que já nos primeiros jogos os resultados do time utilizando heurísticas é bem melhor do que os do time que utiliza aprendizado sem heurísticas. Nota-se também que ao reduzir a quantidade de jogadores em campo, os resultados são melhores e convergem mais rápido. Isso pode ter ocorrido porque com menos jogadores se tem mais espaço no campo e a corretude na condução da bola e chute à gol são habilidades que são exercitadas com mais frequência.

3 Aprendizado por reforço

3 Aprendizado por reforço 3 Aprendizado por reforço Aprendizado por reforço é um ramo estudado em estatística, psicologia, neurociência e ciência da computação. Atraiu o interesse de pesquisadores ligados a aprendizado de máquina

Leia mais

UAISOCCER2D - TEAM DESCRIPTION PAPER CBR 2013

UAISOCCER2D - TEAM DESCRIPTION PAPER CBR 2013 UAISOCCER2D - TEAM DESCRIPTION PAPER CBR 2013 André Luiz Carvalho Ottoni, Erivelton Geraldo Nepomuceno, Marcos Santos de Oliveira, Rubisson Duarte Lamperti, Eduardo Bento Pereira, Emerson Santos Silva,

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

lnteligência Artificial Introdução ao Processo Decisório de Markov

lnteligência Artificial Introdução ao Processo Decisório de Markov lnteligência Artificial Introdução ao Processo Decisório de Markov Aprendizado - paradigmas Aprendizado supervisionado O crítico comunica a EA o erro relativo entre a ação que deve ser tomada idealmente

Leia mais

Uso de Heurísticas para a Aceleração do Aprendizado por Reforço

Uso de Heurísticas para a Aceleração do Aprendizado por Reforço Proceedings of the International Joint Conference IBERAMIA/SBIA/SBRN 2006-5th Best MSc dissertation/phd thesis contest (CTDIA 2006), Ribeirão Preto, Brazil, October 23 28, 2006. CD-ROM. ISBN 85-87837-11-7

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 24 Aprendizado Por Reforço Formas de Aprendizado Aprendizado Supervisionado Árvores de Decisão. K-Nearest Neighbor (KNN).

Leia mais

Uso de Heurísticas para a Aceleração do Aprendizado por

Uso de Heurísticas para a Aceleração do Aprendizado por Uso de Heurísticas para a Aceleração do Aprendizado por Reforço Reinaldo A. C. Bianchi 1,2, Anna H. R. Costa 1 1 Laboratório de Técnicas Inteligentes Escola Politécnica da Universidade de São Paulo Av.

Leia mais

Aprendizado por Reforço

Aprendizado por Reforço Aprendizado por Reforço Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Aprendizado por Reforço 2. Q-Learning 3. SARSA 4. Outras ideias 1 Aprendizado por Reforço Problemas de decisão

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 18 Aprendizado Por Reforço Edirlei Soares de Lima Formas de Aprendizado Aprendizado Supervisionado Árvores de Decisão. K-Nearest Neighbor (KNN).

Leia mais

IA - Planejamento II

IA - Planejamento II PO IA - Planejamento II Professor Paulo Gurgel Pinheiro MC906A - Inteligência Articial Instituto de Computação Universidade Estadual de Campinas - UNICAMP 16 de Novembro de 2010 1 / 48 PO http://www.ic.unicamp.br/

Leia mais

Aprendizado por Reforço

Aprendizado por Reforço Aprendizado por Reforço SCC5865-Robótica Roseli A F Romero Introdução O modelo padrão de aprendizado por reforço Aprendizado por Reforço Formalmente, o modelo consiste de: Um conjunto discreto de estados

Leia mais

Desenvolvimento de Estratégia para Programação do Futebol de Robôs

Desenvolvimento de Estratégia para Programação do Futebol de Robôs Anais do XXVI Congresso da SBC EnRI l III Encontro de Robótica Inteligente 14 a 0 de julho de 006 Campo Grande, MS Desenvolvimento de Estratégia para Programação do Futebol de Robôs Wânderson O. Assis,

Leia mais

Inteligência Artificial Agentes Inteligentes

Inteligência Artificial Agentes Inteligentes Inteligência Artificial Jarley P. Nóbrega, Dr. Faculdade Nova Roma Bacharelado em Ciência da Computação jpn@jarley.com Semestre 2018.2 Jarley P. Nóbrega, Dr. (Nova Roma) Inteligência Artificial Semestre

Leia mais

Aprendizagem por Reforço

Aprendizagem por Reforço Aprendizagem por Reforço Motivação! Como um agente aprende a escolher ações apenas interagindo com o ambiente? n n Muitas vezes, é impraticável o uso de aprendizagem supervisionada w Como obter exemplos

Leia mais

USO DE HEURÍSTICAS OBTIDAS POR MEIO DE DEMONSTRAÇÕES PARA ACELERAÇÃO DO APRENDIZADO POR REFORÇO

USO DE HEURÍSTICAS OBTIDAS POR MEIO DE DEMONSTRAÇÕES PARA ACELERAÇÃO DO APRENDIZADO POR REFORÇO USO DE HEURÍSTICAS OBTIDAS POR MEIO DE DEMONSTRAÇÕES PARA ACELERAÇÃO DO APRENDIZADO POR REFORÇO DANILO H. PERICO, REINALDO A. C. BIANCHI Centro Universitário da FEI, Av. Humberto de Alencar Castelo Branco,

Leia mais

Aprendizado por Reforço para um Sistema Tutor Inteligente sem Modelo

Aprendizado por Reforço para um Sistema Tutor Inteligente sem Modelo Aprendizado por Reforço para um Sistema Tutor Inteligente sem Modelo Explícito do Aprendiz Marcus Vinícius Carvalho Guelpeli Divisão de Ciência da Computação Instituto Tecnológico de Aeronáutica São José

Leia mais

Aprendizado por Reforço usando Aproximação

Aprendizado por Reforço usando Aproximação Aprendizado por Reforço usando Aproximação de Funções Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Aproximação de Funções 2. Do the evolution 1 Aproximação de Funções Função Utilidade

Leia mais

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

Resumo. Como um agente busca de seqüência de ações para alcançar seus objetivos.

Resumo. Como um agente busca de seqüência de ações para alcançar seus objetivos. Resumo Inteligência Artificial Russel e Norvig Capítulos 3,4 e 5 Prof. MsC Ly Freitas UEG Resolução de problemas por meio de busca Como um agente busca de seqüência de ações para alcançar seus objetivos.

Leia mais

Inteligência Artificial. Agentes computacionais. Aula IV Cap.2 Russell e Norvig (continuação)

Inteligência Artificial. Agentes computacionais. Aula IV Cap.2 Russell e Norvig (continuação) Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Agentes computacionais Aula IV Cap.2 Russell e Norvig (continuação) Roteiro: Russell e Norvig,

Leia mais

Lista 1 Sistemas Inteligentes (INE5633) 2014s2. Cap. 2 - Russel & Norvig - Exercícios selecionados (respostas em azul)

Lista 1 Sistemas Inteligentes (INE5633) 2014s2. Cap. 2 - Russel & Norvig - Exercícios selecionados (respostas em azul) Lista 1 () 2014s2 Sistemas de Informação Universidade Federal de Santa Catarina Cap. 2 - Russel & Norvig - Exercícios selecionados (respostas em azul) 1. Tanto a medida de desempenho quanto a função de

Leia mais

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula VI Busca Competitiva

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula VI Busca Competitiva Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação http://www.inf.unioeste.br/~claudia/ia2017.html Inteligência Artificial Resolução de problemas por meio de algoritmos

Leia mais

Modelagem e Simulação de um Sistema de Aprendizado de Reforço para Robôs

Modelagem e Simulação de um Sistema de Aprendizado de Reforço para Robôs Modelagem e Simulação de um Sistema de Aprendizado de Reforço para Robôs André Luiz Carvalho Ottoni (UFSJ) andreottoni@ymail.com Rubisson Duarte Lamperti (UFSJ) duartelamperti@yahoo.com.br Erivelton Geraldo

Leia mais

APRENDIZADO POR REFORÇO MULTIAGENTE MULTIOBJETIVO ACELERADO POR HEURÍSTICAS APLICADO AO PROBLEMA DA PRESA E PREDADOR Leonardo A. Ferreira, Carlos H. C. Ribeiro, Reinaldo A. C. Bianchi Centro Universitário

Leia mais

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 4 Tipos de Agentes Inteligentes Racionais e Ambientes

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 4 Tipos de Agentes Inteligentes Racionais e Ambientes Inteligência Artificial Prof. Tiago A. E. Ferreira Aula 4 Tipos de Agentes Inteligentes Racionais e Ambientes 1 Um programa de IA pode ser visto como um Agente Racional Plano da aula Ambientes e arquiteturas

Leia mais

Agentes Inteligentes. Inteligência Artificial

Agentes Inteligentes. Inteligência Artificial Agentes Inteligentes (Capítulo 2 - Russell) Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Ambiente de Tarefas 3. Exemplos de ambiente de Tarefas 4. Propriedades

Leia mais

Teoria da Computação. Complexidade computacional classes de problemas

Teoria da Computação. Complexidade computacional classes de problemas Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos

Leia mais

Tópicos Especiais em Otimização

Tópicos Especiais em Otimização Tópicos Especiais em Otimização ivo.junior@ufjf.edu.br Juiz de Fora, 05 de Maio de 2016 Introdução Qual a diferença entre inteligência: ARTIFICIAL E COMPUTACIONAL? ARTIFICIAL: É a ciência que tenta compreender

Leia mais

Aprendizado por Reforço Acelerado por Heurística para um Sistema Multi-Agentes

Aprendizado por Reforço Acelerado por Heurística para um Sistema Multi-Agentes Proceedings of the International Joint Conference IBERAMIA/SBIA/SBRN 2006-3rd Workshop on MSc dissertations and PhD thesis in Artificial Intelligence (WTDIA 2006), Ribeirão Preto, Brazil, October 23 28,

Leia mais

Aula 02a Agentes Inteligentes

Aula 02a Agentes Inteligentes Tópicos Aula 02a Agentes Inteligentes Prof. Dr. Alexandre da Silva Simões 1. Agentes: Conceitos básicos: função, programa, percepção, ações,... Relação entre comportamento e desempenho Racionalidade Autonomia

Leia mais

Inteligência Computacional

Inteligência Computacional Rafael D. Ribeiro, M.Sc. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br Agente: É um elemento qualquer capaz de perceber seu ambiente por meio de sensorese de agir sobre este ambiente

Leia mais

Inteligência Artificial - IA. Resolução de problemas por meio de busca

Inteligência Artificial - IA. Resolução de problemas por meio de busca Resolução de problemas por meio de busca 1 Agente reativo - definido por ação reação Agente de resolução de problemas (ou baseado em objetivos) encontra sequencias de ações que leva ao estado desejável.

Leia mais

Agentes Inteligentes

Agentes Inteligentes Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Agentes Inteligentes Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

APLICAÇÃO DO ALGORITMO SARSA NA COLETA DE LIXO - ESTUDO DO PARÂMETRO ALPHA 1

APLICAÇÃO DO ALGORITMO SARSA NA COLETA DE LIXO - ESTUDO DO PARÂMETRO ALPHA 1 APLICAÇÃO DO ALGORITMO SARSA NA COLETA DE LIXO - ESTUDO DO PARÂMETRO ALPHA 1 Darlinton Prauchner 2, Rogério Martins 3, Edson Padoin 4. 1 Trabalho de conclusão de curso realiazado no curso de Ciência da

Leia mais

TDP do time RECIFE SOCCER Futebol SPL

TDP do time RECIFE SOCCER Futebol SPL 1 TDP do time RECIFE SOCCER Futebol SPL Gabriel Alves da Silva 1, Paulo Martins Monteiro 2, Pedro Ferreira da Silva Junior 3, Simone Gomes Zelaquett 4, Tasso Luís Oliveira de Moraes 5. Resumo Este artigo

Leia mais

lnteligência Artificial Introdução ao Aprendizado por Reforço (Reinforcement Learning)

lnteligência Artificial Introdução ao Aprendizado por Reforço (Reinforcement Learning) lnteligência Artificial Introdução ao Aprendizado por Reforço (Reinforcement Learning) Processo Decisório de Markov e Aprendizado por Reforço Quando falamos sobre Processo decisório de Markov e formalizamos

Leia mais

CENTRO UNIVERSITÁRIO DA FEI DANILO HERNANI PERICO USO DE HEURÍSTICAS OBTIDAS POR MEIO DE DEMONSTRAÇÕES PARA ACELERAÇÃO DO APRENDIZADO POR REFORÇO

CENTRO UNIVERSITÁRIO DA FEI DANILO HERNANI PERICO USO DE HEURÍSTICAS OBTIDAS POR MEIO DE DEMONSTRAÇÕES PARA ACELERAÇÃO DO APRENDIZADO POR REFORÇO CENTRO UNIVERSITÁRIO DA FEI DANILO HERNANI PERICO USO DE HEURÍSTICAS OBTIDAS POR MEIO DE DEMONSTRAÇÕES PARA ACELERAÇÃO DO APRENDIZADO POR REFORÇO São Bernardo do Campo 2012 DANILO HERNANI PERICO Uso de

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

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES NEURAIS ARTIFICIAIS AULA 03 Prof. Dr. André A. P. Biscaro 1º Semestre de 2017 INTRODUÇÃO Aprendizagem é um processo pelo qual os parâmetros livres de uma rede neural são adaptados através de um processo

Leia mais

Agentes Inteligentes. Módulo 02 27/02/2013. Inteligência Artificial. Profª Hemilis Joyse

Agentes Inteligentes. Módulo 02 27/02/2013. Inteligência Artificial. Profª Hemilis Joyse Agentes Inteligentes Módulo 02 1 Agente É tudo que pode ser considerado capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por intermédio de atuadores. 2 Agente Tabela parcial

Leia mais

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais ricardo.kerschbaumer@ifc.edu.br http://professor.luzerna.ifc.edu.br/ricardo-kerschbaumer/ Introdução O Cérebro humano Mais fascinante processador

Leia mais

Inteligência Artificial. 3º Quadrimestre de 2018

Inteligência Artificial. 3º Quadrimestre de 2018 Inteligência Artificial Prof. Fabrício Olivetti de França Prof. Denis Fantinato 3º Quadrimestre de 2018 1 Busca Competitiva 2 Busca Competitiva Quando falamos sobre agentes mencionamos alguns cenários

Leia mais

UTILIZANDO TRANSFERÊNCIA DE CONHECIMENTO PARA ACELERAR O APRENDIZADO POR REFORÇO Luiz A. Celiberto Jr, Murilo F. Martins, Reinaldo A. C. Bianchi, Jackson P. Matsuura Departamento de Sistemas e Controle

Leia mais

étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE DE JOÃO DEL-REI PRÓ-REITORIA DE PESQUISA CENTRO

Leia mais

Implementação de um Time para a categoria RoboCup Soccer Simulation 3D

Implementação de um Time para a categoria RoboCup Soccer Simulation 3D Anais do XXVI Congresso da SBC EnRI l III Encontro de Robótica Inteligente 14 a 20 de julho de 2006 Campo Grande, MS Implementação de um Time para a categoria RoboCup Soccer Simulation 3D Luiz Antonio

Leia mais

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho Pesquisa Operacional Introdução Profa. Alessandra Martins Coelho julho/2014 Operational Research Pesquisa Operacional - (Investigação operacional, investigación operativa) Termo ligado à invenção do radar

Leia mais

Inteligência Artificial (Lista 1) Prof. Alex F. V. Machado

Inteligência Artificial (Lista 1) Prof. Alex F. V. Machado Ministério da Educação Instituto Federal de Educação, Ciência e Tecnologia Sudeste de Minas Gerais - Campus Rio Pomba Bacharelado em Ciência da Computação 1) Considere os termos abaixo e complete. Inteligência

Leia mais

4 Desenvolvimento de Algoritmos de controle

4 Desenvolvimento de Algoritmos de controle 4 Desenvolvimento de Algoritmos de controle 4.1 Introdução Os estudos das características sensoriais e equações de movimento realizados com o robô ER1, junto com as ferramentas de simulação, permitem o

Leia mais

Buscas Informadas ou Heurísticas - Parte II

Buscas Informadas ou Heurísticas - Parte II Buscas Informadas ou Heurísticas - Parte II Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Graduação em Ciência da Computação / 2006 FUNÇÕES HEURÍSTICAS - 1/7 FUNÇÕES HEURÍSTICAS - 2/7 Solução

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

Aprendizagem de Máquinas

Aprendizagem de Máquinas Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Aprendizagem de Máquinas DCA0121 Inteligência Artificial Aplicada Heitor Medeiros 1 Aprendizagem de Máquinas

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos Roteiro Introdução Algoritmos Genéticos Otimização Representação Seleção Operadores Genéticos Aplicação Caixeiro Viajante Introdução Algoritmos Genéticos (AGs), são métodos de otimização

Leia mais

5 VNS com Filtro e Reconexão por Caminhos

5 VNS com Filtro e Reconexão por Caminhos 5 VNS com Filtro e Reconexão por Caminhos A metaheurística VNS (Variable Neighborhood Search) foi proposta por Mladenović e Hansen [40] e possui como idéia básica a mudança de vizinhanças realizada da

Leia mais

6. Controle por Aprendizado Neuro-Fuzzy

6. Controle por Aprendizado Neuro-Fuzzy 6. Controle por Aprendizado Neuro-Fuzzy 6.1. Introdução Neste capítulo é apresentado o controle por aprendizado utilizando um sistema híbrido Neuro-Fuzzy, para o cálculo e atualização dos pontos de reversão

Leia mais

Agentes Inteligentes. CAPÍTULO 2 - Russell

Agentes Inteligentes. CAPÍTULO 2 - Russell Agentes Inteligentes CAPÍTULO 2 - Russell O que é um Agente Inteligente Um agente é tudo o que pode ser considerado capaz de perceber seu ambiente por meio de sensores e de agir sobre seu ambiente por

Leia mais

UFSC Universidade Federal de Santa Catarina CTC Centro Tecnológico INE Departamento de Informática e Estatística

UFSC Universidade Federal de Santa Catarina CTC Centro Tecnológico INE Departamento de Informática e Estatística UFSC Universidade Federal de Santa Catarina CTC Centro Tecnológico INE Departamento de Informática e Estatística INE6105-Introdução à Robótica Prof. Mauro Roisemberg Arkin. Ronald C. Behavior-Based Robotics

Leia mais

Enunciados dos Exercícios Cap. 2 Russell & Norvig

Enunciados dos Exercícios Cap. 2 Russell & Norvig Enunciados dos Exercícios Cap. 2 Russell & Norvig 1. (2.2) Tanto a medida de desempenho quanto a função de utilidade medem o quanto um agente está desempenhando bem suas atividades. Explique a diferença

Leia mais

Problemas de otimização

Problemas de otimização Problemas de otimização Problemas de decisão: Existe uma solução satisfazendo certa propriedade? Resultado: sim ou não Problemas de otimização: Entre todas as soluções satisfazendo determinada propriedade,

Leia mais

Inteligência Artificial: 2. Agentes Inteligentes. Capítulo 2 Russell e Norvig

Inteligência Artificial: 2. Agentes Inteligentes. Capítulo 2 Russell e Norvig Inteligência Artificial: 2. Agentes Inteligentes Capítulo 2 Russell e Norvig Agentes Um agente é algo capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por meio de atuadores.

Leia mais

Tópicos Especiais: Inteligência Artificial AGENTES INTELIGENTES

Tópicos Especiais: Inteligência Artificial AGENTES INTELIGENTES Tópicos Especiais: Inteligência Artificial AGENTES INTELIGENTES Material baseado e adaptado do Cap. 2 do Livro Inteligência Artificial de Russel & Norving Bibliografia Inteligência Artificial Russell &

Leia mais

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

RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig)

RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig) RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig) 1 Tópicos 1. Agentes para resolução de problemas 2. Formulação de problemas 3. Exemplos de problemas 4. Soluções aos problemas

Leia mais

Busca Competitiva. Inteligência Artificial. Até aqui... Jogos vs. busca. Decisões ótimas em jogos 9/22/2010

Busca Competitiva. Inteligência Artificial. Até aqui... Jogos vs. busca. Decisões ótimas em jogos 9/22/2010 Inteligência Artificial Busca Competitiva Aula 5 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia-pos Capítulo 6 Russell & Norvig Seção 6.1 a 6.5 2 Até aqui... Problemas sem interação com outro agente.

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 1 de novembro de 2018 Marco Antonio

Leia mais

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves CAP 254 CAP 254 Otimização Combinatória Professor: Dr. L.A.N. Lorena Assunto: Metaheurísticas Antonio Augusto Chaves Conteúdo C Simulated Annealing (2//7). C2 Busca Tabu (22//7). C3 Colônia de Formigas

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica PERCEPTRON MULTICAMADAS: TÉCNICAS DE VALIDAÇÃO Prof. Dr. André A. P. Biscaro 2º Semestre de 2016 UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT Aspectos de seleção topológica de redes PMC A especificação

Leia mais

Redes Neurais (Inteligência Artificial)

Redes Neurais (Inteligência Artificial) Redes Neurais (Inteligência Artificial) Aula 02 Agentes Inteligentes Edirlei Soares de Lima Agentes Inteligentes Um agente é algo capaz de perceber seu ambiente por meio de sensores

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 3 Métodos de Busca para Resolução de Problemas Busca Informada Heurísticas Busca Gulosa Busca A* Busca Local Prática #2 Prof. Ricardo M. Marcacini ricardo.marcacini@ufms.br

Leia mais

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula II Algoritmos básicos de busca cega

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula II Algoritmos básicos de busca cega Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Resolução de problemas por meio de algoritmos de busca Aula II Algoritmos básicos de busca

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Fabrício Olivetti de França 07 de Junho de 2018 1 Agentes 2 Agente, Ambiente e Sensores Um agente é definido pelo ambiente que ele consegue perceber através de seus sensores e as

Leia mais

APLICAÇÃO DO FILTRO DE KALMAN A UM SISTEMA DE POSICIONAMENTO DE VEÍCULO AQUÁTICO

APLICAÇÃO DO FILTRO DE KALMAN A UM SISTEMA DE POSICIONAMENTO DE VEÍCULO AQUÁTICO APLICAÇÃO DO FILTRO DE KALMAN A UM SISTEMA DE POSICIONAMENTO DE VEÍCULO AQUÁTICO André TEIXEIRA DE AQUINO; André LUIZ CARNEIRO DE ARAÚJO (1) Instituto Federal de Educação, Ciência e Tecnologia do Ceará,

Leia mais

Cálculo Numérico BCC760

Cálculo Numérico BCC760 Cálculo Numérico BCC760 Resolução de Sistemas de Equações Lineares Simultâneas Departamento de Computação Página da disciplina http://www.decom.ufop.br/bcc760/ 1 Introdução! Definição Uma equação é dita

Leia mais

Capítulo 04. Erros de arredondamento e Truncamento (Parcial)

Capítulo 04. Erros de arredondamento e Truncamento (Parcial) Capítulo 04 Erros de arredondamento e Truncamento (Parcial) Objetivos do capítulo Entender a diferença entre acurácia e precisão. Aprender como quantificar o erro. Aprender a usar estimativas de erros

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.1. Introdução às Redes Neurais Artificiais (RNAs) 2.1.1. Motivação

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

Simulação de Futebol de Robôs

Simulação de Futebol de Robôs Departamento de Engenharia Elétrica Simulação de Futebol de Robôs Aluna: Bianca Burgos Maron Orientadora: Marley Vellasco Introdução A inteligência computacional e suas aplicações em robôs inteligentes

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação (Machine Learning) Aula 01 Motivação, áreas de aplicação e fundamentos Max Pereira Nem todo conhecimento tem o mesmo valor. O que torna determinado conhecimento mais importante que

Leia mais

O uso de Máquina de Suporte Vetorial para Regressão (SVR) na Estimação da Estrutura a Termo da Taxa de Juros do Brasil 12

O uso de Máquina de Suporte Vetorial para Regressão (SVR) na Estimação da Estrutura a Termo da Taxa de Juros do Brasil 12 1 Introdução No Brasil, o grande aumento na adesão a planos de previdência privada nos últimos tempos implicou em maiores preocupações de bancos e seguradoras em fazer investimentos visando garantir o

Leia mais

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

Desenvolvimento de um time de futebol robótico para o RoboCup 2D

Desenvolvimento de um time de futebol robótico para o RoboCup 2D Desenvolvimento de um time de futebol robótico para o RoboCup 2D Rodrigo Mendes Garcês 1,Jamesson Amaral Gomes 1, Geraldo Braz Júnior 1, Alexandre César Muniz de Oliveira 1, Luciano Reis Coutinho 1, Paulo

Leia mais

3 Redes Neurais Artificiais

3 Redes Neurais Artificiais 3 Redes Neurais Artificiais 3.1. Introdução A capacidade de implementar computacionalmente versões simplificadas de neurônios biológicos deu origem a uma subespecialidade da inteligência artificial, conhecida

Leia mais

Sistemas de Informação e Decisão. Douglas Farias Cordeiro

Sistemas de Informação e Decisão. Douglas Farias Cordeiro Sistemas de Informação e Decisão Douglas Farias Cordeiro Decisão Tomamos decisões a todo momento! O que é uma decisão? Uma decisão consiste na escolha de um modo de agir, entre diversas alternativas possíveis,

Leia mais

Fundamentos de Inteligência Artificial [5COP099]

Fundamentos de Inteligência Artificial [5COP099] Fundamentos de Inteligência Artificial [5COP099] Dr. Sylvio Barbon Junior Departamento de Computação - UEL 1 o Semestre Assunto Aula 7 Algoritmos de Busca Competitiva 2 de 20 Sumário Introdução Busca Competitiva

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

Análise do Aprendizado por Reforço Aplicado a Otimização em Tomadas de Decisões Multiagente

Análise do Aprendizado por Reforço Aplicado a Otimização em Tomadas de Decisões Multiagente Análise do Aprendizado por Reforço Aplicado a Otimização em Tomadas de Decisões Multiagente André Luiz C. Ottoni Engenharia Elétrica andreottoni@ymail.com Erivelton G. Nepomuceno Engenharia Elétrica nepomuceno@ufsj.edu.br

Leia mais

7 Conclusões e desenvolvimentos futuros

7 Conclusões e desenvolvimentos futuros 7 Conclusões e desenvolvimentos futuros 7.1 Conclusões Este trabalho apresentou novas soluções para a determinação da posição de terminais de comunicações móveis com base em medidas de ToA. Nos métodos

Leia mais

Redes Neurais (Inteligência Artificial)

Redes Neurais (Inteligência Artificial) Redes Neurais (Inteligência Artificial) Aula 03 Resolução de Problemas por Meio de Busca Edirlei Soares de Lima Introdução Agentes Autônomos: Entidades capazes de observar o ambiente

Leia mais

Inteligência Artificial

Inteligência Artificial Universidade Federal de Campina Grande Departamento de Sistemas e Computação Pós-Graduação em Ciência da Computação Inteligência Artificial Aprendizagem (Redes Neurais - Complementar) Prof. a Joseana Macêdo

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS 7ª Série Linguagens Formais e Autômatos Ciência da Computação A atividade prática supervisionada (ATPS) é um método de ensino-aprendizagem desenvolvido por meio de um

Leia mais

Inteligência Artificial - IA

Inteligência Artificial - IA Busca sem informação Estratégias para determinar a ordem de expansão dos nós: 1. Busca em extensão 2. Busca de custo uniforme 3. Busca em profundidade 4. Busca com aprofundamento iterativo Direção da expansão:

Leia mais

5 Avaliação Experimental

5 Avaliação Experimental 5 Avaliação Experimental Com o objetivo de validar a modelagem proposta, foi desenvolvido um código que gerencia um ambiente de treinamento. Neste ambiente são controladas as condições de execução do treinamento,

Leia mais

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos Introdução a Machine Learning: Teoria, Aplicações e IA na Arquitetura Intel Vitor Hugo Ferreira, DSc - UFF Flávio Mello, DSc UFRJ e Ai2Biz

Leia mais

UNIVERSIDADE FEDERAL DO ABC. 1 Existência e unicidade de zeros; Métodos da bissecção e falsa posição

UNIVERSIDADE FEDERAL DO ABC. 1 Existência e unicidade de zeros; Métodos da bissecção e falsa posição UNIVERSIDADE FEDERAL DO ABC BC1419 Cálculo Numérico - LISTA 1 - Zeros de Funções (Profs. André Camargo, Feodor Pisnitchenko, Marijana Brtka, Rodrigo Fresneda) 1 Existência e unicidade de zeros; Métodos

Leia mais

Aprendizagem de Máquina

Aprendizagem de Máquina Aprendizagem de Máquina Relatório: Rede Neural para tomada de decisão Christian Diego Alves Daniel cdad Icamaan Botelho Viegas da Silva - ibvs Recife, 30 de Julho de 2007. 1. Introdução A Robocup é um

Leia mais

Jogos. Geralmente o oponente tentará, na medida do possível, fazer o movimento menos benéfico para o adversário.

Jogos. Geralmente o oponente tentará, na medida do possível, fazer o movimento menos benéfico para o adversário. Jogos Os jogos tem atraído a atenção da humanidade, às vezes de modo alarmante, desde a antiguidade. O que o torna atraente para a IA é que é uma abstração da competição (guerra), onde se idealizam mundos

Leia mais