Figura 1: Jogo em acontecimento Servidor (Versão 1.0)

Documentos relacionados
INF INTELIGÊNCIA ARTIFICIAL TRABALHO 2 LÓGICA

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 2 LÓGICA

INF 1771 Inteligência Artificial

TÉCNICAS DE PROGRAMAÇÃO II TRABALHO 2

MAC425: EP2 Data de entrega: 4 de dezembro de 2006

IPRJ TÓPICOS ESPECIAIS EM LINGUAGENS DE PROGRAMAÇÃO TRABALHO 3 UNITY 3D

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 2 LÓGICA

Retomada aula. Introdução sobre Inteligência Artificial Abordagem sobre Agentes Resolução de problemas estratégias de busca - apresentação trabalhos

Mundo do Wumpus. Inteligência Artificial. Beatriz F. M. Souza. Prof. Orivaldo Lira Tavares

INF Fundamentos de Computação Gráfica /1

VERIFICAÇÃO DO DECAIMENTO DE INFORMAÇÃO EM REDES NEURAIS RECORRENTES APLICADAS AO PROBLEMA DO MUNDO DE WUMPUS 1

Sistemas Inteligentes

Especificação do Trabalho Prático

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA

INF 1771 Inteligência Artificial

Git. Leonardo Gresta Paulino Murta

Desenvolvimento de um simulador de jogo de estratégia em tempo real. Fabiano Aono Leandro Aono Orientador: Prof. Dr. Paulo André Vechiatto de Miranda

MODELAGEM E IMPLEMENTAÇÃO DE JOGOS APLICADOS A APRENDIZAGEM DE MÁQUINA 1

Aluno. Bem-vindo(a). Neste manual vamos aprender noções básicas para um bom andamento neste curso de mestrado profissionalizante.

A EXPERIMENTAÇÃO REMOTA COMO APOIO AO PROCESSO ENSINO-APREDIZAGEM DE FÍSICA NO ENSINO MÉDIO, UTILIZANDO O ROBOCAR

Sistemas Distribuídos Capítulo 3 - Aula 3

Inteligência Computacional para Jogos Eletrônicos

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 15 Agentes que Raciocinam Logicamente

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA

Protótipo de Software de Reconhecimento de Voz Para Navegação em Jogos, Utilizando Rede Neural Artificial

Sistemas de Representação e Raciocínio Parte 3

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Como funciona o OA Pontos em batalha

Manual do Professor. Conferência Web

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA

Middleware para trilhas sonoras dinâmicas. em jogos digitais

Organização e Arquitetura de Computadores I

Sonic the Hedgehog (Master System)

Universidade Metodista de Piracicaba. Trabalho de Inteligência Artificial LABIRINTO

Concursos Micro-Rato. Ciber-Rato

Inteligência Artificial

SME Introdução à Programação de Computadores Primeiro semestre de Trabalho: jogo Semáforo

Capítulo 7 - Agentes lógicos (Agentes baseados em Conhecimento)

Programação Orientada a Objetos. Prof. André Gustavo Duarte de Almeida www3.ifrn.edu.br/~andrealmeida Robocode

1. Digitar o usuário; 2. Digital a Senha; 3. Escolher idioma; 4. Apertar o botão entrar

Um robô está num corredor. Ele possui um mapa do corredor mas não sabe onde está localizado. A parede do corredor e indistinta, exceto pelas portas.

Interface Homem Máquina

Introdução Introdução

UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI CAMPUS ALTO PARAOPEBA REGRAS DA SIMULAÇÃO 2D

Tutorial de Acesso ao AVA - Ambiente Virtual de Aprendizagem e-learning Consinco. Agosto 2015, versão 1

MAC425/5739 Inteligência Artificial 6. Agentes lógicos

INF 1771 Inteligência Artificial

PREZADO USUÁRIO, Definem-se como objetivos deste manual:

Elaborado pela DGTI. Sistema de Fiscais: Manual do Candidato a Fiscal

Vamos fazer um pequeno experimento

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO RIO GRANDE DO NORTE DEPARTAMENTO ACADÊMICO DE TECNOLOGIA DA INFORMAÇÃO

Manual SIGOSMS Aplicação de Gerenciamento e Envio SMS

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP

Aula 1 Introdução e Lógica. Bruno Orlandi

Quadro I - Protocolo de Reabilitação Vestibular VertiGO!.

Funcionalidade e Protocolos da Camada de Aplicação

Manual de utilização Módulo TCP/IP MTCP-4E4S

Trabalho Obrigatório 2: Comparação de Mecanismos de Comunicação

PROBLEMA A: SINUCA. Cor: Roxo. Nomes dos Arquivos. Arquivo-fonte: sinuca.c, etc Arquivo de entrada: sinuca.in Arquivo de saída: sinuca.

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

Manual do Usuário Linux Educacional 6.0 C3SL

Guia de Uso do BigBlueButton

APLICAÇÃO DE REDES NEURAIS RECORRENTES EM AMBIENTES PARCIALMENTE OBSERVÁVEIS 1

Sistema de Cancelamento de Protestos. Manual do Usuário

UnoTech Soluções em Histórico da Revisão Data Versão Descrição Autor 27/05/ 1.0 Construção do Documento Carlos GG Flor Página 2

O documento de design

Volnys Bernal 1. Trabalho Chat UDP. PSI 2653 Meios Eletrônicos Interativos I

COLOCANDO A REDE PARA FUNCIONAR

Tela Inicial com aviso datado de 18/06/00

Fabrício Jailson Barth BandTec

Programa e-marketing. Envio de marketing

Voice Recognition. Carlos Damasceno Francisco Lima Luckas Santos Perichdey Leitão Wellyson Melo. DIE - UFPI Teresina PI Brasil

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA

Threads. Pedro Cruz. EEL770 Sistemas Operacionais

Manual de utilização NSE Módulo TCP/IP MTCP-1E1S

Texto-Aula 3.1 Prof. Ronaldo Barbosa Estilos de Interação em IHC: manipulação direta e preenchimento de formulários

Universidade Federal do ABC Bacharelado em Ciência e Tecnologia Disciplina: Processamento de Informação Data: 31/06/2010. Figura 1 - Labirinto

VISUALG - EDITOR E INTERPRETADOR DE ALGORITMOS...

Sistemas Distribuídos Capítulo 8 - Aula 14

Alameda António Sérgio, 22-8º C * * Algés * Portugal * *

MANUAL PERFIL ADMINISTRADOR LOCAL

Após instalar o dude, o sistema oferece para descobrir toda sua rede de forma default, particularmerte, se sua rede for grande isso fará uma confusão

Material criado e organizado por: Suéllen Rodolfo Martinelli. Disponibilizado em:

Redes de Computadores e Aplicações

Git e Pais

- Aula 05_ Profa. Ms. Karen Reis

Esse é o arquivo de controle do jogo, onde existe o loop do jogo. Ele controla todos os eventos e objetos da aplicação.

Capítulo 7. A camada de aplicação

Manual do Aluno e Tutor. Conferência Web.

idronecup SMART MINI DRONES

Bem-vindo ao curso para Atualização Profissional Anbima

Laboratório de Ciências Computação

Inicialmente as redes passaram a ser utilizadas principalmente para o compartilhamento de periféricos, principalmente discos rígidos.

Aplicações com Banco de Dados e Cliente-Servidor

MANUAL DE USO DO COMUNICADOR INSTANTÂNEO

Old Sniper Especialização para Ladinos Rafael Alves

Transcrição:

INF1771 - INTELIGÊNCIA ARTIFICIAL TRABALHO 4 DESAFIO FINAL IA Website: http://augustobaffa.pro.br/site/inf1771-inteligencia-artificial-desafio-dos-drones/ Descrição: Sua missão é enviar um drone para terras distantes e controla-lo remotamente. Seu objetivo é encontrar a maior quantidade de tesouros possível, evitando os obstáculos e os perigos que possa encontrar pela frente! Você não é o único: outros drones também serão enviados para o mesmo destino e estarão atrás dos mesmos tesouros. Para poder combate-los, cada drone possui uma arma que pode ser usada quando necessário. Seu drone possui os seguintes sensores que ajudam a reconhecer o ambiente: sensor de brisa para evitar poços, abismos ou penhascos; sensor de flashes para evitar possíveis vórtices que podem teletransporta-lo; sensor de objetos para detectar itens no chão (redlight para power ups, bluelight para tesouros ou weaklight quando incerto); microfone (sensor de áudio) para ouvir os passos dos adversários e sensor da mira que identifica um adversário na sua frente. Forneceremos apenas o equipamento necessário para missão (drone, servidor para conexão e um devkit em C++, Java ou C# para ajuda-lo). Sua tarefa será programar a inteligência artificial que controlará nosso drone. Até o dia da missão, vamos manter um servidor para simular as condições do ambiente para treina-lo até o grande dia. Confiamos no seu conhecimento em IA para conseguirmos os tesouros! Boa sorte! Figura 1: Jogo em acontecimento Servidor (Versão 1.0) O trabalho 4 consiste em implementar uma interface principal em C, C++, C# ou java utilizando qualquer método/técnica de Inteligência Artificial apresentado na disciplina. Não é necessário desenvolver uma interface gráfica para o agente.

Características: O labirinto pode ser representado por uma matriz 59 x 34. O agente inicia em uma posição aleatória do labirinto. O Agente terá 100 pontos de energia inicial. A munição do agente dá 10 de dano nos inimigos. Os inimigos têm 100 pontos de energia inicial. (São outros agentes) Powerups que carregam energia. Munição não ilimitada. O agente pode executar as seguintes ações: o Mover_para_frente; o Mover_para_trás (andar de ré); o Virar_a_esquerda (rotação de 90 ); o Virar_a_direita (rotação de 90 ); o Pegar_objeto Para pegar o outro (se ele existir) na posição em que o agente se encontra; o Atirar Para atirar a munição em linha reta na direção que o agente está olhando A munição é ilimitada e tem alcance até colidir com uma posição bloqueada; o Observar Recebe as informações do mundo ao seu redor; Cada ação executada possui o custo de -1 (andar, virar para a esquerda, direita, etc). Os demais eventos possuem os seguintes custos/recompensas: o Cair em um poço (obstáculo) = -1000; o Ser morto pelos inimigos = -10; o Matar um inimigo = +1000; o Atirar = -10; o Pegar = -5 + ganho do item; (a tentativa mesmo que não tenha nada) O agente possui os seguintes sensores: o Em salas adjacentes aos inimigos, exceto diagonal, o agente ouve um som de passos;

o Em salas adjacentes a um poço/obstáculo, exceto diagonal, o agente sente uma brisa; o Em salas adjacentes ao inimigo que teletransporta, exceto diagonal, o agente percebe um flash; o Em salas onde existem itens o agente percebe o brilho de uma luz; Redlight = tesouros Bluelight = powerup Greenlight = veneno (não será utilizado nos mapas do trabalho) Weaklight = indefinido o Ao caminhar contra uma parede o agente sente um impacto. As laterais do labirinto são paredes; O mapa também pode conter outras posições bloqueadas; o Quando um inimigo recebe um dano, o agente que disparou o tiro é notificado; o Quando o tiro de um inimigo acerta o agente, ele é notificado; O labirinto possui os seguintes elementos: o Poços; o Moedas de ouro (+1000); o Anéis de ouro (+500); o Poções (power up +10, +20 ou +50) o Obstáculos que bloqueiam o caminho; o Teletransportes O agente não tem acesso às informações do mapa. Cada partida possui 10 minutos. O jogo se o agente morrer por dano ou ao cair em um poço. Ao entrar em uma sala onde existe um teletransporter, o agente acorda em um lugar aleatório do labirinto, podendo ser um local seguro ou a sala de um inimigo.

Dinâmica do servidor: O servidor utiliza um protocolo texto simples para as comunicações e é implementado utilizando um Socket TCP/IP ouvindo a porta 8888. Os parâmetros são separados utilizando o símbolo ponto e virgula ( ; ). A maioria dos comandos não requer parâmetros. O servidor possui três estados: Ready: 30 segundos para os agentes se prepararem ou conectarem; Game: jogo em andamento; Gameover: 30 segundos para os agentes poderem processar os resultados dos jogos; Durante os estados Ready e Gameover somente os comandos básicos do servidor estarão disponíveis (scoreboard, estados do jogo, troca de nome, troca de cor e chat). Os comandos que controlam o agente são desabilitados. Comandos do Servidor: Os comandos do servidor estarão disponíveis através de métodos implementados na classe disponibilizada pelo devkit. Segue uma lista de comandos e seus métodos equivalentes: w s sendforward(); - anda para frente sendbackward(); - anda de ré a sendturnleft(); - virar a esquerda 90º d sendturnright(); - virar a direita 90º t e sendgetitem(); - pegar item sendshoot(); - atirar o sendrequestobservation(); - receber observações (separado por ; e, ) g sendrequestgamestatus(); - receber o status do jogo (estado, tempo atual) q sendrequestuserstatus(); - receber status do usuário (posição, estado do agente, pontos e energia) p u quit sendrequestposition(); - receber posição do agente sendrequestscoreboard(); - lista de usuários logados e pontos sendgoodbye(); - desconectar do jogo

name params[1]: name sendname trocar de nome say color params[1]: msg sendsay enviar mensagem params[3]: r(0-255), g(0-255), b(0-255) sendcolor, sendcolor(color) trocar de cor Requisitos do Trabalho: O programa deve ser implementado em qualquer linguagem e utilizar uma interface Socket TCP/IP com o servidor (porta 8888. Serão disponibilizados DevKits em C++, Java e C#). O programa deve implementar qualquer método demonstrado na disciplina (Busca, Lógico, Incerteza, Aprendizado de Máquina, Fuzzy, Waypoints/Path Finding e/ou Máquina de Estados). O programa deve exibir um log (em tela) das ações realizadas. Data de Entrega: 20/12 (último dia de aula) Forma de Entrega: O programa deve ser apresentado na aula do dia 20/12 (terça) e o código deverá ser disponibilizado em repositório git. Dúvidas? Podem enviar as dúvidas para email abaffa@inf.puc-rio.br.