Melhor caminho entre duas estações de metro
|
|
- Laura Gusmão Sequeira
- 6 Há anos
- Visualizações:
Transcrição
1 [EIC0110] Concepção e Análise de algoritmos Trabalho de Grupo 1: Tema 7 Melhor caminho entre duas estações de metro Turma 3 Grupo 13 Maio de 2011 Trabalho realizado por: Maria Antonieta Dias Ponce de Leão e Oliveira ei07157@fe.up.pt
2 Índice 1 Introdução Resumo Limites da aplicação Resultados esperados Detalhes da implementação Situações de contorno Algoritmos Implementados Diagrama de Classes Casos de utilização Dificuldades Encontradas Conclusão Desenvolvimentos Futuros Bibliografia Índice de Figuras Figura Figura Figura Figura Figura Figura Figura Página 2 de 12
3 1 Introdução 1.1 Resumo Este trabalho consiste numa optimização de procura do melhor caminho (menor peso) entre duas estações de metro. Como parâmetros de entrada, fornecidos pelo utilizador tem-se: Nome do executável (obrigatório); Um ficheiro de texto com o nome da rede de metro, em termos de linhas e estações pertencentes a essa linha (cada linha horizontal corresponde a uma linha de metro e nela se encontram, separadas por espaços, as estações que constituem essa mesma linha) (obrigatório); Estação de origem e de destino (opcionais). Pretende-se que o utilizador introduza os parâmetros na consola da seguinte forma: Nome_do_executável Nome_do_ficheiro_de_texto.txt Estação_de_origem Estação_de_destino Por exemplo: Figura 1 A Figura 1 representa um mapa de linhas de metro correspondente ao input de um ficheiro (Graph1.txt) com o formato: A B C Página 3 de 12
4 1.2 Limites da aplicação Prevê-se que uma vez que será implementado um algoritmo de Dijkstra (modificado) esta aplicação funcionará apenas para grafos não dirigidos e com arestas de custo não negativo. 1.3 Resultados esperados Prevê-se que seja calculado, correctamente, o caminho de menor peso entre pares de estações, o que nem sempre poderá significar a passagem por menos estações. Por exemplo o caminho de menor custo entre 3 e 5 é 3 A 2 A 1 C 4 C 5 e não 3 A 2 B 4 C 5. Prevê-se também que a implementação deste algoritmo de Dijsktra modificado resulte numa complexidade temporal e espacial apropriadas. Página 4 de 12
5 2 Detalhes da implementação 2.1 Situações de contorno A criação do grafo correspondente a um determinado mapa é feita de forma a que, a cada combinação estação linha, corresponda um vértice do grafo. Por exemplo na Figura 1, pela estação 1 passam 3 linhas diferentes, a linha A, B e C. Assim na construção do grafo são criados 4 vértices, o vértice 1, correspondente a estação 1, o vértice 1A correspondente à escolha da linha A na estação 1, o vértice 1B correspondente à escolha da linha B na estação 1 e o vértice 1C correspondente à escolha da linha C na estação 1, e por assim em diante para as restantes combinações de estação linha (ver Figura 2). Esta modificação também facilita a atribuição de pesos diferentes para mudar/entrar/sair de linhas e viajar na mesma linha. Figura 2 Página 5 de 12
6 2.2 Algoritmos Implementados O algoritmo de escolha foi baseado no de Dijkstra 1, que consiste no seguinte: Para um dado vértice de um grafo o algoritmo encontra o caminho de menor custo entre esse vértice e todos os outros vértices do grafo. 1. Chama-se ao vértice de origem nó inicial. Marcando-o com peso zero (0) e todos os restantes nós com peso infinito (9999); 2. Para o vértice actual consideram-se todos os vértices vizinhos e calcula-se o seu peso de ensaio. Se o peso calculado for menor que o peso que se encontra no vértice (que no inicio do algoritmo é infinito ) substituímos pelo peso agora calculado, somando o custo do vértice actual com o custo da aresta; 3. Verifica-se se o peso de algum vértice foi alterado; 3.1. Se sim, executar o passo 2 para todos os vértices cujo peso foi alterado; 3.2. Se não, terminar. Este algoritmo tem uma complexidade temporal de O(N.log(N)) e uma complexidade espacial de O(N 2 ). 1 Dijkstra Algoritmo criado por (Edsger Wybe Dijkstra) em 1956 e publicado em Página 6 de 12
7 2.3 Diagrama de Classes Figura 3 Página 7 de 12
8 2.4 Casos de utilização O programa calcula o caminho mais curto entre estações de metro: 1. Se for fornecido pelo utilizador uma estação de origem e uma estação de destino, o programa devolve, na consola (ver Figura 4), o caminho mais curto entre elas. Abre a API de visualização e marca esse caminho mais grosso e as estações por onde passa a Vermelho (ver Figura 5). Por exemplo, caminho mais curto entre as estações estação 1 e 2: (entrar na estação 1, apanhar a linha A e seguir na linha A até à estação 2) Figura 4 Figura 5 Página 8 de 12
9 2. Se for fornecido pelo utilizador apenas a estação de origem o programa devolve o caminho mais curto entre a estação de origem e todas as outras e mostra o grafo na API de visualização. Por exemplo, estação de origem 1: Figura 6 3. Se não for fornecida nem estação de origem nem estação de destino o programa devolve na consola o caminho mais curto entre todos os pares de estações e os seus simétricos. E mostra o grafo na API de visualização. Figura 7 Página 9 de 12
10 2.5 Dificuldades Encontradas A leitura do ficheiro e consequente criação dos vértices e das arestas do grafo sofreu variadas alterações, devido a situações que foram surgindo durante a implementação, assim houve a necessidade de criar: a) Vértices para cada estação, a estação em si, e as combinações estação linha. Criando os parâmetros string originalname que corresponde ao nome da estação em si, e o parâmetro string name que corresponde à combinação estação linha. b) Parâmetro int id, uma vez que a API de visualização restringe o uso de inteiros para identificar tanto os vértices como as arestas. c) A função Reset(), que repõe todos os nós com peso infinito (9999) e como não visitados. Pois o algoritmo de Dijkstra apenas permite o cálculo entre uma estação de origem e uma de destino. Quando se queria calcular o peso entre uma estação e todas as outras (no caso de apenas a estação de origem ser fornecida) ou o peso entre todos os pares de estações (no caso de não ser fornecida nem estação de origem nem destino) os vértices já se encontravam marcados como visitados e, como tal, o algoritmo parava, pois todos os pesos, a partir de uma origem e em direcção a um destino, já se encontravam calculados. Mas as restantes combinações não. d) O parâmetro previousconnection, que indica qual foi o vértice anterior pelo qual se chegou ao vértice actual, necessário para a criação do caminho que no final é devolvido ao utilizador. e) MAKEFILE, poderá não estar a funcionar correctamente. Página 10 de 12
11 3 Conclusão Os objectivos propostos foram cumpridos, cálculo e visualização do melhor caminho (de menor peso) entre estações. Chegou-se à conclusão que o algoritmo de Dijkstra (Dijkstra's algorithm) não é o algoritmo mais indicado para o problema proposto. Surgiu a necessidade de criar um algoritmo baseado no de Dijkstra que apesar de aumentar a complexidade temporal, aumenta também a qualidade dos resultados e permite a utilização de grafos mais complexos. 3.1 Desenvolvimentos Futuros Para grafos direccionados é preciso definir um formato do ficheiro de entrada e implementar um parser para isso. Caso essa funcionalidade estivesse disponível, dependendo do grafo e do ponto de partida, o algoritmo iria conseguir chegar ao ponto de destino mas nesse caso haveria a possibilidade de não encontrar um caminho. Página 11 de 12
12 Bibliografia CPlusPlus. (s.d.). Obtido em 9 de Maio de 2011, de Dijkstra's algorithm. (s.d.). Obtido em 9 de Maio de 2011, de Edsger Wybe Dijkstra. (s.d.). Obtido em 9 de Maio de 2011, de Fibonacci heap. (s.d.). Obtido em 9 de Maio de 2011, de Rossetti, R. (s.d.). Wiki da disciplina. Obtido em Maio de 2011, de Página 12 de 12
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 maisMelhor caminho entre duas estações de metro
Faculdade de Engenharia da Universidade do Porto Mestrado Integrado em Engenharia Informática e Computação Melhor caminho entre duas estações de metro Relatório do Trabalho Prático de CPAL 2008/2009 João
Leia maisTeoria dos Grafos Aula 8
Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e implementação de alg. de Dijkstra Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente
Leia maisOalgoritmo de Dijkstra
Dijkstra Oalgoritmo de Dijkstra O algoritmo de Dijkstra, concebido pelo cientista da computação holandês Edsger Dijkstra em 1956 e publicado em 1959, soluciona o problema do caminho mais curto num grafo
Leia mais[EIC0110] Concepção e Análise de algoritmos 2010-2011. Trabalho de Grupo 2: Tema 4. Auto-Complete. Turma 3 Grupo 13. Maio de 2011
[EIC0110] Concepção e Análise de algoritmos 2010-2011 Trabalho de Grupo 2: Tema 4 Auto-Complete Turma 3 Grupo 13 Maio de 2011 Trabalho realizado por: Maria Antonieta Dias Ponce de Leão e Oliveira 070509157
Leia maisCaminho Mínimo de Fonte Única em Grafos sem Pesos Negativos
Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Letícia Rodrigues Bueno UFABC Problema : Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual
Leia maisGRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes
8//6 GRAFOS BUSCAS E MENOR CAMINHO Prof. André Backes Busca em grafos Definição Consiste em explorar o grafo de uma maneira bem específica. Trata-se de um processo sistemático de como caminhar por seus
Leia maisTecnicas Essencias Greedy e Dynamic
Tecnicas Essencias Greedy e Dynamic Paul Crocker RELEASE - Reliable and Secure Computation Group Universidade da Beira Interior, Portugal October 2010 1 / 27 Outline 1 Introdução 2 Exemplo Greedy I : Interval
Leia mais2º Trabalho Prático - Algoritmos em grafos
Page of LEIC - AEDII - 00/003 - º Semestre º Trabalho Prático - Algoritmos em grafos Introdução Conteúdo do trabalho O segundo trabalho consiste no desenvolvimento de um programa em Java de aplicação de
Leia maisGRAFOS Aula 06 Algoritmo de Caminho Mínimo: Dijkstra Max Pereira
Ciência da Computação GRAFOS Aula 06 Algoritmo de Caminho Mínimo: Dijkstra Max Pereira Publicado em 1959, o algoritmo resolve o problema do caminho mínimo em grafos orientados ou não, sob uma restrição:
Leia maisTeoria dos Grafos Aula 8
Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e algoritmo de Dijkstra Dijkstra o próprio Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente
Leia maisCAL - Concepção e Análise de Algoritmos
3ª Aula Prática Divisão e Conquista Instruções Faça download do ficheiro cal20102011_fp03.zip da página da disciplina e descomprima-o (contém os ficheiros Test.cpp, Ponto.h, Ponto.cpp, UtilFunctions.cpp
Leia maisINF 1010 Estruturas de Dados Avançadas
INF Estruturas de Dados Avançadas Grafos // DI, PUC-Rio Estruturas de Dados Avançadas. Aplicações de grafos grafo vértices arestas Cronograma tarefas restrições de preferência Malha viária interseções
Leia maisDistâncias Mínimas. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Distâncias Mínimas 2014/ / 27
Distâncias Mínimas Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Distâncias Mínimas 2014/2015 1 / 27 Distâncias Mínimas Uma das aplicações mais típicas em grafos é o cálculo de distâncias.
Leia maisEdsger Wybe Dijkstra
Edsger Wybe Dijkstra Maio 90 Agosto 00 Roterdã, Holanda Nuenen, Holanda Cientista da Computação Contribuições: Algoritmos Linguagem de Programação ALGOL 0 Sistema Operacional THE Processamento Distribuído
Leia maisAlgoritmos em Grafos: Caminho Mínimo
Algoritmos em Grafos: Caminho Mínimo Letícia Rodrigues Bueno UFABC Problema 2: Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual o menor caminho entre
Leia maisFelipe Affonso Feliphe Nogueira
Felipe Affonso Feliphe Nogueira 11 de maio 1930 / 2 de Agosto 2002 Cálculo de custo mínimo entre vértices de um grafo; Utilização de grafos orientados ou não; Aplicação em áreas de transportes e redes
Leia maisTELEVISÃO DIGITAL LEEC 2006/2007
TELEVISÃO DIGITAL LEEC 2006/2007 DETECÇÃO DE CONTORNOS GRUPO 6: Hugo Miguel Rodrigues Gonçalves Dinis Guedes Afonso ee01171 ee01148 Introdução Este trabalho tem como objectivo a implementação de métodos
Leia maisAlgoritmo de Dijkstra Estudo e Implementação
Teoria dos Grafos 0/0 Algoritmo de Dijkstra Estudo e Implementação Professora: Claudia Boeres Alunos: José Alexandre Macedo Maycon Maia Vitali Problema do Caminho Mínimo Qual o caminho mínimo entre um
Leia maisProblema do Caminho Mais Curto. Problema do Caminho Mais Curto
Problema do Caminho Mais Curto " Podemos afectar pesos" aos arcos de um grafo, por exemplo, para representar uma distância entre cidades numa rede ferroviária: ria: Chicago 650 600 700 Toronto 200 New
Leia maisTeoria dos Grafos Aula 3
Teoria dos Grafos Aula 3 Aula passada Exemplo (mapas) Definições Algumas propriedades Aula de hoje Representando grafos Matriz e lista Comparando tempos de acesso Grafo G=(V, E) Grafo V = conjunto de vértices
Leia maisCaminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford. O problema tem subestrutura óptima
Caminho mais curto a partir de um nó Caminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford Fernando Lobo Algoritmos e Estrutura de Dados II Input: Um grafo com pesos nos arcos G =
Leia maisCaminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford
Caminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 28 Caminho mais curto a partir de um nó Input: Um grafo com pesos nos arcos
Leia maisProblemas de Fluxo em Redes
CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação
Leia maisTeoria dos Grafos Aula 7
Teoria dos Grafos Aula 7 Aula passada Grafos direcionados Busca em grafos direcionados Ordenação topológica Aula de hoje Grafos com pesos Caminhos mínimos Dijkstra a ideia Dijkstra o algoritmo Dijkstra
Leia maisEngenharia de Software
Sumário Engenharia de Software Modelos de desenvolvimento de software Fases de desenvolvimento Programação modular Abordagem top-down e bottom-up Linguagens de programação: Compilação / Interpretação Aplicação
Leia maisSistema Rodoviário Tabajara
Universidade Federal do Espírito Santo Departamento de Informática Est. de Informação (INF02827) & Est. de Dados (INF01906) 2 o Trabalho Prático Período: 2008/2 Prof a Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br
Leia maisUNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação
UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação SCC-203 ALGORITMOS E ESTRUTURAS DE DADOS II Prova - Gabarito Nome: Nro. USP ) O matemático
Leia maisÍndice. 1 Descrição Geral Selecção do Idioma 2. 2 Corte Descrição Geral 2
Índice 1 Descrição Geral 2 1.1 Selecção do Idioma 2 2 Corte 2 2.1 Descrição Geral 2 2.2 Placas Base 2 2.2.1 Descrição Geral 2 2.2.2 Introdução, edição 3 2.3 Lista de Peças 4 2.3.1 Medidas 4 2.3.2 Fita
Leia maisPROJETO E ANÁLISE DE ALGORITMOS (INF 2926)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão Horário: 4as-feiras de 13 às 16 horas - Sala 511 RDC 29 de abril de 2015 Data da Entrega: 10 de junho de 2015 Período: 2015.1
Leia maisTeoria dos Grafos Aula 6
Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes
Leia maisTeoria 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 maisCaminhos mínimos de todos os pares
Caminhos mínimos de todos os pares Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução
Leia maisGRAFOS Aula 09 Coloração de Grafos Max Pereira
Ciência da Computação GRAFOS Aula 09 Coloração de Grafos Max Pereira O problema da coloração de grafos trata-se de atribuir cores a determinados elementos de um grafo, sob certas restrições. A coloração
Leia maisTeoria dos Grafos Aula 9
Teoria dos Grafos Aula 9 Aula passada Grafos direcionados Busca em grafos direcionados Ordenação topológica Aula de hoje Grafos com pesos Dijkstra Implementação Fila de prioridades e Heap Dijkstra (o próprio)
Leia maisIntrodução à classe de problemas NP- Completos
Introdução à classe de problemas NP- Completos R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes FEUP, MIEIC, CAL, 2010/2011 1 Introdução Considerações Práticas Em alguns casos práticos, alguns
Leia maisEstrutura de Dados e Algoritmos e Programação e Computadores II. Aula 11: Introdução aos Grafos
Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 11: Introdução aos Grafos Indução Finita Indução Finita é uma técnica para provar teoremas também usada no projecto de algoritmos. Suponha
Leia maisModelação Engenharia de Software
Modelação Engenharia de Software 2 o Semestre de 2008/2009 3 a entrega: Requisitos do sistema Test O Matic Sistema Nacional para as Competências Profissionais de Utopia 11 de Maio de 2009 1 Introdução
Leia maisCIC 111 Análise e Projeto de Algoritmos II
CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 22 Combinatorics Binomial coefficients Catalan numbers Inclusion-exclusion Burnside
Leia maisUm Minotauro Perdido & Percolação
Departamento de Ciência da Computação IME-USP Segundo Semestre de 2014 MAC 115 Introdução à Computação IF Noturno (Versão quase final) Um Minotauro Perdido & Percolação Exercício-Programa 4 (EP4) Data
Leia maisSCC0503 (Algoritmos e Estruturas de Dados II) Prof. Moacir P. Ponti Junior. Trabalho 2
SCC003 (Algoritmos e Estruturas de Dados II) Prof. Moacir P. Ponti Junior Trabalho 2 Implemente sua atividade sozinho sem compartilhar, olhar código de seus colegas, ou buscar na Internet. Procure usar
Leia mais7. A linguagem robcomm
7. A linguagem robcomm 7.1. Fundamentos As linguagens de programação, tal como as linguagens humanas, são definidas através de um conjunto de regras morfológicas, que determinam a sua estrutura, e semânticas
Leia maisProblema 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 maisSimulador didático de testes de algoritmos de ordenação
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA Simulador didático de testes de algoritmos de ordenação Nomes: Bruno Silva Guedes (159033) Matheus de Carvalho Proença (160184) Turma:
Leia maisPesquisa em Grafos. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Pesquisa em Grafos 2014/ / 33
Pesquisa em Grafos Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Pesquisa em Grafos 2014/2015 1 / 33 Pesquisa em Grafos Uma das tarefas mais importantes é saber percorrer um grafo, ou seja
Leia maisINF INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA
INF1771 - INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA Descrição: Para se tornar um Mestre Pokémon é necessário aventurar-se por terras desconhecidas, capturar novos pokémons, treina-los e derrotar
Leia maisProgramação Procedimental
Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos
Leia maisEspecificação do TP3
Especificação do TP3 Data de Entrega: 21/05/2008 1 Descrição do Problema O problema a ser resolvido neste trabalho é conhecido na literatura como o problema de isomorfismo de sub-grafos Uma definição formal
Leia maisVisibilidade e Encapsulamento
Visibilidade e Encapsulamento Professor: Ricardo Luis dos Santos IFSUL 2016 Agenda Pacotes Visibilidade Encapsulamento Hands-On 2 Pacotes Em Java, a visibilidade ou grau de acesso a um determinado atributo
Leia maisCaminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno
Caminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno UFABC Problemas de Caminho Mínimo Caminho mínimo de fonte única: algoritmo de Dijsktra; Problemas de Caminho Mínimo Caminho
Leia maisTeoria e Algoritmos em Grafos
Teoria e Algoritmos em Grafos 2018.2 Conjunto Independente Conjuntos Independentes são subconjuntos de vértices de um grafo no qual nenhum vértice é adjacente entre si. Conjunto Independente Conjuntos
Leia maisTeoria dos Grafos Aula 5
Teoria dos Grafos Aula Aula passada Explorando grafos Mecanismos genéricos Ideias sobre BFS, DFS Aula de hoje Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Busca em Grafos Problema
Leia maisGrafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32
Grafos - Introdução Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/2015 1 / 32 Conceito Definição de Grafo Formalmente, um grafo é: Um conjunto de nós/vértices (V).
Leia maisNuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH
Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH Optimization and decision support techniques PDEEC 2007 Introdução A meta-heurística VNS (Variable Neighbourhood Search) é bastante recente
Leia maisAula 09. Percurso em grafo
Logo Aula 09 Percurso em grafo 2 Percurso de grafo Veremos agora a pesquisa em profundidade e pesquisa em largura de um grafo. Ambos os algoritmos recebem um nó inicial no grafo, e eles visitam todos os
Leia maisDepartamento de Engenharia Informática. Sistemas Operativos 1. Utilitário Make
Departamento de Engenharia Informática Sistemas Operativos 1 Utilitário Make Março 2003 1. Modelo de Compilação da Linguagem C Compilar um programa muito simples em C requer, pelo menos, o ficheiro de
Leia maisCIC 110 Análise e Projeto de Algoritmos I
CIC 0 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA Caminhos mais curtos Caminhos mais curtos Encontrar um caminho mais curto entre dois nós
Leia maisModelos matemáticos para resolução de problemas de afectação de operações a recursos produtivos
Métodos de Análise de Sistemas Produtivos Modelos matemáticos para resolução de problemas de afectação de operações a recursos produtivos 17 de Maio de 2002 Alunos: Álvaro Magalhães Bernardo Ribeiro João
Leia maisFunções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
Prof. André Backes Função Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. print(): função que escreve na tela input (): função que lê o teclado 1 Função Facilitam
Leia maisTeoria da Computação. Complexidade computacional classes de problemas
Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos
Leia maisÁrvore Geradora Mínima
GRAFOS ÁRVORE GERADORA MÍNIMA Prof. André Backes Árvore Geradora Mínima Definição Uma árvore geradora (do inglês, spanning tree) é um subgrafo que contenha todos os vértices do grafo original e um conjunto
Leia maisCaminho mais curto e o algoritmo de Dijkstra
Caminho mais curto e o algoritmo de Dijkstra Márcia R. Cerioli Departamento de Ciência da Computação - IM e PESC - COPPE UFRJ Algoritmos e Grafos Dezembro de 05 Problema do Caminho mais Curto Problema
Leia maisProjecto # 4: HangMan
Projecto # 4: HangMan Entrega: 17 de Junho as 23:59 Para este problema sua missão é escrever um programa que implementa o jogo Hangman. Deve-se ter em conta dois objectivos. Primeiro, o programa é desenhado
Leia maisO Manual do KCM Tablet. Jörg Ehrichs Tradução: José Pires
Jörg Ehrichs Tradução: José Pires 2 Conteúdo 1 Configuração da Tablete Wacom 5 1.1 Gestão de Perfis....................................... 5 1.2 Configuração e Informação Geral da Tablete......................
Leia maisTrabalho de Linguagens Formais e Compilação
Trabalho de Linguagens Formais e Compilação Desenho de uma linguagem simples e do seu compilador para MIPS. (cod. 5387) Departamento de Informática Universidade da Beira Interior Ano lectivo 2012/2013
Leia maisCAL ( ) MIEIC/FEUP Grafos: Introdução (Março, 2011)
1 Algoritmos em Grafos: Introdução R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Março de 2011 Índice 2 Revisão de conceitos e definições Exemplificar aplicações Representação
Leia maisManual do Gestor da Turma
Faculdade de Engenharia da Universidade do Porto Licenciatura Informática e Computação Laboratório de Informática Avançada Automatização de Horários Manual do Gestor da Turma João Braga http://www.fe.up.pt/~ei97027/lia.html
Leia maisAlgoritmos Probabilísticos
Algoritmos Probabilísticos Gilson Evandro Fortunato Dias Orientador: José Coelho de Pina Universidade de São Paulo Instituto de Matemática e Estatística Departamento de Ciência da Computação MAC0499 p.
Leia maisTeoria da Computação. 2006/2007 Trabalho prático nº 2. Trabalho realizado por: Pedro Oliveira ( ) Rui Costa ( ) Turma: TP1
2006/2007 Trabalho prático nº 2 Trabalho realizado por: Pedro Oliveira (501062444) Rui Costa (501062452) Turma: TP1 1 - Introdução O objectivo deste trabalho foi desenvolver um Simplificador de Gramáticas
Leia maisGrafos Árvores Geradoras Mínimas
ALGORITMOS E ESTRUTURAS DE DADOS II Grafos Árvores Geradoras Mínimas Profa. Elaine Parros Machado de Sousa adaptações: Cris.na Dutra de Aguiar Ciferri Material baseado em aulas dos professores: Gustavo
Leia maisProva Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade
Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Gustavo E.A.P.A. Batista 25 de janeiro de 2005 1 Contextualização 2 Caminhos Mínimos Caminhos Mínimos de uma Origem
Leia maisINF INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA
INF1771 - INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA Descrição: Era uma vez, uma pequena menina conhecida em seu vilarejo como chapeuzinho vermelho. Era uma garotinha muito alegre e todos a adoravam.
Leia maisAgentes e Inteligência Artificial Distribuída
Agentes e Inteligência Artificial Distribuída Sistema Multi-Agente para automação inteligente de uma casa Dezembro de 2006 Trabalho realizado por: André Lessa (ei02017) - ei02017@fe.up.pt Índice 1. Objectivo...
Leia maisTécnicas de análise de algoritmos
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Técnicas de análise de algoritmos Algoritmos e Estruturas de Dados I Natália Batista https://sites.google.com/site/nataliacefetmg/ nataliabatista@decom.cefetmg.br
Leia maisCaminhos em Grafos. Grafos - Caminho Simples (1) (Cliente para M. de Adj.) static int visited[maxv];
Caminhos em rafos Caminho simples Dados dois vértices num grafo, saber se estão ligados por um caminho; Determinar se o caminho existe ou calculá-lo explicitamente; Caminho de Hamilton Dados dois vértices
Leia maisEstruturas de Dados Grafos
Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:
Leia maisObrigações de controlo de fornecedor externo. EUDA Aplicações desenvolvidas pelo utilizador final
Obrigações de controlo de fornecedor externo Aplicações desenvolvidas pelo utilizador final Área de Designação Descrição do controlo Porque é importante controlo do controlo Governação e garantia Funções
Leia maisTeoria dos Grafos Aula 17
Teoria dos Grafos Aula 17 Aula passada Problema da soma do subconjunto (subset sum) Programação dinâmica Problema da mochila Aula de hoje Alinhamento de sequências Programação dinâmica Caminho mais curto
Leia maisINF 1010 Estruturas de Dados Avançadas
INF Estruturas de Dados Avançadas Grafos //8 DI, PUC-Rio Estruturas de Dados Avançadas. Primeiro uso conhecido 7 Euler: pontes de Königsberg //8 DI, PUC-Rio Estruturas de Dados Avançadas. Primeiro uso
Leia maisÍndice MANUAL DE UTILIZAÇÃO BALCÃO DIGITAL CGI
Índice 1. Requisitos que devem ser cumpridos para a correta utilização das funcionalidades do Balcão Digital... 2 2. Procedimentos inerentes à correta utilização do Balcão Digital... 3 3. Funcionalidades
Leia maisGrafos IFRN. Prof.Robinson Alves
Grafos IFRN Prof.Robinson Alves Caminhos É uma seqüência de arestas onde o vértice final de uma aresta é o vértice inicial da próxima v c c3 c1 c6 c4 {c1,c,c4,c5,c6} {c,c3,c4,c5} {,v,,,v5} {v,,,v5,} c5
Leia maisAlgoritmo para Construção do Diagrama de Voronoi com abordagem de Divisão e Conquista
Algoritmo para Construção do Diagrama de Voronoi com abordagem de Divisão e Conquista Augusto Luengo Pereira Nunes 1 1 Instituto de Informática Universidade Federal do Rio Grande do Sul (UFRGS) Caixa Postal
Leia maisCaminhos mínimos de única origem
Caminhos mínimos de única origem Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução
Leia maisINF 1010 Estruturas de Dados Avançadas
INF Estruturas de Dados Avançadas Grafos // DI, PUC-Rio Estruturas de Dados Avançadas. Algoritmo de Dijkstra 8 8 Algoritmo de Dijkstra 8 8 8 Algoritmo de Dijkstra 8 8 8 Algoritmo de Dijkstra 8 8 8 8 8
Leia maisElementos de Programação Projecto de Biocomputação
Elementos de Programação Projecto de Biocomputação Departamento de Matemática, IST Novembro de 2016 Amoebots A simulação de cenários de vida artificial desempenha um papel importante no estudo de sistemas
Leia maisAlgoritmo de Dijkstra Aplicado ao Problema do Metrô de Paris
Algoritmo de Dijkstra Aplicado ao Problema do Metrô de Paris Sérgio Aurélio Ferreira Soares, Brauliro Gonçalves Leal, Renato Gabriel Barbosa Pereira, Ivonaldo Faustino Silva Junior, Danilo Macário Bezerra
Leia maisDepartamento de Matemática da Universidade de Coimbra 2011/2012 Programação Orientada para os Objectos Projecto 2
Departamento de Matemática da Universidade de Coimbra 2011/2012 Programação Orientada para os Objectos Projecto 2 Simulador de um Sistema de Filas de Espera Descrição Sumária: Uma empresa proprietária
Leia maisO estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste
O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os
Leia maisUML. Modelando um sistema
UML Modelando um sistema Fases do desenvolvimento de Software Análise de requisitos Análise Projeto Programação Análise de Requisitos Esta fase captura as intenções e necessidades dos usuários do sistema
Leia mais(Sistema Especialista)
Torneio de Truco (Sistema Especialista) Prof. Dr. Luciano Antonio Digiampietri Escola de Artes, Ciências e Humanidades da USP Roteiro Contexto Educativo Descrição do Jogo de Truco Objetivo Descrição do
Leia mais... Subprogramas Após fazer as tarefas previstas o nosso programa devolve o comando ao sistema operativo. Isto está numa hierarquia onde o nosso progr
26 - Subprogramas Executar um programa é pedir ao sistema operativo (que é o programa principal de um computador) que passe o comando do computador para o nosso programa. ... Subprogramas Após fazer as
Leia maisCátia Resende Paula Pinho Filipe Silva Eduardo Pinto
d Ordem da apresentação - Áreas desenvolvidas anteriormente - Áreas a desenvolver na versão Beta - Áreas efectivamente desenvolvidas - Apresentação da versão Beta - Resultado dos testes Mapa de navegação
Leia maisTeoria dos Grafos Aula 22
Teoria dos Grafos Aula 22 Aula passada Caminho mais curto entre todos os pares Algoritmo de Floyd Warshall Programação dinâmica Aula de hoje Caminho mais curto Algoritmo de Bellman Ford Melhorias Caminho
Leia maisAs opções de menu Análise ABC e Plano Trabalhos saíram do menu Objectos e passaram para o menu Ferramentas.
Documento da versão PRODUTO ManWinWin DATA INÍCIO 18-10-2016 VERSÃO 5.4.2.0 DATA FECHO 10-01-2017 Novas Funcionalidades Preferências No separador Parque, as opções referentes ao registo Histórico Utilização
Leia mais13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Mestrado em Engenharia Física Tecnológica
13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física
Leia maisGRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira
Ciência da Computação GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira Árvore Geradora (spanning tree) É um subconjunto de um grafo G que possui todos os vértices
Leia maisGrafos: caminhos mínimos
quando o grafo é sem pesos, a determinação de um caminho mais curto pode ser feita através de uma busca em largura caminho mais curto é aquele que apresenta o menor número de arestas quando o grafo tem
Leia maisFaculdade de Engenharia da Universidade do Porto. LEEC / MIEEC 5.º Ano - 1.º Semestre Televisão Digital
Faculdade de Engenharia da Universidade do Porto LEEC / MIEEC 5.º Ano - 1.º Semestre - 2006-2007 Televisão Digital Conversão e Manipulação em Espaços de Côr Grupo: 020503068 - Carlos Guilherme Varela Araújo
Leia maisO estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste
O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os
Leia mais