Futebol de robôs: relatório final
|
|
- Jónatas Marques Benevides
- 7 Há anos
- Visualizações:
Transcrição
1 Universidade Federal do Rio Grande do Sul Instituto de Informática Redes Neurais e Sistemas Fuzzy INF01036 Futebol de robôs: relatório final Christian Northfleet Márcio de Oliveira de Dezembro de 2010
2 1. Introdução Este relatório apresenta uma descrição das características gerais do trabalho prático desenvolvido ao longo do semestre. O objetivo do trabalho é o desenvolvimento de um robô para uma simulação de futebol de robôs. A implementação é realizada de duas maneiras, uma primeira utilizando sistemas fuzzy e uma segunda através de aprendizado por redes neurais. Serão descritas as escolhas de projeto, conjuntos e regras fuzzy, métodos e o processo de treinamento neural. 2. Robô Fuzzy Após uma primeira tentativa de implementação em Java, foi identificado um problema com a conversão de ângulos e a função GetTargetAngle. Apesar de não ter sido identificada a principal causa do problema, a função apresentava o resultado esperado nas bibliotecas C++ disponibilizadas. A partir deste fato, o robô fuzzy teve seu desenvolvimento continuado em C Estrutura e funções lógicas Para realizar as operações lógicas fuzzy, foi desenvolvida uma base de estruturas e funções. Para as estruturas, foram definidas classes que representavam diferentes conjuntos fuzzy, como: Triângulo Trapézio Gama Delta Todos os conjuntos herdam do conjunto abstrato FuzzyGroup. Isto é feito para que os conjuntos possam ser usados nas funções de inferência de forma intercambiável. A definição desta superclasse é: class fuzzygroup public: virtual float membership(float u) = 0; float centre; ; Onde membership é a função de pertinência e centre o centro do conjunto, valor usado para o método de inferência das alturas (que será discutido mais adiante). O seguinte trecho exemplifica a definição do conjunto fuzzy triangular e seu construtor: class fuzzytriangle:public fuzzygroup protected: float alpha; float beta; float gamma; public: fuzzytriangle(float alpha, float beta, float gamma); float membership(float u);
3 ; fuzzytriangle::fuzzytriangle(float alpha, float beta, float gamma) this->alpha = alpha; this->beta = beta; this->gamma = gamma; this->centre = beta; A função de pertinência é calculada a partir dos valores obtidos na criação do conjunto: float fuzzytriangle::membership(float u) float mi = 0.0; if ((u < alpha) (u > gamma)) mi = 0.0; if ((u >= alpha) && (u <= beta)) mi = (u - alpha)/(beta - alpha); if ((u > beta) && (u <= gamma)) mi = (gamma - u)/(gamma - beta); return mi; Para a inferência, foi necessário definir uma função que calcula a força de disparo (mínima) considerando 3 conjuntos como entrada: float fuzzylogic::trigger(fuzzygroup* first, float x, fuzzygroup* second, float y, fuzzygroup* third, float w) float mi[3]; mi[0] = first->membership(x); mi[1] = second->membership(y); mi[2] = third->membership(w); float result = 1.0; if (mi[0] < result) result = mi[0]; if (mi[1] < result) result = mi[1]; if (mi[2] < result) result = mi[2]; return result; E uma função de conclusão das regras, considerando a força de disparo e o conjunto de saída: float fuzzylogic::conclusion(float alpha, fuzzygroup* group, float z) if (alpha == 0.0) return 0.0; float mi = group->membership(z); float result = 1.0;
4 if (mi < result) result = mi; if (alpha < result) result = alpha; return result; Note que a primeira linha é uma avaliação curto-circuito para economizar tempo de processamento. 2.2 Entrada e conjuntos fuzzy Como entrada do sistema fuzzy, que controla as ações do robô, foram consideradas as seguintes informações: Ângulo em relação à bola Ângulo da bola em relação ao gol Distância da bola Para representar os ângulos, foram definidos os conjuntos: NB: Delta com parâmetros (-π, -π/2) NS: Triângulo com parâmetros (-π, -π/2, 0) ZE: Triângulo com parâmetros (-π/2, 0, π/2) PS: Triângulo com parâmetros (0, π/2, π) PB: Gama com parâmetros (π/2, π) E para representar a distância: CLOSE: Delta com parâmetros (25 e 75) NEAR: Trapézio com parâmetros (25, 75 e 300) FAR: Gama com parâmetros (300 e 400) Isto é traduzido na implementação como: fuzzydelta* NB = new fuzzydelta(-m_pi,-m_pi/2); fuzzytriangle* NS = new fuzzytriangle(-m_pi, -M_PI/2, 0.0); fuzzytriangle* ZE = new fuzzytriangle(-m_pi/2, 0.0, M_PI/2); fuzzytriangle* PS = new fuzzytriangle(0.0, M_PI/2, M_PI); fuzzygamma* PB = new fuzzygamma(m_pi/2, M_PI); fuzzygamma* FAR = new fuzzygamma(300.0, 400.0); fuzzytrapezium* NEAR = new fuzzytrapezium(25.0, 75.0, 300.0, 400.0); fuzzydelta* CLOSE = new fuzzydelta(25.0, 75.0); 2.3 Saída e regras A saída do sistema é o ângulo para onde o robô deve ir. Este resultado é traduzido nas forças dos motores na etapa de pós-processamento que será discutida mais
5 adiante. Com 5 x 5 x 3 conjuntos de entrada, são produzidas 75 regras. Representadas com 3 matrizes, uma para cada distância, e com o ângulo da bola na horizontal e ângulo do gol na vertical: Alguns comentários sobre as regras: Close NB NS ZE PS PB NB NB NS PS PS NS NS NB NS NS PS NS ZE NB NS ZE PS PB PS PS NS PS PS PB PB PS NS NS PS PB Near NB NS ZE PS PB NB NB NS PS PS NS NS NB NS PS PS NS ZE NB NS ZE PS PB PS PS NS NS PS PB PB PS NS NS PS PB Far NB NS ZE PS PB NB NB NS ZE PS PB NS NB NS ZE PS PB ZE NB NS ZE PS PB PS NB NS ZE PS PB PB NB NS ZE PS PB Far o O ângulo resultante é igual ao ângulo da bola. Isto significa que quando a distância até a bola for grande, o robô deve persegui-la da forma mais direta possível. Near o Quando a bola está na frente do robô e o gol está ao lado ou atrás, virar para o lado na direção contrária do ângulo do gol. Estas regras fazem com que o robô tente alcançar a bola pelos lados, protegendo o gol e evitando gols contra quando ele se encontra entre a bola e o gol adversário.
6 o Quando a bola está atrás, virar imediatamente na direção da bola, girando pelo lado onde está o gol adversário. Estas regras fazem com que o robô se vire de forma a estar pronto para conduzir a bola ao gol. Close o Quando a bola está na frente do robô a essa distância, é o momento de chutar. Quando o gol está à esquerda ou direita, virar nessa direção para atingir a bola no ângulo certo. Caso o gol esteja atrás, é hora de chutar para evitar um gol contra, ou seja, nas direções contrárias. 2.4 Inferência Primeiramente tentamos utilizar o método das alturas com uma implementação mais simples: float sum = 0.0; float pondersum = 0.0; for (int i = 0; i < 75; i++) sum += A[i]; //FAR pondersum += A[0]*NB->centre; pondersum += A[1]*NB->centre; pondersum += A[2]*NB->centre; pondersum += A[3]*NB->centre; pondersum += A[4]*NB->centre; double out = pondersum/sum; No entanto, faltava um pouco de precisão na condução das regras, então decidimos utilizar o método do centróide (método direto de Mamdani) com 73 amostras: float sum = 0.0; float pondersum = 0.0; for (int i = 0; i <= 72; i++) float z = i*(m_pi/36) - M_PI; float zout = 0.0; float C = 0.0; // FAR if ((C = fuzzylogic::conclusion(a[0], NB, z)) > zout) zout = C; if ((C = fuzzylogic::conclusion(a[1], NB, z)) > zout) zout = C; if ((C = fuzzylogic::conclusion(a[2], NB, z)) > zout) zout = C; if ((C = fuzzylogic::conclusion(a[3], NB, z)) > zout) zout = C;
7 if ((C = fuzzylogic::conclusion(a[4], NB, z)) > zout) zout = C; sum += zout; pondersum += z*zout; double out = pondersum/sum; 2.5 Pós-processamento Como a saída do sistema é um ângulo, é necessário transformá-la nas forças individuais dos motores: float leftmotor, rightmotor; leftmotor = cos( out ) - sin( out ); rightmotor = cos( out ) + sin( out ); A força máxima e mínima em cada motor é 1 e -1. No entanto, quando a força individual de cada motor é inversa e alta, isto leva o robô a produzir uma força de giro maior que 1. Considerando que existe inércia na simulação, isto pode fazer o robô girar sem controle. Para amortecer esse efeito, a força final é dividida pela metade: leftmotor *= 0.5; rightmotor *= 0.5; Apesar desta limitação, o robô é mais veloz em campo simplesmente por girar menos. 3. Robô Neural Para o robô neural, utilizamos os códigos de treinamento e backpropagation disponibilizados, assim como o exemplo de jogador que funcionava com base nos pesos gerados. Nossos esforços se concentraram nos arquivos de treinamento, parâmetros e em obter resultados semelhantes ao do robô fuzzy. 3.1 Treinamento sistemático Como primeira tentativa, geramos arquivos de treinamento de forma sistemática. Em um dos nossos melhores esforços, executamos as regras do robô fuzzy de forma a cobrir uma grande quantidade de ângulos e distâncias, capturando as forças nos motores como saída:
8 const float max_angle = M_PI; const float min_angle = -M_PI; const float max_distance = 1985; const float min_distance = 0; float distance_step = 0.0; for(balldistance = min_distance; balldistance <= max_distance; balldistance+=distance_step) for(targetangle = min_angle; targetangle <= max_angle; targetangle+=m_pi/72) for(ballangle = min_angle; ballangle <= max_angle; ballangle+=m_pi/72) (Robô fuzzy) fprintf(fp, "%f %f %f %f %f\n", balldistance, ballangle, targetangle, leftmotor, rightmotor); distance_step += 10.0; Este algoritmo gerou um arquivo de entradas. Para criar um arquivo de teste, alimentamos o algoritmo com entradas aleatórias: srand(time(null)); for(int i=0; i < 42050; i++) ballangle = (((float)rand()/(float)rand_max) * 2*M_PI) - M_PI; targetangle = (((float)rand()/(float)rand_max) * 2*M_PI) - M_PI; balldistance = ((float)rand()/(float)rand_max) * ; (Robô fuzzy) fprintf(fp, "%f %f %f %f %f\n", balldistance, ballangle, targetangle, leftmotor, rightmotor); O que gerou um arquivo de validação com entradas. Após múltiplas tentativas, nosso melhor resultado com estes arquivos foi com os seguintes parâmetros: Neurônios na camada oculta: 12 Taxa de aprendizado: 1/420500
9 Notamos que uma taxa de aprendizado igual ao inverso do número de entradas apresentava uma boa convergência. Os resultados do treinamento foram: Épocas: 7900 Melhor época: 5890 EMQ: Tempo de execução: segundos Apesar de apresentar um erro baixo, o comportamento aprendido era diferente do esperado. O robô perseguia a bola em quase todas as situações, esquecendo das regras especiais de curta distância que eram sua base. Isto pode ser devido ao fato de que o volume de casos de treinamento não era uniforme. Muitas das regras ativam este tipo de comportamento, perseguir representa uma espécie de mínimo local da função de aprendizado. 3.2 Treinamento a partir de jogos Em uma tentativa de encontrar dados mais representativos, geramos arquivos de treinamento a partir de partidas reais entre dois dos nossos robôs fuzzy. Um primeiro arquivo de treinamento foi gerado a partir de 5-10 minutos de jogo como jogador amarelo, consistindo de entradas. Um arquivo de validação semelhante (23503 entradas) foi utilizado, obtendo dados como jogador azul. Os parâmetros que mais convergiam foram: Neurônios na camada oculta: 6 Aprendizado: 1/25008 Os resultados do treinamento foram: Épocas: 2700 Melhor época: 690 EMQ: Tempo de execução: segundos A convergência foi bastante rápida e o erro mais alto, mas o robô parecia aprender melhor as regras especiais. Os dados eram mais representativos. Para aperfeiçoar o robô a partir desta descoberta, criamos um novo arquivo de treinamento, desta vez com uma hora de duração ( entradas). O arquivo de treinamento anterior (25008 entradas) serviu como validação no próximo experimento. Os melhores parâmetros foram: Neurônios na camada oculta: 12 Aprendizado: 1/ Os resultados do treinamento foram: Épocas: Melhor época: 9980 EMQ:
10 Tempo de execução: segundos Este foi nosso melhor resultado. A tabela de pesos final para os 12 neurônios da camada oculta é: w0 w1 w2 w E da camada de saída: w w w w w w w w w w w w w Conclusão Os resultados obtidos em sistemas fuzzy e redes neurais, apesar de imperfeitos, apresentam um bom desempenho e uma grande capacidade de demonstrar comportamento inteligente. Nos sistemas fuzzy, questões como a definição dos conjuntos, regras e o método de inferência foram cruciais. Com uma boa compreensão do problema, é possível definir conjuntos e regras relevantes que os resolvem de forma contínua. Já em redes neurais, questões como topologia da rede e escolha dos dados de treinamento fizeram muita diferença. Através do aprendizado, a rede é capaz de simular e aproximar soluções já conhecidas de forma eficiente.
11 5. Sugestões Algumas sugestões para semestres futuros: O simulador de jogos fica muito lento jogando pela rede, para jogar de forma eficiente é necessário estar em uma mesma máquina. No entanto, ele foi feito apenas para Windows. Alguns grupos acabaram fazendo em Linux e isto dificultou um pouco. Seria interessante deixar claro que a implementação deve ser compatível com Windows ou encontrar alguma outra maneira de evitar isso. Apesar de ser interessante observar a capacidade que uma rede neural tem de imitar o comportamento de um SIF, seria bom ter alguma outra atividade prática de implementação de algum mecanismo simples em redes neurais. Sugestões: memória associativa com modelo de Hopfield ou uma implementação de uma rede para identificar agrupamentos simples utilizando Instar.
Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais
Classificação de Padrões Abordagem prática com Redes Neurais Artificiais Agenda Parte I - Introdução ao aprendizado de máquina Parte II - Teoria RNA Parte III - Prática RNA Parte IV - Lições aprendidas
Leia maisAprendizagem de Máquina
Aprendizagem de Máquina Relatório: Rede Neural para tomada de decisão Christian Diego Alves Daniel cdad Icamaan Botelho Viegas da Silva - ibvs Recife, 30 de Julho de 2007. 1. Introdução A Robocup é um
Leia maisImplementando um controlador difuso para ajuste de condução da bola do Agente do MecaTeam
Implementando um controlador difuso para ajuste de condução da bola do Agente do MecaTeam Orivaldo Vieira Santana Júnior e Robson Rodrigo Tenório Gonzaga 1 Universidade Federal da Bahia (UFBA) Departamento
Leia mais5 Testes e Resultados
5 Testes e Resultados Neste capítulo serão apresentados experimentos que ilustram as implementações desenvolvidas e propostas no capítulo anterior. São mostrados experimentos que investigam o algoritmo
Leia maisNeural Networks. Neurônios: Elementos aritméticos simples. Redes Neuronais: conj de neurônios interligados.
Neural Networks Neural Networks Do ponto de vista computacional: métodos para representar funções usando redes de elementos aritméticos simples, e aprender tais representações através de exemplos. Do ponto
Leia maisCampeonato de Gamão. 1. Regras. 2. Servidor
Campeonato de Gamão 1. Regras O campeonato de gamão será disputado de acordo com as regras tradicionais do jogo, facilmente encontradas na Internet. As duas cores tradicionais das pedras do jogo serão
Leia maisDesafios de Programação
Desafios de Programação 2018.1 Programação Dinâmica É um método de projeto de algoritmos que utiliza a memorização para melhorar a eficiência de um algoritmo. Método parecido com o de divisão e conquista
Leia maisClassificação Linear. André Tavares da Silva.
Classificação Linear André Tavares da Silva andre.silva@udesc.br Roteiro Introduzir os o conceito de classificação linear. LDA (Linear Discriminant Analysis) Funções Discriminantes Lineares Perceptron
Leia maisPor que Redes Neurais?
Redes Neurais Profa. Jaqueline Brigladori Pugliesi Por que Redes Neurais? Utilizar máquinas efetivamente para resolver problemas simples (humanos) Exemplo: distinguir padrões visuais previsão do valor
Leia mais6. Controle por Aprendizado Neuro-Fuzzy
6. Controle por Aprendizado Neuro-Fuzzy 6.1. Introdução Neste capítulo é apresentado o controle por aprendizado utilizando um sistema híbrido Neuro-Fuzzy, para o cálculo e atualização dos pontos de reversão
Leia maisRedes Neurais Feedforward e Backpropagation. André Siqueira Ruela
Redes Neurais Feedforward e Backpropagation André Siqueira Ruela Sumário Introdução a redes feedforward Algoritmo feedforward Algoritmo backpropagation Feedforward Em uma rede feedforward, cada camada
Leia maisPROCESSO SELETIVO N 42/2019 PROVA 2 - CONHECIMENTOS ESPECÍFICOS
PROCESSO SELETIVO N 42/2019 PROVA 2 - CONHECIMENTOS ESPECÍFICOS LEIA ATENTAMENTE AS INSTRUÇÕES ABAIXO 1. Você recebeu do fiscal o seguinte material: (a) Este caderno, com o enunciado das 20 (vinte) questões
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Leia maisSimulação de Futebol de Robôs
Departamento de Engenharia Elétrica Simulação de Futebol de Robôs Aluna: Bianca Burgos Maron Orientadora: Marley Vellasco Introdução A inteligência computacional e suas aplicações em robôs inteligentes
Leia maisTrabalho Campeonato de Futebol Programação Orientada a Objetos (SCC204) Prof. Moacir Pereira Ponti Junior 26 de abril de 2011
Trabalho Campeonato de Futebol Programação Orientada a Objetos (SCC204) Prof. Moacir Pereira Ponti Junior 26 de abril de 2011 Trabalho Prático - Parte 2 Tarefas O Trabalho 2 envolve o uso de interface
Leia maisRedes Neurais e Sistemas Fuzzy
Redes Neurais e Sistemas Fuzzy Conceitos Básicos da Lógica Fuzzy. Raciocínio aproximado Raciocínio aproximado é a forma mais conhecida de lógica fuzzy, cobrindo várias regras de inferência cujas premissas
Leia maisUNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica
REDES NEURAIS ARTIFICIAIS AULA 03 Prof. Dr. André A. P. Biscaro 1º Semestre de 2017 INTRODUÇÃO Aprendizagem é um processo pelo qual os parâmetros livres de uma rede neural são adaptados através de um processo
Leia maisLista de Exercícios 06 Revisão para a prova
Lista de Exercícios 06 Revisão para a prova Instruções: Essa lista não vale pontos, portanto ela é para aprendizado. Quando ficar com dúvidas não procure conteúdo na internet, faça uma revisão nos códigos,
Leia maisCOMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1
COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1 Márcia Da Silva 2, Eldair Fabricio Dornelles 3, Rogério S. M. Martins 4, Édson L. Padoin 5. 1 Pesquisa desenvolvida
Leia maisLinguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista
Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista == Laboratório 11 == 1. Escreva uma classe Carrinho para armazenar Itens
Leia maisMonte Carlo Method. Peter Frank Perroni. December 1, Monte Carlo Simulation
Monte Carlo Simulation December 1, 2015 Histórico Técnica muito antiga porém somente recentemente oficializado como método estatístico. Foi muito importante nas simulações da bomba desenvolvida no Projeto
Leia maisProgramação Orientada a Objeto: Introdução. Professor: Adonai Estrela Medrado Data: 22/07/2008
Programação Orientada a Objeto: Introdução Professor: Adonai Estrela Medrado Data: 22/07/2008 Programação Programação É o ato de fazer um programa. Um programa é conjunto de ordens dadas a um computador
Leia maisFabrício Jailson Barth BandTec
Introdução à Inteligência Artificial Fabrício Jailson Barth fabricio.barth@bandtec.com.br BandTec 1 o semestre de 2012 Objetivos e Sumário O que é Inteligência Artificial (IA)? Objetivos da IA. Influência
Leia maisInteligência Artificial. Prof. Tiago A. E. Ferreira Aula 21 Projeto de RNA
Inteligência Artificial Prof. Tiago A. E. Ferreira Aula 21 Projeto de RNA Projeto de Redes Neurais Projeto de Redes Neurais Baseado apenas em dados Exemplos para treinar uma rede devem ser compostos por
Leia maisInteligência Artificial
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Pós-Graduação em Ciência da Computação Inteligência Artificial Aprendizagem (Redes Neurais - Complementar) Prof. a Joseana Macêdo
Leia maisRede RBF (Radial Basis Function)
Rede RBF (Radial Basis Function) André Tavares da Silva andre.silva@udesc.br Roteiro Introdução à rede neural artificial RBF Teorema de Cover da separabilidade de padrões RBF x MLP RBF Função de ativação
Leia maisUFSC Universidade Federal de Santa Catarina CTC Centro Tecnológico INE Departamento de Informática e Estatística
UFSC Universidade Federal de Santa Catarina CTC Centro Tecnológico INE Departamento de Informática e Estatística INE6105-Introdução à Robótica Prof. Mauro Roisemberg Arkin. Ronald C. Behavior-Based Robotics
Leia maisConcursos Micro-Rato. Ciber-Rato
Concursos Micro-Rato e Ciber-Rato Luis Almeida, José Luis Azevedo, Bernardo Cunha, Pedro Fonseca, Nuno Lau, Artur Pereira, Andreia Melo Universidade de Aveiro Próxima edição: 11 de Maio de 2005 Motivação
Leia maisModelagem e Análise de Sistemas - COS767
Modelagem e Análise de Sistemas - COS767 Aula de hoje Introdução à simulação Geração de números aleatórios Lei dos Grandes Números Geração de variáveis aleatórias: método da transformada inversa Simulação
Leia maisInteligência Computacional para Jogos Eletrônicos
Inteligência Computacional para Jogos Eletrônicos Papéis da IA em Jogos Adversários Aliados Personagens de apoio NPC s (Non-player Character) Comentaristas Controle de câmera Geração de fases Nivelamento
Leia mais6 Aplicação da Metodologia Proposta
6 Aplicação da Metodologia Proposta 6.1 Introdução A utilização da metodologia Box & Jenkins para a identificação da estrutura adequada é tarefa difícil para um usuário sem conhecimento prévio. Por isso,
Leia maisNosso Primeiro Programa Java
Java linguagem, jvm, jdk, jre, ide Nosso Primeiro Programa Java Professoras: Ariane Machado Lima Fátima L. S. Nunes 1 Lembrando os objetivos desta disciplina Aprender a programar. Para isso precisamos
Leia maisReconhecimento de Faces Utilizando Redes Neurais MLP
Reconhecimento de Faces Utilizando Redes Neurais MLP Autor: Adilmar Coelho Dantas 1, Orientador: Márcia Aparecida Fernandes 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal do
Leia maisCapítulo 7. Expressões e Sentenças de Atribuição
Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário
Leia maisPrevisão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN
Previsão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN Alan Caio Rodrigues MARQUES 1, Gelson da Cruz JUNIOR 2, Cassio Dener Noronha VINHAL 3 Escola de Engenharia Elétrica e de Computação 1
Leia maisEstacionamento de Caminhão com Lógica Fuzzy. Daniel Ricardo dos Santos Diogo de Campos Maurício Oliveira Haensch
Relatório de Implementação: Estacionamento de Caminhão com Lógica Fuzzy Daniel Ricardo dos Santos Diogo de Campos Maurício Oliveira Haensch 2 de junho de 2010 Descrição O trabalho consiste em implementar
Leia maisTópicos sobre Redes Neurais
Tópicos sobre Redes Neurais -Memórias Matriciais -Modelos Híbridos -Redes de Base Radial(RBF) -Redes Construtivas -Redes Recorrentes Prof João Alberto Fabro IF67D Sistemas Inteligentes 1 Dep de Informática
Leia maisSIMULADOR DE UMA PARTIDA DE FUTEBOL COM ROBÔS VIRTUAIS
SIMULADOR DE UMA PARTIDA DE FUTEBOL COM ROBÔS VIRTUAIS Fábio Schülter Orientador: Prof. José Roque Voltolini da Silva Roteiro da Apresentação Introdução - Objetivos do trabalho Revisão bibliográfica Desenvolvimento
Leia mais2. Redes Neurais Artificiais
Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.4. Outras Redes Neurais Artificiais 2.4.1. Redes RBF 2.4.2. Mapas
Leia maisAlternativas táticas para ser vantajoso na subfase de finalização do jogo.
Alternativas táticas para ser vantajoso na subfase de finalização do jogo. Pra quem não sabe para onde vai. Qualquer caminho serve Ao acompanhar as equipes da série A do Campeonato Brasileiro de 2018,
Leia maisInteligência Artificial Agentes Inteligentes
Inteligência Artificial Jarley P. Nóbrega, Dr. Faculdade Nova Roma Bacharelado em Ciência da Computação jpn@jarley.com Semestre 2018.2 Jarley P. Nóbrega, Dr. (Nova Roma) Inteligência Artificial Semestre
Leia maisBLOCKSIM. Simulador de Sistemas Dinâmicos por Diagrama de Blocos
BLOCKSIM Simulador de Sistemas Dinâmicos por Diagrama de Blocos ÍNDICE 1. INTRODUÇÃO... 2 2. DEFINIÇÃO DA ENTRADA DE DADOS... 2 3. CONCEITO DE PROGRAMAÇÃO... 4 4. RESULTADOS... 5 1 1. Introdução O BLOCKSIM
Leia maisUniversidade Federal do Rio de Janeiro COPPE. Trabalho de Processamento de Imagens Reconhecimento de Símbolos de Componentes Eletrônicos
Universidade Federal do Rio de Janeiro COPPE Trabalho de Processamento de Imagens Reconhecimento de Símbolos de Componentes Eletrônicos Nome: Fernanda Duarte Vilela Reis de Oliveira Professores: Antonio
Leia maisA instalação do DCR compreende apenas a descompactação do arquivo DCR.zip num diretório no disco. Descompacte o arquivo DCR.zip num novo diretório.
Manual DCR Sumário Apresentação... 1 Instalar o DCR... 1 Ativar o DCR... 1 Treinamento... 2 Entrar no Modo Treinamento... 2 Criar um Conjunto de Entrada... 2 Treinar a RNA... 4 Retreinar a RNA... 5 Testar
Leia maisRedes Neurais Pulsadas. João Fausto Lorenzato Robson David Montenegro Tarcísio Lucas
Redes Neurais Pulsadas João Fausto Lorenzato Robson David Montenegro Tarcísio Lucas Introdução Modelos de redes neurais podem ser classificados em gerações. Primeira Geração Neurônios de McCulloch-Pitts
Leia maisLaboratório 4 - Controle nebuloso
Laboratório 4 - Controle nebuloso PTC 2619 / PTC 3418 Laboratório de Automação 1º semestre de 2017 Bruno A. Angélico Laboratório de Automação e Controle Departamento de Engenharia de Telecomunicações e
Leia maisVERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION - VGG
Exemplo de Implementação - 16 VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION - VGG Edjalma Queiroz da Silva Programa de pós-graduação em Ciências da Computação Mestrado e Doutorado
Leia maisINF 1771 Inteligência Artificial
INF 1771 Inteligência Artificial Aula 09 Lógica Fuzzy Edirlei Soares de Lima Introdução A Lógica Fuzzy é baseada na teoria dos conjuntos fuzzy. Tradicionalmente, uma proposição lógica
Leia maisé a saida do melhor individuo. A configuração de parâmetros da
61 4 4.1. Configuração Neste capítulo, comparam-se os resultados e o desempenho obtidos pela PGLIQ com a extensão do modelo proposto GPU-PGLIQ-I que foi desenvolvido nesta dissertação. Apresentam-se dois
Leia maisUniversidade Federal do Paraná Departamento de Informática. Reconhecimento de Padrões. Tipos de Aprendizagem. Luiz Eduardo S. Oliveira, Ph.D.
Universidade Federal do Paraná Departamento de Informática Reconhecimento de Padrões Tipos de Aprendizagem Luiz Eduardo S. Oliveira, Ph.D. http://lesoliveira.net Objetivos Introduzir diferentes tipos de
Leia maisRedes Neurais Artificial. Prática. Inteligência Artificial
Redes Neurais Artificial Prática Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução a MLP 2. Base de dados e Pré-Processamento 3. Prática MLP - Introdução Redes
Leia maisModelo neural hierárquico para obtenção de comportamento adaptativo em um agente robótico
Modelo neural hierárquico para obtenção de comportamento adaptativo em um agente robótico Eduardo W. Basso ewbasso@inf.ufrgs.br Semana Acadêmica 2005 PPGC UFRGS Motivação Desenvolvendo sistemas inteligentes
Leia maisUm Middleware de Inteligência Artificial para Jogos Digitais 105
6 Conclusão Este capítulo apresenta alguns comentários e considerações gerais sobre o trabalho de pesquisa realizado durante o desenvolvimento desta dissertação, as contribuições alcançadas e sugestões
Leia maisRedes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto
Redes Neurais Artificial Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Histórico 3. Conceitos Básicos 4. Aprendizado em RNA 5. Exemplo de Aprendizado com
Leia maisAnálise Quantitativa de Tecidos em Úlceras de Perna
49 5 Análise Quantitativa de Tecidos em Úlceras de Perna A avaliação das áreas proporcionais de cada tecido interno das úlceras fornece informações importantes sobre seu estado patológico [BERRISS, 2000],
Leia mais5.1. Integração do Sistema de Macros com o Motor de Jogos Fly3D
5 Resultados 5.1. Integração do Sistema de Macros com o Motor de Jogos Fly3D O motor de jogos Fly3D é um conjunto de aplicações, bibliotecas e ferramentas construídas para proporcionar um ambiente robusto
Leia maisStrings e Arrays POO
Strings e Arrays POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/27 String Uma sequência de caracteres que representa uma informação textual Em Java existe um
Leia mais1 Introdução e Conceitos básicos
1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2
Leia maisAprendizado por Reforço
Aprendizado por Reforço Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Aprendizado por Reforço 2. Q-Learning 3. SARSA 4. Outras ideias 1 Aprendizado por Reforço Problemas de decisão
Leia maisTransformações entre unidades de medidas e aceleração média
Em muitos exercícios envolvendo a velocidade de um veículo, os dados da questão podem vir em km/h. Entretanto em determinadas resoluções é necessário que a resposta seja escrita em m/s (adotada pelo Sistema
Leia maisRedes Neurais Artificiais Aplicadas ao Jogo da Velha 3D em Pinos
Redes Neurais Artificiais Aplicadas ao Jogo da Velha 3D em Pinos TCC - Jan/09 Daniel Tré - ISTCCP Redes Neurais Artificiais Aplicadas ao Jogo da Velha 3D em Pinos p. 1/2 O que são Redes Neurais Artificiais
Leia maisMAC 115 Introdução à Ciência da Computação ROTHELO
MAC 115 Introdução à Ciência da Computação INSTITUTO DE FÍSICA - BACHARELADO NOTURNO SEGUNDO SEMESTRE DE 2010 Terceiro Exercício-Programa (EP3) Data de entrega: até 06 de dezembro de 2010 (2a.feira) ROTHELO
Leia maisDeterminação de vícios refrativos oculares utilizando Support Vector Machines
Determinação de vícios refrativos oculares utilizando Support Vector Machines Giampaolo Luiz Libralão, André Ponce de Leon F. de Carvalho, Antonio Valerio Netto, Maria Cristina Ferreira de Oliveira Instituto
Leia maisInteligência Artificial Aplicada a Robôs Reais
Inteligência Artificial Aplicada a Robôs Reais Prof. Dr. Eduardo Simões Instituto de Ciências Matemáticas e de Computação USP Cópias das Transparências: http://www.icmc.usp.br/~simoes/seminars/semi.html
Leia maisPrevisão de consumos a curto prazo
Previsão de consumos a curto prazo Cláudio Monteiro Distribuição de Energia II 5º ano da LEEC - ramo de Energia (FEUP) O que são? são técnicas computacionais que apresentam um modelo matemático inspirado
Leia maisComputação Gráfica. Trabalho 1
Computação Gráfica Trabalho 1 Futebol de Robô em PostScript Tobias Colombo Este trabalho está dividido em 5 módulos: bancodados.ps > Define as estruturas de dados que definem os times e seus jogadores,
Leia maisProgramação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Leia maisProcesso para o ensino e desenvolvimento do futebol e futsal: ESTÁGIOS DE INICIANTES, AVANÇADOS E DE DOMÍNIO
Processo para o ensino e desenvolvimento do futebol e futsal: ESTÁGIOS DE INICIANTES, AVANÇADOS E DE DOMÍNIO Processo para o ensino do futebol/ futsal A metodologia para o ensino do futebol até a especialização
Leia mais2.1. Construção da Pista
2 Malha de Controle Para que se possa controlar um dado sistema é necessário observar e medir suas variáveis de saída para determinar o sinal de controle, que deve ser aplicado ao sistema a cada instante.
Leia maisAula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz
Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz Sumário de Aula } Conceito de Memória } Variáveis e Tipos de Dados } Constantes 2 Conceito de Memória } A memória de um computador é
Leia maisO que é Simulação? Capítulo 1. Prof. Afonso C Medina & Prof. Leonardo Chwif. fonte original de consulta.
O que é Simulação? Capítulo 1 fonte original de consulta. Prof. Afonso C Medina & Prof. Leonardo Chwif 1 Introdução Definição A Simulação como ferramenta de suporte à decisão Quando utilizar a Teoria das
Leia maisa) A intensidade do campo elétrico no meio externo, na membrana e no interior da célula.
PROVA de FÍSICA 2ª ETAPA do VESTIBULAR 2006 (cada questão desta prova vale até cinco pontos) Use, se necessário: Aceleração gravitacional g = 10 m/s 2 Questão 01 A diferença de potencial elétrico existente
Leia maisProgramação com genéricos
Programação com genéricos Laboratório de Programação Pedro Vasconcelos, DCC/FCUP Fevereiro 2015 Tipos genéricos tipos genéricos permitem definir classes ou interfaces que são parameterizadas por outras
Leia maisTema da aula Introdução ao paradigma de programação: Orientado a Objetos
Profa. Juliana Santiago Teixeira Disciplina: Programação Orientada a Objetos I Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Paradigma Paradigma é a filosofia adotada na construção
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
7 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisCarlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação para o uso da linguagem C Entendendo Estrutura de Dados Revisão da Linguagem C Tipos primitivos Vetores
Leia maisRedes Neurais. Motivação. Componentes do neurônio. Cérebro humano. Criar máquinas capazes de operar independentemente do homem:
Motivação M. Sc. Luiz Alberto lasf.bel@gmail.com Redes Neurais Criar máquinas capazes de operar independentemente do homem: Aprenda sozinha; Interagir com ambientes desconhecidos; Possa ser chamada de
Leia maisInteligência Artificial Redes Neurais
Inteligência Artificial Jarley P. Nóbrega, Dr. Faculdade Nova Roma Bacharelado em Ciência da Computação jpn@jarley.com Semestre 2018.2 Jarley P. Nóbrega, Dr. (Nova Roma) Inteligência Artificial Semestre
Leia maisUnidade 08 MATLAB Neural Network Toolkit
Unidade 08 MATLAB Neural Network Toolkit 1. Introdução Uma rede neural artificial (NN daqui em diante) é um modelo matemático que consiste de neurônios interconectados que imitam, em uma escala menor,
Leia maisa) Defina em Prolog iguais/1, um predicado que recebe um estado do jogo e que verifica que todas as pilhas têm o mesmo número de peças.
Introdução à Inteligência Artificial 2ª Época 29 Janeiro 2015 Nº Aluno: Nome Completo: Exame com consulta. Responda às perguntas nesta própria folha, nos espaços indicados. (I) O jogo do Nim (também chamado
Leia maisRESISTÊNCIA DOS MATERIAIS II MOMENTO DE INÉRCIA
RESISTÊNCIA DOS MATERIAIS II MOMENTO DE INÉRCIA Prof. Dr. Daniel Caetano 2018-2 Objetivos Apresentar os conceitos: Momento de inércia: retangular e polar Produto de Inércia Eixos Principais de Inércia
Leia maisIntrodução à orientação a objetos. João Tito Almeida Vianna 18/05/2013
Introdução à orientação a objetos João Tito Almeida Vianna 18/05/2013 Roteiro Aula 1 Introdução: Programação estruturada x Orientação a objetos Orientação a objetos Classe e objeto Encapsulamento Herança
Leia maisINF 1771 Inteligência Artificial
Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 01 - Introdução O Que é Inteligência Artificial? [Winston, 1984]: "Inteligência artificial é o estudo das ideias que
Leia maisJogo de sinuca virtual com Realidade Aumentada. Pedro Henrique Schmitt Orientador: Dalton Solano dos Reis
Jogo de sinuca virtual com Realidade Aumentada Pedro Henrique Schmitt Orientador: Dalton Solano dos Reis Roteiro Introdução Objetivos Fundamentação teórica Trabalhos correlatos Requisitos Especificação
Leia maisINF Fundamentos de Computação Gráfica /1
INF01047 - Fundamentos de Computação Gráfica - 2013/1 Especificação do Trabalho Final Professores: João Comba (comba@inf.ufrgs.br) e Marcelo Walter (marcelo.walter@inf.ufrgs.br) Objetivo Consolidar o conhecimento
Leia maisConceitos de Linguagens de Programação - Características. Paavo Soeiro
Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o
Leia maisIntrodução à Mineração de Dados com Aplicações em Ciências Espaciais
Introdução à Mineração de Dados com Aplicações em Ciências Espaciais Escola de Verão do Laboratório Associado de Computação e Matemática Aplicada Rafael Santos Dia 3: 1 /54 Programa Dia 1: Apresentação
Leia maisAnálise empírica de algoritmos de ordenação
Análise empírica de algoritmos de ordenação Mario E. Matiusso Jr. (11028407) Bacharelado em Ciências da Computação Universidade Federal do ABC (UFABC) Santo André, SP Brasil mario3001[a]ig.com.br Resumo:
Leia maisPROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia
PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia Calculo da área de um triângulo Algoritmo Área Var base,
Leia maisMetodologia de Projeto em Engenharia Elétrica. Estudo de Caso: Projeto de um robô para jogar futebol
Estudo de Caso: Projeto de um robô para jogar futebol Ewaldo Luiz de Mattos Mehl Universidade Federal do Paraná Departamento de Engenharia Elétrica PROJETO S. m. 1. Idéia que se forma de executar ou realizar
Leia mais2. Redes Neurais Artificiais
Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.6. Deep Learning 2.6.1. O Problema da Extração de Características
Leia maisImplementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias
Leia maisAula 5 Instruções Simples Cleverton Hentz
Aula 5 Instruções Simples Cleverton Hentz Sumário de Aula } Instrução de Atribuição } Instrução de Entrada } Instrução de Saída } Comentários 2 Introdução } Instruções são utilizadas para dizer ao computador
Leia maisAula 1 Apresentação do Curso
Departamento de Sistemas de Computação Universidade de São Paulo SSC 502 Laboratório de Introdução a Ciência de Computação I Aula 1 Apresentação do Curso Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br)
Leia maisClassificação dos Jogos. Tainá Medeiros
Classificação dos Jogos Tainá Medeiros Classificação dos Jogos Por que classificar os jogos eletrônicos? Para criar identidade entre jogos semelhantes; Para facilitar o estudo das características de cada
Leia maisCAPÍTULO 5 RESULTADOS. São apresentados neste Capítulo os resultados obtidos através do programa Classific, para
CAPÍTULO 5 RESULTADOS São apresentados neste Capítulo os resultados obtidos através do programa Classific, para as imagens coletadas no verão II, período iniciado em 18/01 e finalizado em 01/03 de 1999,
Leia maisModelagem e Simulação de um Sistema de Aprendizado de Reforço para Robôs
Modelagem e Simulação de um Sistema de Aprendizado de Reforço para Robôs André Luiz Carvalho Ottoni (UFSJ) andreottoni@ymail.com Rubisson Duarte Lamperti (UFSJ) duartelamperti@yahoo.com.br Erivelton Geraldo
Leia maisMicrosoft Faculty Connection
Microsoft Faculty Connection Plataforma de Jogos como Ferramenta Multidisciplinar Prof. Dr. LucianoAntonio Digiampietri EACH-USP Roteiro Introdução Objetivos Detalhamentodo Projeto Conclusões Introdução
Leia mais