Trabalho 1: Caminho mais curto entre duas cidades. Discentes: Ricardo Seromenho a23842 Rui Dias a24254

Tamanho: px
Começar a partir da página:

Download "Trabalho 1: Caminho mais curto entre duas cidades. Discentes: Ricardo Seromenho a23842 Rui Dias a24254"

Transcrição

1 Universidade do Algarve Faculdade de Ciências e Tecnologia Departamento de Engª Electrónica e Informática Inteligência Artificial (2005/2006 2º Semestre) Trabalho 1: Caminho mais curto entre duas cidades Discentes: Ricardo Seromenho a23842 Rui Dias a24254

2 Introdução O nosso programa tem por objectivo resolver o problema do caminho mais curto entre duas localidades (ou simplesmente achar um caminho). O programa cham se mapa e começa por aceitar dois parâmtros quando é chamado. A localização de dois ficheiros.csv, o primeiro contendo um mapa de distâncias e um segundo contendo uma tabela das coordenadas das localidades. Para resolver o problema são utilizadas duas estratégias: a estratégia de procura cega, para a quel escolhemos a procura em largura primeiro e a estratégia de procura heurística em que escolhemos o algoritmo da procura A* e o Algoritmo de pesquisa IDA*. Assim sendo o utilizador do nosso programa pode escolher de um destes três algoritmos para encontrar o caminho de uma localidade a outra. Sendo que os da estratégia heurística darão o caminho mais curto e o da estratégia de procura cega dará um caminho, mas sem certezas de ser o mais curto. Na estratégia de procura heurística a escolha de qual cidade vai ser analisada depende de uma função f(n) = g(n) + h(n) em que a função g(n) é a distância real de uma cidade a outra e a função h(n) é a distância em linha recta da cidade em questão até à cidade de destino. Esta função h(n) tem de ser admissível para que os algoritmos funcionem bem. Para uma função heurística ser admissivel, então, neste caso, a distância em linha recta de uma cidade a outra tem de ser menor ou igual que a distância real. O que se verifica para todo o caso. Sendo que a nossa heurística é admissível, teremos então a certeza que será encontrado o caminho mais curto. O output do programa são vários dados sobre o que o algoritmo fez, tais como: os nós gerados, os nós expandidos, a penetrância, o comprimento da solução encontrada, o tempo de execução do algoritmo, e o principal de tudo, o caminho da cidade de origem à cidade de destino e a sua distância.

3 Desenvolvimento O programa foi desenvolvido em JAVA, devido a ser uma linguagem orientada a objectos, sendo por isso no nosso ver, mais simples de resolver o problema. Ao evocar o programa, este deve ser evocado com dois argumentos, o primeiro a localização do ficheiro que contém a tabela das distâncias e o segundo que contém os nomes e as corrdenadas das cidades. Estes ficheiros devem estar em formato csv, como descrito a seguir: (Um ficheiro destes faz se facilmente em excel e depois guradar como tipo.csv) Coordenadas e nomes das cidades 3 colunas, em que a primeira coluna é o nome da cidade e as duas seguintes a localização em x e em y. Cada linha corresponderá a uma cidade, podendo por isso o número de linhas variar. Tabela das distâncias Número de linhas e colunas igual pois a cada linha/coluna corresponde uma cidade, a ordem das cidades neste ficheiro deve ser a mesma oredem do ficheiro anterior. O trabalho foi dividido pelos dois. Então um fez o algoritmo de procura em largura primeiro e o A* e o outro o IDA*. Sendo que depois integrámos um no outro. O programa está organizado em 6 classes, que passamos então a explicá las: P r i n c i p a l Esta classe tem apenas o efeito de servir de ponto de encontro de todas as outras classes. Apenas tem um método, que é o método main do nosso programa. O nosso main é muito simples: Mostramos as opções de escolha ao utilizador. N o d e Aproveitar coisas que já estão feitas, foi o que nós fizemos em duas ou três ocasiões. Na página web do livro Artificial Intelligence: A Modern Approach estava lá esta classe, mas fizemos lhe algumas alterações. No decorrer do algortimos A* e largura primeiro, estes vão gerando uma árvore. Cada nó dessa árvore será um objecto desta classe. Em que cada objecto desta classe será capaz de guardar: public int cidade a cidade correspondente a este nó; public Node parent um nó que corresponde ao pai deste nó; public int depth a profundidade a que o nó se encontra; public double fn guarda o valor da função f(n) = g(n) + h(n) public double gn guarda a distância desde o nó de origem até ao próprio.

4 M a p a O programa recebe como parâmetros de entrada a localização de dois ficheiros: o ficheiro que tem a tabela das distâncias das cidades e outro que tem os nomes e as corrdenadas das cidades. Esta classe foi feita com o intuito de gurdar essa informação exclusivamente em um objecto. Assim sendo, cada objecto desta classe terá: public int [][]distancia matriz que guarda a distância entre cidades; public Point []localizacao matriz de Pontos que guarda as coordenadas das cidades; public String []nomes matriz que guarda os nomes das cidades; public double []h matriz que guarda a heurística para cada cidade. Nas matrizes acima cada lugar ocupado na matriz corresponde a uma cidade. Por exemplo se a posição 17 da matrxiz nomes tem a string Faro, então em todas as outras matrizes a posição 17 corresponderá a Faro. Métodos da classe: public void init_distancia(string caminho) Este método já estava feito por outra pessoa e foi encontrado na net em Para utilizar este método é necessário adicionar um package, que está disponivel na mesma página, ao projecto. Este método foi alterado para que percorra o ficheiro csv e coloca a informação encontrada na matriz das distâncias. Se encontrar a um valor mete o na matriz, se fôr um traço, coloca um 1. public void init_localizacao(string caminho) Praticamente o mesmo que o método anterior mas é para retirar a informação do ficheiro das coordenadas. Depois preenche a matriz localizaçao e a matriz dos nomes ao mesmo tempo. public void calc_h(point d) O que este método faz é iniciar a matriz das heurísticas e preenchê la com a distância em linha recta desde a cidade x, até à cidade destino que é o parâmetro de entrada deste método. public void showh(),public void showdistancia(),public void showlocalizacao() métodos que foram utilizados para testes. Estes métodos mostram simplesmente a informação contida nas matrizes h, distancias e localizacao respectivamente. P r o b l e m a Os algoritmos de procura em largura primeiro e A* estão implementados nesta classe. Um objecto desta classe tem:

5 Vector l_nos Fila a ser utilizada pelos algoritmos, para gurdar os nós que vão sendo gerados; public int nos_gerados Numero de nós gerados; public int nos_expandidos Número de nós expandidos; public int L Comprimento da solução (número de arcos desde a origem ao destino; public int distancia Distância da origem ao destino; public double penetrancia Razão entre o número de nós expandidos e o comprimento da solução; Node no No que vai sendo expandido na execução dos algoritmos; Métodos da classe: public void init_lnos(int s, Mapa m) Inicia a fila dos nós. Tem como entrada a cidade de origem e um objecto mapa devidamente iniciado com os dados dos ficheiros. Coloca um primeiro nó na fila; esse nó é o nó da cidade de origem. public void printpath(mapa m,int d, int source) Recebe o mapa que têm as distâncias e os nomes das cidades, recebe a cidade de destino e a cidade de origem. O que este método faz é simples: analisa o nó do objecto e vai ver o caminho. Como? A primeira cidade do nó é o destino, que é adicionada ao Vector caminho. Depois é um ciclo que iguala o nó ao pai desse nó e mete a cidade no Vector caminho. Esse ciclo pára quando o nó fôr igual à cidade de origem. Isto para que depois se possa imprimir o caminho pela ordem correcta. Depois tem um ciclo que imprime o Vector caminho. E por fim imprime as informaçãoes adicionais que estão descritas na introdução. public boolean pesquisafila(node ver) Recebe um nó ver, e depois verifica se esse nó está ou não na fila. Se estiver retorna true, caso contrário retorna falso. public boolean Largura(int s, int d, Mapa m) Método que executa o algoritmo de largura primeiro. Recebe a cidades origem e destino e também um objecto Mapa devidamente inicializado. O algoritmo começa por invocar o método init_lnos. Depois entra num ciclo que só pára, ou quando a fila estiver vazia ou quando o nó que vai ser expandido fôr o nó da cidade de destino. A cada iteraccção desse ciclo o nó da cabeça da fila l_nos é removido e atribuido ao no a ser analisado. Depois começa um ciclo for, que vai expandir esse nó e colocar os nós gerados na fila. Este método retorna true caso o algoritmo tenha encontrado o caminho e false caso contrário. public boolean AStar(int s, int d, Mapa m) Parecido ao método anterior, mas a cada nó geradoé atribuido o fn. Então só depois de analisado o fn é que se coloca na fila. Pois o nó é colocado na fila que vai estando o todo o seu tempo de vida ordenada. Do método anterior para este é a diferença é a colocação do nó na fila. Também este método retorna true caso tenho encontrado um caminho e false caso contrário

6 IDA Nesta classe e implementado o algoritmo do IDA* que determina o caminho mais curto entre dois nós. Variáveis globais da classe: int NMAX Numero de cidades do mapa; public double []no_actual no_actual e usado para saber qual dos nos esta a ser usado actualmente 0 numero do no actual, 1 pai do no actual, 2 heuristica do no public int estado_inicial Nó inicial public int estado_final Nó final public int [][]matriz Ligações dos nos do grafo com a distancia em km public int [][]coord Matriz com as coordenadas de cada nó public double [][]nos_expandidos Fila dos nos expandidos public int n_nos Numero de nos actualmente na fila public double [][]matriz_caminho Matriz do caminho percorrido pelo algoritmo public int n_nos_gerados numero de nos gerados public int n_nos_expandidos numero de nos expandidos public double f_limite limite maximo do f(h) public double []heuristica Matriz com os valores da heuristica para cada nó. Métodos utilizados na Classe IDA: public void init_matriz(double []h, int [][]dist, Point []local) Inicia as matrizes e os arrays para a execução do programa. Da entrada o h que tem os valores da heuristica, o valor dist que é a distancia real entre os nos e a variável local contem os valores para colocar na matriz coord. public int ida_ast ( ) inicia o algoritmo do IDA mas só termina quando encontra uma solução e inicia o f_limite com o valor do h do nó inicial. Retorna o valor do estado_final. public int ida ( ) É o algoritmo em si calcula o caminho mais perto entre dois nós. Retorna o valor do estado final se sucesso e 1 em caso de falha. public double mínimo( ) calcula o mínimo entre os nos que se encontram na fila e não foram expandidos e devolve o menor valor encontrado. public void expand(double pai ) Expande os nós de um determinado nó e coloca os na fila de espera. Entra um valor double que é o no a ser expandido. Não permite que um no seja gerado se este for igual ao seu avô. public void remove ( ) retira um no da lista coloca o como no actual e faz um shift a esquerda aos nos seguintes da lista.

7 public double gedene(int estado_actual, int pai) determina o g de um no e retorna o seu valor; public void print_caminho(mapa map) Imprime o caminho entre dois nos. Percorre a matriz_caminho e os nos que se encontram repetidos são analisados e retirado o que tem maior valor de heuristica. Entra a variável map da classe Mapa que troca os números usados nos grafos por letras. S t o p W a t c h Esta classe foi retirada da Internet e não foi alterada. E utilizada para determinar o tempo de execução do programa. Só utilizamos as funções start() stop() e timestring(), a função start() inicia a contagem do tempo, a função stop para a contagem do tempo e a função timestring() retorna o tempo decorrido.

8 Conclusão Comparações de vários outputs dos vários algoritmos para o mesmo problema, da cidade A para a cidade N, para o mapa da romenia que está n o site do livro Artificial Intelligence: A Modern Approach. Largura primeiro: A -> S -> F -> B -> U -> V -> I -> N Nós expandidos: 58 Nós gerados: 70 Penetrância: 10.0 Distancia: 856 L: 7 Tempo de execução: 0.0 mseconds A* A -> S -> R -> P -> B -> U -> V -> I -> N Nós expandidos: 44 Nós gerados: 121 Penetrância: 15.0 Distancia: 824 L: 8 Tempo de execução: 0.0 mseconds IDA* A -> S -> R -> P -> B -> U -> V -> I -> N Nós expandidos: 16 Nós gerados: 1668 L: 8 Penetrancia : 208 Tempo de execução: 16.0 mseconds Numa primeira análise podemos verificar logo que o IDA* é o mais lento de todos. Depois podemos confirmar também que o procura largura primeiro não encontra o caminho curto. Simplesmente encontra um caminho. O IDA é mais complexo de implementar que os outros dois algoritmos que implementámos.

INTELIGÊNCIA ARTIFICIAL 2008/09

INTELIGÊNCIA ARTIFICIAL 2008/09 INTELIGÊNI RTIFIIL 2008/09 PROUR 1) onsidere o problema da torre de Hanoi com discos. Neste problema, existem três pinos, e e discos de diâmetros diferentes, estando no início todos os discos colocados

Leia mais

Relatório de Inteligência Artificial

Relatório de Inteligência Artificial Relatório de Inteligência Artificial Hidato Grupo 4 Diogo Simões - 63558 Inês Almeida - 63556 Miguel Diogo - 63567 Introdução O objectivo deste projecto é resolver automaticamente um tabuleiro de Hidato

Leia mais

Busca Heurística. Profa. Josiane M. P. Ferreira

Busca Heurística. Profa. Josiane M. P. Ferreira Busca Heurística Profa. Josiane M. P. Ferreira Texto base: Stuart Russel e Peter Norving - Inteligência Artificial David Poole, Alan Mackworth e Randy Goebel - Computational Intelligence A logical approach

Leia mais

2284-ELE/5, 3316-IE/3

2284-ELE/5, 3316-IE/3 INTELIGÊNCIA ARTIFICIAL 2284-ELE/5, 3316-IE/3 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2007/2008 Resolução de Problemas No âmbito da IA, o conceito de problema pode

Leia mais

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

Resolução de Problemas através de Busca. Prof. Júlio Cesar Nievola PPGIA - PUC-PR Resolução de Problemas através de Busca Prof. Júlio Cesar Nievola PPGIA - PUC-PR Solução de Problemas Sistemas inteligentes devem agir de maneira a fazer com que o ambiente passe por uma seqüência de estados

Leia mais

Trabalho 2: Apredizagem em perceptrões multicamada. Discentes: Ricardo Seromenho a23842 Rui Dias a24254

Trabalho 2: Apredizagem em perceptrões multicamada. Discentes: Ricardo Seromenho a23842 Rui Dias a24254 Universidade do Algarve Faculdade de Ciências e Tecnologia Departamento de Engª Electrónica e Informática Inteligência Artificial (2005/2006 2º Semestre) Trabalho 2: Apredizagem em perceptrões multicamada

Leia mais

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

Introdução à Inteligência Artificial MAC MAC 415. Exercício Programa 1 Busca Introdução à Inteligência Artificial MAC 5739 - MAC 415 006 Exercício Programa 1 Busca Data de Divulgação: 6 de agosto Data de Entrega: 6 de setembro 1 Objetivo Implementar os algoritmos de busca em Inteligência

Leia mais

Busca Heurística - Informada

Busca Heurística - Informada Busca Heurística - Informada Estratégias de Busca Exaustiva (Cega) encontram soluções para problemas pela geração sistemática de novos estados, que são comparados ao objetivo; são ineficientes na maioria

Leia mais

Sistemas Baseados em Conhecimento

Sistemas Baseados em Conhecimento Departamento de Informática Faculdade de Ciências Universidade de Lisboa Sistemas Baseados em Conhecimento Primeiro Teste 24 de Abril de 2008 Nome Completo: Nº Aluno: Licenciatura: com consulta 1 hora

Leia mais

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

Buscas Informadas ou Heurísticas - Parte II

Buscas Informadas ou Heurísticas - Parte II Buscas Informadas ou Heurísticas - Parte II Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Graduação em Ciência da Computação / 2006 FUNÇÕES HEURÍSTICAS - 1/7 FUNÇÕES HEURÍSTICAS - 2/7 Solução

Leia mais

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

Inteligência Artificial - IA. Resolução de problemas por meio de busca Resolução de problemas por meio de busca 1 Agente reativo - definido por ação reação Agente de resolução de problemas (ou baseado em objetivos) encontra sequencias de ações que leva ao estado desejável.

Leia mais

Inteligência Artificial Projecto 1

Inteligência Artificial Projecto 1 Bantumi ESPECIFICAÇÕES O projecto destina-se a resolver um conjunto de problemas do jogo Bantumi utilizando métodos de procura em espaço de estados. Bantumi é um jogo derivado do jogo Mancala de origem

Leia mais

Procura Informada. Capítulo 4

Procura Informada. Capítulo 4 Procura Informada Capítulo 4 Sumário Procura Melhor Primeiro Procura Gananciosa Procura A * Heurísticas Procura local Árvore de Procura Uma estratégia de procura determina a ordem de expansão dos nós As

Leia mais

Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo PMR2300 Escola Politécnica da Universidade de São Paulo Um grafo é uma estrutura que generaliza árvores, sendo formado por nós e arestas. Cada nó em um grafo pode ser conectado a vários outros nós por

Leia mais

Busca com informação e exploração. Inteligência Artificial. Busca pela melhor escolha. Romênia com custos em km. Busca com informação (ou heurística)

Busca com informação e exploração. Inteligência Artificial. Busca pela melhor escolha. Romênia com custos em km. Busca com informação (ou heurística) Inteligência Artificial Aula 5 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Busca com informação e exploração Capítulo 4 Russell & Norvig Seção 4.1 Busca com informação (ou heurística) Utiliza

Leia mais

Resolução de problemas por meio de busca. Capítulo 3 Inteligência Artificial Sistemas de Informação

Resolução de problemas por meio de busca. Capítulo 3 Inteligência Artificial Sistemas de Informação Resolução de problemas por meio de busca Capítulo 3 Inteligência Artificial Sistemas de Informação Conteúdo Um exemplo Resolução de problemas por meio de busca Exemplos de problemas Em busca de soluções

Leia mais

Os problemas de IA empregam heurísticas, basicamente, em duas situações:

Os problemas de IA empregam heurísticas, basicamente, em duas situações: Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado

Leia mais

Prova 2 PMR2300 1o. semestre 2015 Prof. Thiago Martins

Prova 2 PMR2300 1o. semestre 2015 Prof. Thiago Martins Prova PMR00 o. semestre 0 Prof. Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço.. ( pontos) Um heap binário é uma árvore binária completa (todos os níveis exceto o último

Leia mais

Melhor caminho entre duas estações de metro

Melhor caminho entre duas estações de metro Melhor caminho entre duas estações de metro Concepção e Análise de Algoritmos Turma Nuno Machado Matos Tiago Daniel Sá Cunha Data: 11 de Junho de 2010 Introdução No âmbito da realização do projecto da

Leia mais

LERCI/LEIC TAGUSPARK INTELIGÊNCIA ARTIFICIAL 2005/06 PROCURA

LERCI/LEIC TAGUSPARK INTELIGÊNCIA ARTIFICIAL 2005/06 PROCURA LERI/LEI TGUSPRK INTELIGÊNI RTIFIIL 005/06 PROUR ) onsidere o espaço de estados definido pelo estado inicial,, e pela função que gera os sucessores de um estado, sucessores(n)={n, n+}. onsiderando o estado

Leia mais

Tópicos Especiais: Inteligência Artificial BUSCA COM INFORMAÇÃO E EXPLORAÇÃO

Tópicos Especiais: Inteligência Artificial BUSCA COM INFORMAÇÃO E EXPLORAÇÃO Tópicos Especiais: Inteligência Artificial BUSCA COM INFORMAÇÃO E EXPLORAÇÃO Material baseado e adaptado do Cap. 4 do Livro Inteligência Artificial de Russell & Norvig Bibliografia Inteligência Artificial

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 3 Métodos de Busca para Resolução de Problemas Busca Informada Heurísticas Busca Gulosa Busca A* Busca Local Prática #2 Prof. Ricardo M. Marcacini ricardo.marcacini@ufms.br

Leia mais

Algoritmos e Tipos Abstractos de Informação

Algoritmos e Tipos Abstractos de Informação Curso de Engenharia Informática Algoritmos e Tipos Abstractos de Informação Relatório do Projecto Final: Processador de Texto: WordEST Ano Lectivo: 2003/04 Elaborado por: Gustavo Graça Patrício Nº 4757

Leia mais

Busca Cega (Exaustiva) e Heurística. Busca Aula 2

Busca Cega (Exaustiva) e Heurística. Busca Aula 2 Busca Cega (Exaustiva) e Heurística Busca Aula 2 Ao final desta aula a gente deve saber: Conhecer as várias estratégias de realizar Busca não-informada (Busca Cega) Determinar que estratégia se aplica

Leia mais

Programação 2. Trabalho Prático P4A. Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em ambiente Linux.

Programação 2. Trabalho Prático P4A. Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em ambiente Linux. Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007 Programação 2 2º Semestre Trabalho Prático P4A Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em

Leia mais

Técnicas Inteligência Artificial

Técnicas Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas Inteligência Artificial Aula 03 Métodos de Busca Prof. Max Pereira Solução de Problemas como Busca Um problema pode ser considerado

Leia mais

ALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados

ALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados ALGORITMOS Professor: Diego Oliveira Aula 06 - Tipos Primitivos de Dados Netbeans Para testar nossos exemplos criaremos uma classe no Netbeans Nesta disciplina não será visto nada de orientação a objetos,

Leia mais

Inteligência Artificial

Inteligência Artificial Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Pós-Graduação

Leia mais

Técnicas Inteligência Artificial

Técnicas Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas Inteligência Artificial Aula 03 Métodos de Busca Parte 1 Prof. Max Pereira Solução de Problemas como Busca Um problema pode ser considerado

Leia mais

Problema do Caminho Hamiltoniano

Problema do Caminho Hamiltoniano Universidade de São Paulo Escola de Artes, Ciências e Humanidades Bacharelado em Sistemas de Informação Introdução à Ciência da Computação II Professores Luciano Digiampietri e Fábio Nakano Data de entrega:

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Variáveis e Métodos de Classe Em Java, quer as classes quer as instâncias das classes são objectos. Onde está o estado da classe? Com que operações é manipulado? UBI, Departamento de Informática T04-1

Leia mais

8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38

8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados

Leia mais

8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38

8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados

Leia mais

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

Métodos de Busca. Inteligência Artificial. Busca Heurística. Busca Heurística. Prof. Ms. Luiz Alberto Contato: Inteligência Artificial Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Métodos de Busca Busca Cega ou Exaustiva: Não sabe qual o melhor nó da fronteira a ser expandido. Apenas distingue o estado objetivo

Leia mais

lnteligência Artificial

lnteligência Artificial lnteligência Artificial Busca Heurística - Informada Estratégias de Busca Heurística Usam conhecimento específico do problema na busca da solução Mais eficientes que busca não informada Busca Informada

Leia mais

Lição 7 Array em Java

Lição 7 Array em Java Lição 7 Array em Java Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Declarar e criar arrays Acessar elementos de um array Determinar o número de elementos em um

Leia mais

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível?

1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível? P1 Conceitos (2,4 valores) 1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível? (0.8v) 1.b) Indique três vantagens de criar um programa

Leia mais

Inteligência Artificial - IA

Inteligência Artificial - IA Busca sem informação Estratégias para determinar a ordem de expansão dos nós: 1. Busca em extensão 2. Busca de custo uniforme 3. Busca em profundidade 4. Busca com aprofundamento iterativo Direção da expansão:

Leia mais

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

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial Resolução de Problemas Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial 2 Resolução de Problemas Introdução Componentes Solução Busca de soluções 3 Resolução

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

Busca em Espaço de Estados a

Busca em Espaço de Estados a Busca em Espaço de Estados a Fabrício Jailson Barth BandTec Agosto de 2012 a Slides baseados no material do Prof. Jomi F. Hübner (UFSC) Introdução 2 Agente orientado a meta O projetista não determina um

Leia mais

A classe ArrayList. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

A classe ArrayList. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli A classe ArrayList Java oferece uma classe chamada ArrayList, que permite a criação e manipulação de objetos; Um objeto ArrayList é semelhante a um vetor de objetos, mas oferece inúmeras vantagens em relação

Leia mais

Orientação a Objetos AULA 09

Orientação a Objetos AULA 09 Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 04 Busca Heurística Tiago Alves de Oliveira 1 Métodos de Busca Busca Cega ou Exaustiva: Não sabe qual o melhor nó da fronteira a ser expandido. Apenas distingue o estado objetivo

Leia mais

Busca com informação e exploração. Inteligência Artificial. Busca pela melhor escolha. Romênia com custos em km 9/13/2010

Busca com informação e exploração. Inteligência Artificial. Busca pela melhor escolha. Romênia com custos em km 9/13/2010 Inteligência Artificial Aula 3 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia-pos Busca com informação e exploração Capítulo 4 Russell & Norvig Seção 4.1 2 Busca com informação (ou heurística) Utiliza

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERSIDADE DA BEIRA INTERIOR Programação II 2º Semestre Exame Época Norma (15 val) Resolução 22/06/2018 1 [1,00 val + 1,00 val] - Memória Dinâmica Considere as seguintes declarações de variáveis: int

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Funções e Vectores http://tele1.dee.fct.unl.pt

Leia mais

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Exercícios: Árvores 1. Utilizando os conceitos de grafos, defina uma árvore.

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Java Collections Framework (JCF) Uma coleção (collection) é um objeto que agrupa vários elementos. A JCF consiste numa arquitetura para representação e manipulação de coleções. Contém: - Um conjunto de

Leia mais

Projecto de Algoritmos e Estruturas de Dados

Projecto de Algoritmos e Estruturas de Dados 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

Leia mais

S U M Á R I O. Definição de Estrutura de Dados. Vetores. Listas Ligadas. Pilhas. Filas

S U M Á R I O. Definição de Estrutura de Dados. Vetores. Listas Ligadas. Pilhas. Filas ESTRUTURA DE DADOS DEBORAH FERREIRA S U M Á R I O Definição de Estrutura de Dados 1 Vetores 2 Listas Ligadas 4 Pilhas 6 Filas 8 D E F I N I Ç Ã O D E E S T R U T U R A D E D A D O S Estruturas de dados

Leia mais

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a

Leia mais

Árvores e Mapas. Luís Lopes. Estruturas de Dados DCC-FCUP

Árvores e Mapas. Luís Lopes. Estruturas de Dados DCC-FCUP Árvores e Mapas Luís Lopes DCC-FCUP Estruturas de Dados Estruturas não lineares Os arrays e as listas são exemplos de estruturas de dados lineares, cada elemento tem: um predecessor único (excepto o primeiro

Leia mais

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

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula II Algoritmos básicos de busca cega Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Resolução de problemas por meio de algoritmos de busca Aula II Algoritmos básicos de busca

Leia mais

Grafos - Representação

Grafos - Representação Grafos - Representação É importante salientar outra diferença relevante entre a representação de matriz de adjacência e a representação ligada de grafos. Na representação de matriz está implícita a possibilidade

Leia mais

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são: Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.

Leia mais

Centro Federal de Educação Tecnológica de Minas Gerais Programa de Pós-Graduação em Modelagem Matemática e Computacional

Centro Federal de Educação Tecnológica de Minas Gerais Programa de Pós-Graduação em Modelagem Matemática e Computacional Centro Federal de Educação Tecnológica de Minas Gerais Programa de Pós-Graduação em Modelagem Matemática e Computacional Disciplina: Algoritmos e Estruturas de Dados Professor: Flávio Cardeal Lista de

Leia mais

Trabalho Prático Data de Entrega : 30 de Maio

Trabalho Prático Data de Entrega : 30 de Maio Escola Superior de Tecnologia / Instituto Politécnico de Setúbal Algoritmos e Tipos Abstractos de Informação 2005/2006 Trabalho Prático Data de Entrega : 30 de Maio O problema Pretende-se realizar um jogo

Leia mais

Lista de exercícios sobre contagem de operações Prof. João B. Oliveira

Lista de exercícios sobre contagem de operações Prof. João B. Oliveira Lista de exercícios sobre contagem de operações Prof. João B. Oliveira 1. metodo m ( Vetor V ) int i, res = 0; para i de 1 a V.size res = res + V[i]; return res; Soma de elementos de um vetor, O( ). 2.

Leia mais

Filas de Prioridade. Uma fila de prioridade pode ser vista como uma generalização das filas com as seguintes duas operações:

Filas de Prioridade. Uma fila de prioridade pode ser vista como uma generalização das filas com as seguintes duas operações: Filas de Prioridade e Heaps 9.1 Filas de Prioridade Uma fila de prioridade pode ser vista como uma generalização das filas com as seguintes duas operações: inserir um elemento na fila; remover o elemento

Leia mais

Grupo 2 - Implementação de uma classe simples

Grupo 2 - Implementação de uma classe simples Exame Modelo Estruturas de Dados 2018/2019 Junho de 2019 Duração: 2h30m + 30m Número mecanográco: Nome completo do estudante: Grupo 1 - Fundamentos de Java 1.1. Escreva pequenos excertos de código para

Leia mais

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Ao desenvolver os seguintes programas tenha em atenção o bom uso dos comentários, o uso da indentação e o correcto nome

Leia mais

Resolução de Problemas de Busca

Resolução de Problemas de Busca Resolução de Problemas de Busca 1 Ao final desta aula a gente deve Compreender o que é um problema de busca em IA Ser capaz de formulá-lo Conhecer algumas aplicações Entender como buscar a solução do problema

Leia mais

MCTA001 Algoritmos e Estruturas de Dados I. Aula 08 Árvores (parte 1) Laboratório

MCTA001 Algoritmos e Estruturas de Dados I. Aula 08 Árvores (parte 1) Laboratório MCTA001 Algoritmos e Estruturas de Dados I Aula 08 Árvores (parte 1) Laboratório 1Q-19 1 2 Árvore binária de busca (ABB) Inventada por P.F. Windley, A.D. Booth, A.J.T. Colin, e T.N. Hibbard em 1960. É

Leia mais

Array em Java. Figura 1 - Exemplo de um array de inteiros

Array em Java. Figura 1 - Exemplo de um array de inteiros Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:

Leia mais

Busca com informação e exploração. Inteligência Artificial. Revisão da aula passada: Heurística Admissível. Revisão da aula passada: Busca A *

Busca com informação e exploração. Inteligência Artificial. Revisão da aula passada: Heurística Admissível. Revisão da aula passada: Busca A * Inteligência Artificial Aula 6 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Busca com informação e exploração Capítulo 4 Russell & Norvig Seção 4.2 e 4.3 Revisão da aula passada: Busca A * Idéia:

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

Departamento de Ciência de Computadores Estruturas de Dados (CC114)

Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1. Cotação de cada pergunta: 1. 32 / 2. 36 / 3. 32 (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame distribuídas. 1. (Valorização: 32%) Responda às seguintes questões:

Leia mais

Estudo e implementação de heurísticas para determinação do caminho de menor custo para atender a rotas pré estabelecidas. Por: Charles Pereira

Estudo e implementação de heurísticas para determinação do caminho de menor custo para atender a rotas pré estabelecidas. Por: Charles Pereira Estudo e implementação de heurísticas para determinação do caminho de menor custo para atender a rotas pré estabelecidas Por: Charles Pereira Objetivos Principal: - Criar, implementar e avaliar heurísticas

Leia mais

INTELIGÊNCIA ARTIFICIAL

INTELIGÊNCIA ARTIFICIAL INTELIGÊNCIA ARTIFICIAL Primeiro Teste 29 de Outubro de 2011 17:00-18:30 Este teste é composto por 9 páginas contendo 11 perguntas. Para perguntas com resposta de escolha múltipla, respostas erradas com

Leia mais

Tipos Abstratos de Dados

Tipos Abstratos de Dados Tipos Abstratos de Dados Prof. Rui Jorge Tramontin Jr. UDESC - Rui J. Tramontin Jr. 1 Índice Introdução Definição de Tipos Abstratos de Dados Exemplos de TADs Implementação de TADs Implementação em C Exemplo

Leia mais

Busca com informação e exploração. Inteligência Artificial

Busca com informação e exploração. Inteligência Artificial Busca com informação e exploração (Capítulo 4 - Russell) Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura Busca pela melhor escolha Busca gulosa pela melhor escolha Busca

Leia mais

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01 . CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01 Créditos: alguns itens desta lista são adaptados do material da disciplina CS188 - Artificial Intelligence

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 9 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 mais

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Busca heurística

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Busca heurística Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Resolução de problemas por meio de algoritmos de busca Busca heurística Roteiro Retomada do

Leia mais

Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2. Trabalho Prático P2B

Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2. Trabalho Prático P2B Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007 Programação 2 2º Semestre Trabalho Prático P2B Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof.

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof. Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof. Renato Pimentel Prática 02 Java básico Atividade individual. Crie um novo projeto

Leia mais

Teoria da Computação. 2006/2007 Trabalho prático nº 1. Trabalho realizado por: Pedro Oliveira ( ) Rui Costa ( ) Turma: TP1

Teoria da Computação. 2006/2007 Trabalho prático nº 1. Trabalho realizado por: Pedro Oliveira ( ) Rui Costa ( ) Turma: TP1 2006/2007 Trabalho prático nº 1 Trabalho realizado por: Pedro Oliveira (501062444) Rui Costa (501062452) Turma: TP1 1 - Introdução O objectivo deste trabalho era implementar um simulador de Autómatos Finitos

Leia mais

Alguns Exercícios de Inteligência Artificial

Alguns Exercícios de Inteligência Artificial Alguns Exercícios de Inteligência Artificial Ana Paula Tomás Nelma Moreira Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: {apt,nam}@ncc.up.pt 1997 1. Números

Leia mais

Resolução de problemas por meio de busca. Inteligência Artificial. Busca. Exemplo: Romênia. Exemplo: Romênia 8/23/2010

Resolução de problemas por meio de busca. Inteligência Artificial. Busca. Exemplo: Romênia. Exemplo: Romênia 8/23/2010 Inteligência Artificial Aula 2 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Resolução de problemas por meio de busca Capítulo 3 Russell & Norvig Seções 3.1, 3.2 e 3.3 Agentes de resolução de problemas

Leia mais

Rui Carneiro, Rui Pereira, Tiago Orfão

Rui Carneiro, Rui Pereira, Tiago Orfão Geração de Gráficos SVG através de PHP Rui Carneiro, Rui Pereira, Tiago Orfão Faculdade de Engenharia da Universidade do Porto, R. Dr. Roberto Frias, 4200-465 Porto. {ei04073,ei04077,ei03102}@fe.up.pt

Leia mais

Estrutura de Dados: Aula 3 - Linguagem C

Estrutura de Dados: Aula 3 - Linguagem C Estrutura de Dados: Aula 3 - Linguagem C Uso de Memória Alocação de memória Estática Ocorre em tempo de compilação no momento em que se define uma variável ou estrutura é necessário que se definam seu

Leia mais

Sintaxe da linguagem Java

Sintaxe da linguagem Java Sintaxe da linguagem Java (PG) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Classe pública com método main Uma classe pública com nome A tem

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 16. Ordenação Revisão para a prova

CURSO BÁSICO DE PROGRAMAÇÃO AULA 16. Ordenação Revisão para a prova CURSO BÁSICO DE PROGRAMAÇÃO AULA 16 Ordenação Revisão para a prova Algoritmos de Ordenação São algoritmos que organizam uma sequência (por exemplo, os elementos de um vetor) em ordem crescente ou decrescente.

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERSIDADE DA BEIRA INTERIOR Programação II 1º Semestre Exame Época Normal (15 val) 2h + 30min 21/01/2019 1 [2,00 val = 1,00 val + 1,00 val] - Memória dinâmica Considere as seguintes declarações de variáveis:

Leia mais

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.2 e 4.3

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.2 e 4.3 Busca com informação e exploração Capítulo 4 Russell & Norvig Seção 4.2 e 4.3 1 Revisão da aula passada: Busca A * Idéia: evitar expandir caminhos que já são caros Função de avaliação f(n) = g(n) + h(n)

Leia mais

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira Árvores SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Listas e árvores Listas lineares Um nó após o outro, adjacentes Nó sucessor e antecessor Diversas aplicações necessitam de estruturas

Leia mais

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01 . CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01 Créditos: alguns itens desta lista são adaptados do material da disciplina CS188 - Artificial Intelligence

Leia mais

Lista de Exercícios sobre Listas Implementadas por Encadeamento

Lista de Exercícios sobre Listas Implementadas por Encadeamento Lista de Exercícios sobre Listas Implementadas por Encadeamento 1) Se você tem de escolher entre uma representação por lista encadeada ou uma representação usando posições contíguas de memória para um

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERSIDADE DA BEIRA INTERIOR Algoritmos e Estruturas de Dados - Bioengenharia 2º Semestre Exame Época Normal Resolução 13/junho/2015 A. [3.5 val] Algoritmos de ordenação e de pesquisa Considere-se as

Leia mais

Resolução de Problemas

Resolução de Problemas Resolução de Problemas 1 Agente de Resolução de Problemas (1/2) 2 O agente reativo Escolhe suas ações com base apenas nas percepções atuais não pode pensar no futuro, não sabe aonde vai 4 5 8 1 6 7 2 3?

Leia mais

Lista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013

Lista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013 Lista 1 - PMR2300 Fabio G. Cozman 3 de abril de 2013 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u b l i c s t a t i c void

Leia mais

AULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação

AULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação AULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação 1 Vector Os vectores são semelhantes aos arrays, pois também podem conter um conjunto de objectos aos quais é atribuído um índice.

Leia mais

Inteligência Artificial (SI 214) Aula 4 Resolução de Problemas por meio de Busca Heurística

Inteligência Artificial (SI 214) Aula 4 Resolução de Problemas por meio de Busca Heurística Inteligência Artificial (SI 214) Aula 4 Resolução de Problemas por meio de Busca Heurística Prof. Josenildo Silva jcsilva@ifma.edu.br 2015 2012-2015 Josenildo Silva (jcsilva@ifma.edu.br) Este material

Leia mais

INF 1620 Estruturas de Dados Semestre Segundo Trabalho: Jogo de Caça-Palavras

INF 1620 Estruturas de Dados Semestre Segundo Trabalho: Jogo de Caça-Palavras INF 1620 Estruturas de Dados Semestre 08.2 Segundo Trabalho: Jogo de Caça-Palavras O jogo de caça-palavras é um passatempo que consiste em descobrir palavras escondidas entre um conjunto de letras espalhadas

Leia mais

Resolução de problemas por meio de busca. Inteligência Artificial. Formulação de problemas. Estratégias de busca

Resolução de problemas por meio de busca. Inteligência Artificial. Formulação de problemas. Estratégias de busca Inteligência Artificial Aula 4 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Resolução de problemas por meio de busca Capítulo 3 Russell & Norvig Seções 3.4 e 3.5 Formulação de problemas Algoritmo

Leia mais