Projecto de Algoritmos e Estruturas de Dados

Documentos relacionados
Inteligência Artificial Projecto 1

PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 15

Resolução de Problemas de Busca

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula II Algoritmos básicos de busca cega

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 5 Resolvendo Problemas

Encriptação de Mensagens

INTELIGÊNCIA ARTIFICIAL 2008/09

Fundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Primeira Parte 1. Nim

Resolução de Problemas através de Busca. Prof. Júlio Cesar Nievola PPGIA - PUC-PR

Jogo de Damas. Alunos: Sávio Mendes de Figueiredo Sômulo Nogueira Mafra

Spider 4 em Linha. (Trabalho 12) Relatório de Avaliação Intercalar do 1º Trabalho Prático da Disciplina de Programação em Lógica

Alguns Exercícios de Inteligência Artificial

Inteligência Artificial - IA. Resolução de problemas por meio de busca

Gatos & Cães Simon Norton, 1970s

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

REGRAS DOS JOGOS do CNJM15

ENSINO MÉDIO INTEGRADO INFORMÁTICA LINGUAGEM DE PROGRAMAÇÃO Trabalho Semestral

lnteligência Artificial

Gatos & Cães Simon Norton, 1970s

Resolução de problemas por meio de busca. CAPÍTULO 3 - Russell

Buscas Informadas ou Heurísticas - Parte II

Relatório de Inteligência Artificial

FORMAÇÃO DE MICROSOFT EXCEL 2010

MAC 115 Introdução à Ciência da Computação ROTHELO

Fernando Silva DCC-FCUP. Estruturas de Dados

INTRODUÇÃO A BUSCA EXERCÍCIOS

Algoritmos e Programação

Primeiro Trabalho de IA/SI: Buscas. Entrega: 03/03/2019 (2 semanas)

21090 Programação e-fólio A 2016/2017. E-fólio A

Introdução à Inteligência Artificial MAC MAC 415. Exercício Programa 1 Busca

Sumários de REDES de COMUNICAÇÃO

Manual do KBounce. Tomasz Boczkowski Revisão: Eugene Trounev Tradução: José Pires

Ex. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: f=7 f=7 f=1 f=2

Técnicas Inteligência Artificial

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2006/2007

AUTOMAÇÃO INDUSTRIAL

Distribuição de Jogos por Ciclo

meio de busca Seções 3.1, 3.2 e 3.3

CEFET/RJ Inteligência Artificial (2017.2) Professor: Eduardo Bezerra Lista de exercícios 03

Resolução de Problemas

PROCURA E PLANEAMENTO

PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010

Especificações do Trabalho Prático de Informática I

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

Resolução de problemas por meio de busca. Inteligência Artificial

Inteligência Artificial Taguspark

Departamento de Ciência de Computadores - FCUP Primeiro Teste de Inteligência Artificial / Sistemas Inteligentes (Duração: 2 horas)

INTELIGÊNCIA ARTIFICIAL 2008/09

Inteligência Artificial

Windows 95/98/Me/2000

Semáforo Autor: Alan Parr. Avanço Autor: Dan Troyka, Material Um tabuleiro quadrado 7 por peças brancas e 14 peças negras.

Tecnologias. de Informação e Comunicação. 7ºAno. 1.º Período. Aula 5, 6. 1 Magda Lopes

PROFESSORA: GEÓRGIA SOARES DISCIPLINA: EDUCAÇÃO FÍSICA CONTEÚDO: XADREZ AULA 2

Arquitetura de Computadores

Métodos de Busca. Inteligência Artificial. Busca Heurística. Busca Heurística. Prof. Ms. Luiz Alberto Contato:

Modelos de cobertura em redes WIFI

Curso Ano Semestre Docente. 1º 2º Bruno Silva

XXIX OLIMPÍADA BRASILEIRA DE MATEMÁTICA TERCEIRA FASE NÍVEL 1 (5 a. e 6 a. Séries)

Manual Nero InfoTool. Nero AG

Algoritmos de retrocesso

Como começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a e começar a jogar.

Introdução ao Conceito de Algoritmo e Programação Estruturada

O Manual do KAtomic. Dirk Doerflinger Eugene Trounev Revisão: Mike McBride Tradução: José Pires

Semáforo. Um tabuleiro retangular 4 por 3. 8 peças verdes, 8 amarelas e 8 vermelhas partilhadas pelos jogadores.

Computação e Programação. MEMec - LEAN 1º Semestre

Redes Neurais (Inteligência Artificial)

AULA TEÓRICA 1 Tema 6. Algoritmos e Fluxogramas

Transcrição:

Projecto de Algoritmos e Estruturas de Dados Licenciatura em Engenharia Electrotécnica e de Computadores Licenciatura em Engenharia Electrónica 1 o ano, 2 o Semestre, 2005/2006 Instituto Superior Técnico Universidade Técnica de Lisboa corpo docente de

Descrição do Projecto Projecto de - Objectivo é movimentar viaturas dentro de um tabuleiro de forma a conduzir a viatura do jogador à saída a o e p x q r c g h corpo docente de

Descrição do Projecto Tabuleiro é um quadriculado de 6 6 posições Há viaturas de comprimento 2 e 3 Movimento das viaturas obedece a regras simples: apenas se pode mover na linha ou na coluna onde está colocada (e só numa delas); nunca pode colidir com o posicionamento de outra viatura; apenas se pode deslocar de uma posição; Saída é única, à direita na 3 a linha corpo docente de

Dado uma descrição do tabuleiro que inclui, para cada viatura: o seu posicionamento a sua direcção (vertical ou horizontal) o seu comprimento (2 ou 3) se é a viatura do jogador pretende-se movimentar as viaturas de forma a permitir que a do jogador chegue à saída Número de movimentos deve ser o menor possível corpo docente de

a o e p x q r c g h corpo docente de

p a o e x q r c g h corpo docente de

a p e x r c g h q o corpo docente de

Como encontrar a solução do puzzle? Em cada momento há múltiplas jogadas possíveis quantas? como saber quais são? qual é a melhor? Durante o jogo: devemos evitar passar por configurações idênticas? como saber quais são? Como detectar quando o jogo terminou? corpo docente de

Como encontrar a solução do puzzle? corpo docente de

uma solução possível seria representar as várias configurações possíveis que têm origem no movimento das viaturas. através de uma árvore podem-se representar-se essas várias configurações possíveis e apenas é necessário procurar uma solução. reduziu-se o problema a um problema de procura numa abordagem deste tipo torna-se por vezes necessário efectuar uma avaliação de cada configuração corpo docente de

: Jogo de Engarrafamento corpo docente de

: Árvore de Configurações corpo docente de

: Árvore de Configurações corpo docente de

: Árvore de Configurações corpo docente de

: Árvore de Configurações corpo docente de

: Árvore de Configurações corpo docente de

: Árvore de Configurações corpo docente de

: Árvore de Configurações corpo docente de

: Árvore de Configurações corpo docente de

: Árvore de Configurações corpo docente de

: Árvore de Configurações corpo docente de

: Árvore de Configurações corpo docente de

Largura e profundidade da árvore são dependentes do problema árvore pode crescer muito. sobretudo se não se detectarem configurações iguais (que não vale a pena avaliar/expandir múltiplas vezes). para muitos problemas não seria possível ter a árvore toda em memória nesse caso teria de se parar a expansão e tomar uma decisão qual a função de avaliação (também conhecida por heurística) que se deve utilizar? corpo docente de

Se detectarmos sempre que são geradas configurações repetidas: crescimento da árvore é controlado. é possível gerar toda a árvore (mas pode não ser preciso). eficiência do jogador aumenta Detecção de configurações idênticas deve ser rápida não pode ser feito por comparação com todas as anteriormente vistas. solução é Hashing das configurações! corpo docente de

Como abordar o problema? Quais as estruturas de dados a utilizar? Quais os algoritmos mais eficientes? Solução encontrada Complexidade temporal e de memória É acerca destes tópicos que o projecto será avaliado. corpo docente de

O ficheiro que contém a descrição do tabuleiro é do tipo: 10 2 0 0 1 0 2 a 0 2 1 0 2 b 0 4 1 0 2 c 5 0 1 0 3 o 5 3 1 0 3 r 1 0 1 0 2 d 1 2 1 0 2 e 1 4 1 0 2 f 2 0 1 1 2 x 2 2 0 0 2 g 2 3 0 0 2 h 3 4 1 0 2 k... Comentarios... Primeira linha diz quantas viaturas estão presentes. Cada linha seguinte descreve uma viatura. a d x o b c e g h r f k corpo docente de

Para gerar o ficheiro de saída é obrigatório utilizar a função escreve saida() fornecida pelo corpo docente. Cada chamada a esta função indica um movimento de uma dada peça num dado sentido a d x b e c f g h k Solução do tabuleiro à esquerda é: gd1 xr1 hd1 xr1 xr1 xr1 Solução não é única! o r corpo docente de

- Interface Gráfica O corpo docente disponibiliza um programa que permite a visualização gráfica da solução gerada por cada grupo (e logo a sua verificação). O programa permite também que o utilizador jogue o jogo do Engarrafamento (existe um conjunto de tabuleiros pré-definidos. Descrição da sintaxe do programa: $./verify [file.des file.mov [-i]] argumentos são o ficheiro de descrição, o output do jogador e (opcional) uma opção para ver a evolução dos movimentos interactivamente. corpo docente de

Descrição do Projecto Data de entrega do pré-relatório: na semana de 22 a 26 de Maio na aula de laboratório ou em horário a combinar com o docente de laboratório. Data de entrega do trabalho: 9 Junho, 6 a feira, às 10h, pretende-se relatório final em papel e respectivo software em diskette ou CD. programas que não compilem nos computadores do laboratório não serão aceites o relatório é uma componente muito importante da avaliação Espera-se que os alunos cumpram o código de honestidade académica corpo docente de