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

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

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

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

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

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

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

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

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

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

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

Uso do ambiente SIMULA para Simulação do Domínio de Resgate RoboCup

Uso do ambiente SIMULA para Simulação do Domínio de Resgate RoboCup Uso do ambiente SIMULA para Simulação do Domínio de Resgate RoboCup Reinaldo Bianchi e Anna Helena Reali-Costa Laboratório de Técnicas Inteligentes Departamento de Engenharia da Computação Universidade

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

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

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

APRENDIZADO POR REFORÇO ACELERADO POR HEURÍSTICAS NO DOMÍNIO DO FUTEBOL DE ROBÔS SIMULADO

APRENDIZADO POR REFORÇO ACELERADO POR HEURÍSTICAS NO DOMÍNIO DO FUTEBOL DE ROBÔS SIMULADO APRENDIZADO POR REFORÇO ACELERADO POR HEURÍSTICAS NO DOMÍNIO DO FUTEBOL DE ROBÔS SIMULADO LUIZ A. CELIBERTO JR *, REINALDO A. C. BIANCHI *, JACKSON P. MATSUURA Departamento de Sistemas e Controle, Instituto

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

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

DESENVOLVIMENTO DE CONTROLADORES FUZZY PARA ROBÔS JOGADORES DE FUTEBOL SIMULADO DO TIPO ATACANTE

DESENVOLVIMENTO DE CONTROLADORES FUZZY PARA ROBÔS JOGADORES DE FUTEBOL SIMULADO DO TIPO ATACANTE DESENVOLVIMENTO DE CONTROLADORES FUZZY PARA ROBÔS JOGADORES DE FUTEBOL SIMULADO DO TIPO ATACANTE Hugo da Luz Silva 1, Marco Simões 1, 2, Helder Guimarães Aragão 2 1 Núcleo de Arquitetura de Computadores

Leia mais

UaiSoccer SSL - TDP para LARC / CBR 2014

UaiSoccer SSL - TDP para LARC / CBR 2014 UaiSoccer SSL - TDP para LARC / CBR 2014 Bruno de P. O. Paiva 1 e Rodrigo R. Caputo 2 Abstract Este artigo apresenta a UaiSoccer, uma equipe da RoboCup Small Size League. Descreveremos os três módulos

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

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

UM PROTOCOLO CONFIÁVEL E FLEXÍVEL DE COMUNICAÇÃO PARA FUTEBOL DE ROBÔS

UM PROTOCOLO CONFIÁVEL E FLEXÍVEL DE COMUNICAÇÃO PARA FUTEBOL DE ROBÔS UM PROTOCOLO CONFIÁVEL E FLEXÍVEL DE COMUNICAÇÃO PARA FUTEBOL DE ROBÔS Murilo Fernandes Martins murilo_fm@yahoo.com.br Reinaldo A. C. Bianchi rbianchi@fei.edu.br Flavio Tonidandel flaviot@fei.edu.br Centro

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

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

Um Agente Reativo Jogador de Futebol: teoria e desenvolvimento

Um Agente Reativo Jogador de Futebol: teoria e desenvolvimento Um Agente Reativo Jogador de Futebol: teoria e desenvolvimento Daniela D. S. Bagatini, Luis Otávio C. Alvares Instituto de Informática - Universidade Federal do Rio Grande do Sul (UFRGS) Caixa Postal 15.064

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

SISTEMA ESPECIALISTA FUZZY PARA POSICIONAMENTO DOS JOGADORES APLICADO AO FUTEBOL DE ROBÔS

SISTEMA ESPECIALISTA FUZZY PARA POSICIONAMENTO DOS JOGADORES APLICADO AO FUTEBOL DE ROBÔS SISTEMA ESPECIALISTA FUZZY PARA POSICIONAMENTO DOS JOGADORES APLICADO AO FUTEBOL DE ROBÔS JOSÉ R. F. NERI, CARLOS H. F. SANTOS Grupo de Pesquisas em Robótica(GPR), Centro de Engenharias e Ciências Exatas(CECE),

Leia mais

APRENDIZADO POR REFORÇO APLICADO AO DESENVOLVIMENTO DE AGENTES HUMANOIDES NO DOMINIO DO FUTEBOL DE ROBÔS SIMULADO

APRENDIZADO POR REFORÇO APLICADO AO DESENVOLVIMENTO DE AGENTES HUMANOIDES NO DOMINIO DO FUTEBOL DE ROBÔS SIMULADO APRENDIZADO POR REFORÇO APLICADO AO DESENVOLVIMENTO DE AGENTES HUMANOIDES NO DOMINIO DO FUTEBOL DE ROBÔS SIMULADO PRISCILA A. BERTON 1, REINALDO A. C. BIANCHI 1. 1. Inteligência Artificial Aplicada a Automação,

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

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

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

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

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

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

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

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

Uma arquitetura baseada em agentes de software para a automação de processos de gerênciadefalhasemredesde telecomunicações

Uma arquitetura baseada em agentes de software para a automação de processos de gerênciadefalhasemredesde telecomunicações Adolfo Guilherme Silva Correia Uma arquitetura baseada em agentes de software para a automação de processos de gerênciadefalhasemredesde telecomunicações Dissertação de Mestrado Dissertação apresentada

Leia mais

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

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

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

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

Aprendizagem de Máquina

Aprendizagem de Máquina Introdução Aprendizagem de Máquina Alessandro L. Koerich Introdução Desde que os computadores foram inventados temos nos perguntado: Eles são capazes de aprender? Se pudéssemos programá-los para aprender

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

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

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de:

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de: i Sumário 1 Introdução 1 1.1 Linguagens....................................... 1 1.2 O que é um Compilador?................................ 2 1.3 Processadores de Programas: Compiladores, Interpretadores

Leia mais

ROBÓTICA INTELIGENTE: USO DE VISÃO COMPUTACIONAL VOLTADA PARA O CONTROLE E NAVEGAÇÃO DE ROBÔS MÓVEIS AUTÔNOMOS

ROBÓTICA INTELIGENTE: USO DE VISÃO COMPUTACIONAL VOLTADA PARA O CONTROLE E NAVEGAÇÃO DE ROBÔS MÓVEIS AUTÔNOMOS ROBÓTICA INTELIGENTE: USO DE VISÃO COMPUTACIONAL VOLTADA PARA O CONTROLE E NAVEGAÇÃO DE ROBÔS MÓVEIS AUTÔNOMOS Matheus Doretto Compri, Fernando Osório, Denis Wolf Instituto de Ciências Matemáticas e de

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

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

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

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

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

DESCRIÇÃO DE UMA ESTRATEGIA PARA COMPETIÇÃO DE FUTEBOL DE ROBOS

DESCRIÇÃO DE UMA ESTRATEGIA PARA COMPETIÇÃO DE FUTEBOL DE ROBOS DESCRIÇÃO DE UMA ESTRATEGIA PARA COMPETIÇÃO DE FUTEBOL DE ROBOS João Paulo Gonçalves Simim e Profa. Dra. Karla Boaventura Pimenta Palmieri Universidade Federal de Ouro Preto joaosimim@gmail.com CEP 35.400-000

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

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

DESENVOLVIMENTO DE EXPERIMENTOS LABORATORIAIS PARA O ENSINO DE AUTOMAÇÃO DA MEDIÇÃO NO CURSO DE ENGENHARIA MECÂNICA

DESENVOLVIMENTO DE EXPERIMENTOS LABORATORIAIS PARA O ENSINO DE AUTOMAÇÃO DA MEDIÇÃO NO CURSO DE ENGENHARIA MECÂNICA DESENVOLVIMENTO DE EXPERIMENTOS LABORATORIAIS PARA O ENSINO DE AUTOMAÇÃO DA MEDIÇÃO NO CURSO DE ENGENHARIA MECÂNICA Gilva Altair Rossi gilva@demec.ufmg.br José Maria Galvez jmgalvez@ufmg.br Universidade

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

Introdução. Capítulo 1

Introdução. Capítulo 1 Capítulo 1 Introdução Em computação, muitos problemas são resolvidos por meio da escrita de um algoritmo que especifica, passo a passo, como resolver um problema. No entanto, não é fácil escrever um programa

Leia mais

Aplicação de agentes em Jogos Digitais

Aplicação de agentes em Jogos Digitais Aplicação de agentes em Jogos Digitais Maycon Prado Rocha Silva FEEC / Universidade Estadual de Campinas, Junho 2010 Resumo. neste artigo é apresentada uma breve descrição das principais arquiteturas e

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

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

Prof. Dr. Erivelton Geraldo Nepomuceno. Prof. Dr. Marcos Santos de Oliveira. André Luiz Carvalho Ottoni. Carlos Manuel Viriato Neto

Prof. Dr. Erivelton Geraldo Nepomuceno. Prof. Dr. Marcos Santos de Oliveira. André Luiz Carvalho Ottoni. Carlos Manuel Viriato Neto Prof. Dr. Erivelton Geraldo Nepomuceno Prof. Dr. Marcos Santos de Oliveira André Luiz Carvalho Ottoni Carlos Manuel Viriato Neto Fernanda Felipe de Oliveira Setembro, 2011 1. Introdução ao futebol de robôs

Leia mais

Modelo para Documento de. Especificação de Requisitos de Software

Modelo para Documento de. Especificação de Requisitos de Software Modelo para Documento de Especificação de Requisitos de Software (Baseado na norma IEEE Std 830-1993 - Recommended Practice for Software Requirements Specifications) A boa organização lógica do documento

Leia mais

Estudos Iniciais do Sistema didático para análise de sinais no domínio da frequência DSA-PC: tipos de janelas temporais.

Estudos Iniciais do Sistema didático para análise de sinais no domínio da frequência DSA-PC: tipos de janelas temporais. Estudos Iniciais do Sistema didático para análise de sinais no domínio da frequência DSA-PC: tipos de janelas temporais. Patricia Alves Machado Telecomunicações, Instituto Federal de Santa Catarina machadopatriciaa@gmail.com

Leia mais

COMANDO REMOTO DE ROBÔS INDUSTRIAIS

COMANDO REMOTO DE ROBÔS INDUSTRIAIS Anais do 14 O Encontro de Iniciação Científica e Pós-Graduação do ITA XIV ENCITA / 2008 Instituto Tecnológico de Aeronáutica São José dos Campos SP Brasil Outubro 20 a 23 2008. COMANDO REMOTO DE ROBÔS

Leia mais

O SISTEMA DE VISÃO COMPUTACIONAL DO TIME FUTEPOLI DE FUTEBOL DE ROBÔS.

O SISTEMA DE VISÃO COMPUTACIONAL DO TIME FUTEPOLI DE FUTEBOL DE ROBÔS. O SISTEMA DE VISÃO COMPUTACIONAL DO TIME FUTEPOLI DE FUTEBOL DE ROBÔS. REINALDO A. C. BIANCHI, ANNA H. REALI-COSTA Laboratório de Técnicas Inteligentes, Departamento deengenharia de Computação e Sistemas

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 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

VIRTUALIZAÇÃO EM SERVIDORES DE BANCO DE DADOS. Resumo: A estratégia de virtualização de servidores de banco de dados é uma tendência

VIRTUALIZAÇÃO EM SERVIDORES DE BANCO DE DADOS. Resumo: A estratégia de virtualização de servidores de banco de dados é uma tendência VIRTUALIZAÇÃO EM SERVIDORES DE BANCO DE DADOS Igor Lucas Coelho Santos 1 Iremar Nunes de Lima 2 Resumo: A estratégia de virtualização de servidores de banco de dados é uma tendência recente em Tecnologia

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

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

Nível 3 Sistema Operacional

Nível 3 Sistema Operacional Nível 3 Sistema Operacional Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas Organização de Computadores Prof. André Luiz 1 Nível

Leia mais

SISTEMAS INTELIGENTES DE APOIO À DECISÃO

SISTEMAS INTELIGENTES DE APOIO À DECISÃO SISTEMAS INTELIGENTES DE APOIO À DECISÃO As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

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

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais

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

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

Manual do usuário. Braço robótico para educação técnica

Manual do usuário. Braço robótico para educação técnica para educação técnica A T E N Ç Ã O Enquanto o robô Sci-Arm é um computador leve, pode se manejar em altas velocidades e pode causar danos se ele colidir com uma pessoa. Sempre use com extrema cautela.

Leia mais

Programa da disciplina, i metodologia de ensino, avaliações e bibliografia básica. Objetivos da Disciplina

Programa da disciplina, i metodologia de ensino, avaliações e bibliografia básica. Objetivos da Disciplina Circuitos Digitais Cap. 1 Prof. José Maria P. de Menezes Jr. Circuitos Digitais Tópicos Digitais I- Engenharia Elétrica -UFPI Programa da disciplina, i metodologia de ensino, avaliações e bibliografia

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

Nome Candidato: Matrícula

Nome Candidato: Matrícula Processo Seletivo 2010 Admissão de Novos Integrantes Função: Estagiários Equipe UaiSoccer Universidade Federal de São João Del-Rei Nome Candidato: Matrícula Atenção: Esta Prova terá duração máxima de 1

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

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

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

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

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

Documentação de um Produto de Software

Documentação de um Produto de Software Documentação de um Produto de Software Versão 3.0 Autora: Profª Ana Paula Gonçalves Serra Revisor: Prof. Fernando Giorno 2005 ÍNDICE DETALHADO PREFÁCIO... 4 1. INTRODUÇÃO AO DOCUMENTO... 6 1.1. TEMA...

Leia mais

Exploração de Ambientes Não- Estruturados com Terreno Acidentado por Robôs Móveis

Exploração de Ambientes Não- Estruturados com Terreno Acidentado por Robôs Móveis Exploração de Ambientes Não- Estruturados com Terreno Acidentado por Robôs Móveis Pedro Eduardo Gonzales Panta PUC-Rio pedro.gonzales@gmail.com Resumo: A exploração de ambientes não estruturados, como

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Um Sistema de Suporte ao Planejamento para Gestão de Projetos

Um Sistema de Suporte ao Planejamento para Gestão de Projetos Um Sistema de Suporte ao Planejamento para Gestão de Projetos Fabrício Jailson Barth, Edson Satoshi Gomi Laboratório de Engenharia de Conhecimento (Knoma) Departamento de Computação e Sistemas Digitais

Leia mais

Filtro de Imagem Baseado em Matriz RGB de Cores- Padrão para Futebol de Robôs

Filtro de Imagem Baseado em Matriz RGB de Cores- Padrão para Futebol de Robôs Filtro de Imagem Baseado em Matriz RGB de Cores- Padrão para Futebol de Robôs Eder A. Penharbel, Ricardo C. Destro, Flavio Tonidandel, Reinaldo A.C. Bianchi Centro Universitário da FEI UniFEI Av. Humberto

Leia mais

Um arcabouço para gerenciamento automático de máquinas virtuais em CPDsbaseado em perfil

Um arcabouço para gerenciamento automático de máquinas virtuais em CPDsbaseado em perfil VIII WORKSHOP DE PÓS-GRADUAÇÃO E PESQUISA DO CENTRO PAULA SOUZA São Paulo, 9 e 10 de outubro de 2013 Sistemas produtivos: da inovação à sustentabilidade ISSN: 2175-1897 Um arcabouço para gerenciamento

Leia mais

Definindo melhor alguns conceitos

Definindo melhor alguns conceitos Definindo melhor alguns conceitos Processamento Paralelo: processamento de informação concorrente que pertencem a um ou mais processos que resolvem um único problema. Processamento Distribuído: processamento

Leia mais

ROBÔS MÓVEIS AUTÔNOMOS SOROCABA-BULLS NA TAREFA DO TRANSPORTE ROBÓTICO DE PROVISÕES

ROBÔS MÓVEIS AUTÔNOMOS SOROCABA-BULLS NA TAREFA DO TRANSPORTE ROBÓTICO DE PROVISÕES ROBÔS MÓVEIS AUTÔNOMOS SOROCABA-BULLS NA TAREFA DO TRANSPORTE ROBÓTICO DE PROVISÕES ALEXANDRE S. SIMÕES, BRUNO C.PILON, DANILO H. ESTEVES, JOSÉ V. F. JÚNIOR, RONALDO CARRION, ANTÔNIO C. G. MARTINS Grupo

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