Técnicas de IA Aplicadas a Sistemas Multiagentes Cooperativos e Competitivos. Jan Segre Victor Bramigk

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

Download "Técnicas de IA Aplicadas a Sistemas Multiagentes Cooperativos e Competitivos. Jan Segre Victor Bramigk"

Transcrição

1 MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA (Real Academia de Artilharia, Fortificação e Desenho/1792) CURSO DE GRADUAÇÃO EM ENGENHARIA DE COMPUTAÇÃO Jan Segre Victor Bramigk Técnicas de IA Aplicadas a Sistemas Multiagentes Cooperativos e Competitivos Rio de Janeiro Julho de 2014

2 Instituto Militar de Engenharia Técnicas de IA Aplicadas a Sistemas Multiagentes Cooperativos e Competitivos Projeto Final de Curso de Graduação em Engenharia de Computação do Instituto Militar de Engenharia. Orientador: Paulo Fernando Ferreira Rosa Coorientador: Bruno Eduardo Madeira Rio de Janeiro Julho de 2014

3 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(s) autor(es) e do(s) orientador(es) Segre, Jan S455h Técnicas de IA aplicadas a sistemas multiagentes cooperativos e competitivos / Jan Segre,Victor Bramigk; orientados por Paulo Fernando Ferreira Rosa - Rio de Janeiro: Instituto Militar de Engenharia, p. : il. Projeto de Fim de Curso (PFC) - Instituto Militar de Engenharia - Rio de Janeiro, Curso de engenharia da computação - Projeto Final de Curso. 2. Robótica. 3. Minimax. I. Bramigk, Victor. II. Rosa, Paulo Fernando Ferreira. III. Bruno Eduardo Madeira. IV. title. V. Instituto Militar de Engenharia.

4 Instituto Militar de Engenharia Jan Segre Victor Bramigk Técnicas de IA Aplicadas a Sistemas Multiagentes Cooperativos e Competitivos Projeto Final de Curso de Graduação em Engenharia de Computação do Instituto Militar de Engenharia. Orientador: Paulo Fernando Ferreira Rosa Aprovado em 18 de novembro de 2014 pela seguinte Banca Examinadora: Paulo Fernando Ferreira Rosa - Ph.D., do IME Orientador Bruno Eduardo Madeira - M.Sc., do IME Julio Cesar Duarte - D.Sc., do IME Rio de Janeiro Julho de 2014

5 Resumo Este trabalho apresenta um sistema de controle de um time da Small Size League (SSL) de futebol de robôs para a equipe RoboIME (que representa o IME nessa competição) utilizando um algoritmo Minimax. Os times da SSL normalmente são comandados por heurísticas puras. Isso restringe o movimento dos robôs a um determinado conjunto fixo de comportamentos, restringindo as jogadas possíveis. O objetivo deste trabalho é implementar esse sistema de modo que tenha desempenho pelo menos comparável à inteligência que vem sendo usada pela RoboIME (chamada pyroboime), que é heurística. Para utilizar um algoritmo Minimax é necessário abstrair o jogo de modo que se possa simular mais situações e permitir que várias sequências de jogadas possam ser consideradas em tempo real, por se tratar de um ambiente dinâmico. Assim, um jogo contínuo é abstraído em um discreto e sequencial, semelhante a um jogo de xadrez. Partindo-se desta abstração, é construido um algoritmo minimax. Com o propósito de verificar a viabilidade dessa abordagem, foi implementa uma arquitetura de controle baseada em um modelo discreto sequencial do jogo. Como plataforma de testes, é utilizada parte da pyroboime, que resolve o problema de controle físico dos robôs. Com resultados futuros, será desenvolvido um algoritmo de planejamento superior ao utilizado atualmente no pyroboime. Palavras-chaves: inteligência artificial, minimax, robótica, robocup.

6 Abstract This work presents a control system for robot soccer team of the Small Size League (SSL) for the RoboIME team (which stands for IME on that competition) using a Minimax algorithm. The teams of SSL are usually controlled by plain heuristics. That restricts the movement of the robots to a limited set of behaviours, shortening the range of possible plays. The objective of this work is to implement that system in such a way that its performance is at least comparable to that of the current intelligence being used by RoboIME (namely pyroboime), which is heuristic. For using a Minimax algorithm it is necessary to abstract the game in such a way that it can reach a whole range of moves in real time using few steps. In that manner a continous game is abstracted into a discrete sequential one, similar to chess. Based off that abstraction the Minimax algorithm is built. With the purpose of verifying the feasability of this approach, a control architecture has been implemented on top of a discrete sequential model of the game. As a test platform part of pyrobime is used, which solves the issue of controlling the real robots. With future results a planning algorithm will be developed superior to the one currently in use on pyroboime. Key-words: artificial intelligence, minimax, robotics, robocup.

7 Sumário 1 INTRODUÇÃO Motivação Objetivo Justificativa Metodologia Estrutura DESENVOLVIMENTO DO PROBLEMA E TÓPICOS TUTORIAIS Arquitetura Definições Minimax Exemplo EXPERIÊNCIA COM IMPLEMENTAÇÕES PRÉVIAS Abordagens Objetivos de longo prazo Problemas aprendidos Proposta de solução Minimax para robôs omnidirecionais Problemas Ideias Considerações MAPEAMENTO DE JOGO CONTÍNUO PARA UM JOGO DISCRETO Introdução Representação do jogo Execução do planejamento PROGRAMA Introdução Arquitetura do programa Processo do Minimax Pyroboime Métricas de avaliação CRONOGRAMA

8 7 CONCLUSÃO Referências

9 Lista de ilustrações Figura 1 Imagem da SSL RoboCup 2013 em Eindhoven, na Holanda Figura 2 Arquitetura básica da SSL Figura 3 Árvore do Minimax para o jogo da velha Figura 4 Arquitetura simplificada do sistema de controle Figura 5 Fluxo do processo minimax

10 Lista de abreviaturas e siglas IA SSL Robocup RoboIME Inteligência Artificial Small Size League Robotics World Cup Equipe de alunos do Laboratório de Robótica do IME

11 10 1 Introdução A robótica é um ramo da tecnologia que lida com a concepção, construção, operação e aplicação de máquinas capazes de realizar uma série de ações de maneira autônoma. Atualmente é um tópico em rápida ascensão. Pesquisar, projetar e fábricar novos robôs serve vários propósitos práticos tais como domésticos, comerciais e militares. Um dos problemas atuas da robótica é o planejamento em ambientes multiagentes dinâmicos e competitivos. Um exemplo um problema dessa classe é um jogo de futebol de robôs, onde um grupo de robôs é controlado por uma IA independente. A figura 1 mostra uma imagem da Robocup 2013, competição internacional de robótica, onde a equipe RoboIME (de alunos do Laboratório de Robótica do IME) participou. Figura 1 Imagem da SSL RoboCup 2013 em Eindhoven, na Holanda Devido a alta complexidade desses ambientes, não é viável o planejamento considerando diretamente as leis físicas. Como consequência, limita-se as ações possíveis do robô no modelo utilizado no planejamento para que se possa simular mais situações em tempo hábil, uma vez que o ambiente está continuamente sujeito a modificações. Entretanto, para que as simulações sejam válidas, o robô real deve estar em sintonia com seu modelo. Com efeito, o robô real deve executar os comandos conforme o robô simulado, caso o mesmo ambiente simulado seja encontrado na prática. A ideia de robôs jogando futebol foi mencionada pela primeira vez pelo professor Alan Mackworth (University of British Columbia, Canadá) em um artigo intitulado "On Se-

12 11 eing Robots", apresentado no Vision Interface 92 e posteriormente publicado em um livro chamado Computer Vision: System, Theory and Applications (BASU, 1993). Independentemente, um grupo de pesquisadores japoneses organizou um Workshop no Ground Challenge in Artificial Intelligence, em Outubro de 1992, Tóquio, discutindo e propondo problemas que representavam grandes desafios. Esse Workshop os levou a sérias discussões sobre usar um jogo de futebol para promover ciência e tecnologia. Estudos foram feitos para analisar a viabilidade dessa ideia. Os resultados desses estudos mostram que a ideia era viável, desejável e englobava diversas aplicações práticas. Em 1993, um grupo de pesquisadores, incluindo Minoru Asada, Yasuo Kuniyoshi e Hiroaki Kitano, lançaram uma competição de robótica chamada de Robot J-League (fazendo uma analogia à J-League, nome da Liga Japonesa de Futebol Profissional). Em um mês, vários pesquisadores já se pronunciavam dizendo que a iniciativa deveria ser estendida ao âmbito internacional. Surgia então, a Robot World Cup Initiative (RoboCup). RoboCup é uma competição destinada a desenvolver os estudos na área de robótica e Inteligência Artificial (IA) por meio de uma competição amigável. Além disso, ela tem como objetivo, até 2050, desenvolver uma equipe de robôs humanoides totalmente autônomos capazes de derrotar a equipe campeã mundial de futebol humano. A competição possui várias modalidades. Neste trabalho, será analisada a Small Size Robot League (SSL), também conhecida como F180. De acordo com as regras da SSL de 2013, as equipes devem ser compostas por 6 robôs, sendo um deles o goleiro, que deve ser designado antes do início do jogo. Durante o jogo, nenhuma interferência humana é permitida com o sistema de controle dos robôs. É fornecido aos times um sistema de visão global e esses controlam seus robôs com máquinas próprias. O sistema de controle dos robôs geralmente é externo e recebe os dados de um conjunto de duas câmeras localizadas acima do campo. Esse sistema de controle processa os dados, determina qual comando deve ser executado por cada robô e envia este comando através de ondas de rádio aos robôs. 1.1 Motivação O futebol de robôs, problema padrão de investigação internacional, reúne grande parte dos desafios presentes em problemas do mundo real a serem resolvidos em tempo real. As soluções encontradas para o futebol de robôs podem ser estendidas, possibilitando o uso da robótica em locais de difícil acesso para humanos, ambientes insalubres e situações de risco de vida iminente. Há diversas novas áreas de aplicação da robótica, tais como exploração espacial e submarina, navegação em ambientes inóspitos e perigosos, serviço de assistência médica e cirúrgica, além do setor de entretenimento. Essas áreas podem ser beneficiadas com o desenvolvimento de sistemas multi robôs. Nestes domínios de aplicação, sistemas de multi robôs deparam-se sempre com tarefas muito difíceis de serem

13 12 efetuadas por um único robô. Um time de robôs pode prover redundância e contribuir cooperativamente para resolver o problema em questão. Com efeito, eles podem resolver o problema de maneira mais confiável, mais rápida e mais econômica, quando comparado com o desempenho de um único robô. Devido a alta complexidade de sistemas multiagentes dinâmicos, torna-se necessário um modelo simplificado para que sejam executadas o maior número de simulações possível. Caso seja possível uma discretização, ter-se-á um número finito de casos para serem avaliados. Com isso, pode-se aplicar algoritmos como o Minimax (discutido no capítulo 2) para encontrar soluções ao problema. Isso é muito mais desejável que um modelo heurístico de IA, onde as soluções são criadas com base nos ambientes identificados pelos modeladores. Isso, pois a modelagem puramente heurística limita o número de jogadas que se pode executar e limita a capacidade que o computador tem de testar um grande número de possibilidades. 1.2 Objetivo O objetivo deste trabalho é desenvolver um algoritmo de controle para o futebol de robôs que obtenha um desempenho melhor que o utilizado atualmente, de acordo com a performance em um conjunto de partidas. Como objetivos intermediário, este trabalho objetiva criar um modelo discreto sequencial para o problema do futebol de robôs, que é um jogo contínuo de soma zero. A partir desta discretização, pretende-se desenvolver uma arquitetura de controle com base no algoritmo minimax para se planejar jogadas. 1.3 Justificativa Uma arquitetura de controle que simule os diversos ambientes dinamicamente de maneira sequencial de um ambiente multiagente permite que várias jogadas sejam criadas dinamicamente, diferentemente de uma arquitetura estática baseada em uma heurística. Essa abordagem heurística é legada da maneira como estratégias são planejadas nos times de futebol humano. Com tal mecanismo é possível melhorar a IA em uso pela RoboIME para tomar decisões que levem a resultados melhores e, como consequência, ganhar mais partidas. Nenhuma equipe atualmente esta seguindo esta abordagem, mas os autores acreditam que essa é uma linha de pesquisa promissora.

14 Metodologia Para atingir os objetivos propostos será seguida a seguinte metodologia. Inicialmente a arquitetura do futebol de robôs considerada neste trabalho é detalhada, juntamente com definições de termos relevantes para este trabalho. A seguir, a teoria sobre jogos será revisada. São apresentados também alguns dados empíricos observados com testes informais realizados anteriormente. Em sequência, um modelo abstrato do futebol de robôs é proposto para que seja aplicado o algoritmo minimax. A partir deste modelo uma arquitetura de controle é desenvolvida. Em seguida são definidas métricas para comparar a arquitetura anteriormente utilizada com a arquitetura atual. Finalmente são apresentadas as conclusões parciais do projeto. 1.5 Estrutura No capítulo 2, a arquitetura do futebol de robôs considerada é detalhada. A seguir são apresentadas definições de conceitos utilizados ao longo do trabalho. Posteriormente, a teoria dos jogos é revisada. No capítulo 3 e são apresentados alguns dados empíricos observados anteriormente. No capítulo 4, um modelo abstrato do futebol de robôs é proposto. No capítulo 5, uma arquitetura de controle é desenvolvida com base no modelo proposto anteriormente. Também são criadas métricas para comparar os resultados obtidos com a nova arquitetura. No capítulo 6, o planejamento das próximas atividades é apresentado. No capítulo 7, são apresentadas as principais conclusões atingidas neste trabalho.

15 14 2 Desenvolvimento do Problema e Tópicos Tutoriais 2.1 Arquitetura A arquitetura a ser considerada é baseada em (AMARAL; ALMEIDA, 2011). A RoboCup Small Size League (SSL) envolve problemas de diversas áreas da engenharia. Logo, com o objetivo de facilitar a compreensão do problema, a arquitetura a ser considerada é apresentada na figura 2. Essa arquitetura é composta pelos seguintes sistemas: Câmeras Visão: conjunto de câmeras firewire que captura as imagens do campo e as envia para a SSL-Vision; Comunicação: módulo responsável por receber os parâmetros dos motores, drible, chute baixo e chute alto e enviar o comando via ondas de rádio para os robôs; Execução: módulo responsável por realizar a tomada de decisões em baixo nível de quais ações os robôs devem realizar a partir da decisão tomada pelo módulo de inteligência; Inteligência: módulo responsável por realizar a tomada de decisão em alto nível de quais ações os robôs devem realizar tendo auxílio de um módulo de Simulação; Mundo Real: campo de futebol real, onde os times 1 e 2 interagem através de seus respectivos robôs Referee-Box: software padronizado pela Robocup para que as regras da competição sejam cumpridas sem que haja intervenção humana excessiva durante uma partida; Simulação: módulo do software do time responsável por simular o ambiente da partida, tendo como entrada os parâmetros do mundo real; Software Time 1/2: software do time 1/2; SSL-Vision: software padronizado pela Robocup que permite a integração com um conjunto de câmeras firewire que capturam imagens do campo e as processa, extraindo informações de posicionamento dos robôs e da bola contidas nessas imagens; Time 1/2: time de robôs que executa os comandos recebidos pelo sistema de transmissão do time 1/2;

16 15 Transmissão 1/2: sistema de transmissão do time 1/2; World Model: módulo responsável por modelar o mundo provendo consistência aos dados que serão enviados ao módulo de Inteligência e são oriundos do Referee-Box e SSL-Vision.

17 Figura 2 Arquitetura básica da SSL 16

18 Definições Definição (Corpo Rígido). Um corpo rígido r é definido por dois subconjuntos disjuntos de parâmetros r = ^r, r em que: ^r = α, β, γ, ω, que são os parâmetros de estado mutáveis, respectivamente: posição (R 3 ), orientação (R 3 ), velocidade linear (R 3 ), velocidade angular (R 3 ) r : parâmetros imutáveis do corpo que descrevem sua natureza fixa e que permanecem constantes ao longo do curso de planejamento. Exemplos de parâmetros considerados nesta modelagem imutáveis são: coeficiente de atrito estático e dinâmico, descrição 3D do corpo (por exemplo, por meio de um conjunto de primitivas 3D), centro de massa no referencial do corpo, coeficiente de restituição, coeficiente de amortecimento linear e angular. Definição (Bola). Bola é um corpo rígido ^b, no qual somente as componentes x, y do parâmetro ^b.α são observáveis. De acordo com a arquitetura considerada para a SSL descrita na figura 2, tem-se que, a partir de uma sequência de quadros, é possível obter um valor estimado para o parâmetro ^b.γ a partir do intervalo entre os dados recebidos da SSL-Vision e da equação γ Δα Δt. Entretanto, uma vez que a componente z de ^b.α não é observável, ^b.γ.z não pode ser estimada a partir do intervalo entre os dados recebidos da SSL-Vision. Semelhantemente, uma vez que o parâmetro ^b.β também não pode ser observado, não se pode estimar o valor de ^b.ω com exatidão. Definição (Robô). Robô rob é um conjunto de sistemas compostos de corpos rígidos, hardware e firmware. Neste trabalho será considerado que o robô tem os seguintes sistemas: Drible: imprime um torque a bola; Chute baixo: imprime uma força à bola ^b e, possivelmente, um torque, com o objetivo de alterar as componentes x, y do parâmetro ^b.γ; Chute alto: imprime uma força à bola ^b e, possivelmente, um torque, com o objetivo de alterar as componentes x, y, z do parâmetro ^b.γ, com ^b.γ z 0; Receptor: recebe comandos enviados pelo sistema de transmissão de seu respectivo time;

19 18 Sistema de movimentação: imprime uma força e um torque ao centro de massa global do rob; Por meio desses sistemas, cada robô rob pode executar um conjunto de ações A rob. Apesar de o modelo descrito acima abranger a maioria dos robôs utilizados atualmente por equipes da SSL, é importante ressaltar que o robô pode ter um conjunto de sensores que poderiam coletar informações adicionais às transmitidas pela SSL-Vision juntamente com um sistema de transmissão para enviá-las ao software do seu respectivo time. Isso é interessante, pois, conforme observado na definição 2.2.2, o parâmetro ^b.β não é observável. Como o sistema de drible impõe um torque à bola, por meio de um sensor, é possível estimar o valor de ^b.ω. Sem esse sensor, não é possível prever com exatidão a trajetória da bola somente com informações de simulação ou da visão. Definição (Time). Sejam os seguintes parâmetros: Rob c o conjunto dos robôs controlados; Rob i o conjunto dos robôs inimigos, isto é, não controlados; X o espaço de estado de todos os corpos rígidos envolvidos na partida considerada; x init X o estado inicial; X goal X o conjunto de estados objetivo; x i ob os estados observados pelo módulo SSL-Vision no instante i; Xob i = {x 0 ob = x init,..., x i ob}; Sk A rob um conjunto de skills; prob : X [0, 1] uma distribuição de probabilidade, cujo argumento é x X; tk = G(V Sk, E prob) o conjunto de todas as táticas possíveis formadas a partir de grafos orientados, em que os vértices são skills sk Sk e as arestas são prob associadas a possibilidade de ocorrerem as transições entre uma skill e outra; A c = A rob1 A robnc o conjunto das ações possíveis de Rob c ; A i = A rob1 A robni o conjunto das ações possíveis de Rob i ; A = A c A i o conjunto das ações possíveis de Rob c Rob i ; e : x, a x a função de transição de estado que pode aplicar uma ação a A em um estado particular x X e computar o estado seguinte x X;

20 19 f U : X R + {0} uma função utilidade tal que f U (x) mede a utilidade do estado x X um entre estados do mundo dado os estados; r i : A i, X i ob a i o modelo de reação dos robôs inimigos dado X i ob; AB = {V X, E A} uma árvore de busca; e b : X i ob, e, f U, r i, AB AB uma estratégia de busca. Então, um time T é definido por: T : A, X i ob, e, e b, r i a i+1 c Assim, utilizando-se de e, T simula várias sequência de ações a c dado X i ob a partir de f U e e b. Definição (Partida). Dado dois times T 1 e T 2. Uma partida p é definida por: p = {T 1, T 2, Δt, δt, Ref 0, X 0 ob, A 0 1, A 0 2,..., Ref N, X N ob, A N 1, A N 2 } uma sequência, em que: Δt é o tempo de duração da partida; δt é o tempo médio entre cada frame enviado pela SSL-Vision ao longo de Δt; N Δt δt é número total de frames enviados pela SSL-Vision ao longo de Δt; Ref i são os comandos enviados pelo módulo Referee-Box no instante i; Xob i são os dados enviados pelo módulo SSL-Vision no instante i; A i 1 são as ações executadas por T 1 no instante i; A i 2 são as ações executadas por T 2 no instante i. Definição (Logs). Dada uma partida p. O log de p é definidor por: log(p) = {p. Ref 0, X 0 ob,..., p. Ref N, X N ob }

21 Minimax Minimax é um algoritmo que visa minimizar a perda máxima, isto é, dentre o pior caso de cada possível decisão aquele que levar ao menor prejuízo. Originalmente formulado para um jogo de soma zero de dois jogadores, o Minimax já foi estendido para jogos mais complexos e decisões gerais em situações de incerteza. O princípio do minimax se aplica a um jogo Γ = A, B, H se a equação 2.1 for satisfeita, isto é, se existe uma valoração v para o jogo e uma estratégia ótima para ambos jogadores. (HAZEWINKEL, 2002) v = max min a A b B H(a, b) = min max b B a A H(a, b) (2.1) Em que A e B são as estratégias dos jogadores 1 e 2 respectivamente e H é a função de utilidade que é positiva quando o jogador 1 está ganhando. Entrada: estado, jogador {MIN, MAX} Saída: decisão possíveis próximos estados Valor(estado, jogador) := início se estado é final então retorna Utilidade(estado); fim se jogador = MAX então valor máximo de Valor(proxEstado, MIN ) : proxestado Próximos(estado); senão valor mínimo de Valor(proxEstado, MAX) : proxestado Próximos(estado); fim retorna valor; fim se jogador = MAX então decisão proxestado com máximo Valor(proxEstado, M IN); senão decisão proxestado com mínimo Valor(proxEstado, M AX); fim retorna decisão; Algoritmo 1: Pseudocódigo para tomada de decisão com o Minimax. O algoritmo 1 é um exemplo de pseudocódigo para o Minimax cujo funcionamento é o seguinte: é definido uma rotina recursiva que fará retornará um valor para um dado estado e seu jogador atual assumindo jogadas alternadas; tal rotina irá escolher o máximo ou mínimo do valor dos próximos estados possíveis baseado no jogador atual, e quando o

22 21 Figura 3 Árvore do Minimax para o jogo da velha. estado for final irá retornar a função utilidade daquele estado, normalmente 1 para vitória de MAX, 1 para vitória de MIN e 0 para empate; por fim o procedimento principal irá decidir o estado de valor máximo ou mínimo baseado no jogador Exemplo O conhecido jogo da velha, que pode ser usado para exemplificar o algoritmo, está representado na figura 3. Em que um valor +1 sinaliza uma vitória para o jogador X, 1 para o jogador O e 0, um empate (ou velha). Isto é o jogador X é o MAX e portanto O o MIN. Após aberta a árvore de jogadas e cada folha avaliada, nesse caso a avaliação não é heurística pois o jogo é simples o suficiente para que isso não seja necessário. A partir das folhas cada nó têm seu valor como o máximo dos valores dos filhos quando é um nó MAX, e o mínimo quando MIN. Assim a jogada imediata decidida pelo Minimax é a que tem valor 0. Em termos simplificados significa a jogada que na pior das hipóteses irá terminar em velha.

23 22 3 Experiência com Implementações Prévias 3.1 Abordagens As abordagens consideradas para criação de uma IA para a SSL são: Heurística pura Otimização Baseada em Jogos Otimização com modelagem do oponente 3.2 Objetivos de longo prazo Desenvolver uma inteligência que comece com uma solução baseada em jogos, que gradativamente vai aprendendo o comportamento de seu oponente e vai se transformando em uma inteligência baseada em otimização, na medida do possível, e enquanto for necessário. 3.3 Problemas aprendidos A implementação de uma abordagem baseada em jogos com uma simulação física complicada tornava a resposta lenta, logo a qualidade da solução obtida em tempo real era inferior àquela obtida por uma heurística pura. Foi tentado um minimax com simulador físico, mas o custo computacional das simulações associado ao cresciemento exponencial da árvore minimax não permite um controle eficiente dos robôs em um ambiente dinâmico com agentes que não são controláveis. Foi tentado um minimax com chaveamento de heurística, mas fracasou devido ao custo computacional. Logo também optou-se por heurísticas puras nos times com robôs omnidirecionais. 3.4 Proposta de solução Explorar o fato de que no jogo com robôs omnidirecionais não são necessárias as trajetórias elaboradas que o primeiro time usava. Aproximar a simulação física por um jogo de tabuleiro. Ou seja, levar a simulação para um nível mais conceitual.

24 Minimax para robôs omnidirecionais Modelagem das jogadas possíveis de cada robô: Pegar a bola parada, se o oponente não estiver mais próximo da bola que o nosso robô. Pegar a bola em movimento, se for possível, escolhendo um ponto aleatório da trajetória da bola. Passar a bola, se não tiver ninguém que possa interceptar a bola. Chutar a gol, se não tiver ninguém no caminho da bola. Deslocar-se para outro ponto escolhido aleatoriamente, se não tiver ninguém em seu caminho, ou utilizar a célula de Voronoi. Deslocar-se para o ponto escolhido na última jogada. ( Aprendizagem local ) 3.6 Problemas Não foi realizado um mapeamento do modelo conceitual para os controles dos robôs. Não foi descoberto o problema. Considere que o time que esteja se defendendo esteja na raiz da árvore MiniMax. Neste caso, o goleiro deste time sempre conseguirá ficar entre a bola e o gol. 3.7 Ideias Provavelmente é necessário fazer algum tipo de desacoplamento do comportamento dos jogadores para melhorar o aproveitamento da CPU. Talvez seja melhor definir algumas jogadas de movimento com finalidade especifica, por exemplo, bloquear a bola defensivamente. O problema é o aumento do tempo de processamento. 3.8 Considerações O benefício da substituição das jogadas do oponente por jogadas aprendidas é duplo, aumenta-se a efetividade das jogadas, e simultaneamente possibilita que o número de jogadas consideradas possa aumentar. O problema de encontrar um modelo para o comportamento do oponente é a parte mais desafiadora do projeto.

25 24 4 Mapeamento de jogo contínuo para um jogo discreto 4.1 Introdução Uma das dificuldades de se discretizar um sistema é a necessidade de criar uma abstração válida para o jogo, de modo que o que ocorra na simulação acontessa na prática caso a mesma situação simulada seja observada no mundo físico. Essa modelagem pode ser separada em duas etapas: Representação do jogo Execução do planejamento 4.2 Representação do jogo Cada um dos robôs em campo será modelado com as seguintes ações possíveis: Time com a bola robô sem a bola * Move robô com a bola * Move * Chute * Passe Time sem a bola: Move O nível de complexidade das ações possíveis influi diretamente no número de ações que poderão ser consideradas a tempo de serem úteis para o jogo real. Por exemplo, caso não fosse considerada a ação de passe, esta ação ainda sim poderia acontecer na prática. Entretanto, seriam necessários mais níveis de planejamento, uma vez que ela

26 25 seria a composição de chutes e passes. Isso tem a contrapartida de reduzir o número de estados que podem ser simulados, uma vez que o tabuleiro é dinâmico e de o jogo real ser simultâneo, e não sequencial. Isso fica mais evidente se fossem utilizadas somente as skills para o planejamento. A principal desvantagem disso é que o planejador teria que considerar aspectos como colisões e a orientação dos robôs no planejamento final. Além de ser ineficiente, coisas como posicionamento global dos robôs no campo não teriam estados suficientes na árvore do jogo para serem úteis. Outra questão que se deve ter em mente ao se modelar as ações básicas dos robôs é definir ações muito complexas. Passando para a linguagem da arquitetura STP (Skill, Tactic Play), as plays, e não tactics, o espaço de jogadas seria muito limitado se fossem utilizadas táticas muito complexa. Como a complexidade é uma exponencial cuja base é o número de jogadas, isso não é um problema que pode ser tratado simplesmente com o aumento da velocidade de processamento. Deve-se ajustar o nível de abstração de acordo com os resultados obtidos nos teste práticos. 4.3 Execução do planejamento Esta etapa do modelo é responsável por converter o resultado do planejamento em comandos mais concretos. Conforme evidenciado na seção anterior, é nesta parte que o planejamento de trajetória deve ser levado em consideração. Esta parte que leva em consideração o modelo dinâmico do robô. Como isso é um problema complexo, com o objetivo de focar o escopo da pesquisa no planejamento de alto nível, será utilizada a arquitetura de controle do pyroboime.

Uma Ferramenta de Representação Comportamental Baseada em Otimização para Futebol de Robôs. Jan Segre Victor Bramigk

Uma Ferramenta de Representação Comportamental Baseada em Otimização para Futebol de Robôs. Jan Segre Victor Bramigk MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA (Real Academia de Artilharia, Fortificação e Desenho/1792) CURSO DE GRADUAÇÃO EM ENGENHARIA

Leia mais

Uma Ferramenta de Representação Comportamental Baseada em Otimização para Futebol de Robôs. Victor Bramigk Jan Lucas de Lima Segre

Uma Ferramenta de Representação Comportamental Baseada em Otimização para Futebol de Robôs. Victor Bramigk Jan Lucas de Lima Segre MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA (Real Academia de Artilharia, Fortificação e Desenho/1792) CURSO DE GRADUAÇÃO EM ENGENHARIA

Leia mais

TEORIA DOS JOGOS E APRENDIZADO

TEORIA DOS JOGOS E APRENDIZADO TEORIA DOS JOGOS E APRENDIZADO DE MÁQUINA Estudos Iniciais André Filipe de Moraes Batista Disciplina de Aprendizagem de Máquina UFABC 2010 TEORIA DOS JOGOS Ramo da matemática aplicada estuda situações

Leia mais

IA: Busca Competitiva. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

IA: Busca Competitiva. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br IA: Busca Competitiva Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Sumário Introdução Árvores de Jogos Minimax Antecipação Limitada Poda Alfa-beta Introdução Jogos têm sido continuamente uma importante

Leia mais

Módulo de captura de imagens do sistema Scisoccer

Módulo de captura de imagens do sistema Scisoccer 1 Módulo de captura de imagens do sistema Scisoccer Rafael Antonio Barro [1] Jailton Farias de Carvalho [2] Resumo: Este artigo descreve como funciona o módulo de captura de imagens do software Sci-soccer,

Leia mais

Frederico Miguel Santos

Frederico Miguel Santos Frederico Miguel Santos DEE ISEC DETI/IEETA - UA Sumário 1. RoboCup 1. descrição / objectivos 2. MSL - futebol,,porquê? 2. CAMBADA 1. descrição / objectivos 2. evolução 3. hardware 4. software: coordenação

Leia mais

AGENTES INTELIGENTES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

AGENTES INTELIGENTES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com AGENTES INTELIGENTES Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Agentes Inteligentes Um agente é tudo o que pode ser considerado capaz de perceber seu ambiente por meio de sensores e de agir sobre

Leia mais

Visão computacional no reconhecimento de formas e objetos

Visão computacional no reconhecimento de formas e objetos Visão computacional no reconhecimento de formas e objetos Paula Rayane Mota Costa Pereira*, Josemar Rodrigues de Souza**, Resumo * Bolsista de Iniciação Científica da Faculdade de Tecnologia SENAI CIMATEC,

Leia mais

IMPLEMENTAÇÃO DE ALGORITMOS DE APRENDIZADO MULTI- AGENTE EM UM TIME DE FUTEBOL DE ROBÔS

IMPLEMENTAÇÃO DE ALGORITMOS DE APRENDIZADO MULTI- AGENTE EM UM TIME DE FUTEBOL DE ROBÔS IMPLEMENTAÇÃO DE ALGORITMOS DE APRENDIZADO MULTI- AGENTE EM UM TIME DE FUTEBOL DE ROBÔS Aluno: Maurício Pedro Silva Gonçalves Vieira Orientador: Karla Figueiredo Introdução Uma partida de futebol robótico

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 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 e de

Leia mais

4 Arquitetura básica de um analisador de elementos de redes

4 Arquitetura básica de um analisador de elementos de redes 4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 02 Agentes Inteligentes Agentes Inteligentes Um agente é algo capaz de perceber seu ambiente por meio de sensores e de

Leia mais

RELATÓRIO FINAL DE ATIVIDADES PIBIC ou PIBITI

RELATÓRIO FINAL DE ATIVIDADES PIBIC ou PIBITI Universidade Federal da Bahia Pró Reitoria de Pesquisa e Pós Graduação Programa Institucional de Bolsas de Iniciação Científica P IBIC UFBA RELATÓRIO FINAL DE ATIVIDADES PIBIC ou PIBITI Nome do Bolsista

Leia mais

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia. Introdução O Cálculo Numérico

Leia mais

Sistemas Inteligentes. Aula: Agentes Inteligentes Flávia Barros & Patricia Tedesco

Sistemas Inteligentes. Aula: Agentes Inteligentes Flávia Barros & Patricia Tedesco Sistemas Inteligentes Aula: Agentes Inteligentes Flávia Barros & Patricia Tedesco 1 Ao final desta aula a gente deve... Entender o que é um Agente Racional (inteligente)? Distinguir entre os vários tipos

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

5 Sistema Experimental

5 Sistema Experimental 5 Sistema Experimental Este capitulo apresenta o sistema experimental utilizado e é composto das seguintes seções: - 5.1 Robô ER1: Descreve o robô utilizado. É dividida nas seguintes subseções: - 5.1.1

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Prof. Rafael Stubs Parpinelli DCC / UDESC-Joinville parpinelli@joinville.udesc.br www.joinville.udesc.br/portal/professores/parpinelli www2.joinville.udesc.br/~coca/ Agentes Inteligentes:

Leia mais

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 A LEGO Education tem o prazer de trazer até você a edição para tablet do Software LEGO MINDSTORMS Education EV3 - um jeito divertido

Leia mais

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS Autor:Thiago França Naves 1, Orientador: Carlos Roberto Lopes 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade

Leia mais

Agentes Inteligentes. Inteligência Artificial. Exemplos. Agentes Inteligentes. Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com

Agentes Inteligentes. Inteligência Artificial. Exemplos. Agentes Inteligentes. Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Agentes Inteligentes Inteligência Artificial Um agente é algo capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por meio de atuadores. Agente Prof. Ms. Luiz Alberto Contato:

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Licenciatura em Computação Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Agentes Inteligentes Um agente é algo capaz de perceber seu ambiente por

Leia mais

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

Leia mais

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

Desenvolvimento de Estratégia para Programação do Futebol de Robôs da Mauá Desenvolvimento de Estratégia para Programação do Futebol de Robôs da Mauá Wânderson O. Assis, Alessandra D. Coelho, Marcelo M. Gomes, Cláudio G. Labate, Daniel F. Calasso, João Carlos G. C. Filho Escola

Leia mais

Implementação de um módulo simulador de robôs baseado em Unity3D para o SimBot - Simulador de Robôs para Lego NXT.

Implementação de um módulo simulador de robôs baseado em Unity3D para o SimBot - Simulador de Robôs para Lego NXT. UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ Curso de Bacharelado em Ciência da Computação UNIOESTE - Campus de Cascavel MODELO PARA ELABORAÇÃO DE PROJETOS DE TRABALHO DE CONCLUSÃO DE CURSO 1. IDENTIFICAÇÃO

Leia mais

Complemento II Noções Introdutória em Redes Neurais

Complemento II Noções Introdutória em Redes Neurais Complemento II Noções Introdutória em Redes Neurais Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações

Leia mais

O PROJETO DE PESQUISA. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

O PROJETO DE PESQUISA. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O PROJETO DE PESQUISA Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Escolher um tema de pesquisa Por onde começar? Ler para aprender Estrutura do Projeto de Pesquisa A Definição

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

Universidade Federal de Pernambuco

Universidade Federal de Pernambuco Universidade Federal de Pernambuco Graduação em Engenharia da Computação Centro de Informática 2D Feature Distance Estimation for Indoor Environments using 2D laser range data Proposta de Trabalho de Graduação

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Desenvolvimento de um Sistema Híbrido para Rastreamento

Desenvolvimento de um Sistema Híbrido para Rastreamento Desenvolvimento de um Sistema Híbrido para Rastreamento de Objetos aplicado ao Futebol de Robôs Eduardo W. Basso 1, Diego M. Pereira 2, Paulo Schreiner 2 1 Laboratório de Robótica Inteligente Instituto

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

TCC04040 Inteligência Artificial. Inteligência Artificial

TCC04040 Inteligência Artificial. Inteligência Artificial Inteligência Artificial Aula 2 Profª Bianca Zadrozny TCC04040 Inteligência Artificial Página web: http://www.ic.uff.br/~bianca/ia Material: Livro texto: Inteligência Artificial, Russell & Norvig, Editora

Leia mais

Jogo de Tabuleiro - Mancala Relatório Final

Jogo de Tabuleiro - Mancala Relatório Final Jogo de Tabuleiro - Mancala Relatório Final Inteligência Artificial 3º ano do Mestrado Integrado em Engenharia Informática e Computação Elementos do Grupo: Bruno Lima 080509068 bruno.lima@fe.up.pt Pedro

Leia mais

Orientações para o Planejamento e Realização do Projeto Final

Orientações para o Planejamento e Realização do Projeto Final Orientações para o Planejamento e Realização do Projeto Final Simone Diniz Junqueira Barbosa Versão: 1.0.4 Orientações para o Planejamento e Realização do Projeto Final Sumário 1 Introdução... 3 2 Projeto

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

EMENTAS DAS DISCIPLINAS

EMENTAS DAS DISCIPLINAS EMENTAS DAS DISCIPLINAS CST SISTEMAS DE INFORMAÇÃO DISCIPLINA: Algoritmo e Programação I A disciplina aborda o estudo de algoritmos, envolvendo os conceitos fundamentais: variáveis, tipos de dados, constantes,

Leia mais

SIMULAÇÃO DE TRÁFEGO DE VEÍCULOS INTELIGENTES PARA PREVENÇÃO DE ACIDENTES

SIMULAÇÃO DE TRÁFEGO DE VEÍCULOS INTELIGENTES PARA PREVENÇÃO DE ACIDENTES SIMULAÇÃO DE TRÁFEGO DE VEÍCULOS INTELIGENTES PARA PREVENÇÃO DE ACIDENTES Leonardo T. Antunes 1, Ricardo R. Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leonardo_tada@hotmail.com, ricardo@unipar.br

Leia mais

Jogos - aula 2. Xadrez chinês. Exemplo de função de avaliação:

Jogos - aula 2. Xadrez chinês. Exemplo de função de avaliação: Exemplo de jogo: Xadrez chinês Jogos - aula 2 Função de avaliação? Prof. Luis Otavio Alvares 1 2 Xadrez chinês Ligue 4 Exemplo de função de avaliação: o valor das peças é de acordo com a sua posição: 12

Leia mais

USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI.

USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. Resumo João Paulo Fernandes da Silva¹, Willame Balbino Bonfim 1. joaopauloibge@hotmail.com

Leia mais

Integração entre Sistemas de Seqüenciamento e ERP para solução de problemas de alteração de ordens de produção devido a eventos inesperados

Integração entre Sistemas de Seqüenciamento e ERP para solução de problemas de alteração de ordens de produção devido a eventos inesperados Integração entre Sistemas de Seqüenciamento e ERP para solução de problemas de alteração de ordens de produção devido a eventos inesperados Helio Galvão Ciffoni, Ramon Hoshino & Walid Nicolas Assad Malisoft

Leia mais

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE RESUMO Fazer um bom levantamento e especificação de requisitos é algo primordial para quem trabalha com desenvolvimento de sistemas. Esse levantamento

Leia mais

OXENTE TEAM: IMPLEMENTAÇÃO DE HABILIDADES DE JOGO EM UM TIME DE FUTEBOL DE ROBÔS SIMULADO UTILIZANDO OTIMIZAÇÃO HEURÍSTICA

OXENTE TEAM: IMPLEMENTAÇÃO DE HABILIDADES DE JOGO EM UM TIME DE FUTEBOL DE ROBÔS SIMULADO UTILIZANDO OTIMIZAÇÃO HEURÍSTICA OXENTE TEAM: IMPLEMENTAÇÃO DE HABILIDADES DE JOGO EM UM TIME DE FUTEBOL DE ROBÔS SIMULADO UTILIZANDO OTIMIZAÇÃO HEURÍSTICA Ana Cláudia Fiorin Pianesso pianesso@ufba.br João Paulo Rocha Portela de Sousa

Leia mais

Muitas aplicações modernas podem ser modeladas como tarefas divisíveis.

Muitas aplicações modernas podem ser modeladas como tarefas divisíveis. 1 Introdução O grande aumento de performance das redes de computadores, combinado com a proliferação de computadores de baixo custo e alto desempenho, trouxe à tona ambientes de meta-computação, ou grids[15,

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Processos I: Threads, virtualização e comunicação via protocolos Prof. MSc. Hugo Souza Nesta primeira parte sobre os Processos Distribuídos iremos abordar: Processos e a comunicação

Leia mais

Comunicação entre Agentes

Comunicação entre Agentes Comunicação entre Agentes Bibliografia: Jacques Ferber, Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence, Addison-Wesley, 1999. Weiss, G. - Multiagent Systems: A Modern Approach

Leia mais

Novas Mídias e Relações Sociais.

Novas Mídias e Relações Sociais. Novas Mídias e Relações Sociais. Eduardo Foster 1 1 Caiena Soluções em Gestão do Conhecimento, Av. 34-578, CEP 13504-110 Rio Claro, Brasil foster@caiena.net Resumo. A comunicação é uma disciplina que acompanha

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

Workflow Genético para Planejamento e Gerenciamento de Currículo em EAD

Workflow Genético para Planejamento e Gerenciamento de Currículo em EAD Workflow Genético para Planejamento e Gerenciamento de Currículo em EAD Autor: Robson da Silva Lopes 1, Orientadora: Prof a. Dr a. Márcia Aparecida Fernandes 1 1 Programa de Pós-Graduação em Ciência da

Leia mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

Busca em Árvores ou Grafos

Busca em Árvores ou Grafos Giga Mundo Computação RSS Sobre a Equipe Mais computacao no seu Email! Nosso forum Politica de Privacidade Busca em Árvores ou Grafos Posted by on March 10th, 2009 in Inteligência Artificial StatSoft Data

Leia mais

Updates. Updates da Pesquisa FLL WORLD CLASS. Updates do Desafio do Robô FLL WORLD CLASS

Updates. Updates da Pesquisa FLL WORLD CLASS. Updates do Desafio do Robô FLL WORLD CLASS Updates da Pesquisa FLL WORLD CLASS 2 ANIMAIS Para escrever a sua Questão da FLL WORLD CLASS, seu time precisa escolher um tópico em que uma PESSOA possa aprender. Tudo bem se há um animal envolvido em

Leia mais

LINGUAGEM DE ESPECIFICAÇÃO E DESCRIÇÃO (SDL) APLICADA AO PROCESSO DE VERIFICAÇÃO E VALIDAÇÃO DE SISTEMAS REATIVOS

LINGUAGEM DE ESPECIFICAÇÃO E DESCRIÇÃO (SDL) APLICADA AO PROCESSO DE VERIFICAÇÃO E VALIDAÇÃO DE SISTEMAS REATIVOS LINGUAGEM DE ESPECIFICAÇÃO E DESCRIÇÃO (SDL) APLICADA AO PROCESSO DE VERIFICAÇÃO E VALIDAÇÃO DE SISTEMAS REATIVOS Fabiana Fraga Ferreira Bacharelanda em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

FUTEBOL UTEBOL ROBÓTICO

FUTEBOL UTEBOL ROBÓTICO FUTEBOL UTEBOL ROBÓTICO José Almeida Alfredo Martins Laboratório de Sistemas Autónomos Instituto Superior de Engenharia do Porto http://www.lsa.isep.ipp.pt Sumário Motivação Iniciativa robocup Equipas

Leia mais

DESENVOLVENDO HABILIDADES E CONSTRUINDO CONHECIMENTOS NO AMBIENTE VIRTUAL CYBERNAUTAS. Maio/2005 216-TC-C3

DESENVOLVENDO HABILIDADES E CONSTRUINDO CONHECIMENTOS NO AMBIENTE VIRTUAL CYBERNAUTAS. Maio/2005 216-TC-C3 1 DESENVOLVENDO HABILIDADES E CONSTRUINDO CONHECIMENTOS NO AMBIENTE VIRTUAL CYBERNAUTAS Maio/2005 216-TC-C3 José Antonio Gameiro Salles UNISUAM / CCET / Desenv. de Softwares & UNISUAM/LAPEAD - antoniosalles@gmail.com

Leia mais

CTC-17 Inteligência Artificial Problemas de Busca. Prof. Paulo André Castro pauloac@ita.br

CTC-17 Inteligência Artificial Problemas de Busca. Prof. Paulo André Castro pauloac@ita.br CTC-17 Inteligência Artificial Problemas de Busca Prof. Paulo André Castro pauloac@ita.br www.comp.ita.br/~pauloac Sala 110, IEC-ITA Sumário Agentes que buscam soluções para problemas: Exemplo Tipos de

Leia mais

Protocolo de comunicação para redes móveis aplicado ao trânsito

Protocolo de comunicação para redes móveis aplicado ao trânsito Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM Protocolo de comunicação para redes móveis aplicado ao trânsito Aluno: Luiz

Leia mais

4 Um Exemplo de Implementação

4 Um Exemplo de Implementação 4 Um Exemplo de Implementação Neste capítulo será discutida uma implementação baseada na arquitetura proposta. Para tanto, será explicado como a arquitetura proposta se casa com as necessidades da aplicação

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

Análise estrutural do problema de programação da produção F3 r j, s ijk C max

Análise estrutural do problema de programação da produção F3 r j, s ijk C max Análise estrutural do problema de programação da produção F3 r j, s ijk C max Sânia da Costa Fernandes (UFG) saninha_fernandes@hotmail.com Tatiane Albuquerque Pires (UFG) tati_albuquerque_3@hotmail.com

Leia mais

3.1. Título: Módulo Gerador de Planos de Rotas para um Sistema de Navegação Autônoma Baseado na Arquitetura AuRA

3.1. Título: Módulo Gerador de Planos de Rotas para um Sistema de Navegação Autônoma Baseado na Arquitetura AuRA UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ Curso de Bacharelado em Ciência da Computação UNIOESTE - Campus de Cascavel MODELO PARA ELABORAÇÃO DE PROJETOS DE TRABALHO DE CONCLUSÃO DE CURSO 1. IDENTIFICAÇÃO

Leia mais

Revista Eletrônica da FANESE ISSN 2317-3769

Revista Eletrônica da FANESE ISSN 2317-3769 FRAMEWORK PARA TREINAMENTOS NA WEB BASEADO EM VÍDEO SOBRE DEMANDA Ícaro Carlos Andrade Costa 1 Igor Antônio Andrade Costa 2 Ricardo Ariel Correa Rabelo 3 Renata Azevedo Santos Carvalho 4 RESUMO A educação

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS

UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS Professor: Adriel Ziesemer Disciplina: Engenharia de Software TRABALHO ACADÊMICO Cristian Santos - nº 45671 Guilherme

Leia mais

CONSTRUÇÃO DE VEÍCULO MECATRÔNICO COMANDADO REMOTAMENTE

CONSTRUÇÃO DE VEÍCULO MECATRÔNICO COMANDADO REMOTAMENTE CONSTRUÇÃO DE VEÍCULO MECATRÔNICO COMANDADO REMOTAMENTE Roland Yuri Schreiber 1 ; Tiago Andrade Camacho 2 ; Tiago Boechel 3 ; Vinicio Alexandre Bogo Nagel 4 INTRODUÇÃO Nos últimos anos, a área de Sistemas

Leia mais

Software de rede e Modelo OSI André Proto UNESP - São José do Rio Preto andre.proto@sjrp.unesp.br O que será abordado Hierarquias de protocolos (camadas) Questões de projeto relacionadas às camadas Serviços

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia do Sudeste de Minas Gerais. Projeto de Pesquisa:

Instituto Federal de Educação, Ciência e Tecnologia do Sudeste de Minas Gerais. Projeto de Pesquisa: Instituto Federal de Educação, Ciência e Tecnologia do Sudeste de Minas Gerais Projeto de Pesquisa: RoboCup: Simulação Virtual de Futebol de Robôs João Luiz de Aquino e Freitas Lopes Juiz de Fora 2012

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

TÍTULO: FUTEBOL DE ROBÔS INTELIGENTES: ESTUDO E ELABORAÇÃO DE UMA SIMULAÇÃO PARA O TORNEIO DA ROBOCUP.

TÍTULO: FUTEBOL DE ROBÔS INTELIGENTES: ESTUDO E ELABORAÇÃO DE UMA SIMULAÇÃO PARA O TORNEIO DA ROBOCUP. TÍTULO: FUTEBOL DE ROBÔS INTELIGENTES: ESTUDO E ELABORAÇÃO DE UMA SIMULAÇÃO PARA O TORNEIO DA ROBOCUP. CATEGORIA: EM ANDAMENTO ÁREA: ENGENHARIAS E ARQUITETURA SUBÁREA: ENGENHARIAS INSTITUIÇÃO: UNIVERSIDADE

Leia mais

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Introdução à Simulação

Introdução à Simulação Introdução à Simulação O que é simulação? Wikipedia: Simulação é a imitação de alguma coisa real ou processo. O ato de simular algo geralmente consiste em representar certas características e/ou comportamentos

Leia mais

Estruturas de Dados com Jogos

Estruturas de Dados com Jogos Estruturas de Dados com Jogos C0075.indd i 27/05/14 4:50 PM C0075.indd ii 27/05/14 4:50 PM Estruturas de Dados com Jogos Roberto Ferrari Marcela Xavier Ribeiro Rafael Loosli Dias Maurício Falvo C0075.indd

Leia mais

Módulo 6: Inteligência Artificial

Módulo 6: Inteligência Artificial Módulo 6: Inteligência Artificial Assuntos: 6.1. Aplicações da IA 6.2. Sistemas Especialistas 6.1. Aplicações da Inteligência Artificial As organizações estão ampliando significativamente suas tentativas

Leia mais

3 Multi-Agent System for Stock Exchange Simulation

3 Multi-Agent System for Stock Exchange Simulation Multi-Agent System for Stock Exchange Simulation 29 3 Multi-Agent System for Stock Exchange Simulation A participação na competição Agent Reputation Trust (ART) Testbed [10] motivou o estudo do domínio

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS PROFESSOR: CARLOS BECKER WESTPHALL Terceiro Trabalho

Leia mais

Realidade Virtual e Aumentada Bruno Madeira Luiz Velho (orientador) Technical Report TR-10-01 Relatório Técnico. January - 10 - Janeiro

Realidade Virtual e Aumentada Bruno Madeira Luiz Velho (orientador) Technical Report TR-10-01 Relatório Técnico. January - 10 - Janeiro Laboratório VISGRAF Instituto de Matemática Pura e Aplicada Realidade Virtual e Aumentada Bruno Madeira Luiz Velho (orientador) Technical Report TR-10-01 Relatório Técnico January - 10 - Janeiro The contents

Leia mais

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

Uma Aplicação de Ensino Orientada a Agentes na Internet

Uma Aplicação de Ensino Orientada a Agentes na Internet 1 de 5 22/7/2008 17:14 Uma Aplicação de Ensino Orientada a Agentes na Internet Adriana Soares Pereira Cláudio Fernando Resin Geyer adriana@inf.ufrgs.br Resumo Este trabalho apresenta uma proposta de desenvolvimento

Leia mais

Experimento. Guia do professor. Qual é o cone com maior volume? Secretaria de Educação a Distância. Ministério da Ciência e Tecnologia

Experimento. Guia do professor. Qual é o cone com maior volume? Secretaria de Educação a Distância. Ministério da Ciência e Tecnologia geometria e medidas Guia do professor Experimento Qual é o cone com maior volume? Objetivos da unidade 1. Dado um círculo de cartolina, investigar qual seria o cone com maior volume que se poderia montar;

Leia mais

Algoritmos e Programação I

Algoritmos e Programação I Algoritmos e Programação I Introdução a Computação Prof. Fernando Maia da Mota mota.fernandomaia@gmail.com CPCX/UFMS Fernando Maia da Mota 1 Computadores são dispositivos que só sabem fazer um tipo de

Leia mais

Boas Práticas em Gerenciamento de Projetos Material utilizado nas aulas de Pós-graduação do Centro de Informática 2010.2

Boas Práticas em Gerenciamento de Projetos Material utilizado nas aulas de Pós-graduação do Centro de Informática 2010.2 O que é um? s: Tradicional e/ou Ágil? Cristine Gusmão, PhD Tem início e fim bem determinados Things are not always what they seem. Phaedrus, Escritor e fabulista Romano O projeto é uma sequência única,

Leia mais

MSF- MICROSOFT SOLUTIONS FRAMEWORK. Cesar Eduardo Freitas Italo Alves

MSF- MICROSOFT SOLUTIONS FRAMEWORK. Cesar Eduardo Freitas Italo Alves MSF- MICROSOFT SOLUTIONS FRAMEWORK Cesar Eduardo Freitas Italo Alves A ORIGEM DO MSF (MICROSOFT SOLUTIONS FRAMEWORK) Baseado na experiência da empresa na construção de softwares como Office e Windows e

Leia mais

Unidade 4: Contextualização de Objetos de Aprendizagem

Unidade 4: Contextualização de Objetos de Aprendizagem Coordenação: Juliana Cristina Braga Autoria: Rita Ponchio Você aprendeu na unidade anterior a importância da adoção de uma metodologia para a construção de OA., e também uma descrição geral da metodologia

Leia mais

Uma Arquitetura de Controle Distribuída para um Sistema de Visão Computacional Propositada.

Uma Arquitetura de Controle Distribuída para um Sistema de Visão Computacional Propositada. Uma Arquitetura de Controle Distribuída para um Sistema de Visão Computacional Propositada. Reinaldo A. C. Bianchi 1 Anna H. R. C. Rillo 2 1 Divisão de Automação e Inteligência Artificial - Laboratório

Leia mais

Introdução à Inteligência Artificial (Capítulo 1 - Russell) Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Introdução à Inteligência Artificial (Capítulo 1 - Russell) Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Introdução à Inteligência Artificial (Capítulo 1 - Russell) Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Áreas de Apoio para IA 3. Sub-Áreas da IA 4.

Leia mais

ENG1000 Introdução à Engenharia

ENG1000 Introdução à Engenharia ENG1000 Introdução à Engenharia Aula 02 Introdução ao Game Design Edirlei Soares de Lima Introdução O que é um jogo? Jogar uma bola contra uma parede pode ser considerado um jogo?

Leia mais

MODELAGEM CONCEITUAL EM MATEMÁTICA. UMA EXPERIÊNCIA COM O USO DO SOFTWARE CMAPTOOLS

MODELAGEM CONCEITUAL EM MATEMÁTICA. UMA EXPERIÊNCIA COM O USO DO SOFTWARE CMAPTOOLS MODELAGEM CONCEITUAL EM MATEMÁTICA. UMA EXPERIÊNCIA COM O USO DO SOFTWARE CMAPTOOLS Dr. André Ricardo Magalhães andrerm@gmail.com Universidade do Estado da Bahia Brasil Modalidade: Comunicação Breve Nível

Leia mais

Universidade Federal de Pernambuco

Universidade Federal de Pernambuco Universidade Federal de Pernambuco GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 201 1. 2 Sistema de Gestão de Processos de Negócio Baseado em Modelos Declarativos Proposta de Trabalho de Graduação

Leia mais

Banco de Dados Orientado a Objetos

Banco de Dados Orientado a Objetos Banco de Dados Orientado a Objetos MODELAGEM, ANÁLISE, PROJETO e CLASSIFICAÇÃO Interação combinando lógica, através de objetos que contém os dados. Estes divididos conforme seus tipos e métodos (classe),

Leia mais

GUILHERME STUTZ TÖWS ANIMAÇÃO DE ALGORITMOS

GUILHERME STUTZ TÖWS ANIMAÇÃO DE ALGORITMOS GUILHERME STUTZ TÖWS ANIMAÇÃO DE ALGORITMOS Trabalho de graduação do Curso de Ciência da Computação do Setor de Ciências Exatas da Universidade Federal do Paraná. Professor: André Luiz Pires Guedes CURITIBA

Leia mais

3 Arquitetura do Sistema

3 Arquitetura do Sistema 3 Arquitetura do Sistema Este capítulo irá descrever a arquitetura geral do sistema, justificando as decisões de implementação tomadas. Na primeira seção iremos considerar um conjunto de nós interagindo

Leia mais