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.

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

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

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

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

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

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

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

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

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

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

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

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

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

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

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

Itinerários de Ônibus Relatório Final

Itinerários de Ônibus Relatório Final CENTRO UNIVERSITÁRIO SENAC Itinerários de Ônibus Relatório Final Grupo 5 Caio Roque Daniel Nunes Elise Roese José Caneiro Marcos Grignani São Paulo Junho de 2007 1 ÍNDICE 1. Introdução... 3 2. Desenvolvimento...

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

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

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

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

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

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

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

Gerenciamento de projetos. cynaracarvalho@yahoo.com.br

Gerenciamento de projetos. cynaracarvalho@yahoo.com.br Gerenciamento de projetos cynaracarvalho@yahoo.com.br Projeto 3URMHWR é um empreendimento não repetitivo, caracterizado por uma seqüência clara e lógica de eventos, com início, meio e fim, que se destina

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante

Leia mais

7.Conclusão e Trabalhos Futuros

7.Conclusão e Trabalhos Futuros 7.Conclusão e Trabalhos Futuros 158 7.Conclusão e Trabalhos Futuros 7.1 Conclusões Finais Neste trabalho, foram apresentados novos métodos para aceleração, otimização e gerenciamento do processo de renderização

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

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Módulo 15 Resumo. Módulo I Cultura da Informação

Módulo 15 Resumo. Módulo I Cultura da Informação Módulo 15 Resumo Neste módulo vamos dar uma explanação geral sobre os pontos que foram trabalhados ao longo desta disciplina. Os pontos abordados nesta disciplina foram: Fundamentos teóricos de sistemas

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

Prof. JUBRAN. Aula 1 - Conceitos Básicos de Sistemas de Informação

Prof. JUBRAN. Aula 1 - Conceitos Básicos de Sistemas de Informação Prof. JUBRAN Aula 1 - Conceitos Básicos de Sistemas de Informação Conhecimento em Sistemas de Informação Os filósofos tentam há séculos definir dados ou fatores, informação e conhecimento. Seus resultados

Leia mais

O olhar do professor das séries iniciais sobre o trabalho com situações problemas em sala de aula

O olhar do professor das séries iniciais sobre o trabalho com situações problemas em sala de aula O olhar do professor das séries iniciais sobre o trabalho com situações problemas em sala de aula INTRODUÇÃO Josiane Faxina Universidade Estadual Paulista Júlio de Mesquita Filho Câmpus Bauru e-mail: josi_unesp@hotmail.com

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

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

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

INSTITUTO FLORENCE DE ENSINO COORDENAÇÃO DE PÓS-GRADUAÇÃO CURSO DE PÓS-GRADUAÇÃO EM (TÍTULO DO PROJETO) Acadêmico: Orientador:

INSTITUTO FLORENCE DE ENSINO COORDENAÇÃO DE PÓS-GRADUAÇÃO CURSO DE PÓS-GRADUAÇÃO EM (TÍTULO DO PROJETO) Acadêmico: Orientador: INSTITUTO FLORENCE DE ENSINO COORDENAÇÃO DE PÓS-GRADUAÇÃO CURSO DE PÓS-GRADUAÇÃO EM (TÍTULO DO PROJETO) Acadêmico: Orientador: São Luis 2015 (TÍTULO DO PROJETO) (NOME DO ALUNO) Projeto de Pesquisa do Programa

Leia mais

6 Construção de Cenários

6 Construção de Cenários 6 Construção de Cenários Neste capítulo será mostrada a metodologia utilizada para mensuração dos parâmetros estocásticos (ou incertos) e construção dos cenários com respectivas probabilidades de ocorrência.

Leia mais

PLANOS DE CONTINGÊNCIAS

PLANOS DE CONTINGÊNCIAS PLANOS DE CONTINGÊNCIAS ARAÚJO GOMES Capitão SC PMSC ARAÚJO GOMES defesacivilgomes@yahoo.com.br PLANO DE CONTINGÊNCIA O planejamento para emergências é complexo por suas características intrínsecas. Como

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Processos de gerenciamento de projetos em um projeto

Processos de gerenciamento de projetos em um projeto Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

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

Processos de Desenvolvimento de Software

Processos de Desenvolvimento de Software Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e

Leia mais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para

Leia mais

PESQUISA-AÇÃO DICIONÁRIO

PESQUISA-AÇÃO DICIONÁRIO PESQUISA-AÇÃO Forma de pesquisa interativa que visa compreender as causas de uma situação e produzir mudanças. O foco está em resolver algum problema encontrado por indivíduos ou por grupos, sejam eles

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

Processo de Implementação de um Sistema de Gestão da Qualidade

Processo de Implementação de um Sistema de Gestão da Qualidade 3 Processo de Implementação de um Sistema de Gestão da Qualidade Não existe um jeito único de se implementar um sistema da qualidade ISO 9001: 2000. No entanto, independentemente da maneira escolhida,

Leia mais

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Pós-Graduação em Gerenciamento de Projetos práticas do PMI Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL

Leia mais

Universidade Federal de Goiás UFG Campus Catalão CAC Departamento de Engenharia de Produção. Sistemas ERP. PCP 3 - Professor Muris Lage Junior

Universidade Federal de Goiás UFG Campus Catalão CAC Departamento de Engenharia de Produção. Sistemas ERP. PCP 3 - Professor Muris Lage Junior Sistemas ERP Introdução Sucesso para algumas empresas: acessar informações de forma rápida e confiável responder eficientemente ao mercado consumidor Conseguir não é tarefa simples Isso se deve ao fato

Leia mais

AS LEIS DE NEWTON PROFESSOR ANDERSON VIEIRA

AS LEIS DE NEWTON PROFESSOR ANDERSON VIEIRA CAPÍTULO 1 AS LEIS DE NEWTON PROFESSOR ANDERSON VIEIRA Talvez o conceito físico mais intuitivo que carregamos conosco, seja a noção do que é uma força. Muito embora, formalmente, seja algo bastante complicado

Leia mais

Forneça a próxima onda de inovações empresariais com o Open Network Environment

Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral da solução Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral À medida que tecnologias como nuvem, mobilidade, mídias sociais e vídeo assumem papéis

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

FLUXOGRAMA DA PESQUISA

FLUXOGRAMA DA PESQUISA FLUXOGRAMA DA PESQUISA Desde a preparação até a apresentação de um relatório de pesquisa estão envolvidas diferentes etapas. Algumas delas são concomitantes; outras são interpostas. O fluxo que ora se

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

INF1771 - INTELIGÊNCIA ARTIFICIAL TRABALHO 2 LÓGICA

INF1771 - INTELIGÊNCIA ARTIFICIAL TRABALHO 2 LÓGICA INF1771 - INTELIGÊNCIA ARTIFICIAL TRABALHO 2 LÓGICA Descrição: Após reunir a equipe de programadores para participar do 1 Concurso Mundial de Desenvolvimento de Softwares, Barbie e seus amigos iniciaram

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Solitaire Interglobal

Solitaire Interglobal Solitaire Interglobal POWERLINUX OU WINDOWS PARA IMPLANTAÇÃO SAP Escolher entre as plataformas concorrentes de sistema operacional Linux e Windows para SAP pode ser uma tarefa confusa para as organizações.

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

Quadro de consulta (solicitação do mestre)

Quadro de consulta (solicitação do mestre) Introdução ao protocolo MODBUS padrão RTU O Protocolo MODBUS foi criado no final dos anos 70 para comunicação entre controladores da MODICON. Por ser um dos primeiros protocolos com especificação aberta

Leia mais

ICC Introdução para JavaScript

ICC Introdução para JavaScript ICC Introdução para JavaScript Arquitetura Genérica de um Computador Máquina de Von Neumann Diagrama conhecido como Máquina de Von Neumann (grande nome da informática) A finalidade de um computador é receber,

Leia mais

Extração de Requisitos

Extração de Requisitos Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída). Pode se entender também como o processo

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Projeto de controle e Automação de Antena

Projeto de controle e Automação de Antena Projeto de controle e Automação de Antena Wallyson Ferreira Resumo expandido de Iniciação Tecnológica PUC-Campinas RA: 13015375 Lattes: K4894092P0 wallysonbueno@gmail.com Omar C. Branquinho Sistemas de

Leia mais

PR 2 PROCEDIMENTO. Auditoria Interna. Revisão - 2 Página: 1 de 9

PR 2 PROCEDIMENTO. Auditoria Interna. Revisão - 2 Página: 1 de 9 Página: 1 de 9 1. OBJETIVO Estabelecer sistemática de funcionamento e aplicação das Auditorias Internas da Qualidade, fornecendo diretrizes para instruir, planejar, executar e documentar as mesmas. Este

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES CELG DISTRIBUIÇÃO S.A EDITAL N. 1/2014 CONCURSO PÚBLICO ANALISTA DE GESTÃO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI RESPOSTAS ESPERADAS PRELIMINARES O Centro de Seleção da Universidade Federal de Goiás

Leia mais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

Universidade de Brasília Faculdade de Economia, Administração, Contabilidade e Ciência da Informação e Documentação Departamento de Ciência da

Universidade de Brasília Faculdade de Economia, Administração, Contabilidade e Ciência da Informação e Documentação Departamento de Ciência da Universidade de Brasília Faculdade de Economia, Administração, Contabilidade e Ciência da Informação e Documentação Departamento de Ciência da Informação e Documentação Disciplina: Planejamento e Gestão

Leia mais

A IMPORTÂNCIA DA MOTIVAÇÃO NAS EMPRESAS

A IMPORTÂNCIA DA MOTIVAÇÃO NAS EMPRESAS A IMPORTÂNCIA DA MOTIVAÇÃO NAS EMPRESAS ALCIDES DE SOUZA JUNIOR, JÉSSICA AMARAL DOS SANTOS, LUIS EDUARDO SILVA OLIVEIRA, PRISCILA SPERIGONE DA SILVA, TAÍS SANTOS DOS ANJOS ACADÊMICOS DO PRIMEIRO ANO DE

Leia mais

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2. Pg. 1 Universidade Federal do Espírito Santo - UFES Mestrado em Informática 2004/1 Projetos O Projeto O projeto tem um peso maior na sua nota final pois exigirá de você a utilização de diversas informações

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR. Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 *

PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR. Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 * PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR 1 Graduando Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 * 2 Pesquisador - Orientador 3 Curso de Matemática, Unidade Universitária

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

Universidade de Brasília Faculdade de Ciência da Informação Profa. Lillian Alvares

Universidade de Brasília Faculdade de Ciência da Informação Profa. Lillian Alvares Universidade de Brasília Faculdade de Ciência da Informação Profa. Lillian Alvares Existem três níveis distintos de planejamento: Planejamento Estratégico Planejamento Tático Planejamento Operacional Alcance

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Laboratório de Pesquisa e Desenvolvimento Universidade Federal de Alfenas versão

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

MUDANÇAS NA ISO 9001: A VERSÃO 2015

MUDANÇAS NA ISO 9001: A VERSÃO 2015 MUDANÇAS NA ISO 9001: A VERSÃO 2015 Está em andamento o processo de revisão da Norma ISO 9001: 2015, que ao ser concluído resultará na mudança mais significativa já efetuada. A chamada família ISO 9000

Leia mais

COMO EXPLORAR OS BENEFÍCIOS DOS INDICADORES DE DESEMPENHO NA GESTÃO DE UM CSC. Lara Pessanha e Vanessa Saavedra

COMO EXPLORAR OS BENEFÍCIOS DOS INDICADORES DE DESEMPENHO NA GESTÃO DE UM CSC. Lara Pessanha e Vanessa Saavedra COMO EXPLORAR OS BENEFÍCIOS DOS INDICADORES DE DESEMPENHO NA GESTÃO DE UM CSC Lara Pessanha e Vanessa Saavedra A utilização de indicadores de desempenho é uma prática benéfica para todo e qualquer tipo

Leia mais

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no 1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified

Leia mais

PROBLEMA, MUDANÇA E VISÃO

PROBLEMA, MUDANÇA E VISÃO PROBLEMA, MUDANÇA E VISÃO Esse é o ponta-pé inicial da sua campanha. Se você não tem um problema, não tem porque fazer uma campanha. Se você tem um problema mas não quer muda-lo, também não tem porque

Leia mais

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ROTEIRO PARA ELABORAÇÃO DE PROJETOS APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

Leia mais

Planejando o aplicativo

Planejando o aplicativo Um aplicativo do Visual FoxPro geralmente inclui um ou mais bancos de dados, um programa principal que configura o ambiente de sistema do aplicativo, além de uma interface com os usuários composta por

Leia mais