CIC 111 Análise e Projeto de Algoritmos II
|
|
- Wagner Cruz Malheiro
- 5 Há anos
- Visualizações:
Transcrição
1 CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá
2 AULA 19 Paths and circuits Eulerian paths Hamiltonian paths De Bruijn sequences Knight s tours
3 Paths and Circuits Nesta Aula vamos ver enfocar dois tipos de caminhos em grafo: Um caminho Euleriano é um caminho que passa por cada aresta exatamente uma vez. Um caminho hamiltoniano é um caminho que visita cada nó exatamente uma vez.
4 Paths and Circuits Embora os caminhos euleriano e hamiltoniano pareçam conceitos semelhantes à primeira vista, os problemas computacionais relacionados a eles são muito diferentes. Acontece que há uma regra simples que determina se um grafo contém um caminho euleriano, e também há um algoritmo eficiente para encontrar tal caminho, se existir. Pelo contrário, verificar a existência de um caminho hamiltoniano é um problema NP-difícil, e nenhum algoritmo eficiente é conhecido para resolver o problema.
5 Eulerian paths Um caminho Euleriano é um caminho que passa exatamente uma vez por cada aresta do grafo. Por exemplo, o grafo
6 Eulerian paths tem um caminho euleriano do nó 2 ao nó 5:
7 Eulerian paths Um circuito euleriano é um caminho euleriano que inicia e termina no mesmo nó. Por exemplo, o gráfico
8 Eulerian paths tem um circuito euleriano que inicia e termina no nó 1:
9 Existence A existência de caminhos e circuitos eulerianos depende dos graus dos nós. Primeiro, um grafo não direcionado tem um caminho euleriano exatamente quando todas as bordas pertencem ao mesmo componente conectado e o grau de cada nó é par ou o grau de exatamente dois nós é ímpar, e o grau de todos os outros nós é par.
10 Existence No primeiro caso, cada caminho euleriano é também um circuito euleriano. No segundo caso, os nós de graus ímpares são os nós inicial e final de um caminho euleriano que não é um circuito euleriano. Por exemplo, no gráfico
11 Existence os nós 1, 3 e 4 têm um grau 2, e os nós 2 e 5 têm um grau de 3. Exatamente dois nós têm um grau ímpar, portanto existe um caminho Euleriano entre os nós 2 e 5, mas o grafo não contém um circuito euleriano. Em um grafo direcionado, nos concentramos em graus de entrada e graus de saída dos nós. Um grafo direcionado contém um caminho euleriano exatamente quando todas as bordas pertencem ao mesmo componente fortemente conectado e
12 Existence em cada nó, o grau de entrada é igual ao grau de saída, ou em um nó, o grau de entrada é um maior que o grau de saída, em outro nó, o grau de saída é maior que o grau de entrada e, em todos os outros nós, o grau de entrada é igual ao grau de saída. No primeiro caso, cada caminho euleriano é também um circuito euleriano, e no segundo caso, o gráfico contém um caminho euleriano que começa no nó cujo nível é maior e termina no nó cujo grau é maior.
13 Por exemplo, no grafo Existence
14 Existence os nós 1, 3 e 4 têm o grau de entrada 1 e grau de saída 1, o nó 2 tem grau de entrada 1 e grau de saída 2, e o nó 5 tem grau de entrada 2 e grau de saída 1. Assim, o grafo contém um caminho euleriano do nó 2 ao nó 5:
15 Hierholzer s algorithm O algoritmo de Hierholzer é um método eficiente para a construção de um circuito euleriano. O algoritmo consiste em várias rodadas, cada uma das quais adiciona novas arestas ao circuito. Naturalmente, assumimos que o grafo contém um circuito euleriano; caso contrário, o algoritmo de Hierholzer não poderá encontrá-lo. Primeiro, o algoritmo constrói um circuito que contém algumas (não necessariamente todas) as arestas do grafo. Depois disso, o algoritmo estende o circuito passo a passo, adicionando sub circuitos a ele. O processo continua até que todas as arestas tenham sido adicionadas ao circuito.
16 Hierholzer s algorithm O algoritmo estende o circuito sempre encontrando um nó x que pertence ao circuito, mas possui uma aresta de saída que não está incluída no circuito. O algoritmo constrói um novo caminho a partir do nó x que contém apenas arestas que ainda não estão no circuito. Mais cedo ou mais tarde, o caminho retornará ao nó x, o que cria um sub circuito.
17 Hierholzer s algorithm Se o grafo contiver apenas um caminho Euleriano, ainda podemos usar o algoritmo de Hierholzer para encontrá-lo adicionando uma aresta extra ao grafo e removendo a aresta depois que o circuito tiver sido construído. Por exemplo, em um grafo não direcionado, adicionamos a aresta extra entre os dois nós de graus ímpares. Em seguida, veremos como o algoritmo de Hierholzer constrói um circuito euleriano para um grafo não direcionado.
18 Example Vamos considerar o seguinte gráfico:
19 Example Suponha que o algoritmo crie primeiro um circuito que começa no nó 1. Um possível circuito é :
20 Example Depois disso, o algoritmo adiciona o sub circuito ao circuito:
21 Example Finalmente, o algoritmo adiciona o sub circuito ao circuito:
22 Example Agora todas as arestas estão incluídas no circuito, então construímos com sucesso um circuito Euleriano
23 Sites visitar
24 Hamiltonian paths Um caminho Hamiltoniano é um caminho que visita cada nó do grafo exatamente uma vez. Por exemplo, o grafo
25 Hamiltonian paths contém um caminho hamiltoniano do nó 1 ao nó 3:
26 Hamiltonian paths Se um caminho hamiltoniano começa e termina no mesmo nó, ele é chamado de circuito hamiltoniano. O gráfico acima também possui um circuito hamiltoniano que começa e termina no nó 1:
27 Existence Nenhum método eficiente é conhecido para testar se um grafo contém um caminho Hamiltoniano e o problema é NP-difícil. Ainda assim, em alguns casos especiais, podemos ter certeza de que um grafo contém um caminho hamiltoniano. Uma observação simples é que, se o grafo estiver completo, ou seja, existe uma aresta entre todos os pares de nós, ele também contém um caminho hamiltoniano. Também resultados mais fortes foram alcançados:
28 Existence Teorema de Dirac: Se o grau de cada nó é pelo menos n/2, o grafo contém um caminho Hamiltoniano. Teorema de Ore: se a soma dos graus de cada par de nós não adjacentes for pelo menos n, o grafo conterá um caminho hamiltoniano. Uma propriedade comum nesses teoremas e outros resultados é que eles garantem a existência de um caminho hamiltoniano se o grafo tiver um grande número de arestas. Isso faz sentido, porque quanto mais arestas o grafo contém, mais possibilidades existem para construir um caminho Hamiltoniano.
29 Construction Como não há uma maneira eficiente de verificar se existe um caminho Hamiltoniano, está claro que também não existe um método para construir o caminho de forma eficiente, porque senão poderíamos tentar construir o caminho e ver se ele existe. Uma maneira simples de procurar por um caminho Hamiltoniano é usar um algoritmo de retrocesso que passe por todas as formas possíveis para construir o caminho. A complexidade temporal de tal algoritmo é pelo menos O(n!), Porque existem n! diferentes maneiras de escolher a ordem de n nós.
30 Construction Uma solução mais eficiente é baseada em programação dinâmica. A ideia é calcular valores de uma função possível (S, x), onde S é um subconjunto de nós e x é um dos nós. A função indica se existe um caminho hamiltoniano que visita os nós de S e termina no nó x. É possível implementar esta solução no tempo O(2 n n 2 ).
31 Sites visitar
32 De Bruijn sequences Uma sequência De Bruijn é uma cadeia que contém todas as cadeias de comprimento n exatamente uma vez como substring, para um alfabeto fixo de k caracteres. O tamanho dessa string é k n + n - 1 caracteres. Por exemplo, quando n = 3 e k = 2, um exemplo de uma sequência de De Bruijn é
33 De Bruijn sequences Os substrings desta string são todas as combinações de três bits: 000, 001, 010, 011, 100, 101, 110 e 111. Acontece que cada sequência de De Bruijn corresponde a um caminho euleriano em um grafo. A ideia é construir um grafo onde cada nó contenha uma cadeia de caracteres n - 1 e cada aresta adicione um caractere à string. O grafo a seguir corresponde ao cenário acima:
34 De Bruijn sequences
35 De Bruijn sequences Um caminho Euleriano neste grafo corresponde a uma cadeia que contém todas as cadeias de comprimento n. A string contém os caracteres do nó inicial e todos os caracteres das arestas. O nó inicial tem n - 1 caracteres e existem k n caracteres nas bordas, então o tamanho da string é k n + n - 1.
36 Sites visitar
37 Knight s tours O caminho de um cavalo é uma sequência de movimentos de um cavalo em um tabuleiro de xadrez n n seguindo as regras do xadrez, de modo que o cavalo visite cada quadrado exatamente uma vez. O passeio de um cavalo é chamado de excursão fechada se o cavalo finalmente retornar ao quadrado inicial e, caso contrário, é chamado de excursão aberta. Por exemplo, aqui está o caminho de um cavalo aberto em um tabuleiro de 5 5:
38 Knight s tours O caminho de um cavalo corresponde a um caminho hamiltoniano em um grafo cujos nós representam os quadrados do tabuleiro, e dois nós estão conectados com uma aresta se um cavaleiro puder se mover entre os quadrados de acordo com as regras do xadrez.
39 Knight s tours Uma maneira natural de construir um caminho de cavalo é usar o retrocesso. A pesquisa pode ser mais eficiente usando heurísticas que tentam guiar o cavalo para que um caminho completo seja encontrado rapidamente.
40 Sites visitar
41 Warnsdorf s rule A regra de Warnsdorf é uma heurística simples e eficaz para encontrar um caminho de cavalo. Usando a regra, é possível construir eficientemente um caminho mesmo em uma grande placa. A ideia é sempre mover o cavalo para que ele termine em um quadrado onde o número de movimentos possíveis seja o menor possível. Por exemplo, na seguinte situação, há cinco possíveis quadrados para os quais o cavalo pode se mover (quadrados a... e):
42 Knight s tours 1 a 2 b e c d Nesta situação, a regra de Warnsdorf move o cavalo para o quadrado, porque após esta escolha, há apenas um único movimento possível. As outras escolhas moveriam o cavalo para quadrados onde haveria três movimentos disponíveis.
43 Sites visitar
CIC 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 27 Square root algorithms Combining algorithms Integer partitions Mo s algorithm Square
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 18 Tree queries Finding ancestors Subtrees and paths Lowest common ancestor Offline
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 maisTeoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A de Oliveira, Socorro Rangel, Silvio A de Araujo Departamento de Matemática Aplicada Capítulo 12: Grafos Hamiltonianos Preparado a partir do texto: Rangel, Socorro Teoria do
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.
Teoria dos Grafos Valeriano A de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilceunespbr, socorro@ibilceunespbr Grafos Hamiltonianos Preparado a partir do texto: Rangel, Socorro
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 16 Directed graphs Topological sorting Dynamic programming Successor paths Cycle detection
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 maisDepartamento de Engenharia de Produção UFPR 57
Departamento de Engenharia de Produção UFPR 57 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas em redes aparecem
Leia maisComunicação e redes. Aula 2: Teoria dos Grafos Conceitos básicos. Professor: Guilherme Oliveira Mota.
Comunicação e redes Aula 2: Teoria dos Grafos Conceitos básicos Professor: Guilherme Oliveira Mota g.mota@ufabc.edu.br Aula passada Redes complexas Grafo G: Conjunto de pontos e linhas ligando esses pontos
Leia maisCiclos hamiltonianos e o problema do caixeiro viajante
Ciclos hamiltonianos e o problema do caixeiro viajante Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional.
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 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 maisGrafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá
Grafos Hamiltonianos e o Problema do Caixeiro Viajante Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá Grafo Hamiltoniano Definição: Um circuito hamiltoniano em um
Leia maisGrafos: árvores geradoras mínimas. Graça Nunes
Grafos: árvores geradoras mínimas Graça Nunes 1 Motivação Suponha que queremos construir estradas para interligar n cidades Cada estrada direta entre as cidades i e j tem um custo associado Nem todas as
Leia maisTeoria dos grafos. Caminho euleriano e Hamiltoniano. Prof. Jesuliana N. Ulysses
1 7 Teoria dos grafos Caminho euleriano e Hamiltoniano Grafo Euleriano Grafo onde é possível achar um caminho fechado (ciclo), passando em cada aresta uma única vez Quais são os grafos de Euler? Teorema:
Leia maisx y Grafo Euleriano Figura 1
Grafo Euleriano Um caminho simples ou um circuito simples é dito euleriano se ele contém todas as arestas de um grafo. Um grafo que contém um circuito euleriano é um grafo euleriano. Um grafo que não contém
Leia maisPercursos em um grafo
Percursos em um grafo Definição Um percurso ou cadeia é uma seqüência de arestas sucessivamente adjacentes, cada uma tendo uma extremidade adjacente à anterior e a outra a subsequente (à exceção da primeira
Leia maisAlgoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3
Algoritmo Aproximação Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas NP- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),
Leia maisVolmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45
Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas
Leia maisTeoria e Algoritmos em Grafos
Teoria e Algoritmos em Grafos 2018.2 Percursos Caminhos que percorrem todos os vértices ou todas as arestas de um grafo são chamados percursos. Ciclo Hamiltoniano Ciclos Hamiltonianos são ciclos que percorrem
Leia maisGrafos Eulerianos e o Problema do Carteiro Chinês
Prof. Ademir A. Constantino DIN - UEM 1 Grafos Eulerianos e o Problema do Carteiro Chinês Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá Prof. Ademir A. Constantino
Leia maisAlgoritmos de Aproximação para o Problema do Caixeiro Viajante
TSP p.1/19 Algoritmos de Aproximação para o Problema do Caixeiro Viajante 24 de agosto de 2004 TSP p.2/19 Problema do Caixeiro Viajante Dados grafo comprimento da aresta ( ) TSP p.2/19 Problema do Caixeiro
Leia maisGRAFOS Aula 04 Caminhos, Conexidade e Distância Max Pereira
Ciência da Computação GRAFOS Aula 04 Caminhos, Conexidade e Distância Max Pereira Um grafo é dito conexo se for possível visitar qualquer vértice, partindo de um outro qualquer, passando pelas suas arestas.
Leia maisPercursos em um grafo
Percursos em um grafo Definição Um percurso ou cadeia é uma seqüência de arestas sucessivamente adjacentes, cada uma tendo uma extremidade adjacente à anterior e a outra a subsequente (à exceção da primeira
Leia maisSCC603 Algoritmos e Estruturas de Dados II Prof.a Rosane Minghim 1o sem. 2013
SCC603 Algoritmos e Estruturas de Dados II Prof.a Rosane Minghim 1o sem. 2013 Lista de Exercícios 1 1) Escrever em C funções para: a) Obter todos os nós adjacentes (vizinhos) a um nó do grafo, dado que
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 25 e 26 Game theory Game states Nim game Sprague Grundy theorem String algorithms String
Leia maisTeoria dos Grafos. Edson Prestes
Edson Prestes As arestas possuem a função de indicar o relacionamento(espacial, comportamental, temporal) entre os elementos de um grafo. Em diversas situações esta relação não é simétrica, ou seja, par
Leia maisGRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?
8/0/06 GRAFOS Prof. André Backes Definição Como representar um conjunto de objetos e as suas relações? Diversos tipos de aplicações necessitam disso Um grafo é um modelo matemático que representa as relações
Leia maisBCC204 - Teoria dos Grafos
BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal
Leia maisCIC 110 Análise e Projeto de Algoritmos I
CIC 110 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá Algoritmos Gulosos AULA 06 Algoritmos Gulosos Um algoritmo guloso constrói uma solução para
Leia maisUNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 5 a Lista de Exercícios
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO MATEMÁTICA COMBINATÓRIA 5 a Lista de Exercícios 1. O grafo de intersecção de uma coleção de conjuntos A 1,..., A n é o grafo
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos Eulerianos Preparado a partir do texto: Rangel, Socorro.
Leia maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Principais paradigmas do projeto de algoritmos - Recursividade - Tentativa e erro - Divisão e Conquista - Programação dinâmica - Algoritmos Gulosos e de Aproximação
Leia maisÁrvores: Conceitos Básicos e Árvore Geradora
Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:
Leia maisCapítulo 1. Aula Conectividade Caminhos
Capítulo 1 Aula 7 1.1 Conectividade Muitos problemas podem ser modelados com caminhos formados ao percorrer as arestas dos grafos. Por exemplo, o problema de determinar se uma mensagem pode ser enviada
Leia maisTeoria dos Grafos Aula 2
Teoria dos Grafos Aula 2 Aula passada Logística, regras Objetivos Grafos, o que são? Formando pares Encontrando caminhos Aula de hoje Outro problema real Definições importantes Algumas propriedades Grafo
Leia maisAlgoritmos Combinatórios: Introdução
lucia@site.uottawa.ca UFSC, Fevereiro, 2010 Estruturas e Problemas Combinatórios Introdução a Algoritmos Combinatórios O que são: Estruturas Combinatórias? Algoritmos Combinatórios? Problemas Combinatórios?
Leia maisParte B Teoria dos Grafos
45 Parte B Teoria dos Grafos B. Grafos e Subgrafos Um grafo G é uma tripla ordenada (V(G), E(G), ), constituindo de um conjunto não vazio V(G) de vértices, um conjunto disjunto E(G) das arestas e uma função
Leia maisO grau de saída d + (v) de um vértice v é o número de arcos que tem
Grafos Direcionados Definição (Grau de Entrada) O grau de entrada d (v) de um vértice v é o número de arcos que tem v como cabeça. Definição (Grau de Saída) O grau de saída d + (v) de um vértice v é o
Leia maisLista de Exercícios 9 (Extra): Soluções Grafos
UFMG/ICEx/DCC DCC111 Matemática Discreta Lista de Exercícios 9 (Extra): Soluções Grafos Ciências Exatas & Engenharias 1 o Semestre de 018 Para cada uma das seguintes armações, diga se é verdadeira ou falsa
Leia maisAnálise e Projeto de Algoritmos
Análise e Projeto de Algoritmos 2018.2 Classes P e NP P São os problemas que podem ser resolvidos em tempo polinomial por uma Máquina de Turing Determinística. NP São os problemas que podem ser decididos
Leia maisComo saber se um problema está em NP e não está em P?
? P = NP Uma das principais questões em aberto é se P = NP, isto é, se de fato tudo o que pode ser feito em tempo polinomial por uma MTND poderia ser feito por uma MTD em tempo polinomial, talvez com um
Leia maisNoções da Teoria dos Grafos. André Arbex Hallack
Noções da Teoria dos Grafos André Arbex Hallack Junho/2015 Índice 1 Introdução e definições básicas. Passeios eulerianos 1 1.1 Introdução histórica..................................... 1 1.2 Passeios
Leia maisGrafos: componentes fortemente conexos, árvores geradoras mínimas
Grafos: componentes fortemente conexos, árvores geradoras mínimas SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina 1 Componentes fortemente conexos Um componente fortemente
Leia maisCapítulo 2- Modelos de grafos.
Capítulo 2- Modelos de grafos. 2.1- Introdução (pág. 8) [Vídeo 24] Grafo- é um esquema constituído por pontos (ou vértices) e por segmentos (ou arestas). (8) Exemplo 1(pág.8) Um grafo diz-se conexo se
Leia maisProblemas de Busca (a.k.a NP) - parte 2
Problemas de Busca (a.k.a NP) - parte 2 André Vignatti DINF- UFPR Euler e Rudrata No verão de 1735 Leonhard Euler, o famoso matemático suíço, estava andando nas pontes da cidade de Königsberg, na Prússia
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 29 Geometry Complex numbers Points and lines Polygon area Distance functions Geometry
Leia mais5COP096 TeoriadaComputação
Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema
Leia maisMATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47
1 / 47 MATEMÁTICA DISCRETA Patrícia Ribeiro Departamento de Matemática, ESTSetúbal 2018/2019 2 / 47 1 Combinatória 2 Aritmética Racional 3 3 / 47 Capítulo 3 4 / 47 não orientados Um grafo não orientado
Leia maisTópicos de Matemática Finita Data: a Época Código: 2D. I II-1 II-2 II-3 II-4 III-1 III-2 III-3 III-4 IV-1 IV-2 IV-3 IV-4 Nota Final
Tópicos de Matemática Finita Data: 5-07-2003 2 a Época Código: 2D Nome: Número: Curso: O exame que vai realizar tem a duração de três horas. As respostas às perguntas do grupo I não necessitam de justificação.
Leia maisInstituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios
Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios 1 Conceitos 1. Prove o Teorema da Amizade: em qualquer festa com pelo menos seis pessoas, ou três se conhecem
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 mais1 Trajeto Euleriano. > Trajeto Euleriano 0/20
Conteúdo 1 Trajeto Euleriano > Trajeto Euleriano 0/20 Um trajeto Euleriano em um grafo G é um trajeto que utiliza todas as arestas do grafo. Definição Um grafo G é Euleriano se e somente se possui um trajeto
Leia maisAlgoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3
Algoritmo Aproximado Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas N P- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),
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 maisAula 1: Introdução ao curso
Aula 1: Introdução ao curso MCTA027-17 - Teoria dos Grafos Profa. Carla Negri Lintzmayer carla.negri@ufabc.edu.br Centro de Matemática, Computação e Cognição Universidade Federal do ABC 1 Grafos Grafos
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 maisIntrodução a Grafos Letícia Rodrigues Bueno
Introdução a Grafos Letícia Rodrigues Bueno UFABC Teoria dos Grafos - Motivação Objetivo: aprender a resolver problemas; Como: usando grafos para modelar os problemas; Grafos: ferramenta fundamental de
Leia maisTeoria dos Grafos: Circuitos Eulerianos, Ciclos Hamiltonianos, Torneios Circuitos Eulerianos
Programa Olímpico de Treinamento Curso de Combinatória Nível 3 Prof. Carlos Shine Aula 14 Teoria dos Grafos: Circuitos Eulerianos, Ciclos Hamiltonianos, Torneios Circuitos Eulerianos Um grafo é dito euleriano
Leia maisGrafos. Rafael Kazuhiro Miyazaki - 21 de Janeiro de 2019
21 de Janeiro de 2019 1 Definições Definição 1. (Grafo) Um grafo G = (V, A) é constituido por um conjunto V de vértices e um conjunto A V V de arestas. Usualmente representamos o conjunto V como pontos
Leia maisPCC173 - Otimização em Redes
PCC173 - Otimização em Redes Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 27 de abril de 2016 Marco Antonio M. Carvalho
Leia maisBusca em Profundidade e em Largura
Busca em Profundidade e em Largura Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Mais sobre Caminhos TEOREMA: Se um grafo possui exatamente 2 vértices de
Leia maisCIC 110 Análise e Projeto de Algoritmos I
CIC 110 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá Manipulação de bits AULA 10 Manipulação de bits Todos os dados em programas de computador
Leia maisInstituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios
Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios 1 Conceitos 1. Prove o Teorema da Amizade: em qualquer festa com pelo menos seis pessoas, ou três se conhecem
Leia maisIntrodução à Teoria dos Grafos. Isomorfismo
Isomorfismo Um isomorfismo entre dois grafos G e H é uma bijeção f : V (G) V (H) tal que dois vértices v e w são adjacentes em G, se e somente se, f (v) e f (w) são adjacentes em H. Os grafos G e H são
Leia maisRedução de Cook-Levin e Considerações Finais
Redução de Cook-Levin e Considerações Finais André Vignatti DINF- UFPR Fechando o Ciclo de Reduções Nós reduzimos o SAT para diversos problemas de busca, como mostra a figura: Todos problemas NP CIRCUIT
Leia maisAlgoritmos de aproximação - Problema do caixeiro viajante
Algoritmos de aproximação - Problema do caixeiro viajante Marina Andretta ICMC-USP 30 de setembro de 2015 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M. R. Cerioli,
Leia maisModelos Evolucionários e Tratamento de Incertezas
Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 04 Módulos de População e Funções de Avaliação Max Pereira Tamanho da População O desempenho do algoritmo genético é extremamente
Leia maisTópicos de Matemática Finita Data: I II-1 II-2 II-3 II-4 III-1 III-2 III-3 III-4 IV-1 IV-2 IV-3 IV-4 Nota Final
Tópicos de Matemática Finita Data: 5-07-2003 2 a Época Correcção Código: 2D Nome: Número: Curso: O exame que vai realizar tem a duração de três horas. As respostas às perguntas do grupo I não necessitam
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 21 Number theory Primes and factors Modular arithmetic Solving equations Other results
Leia maisMatemática Aplicada às Ciências Sociais- 11º ano (Versão: para o manual a partir de 2016/17)
Matemática Aplicada às Ciências Sociais- 11º ano (Versão: para o manual a partir de 2016/17) Professor: Pedro Nóia Livro adotado: Matemática Aplicada às Ciências Sociais- 11º ano Elisabete Longo e Isabel
Leia maisSCC Modelagem Computacional em Grafos Profª Rosane Minghim 1º sem ª lista de exercícios
DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÂO SCC0216 - Modelagem Computacional em rafos Profª Rosane Minghim 1º sem. 2014 1ª lista de eercícios Questão 1 Desenhe as versões orientada e não orientada do grafo:
Leia maisTeoria dos Grafos AULA 3
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br AULA 3 Trajetos, Caminhos, Circuitos, Grafos Conexos Preparado
Leia maisEstudo e Implementação de Algoritmos de Roteamento sobre Grafos em um Sistema de Informações Geográficas
Estudo e Implementação de Algoritmos de Roteamento sobre Grafos em um Sistema de Informações Geográficas RUDINI MENEZES SAMPAIO 1 HORÁCIO HIDEKI YANASSE 2 1 UFLA Universidade Federal de Lavras DCC Departamento
Leia maisÁrvore de Suporte de Comprimento Mínimo Minimal Spanning Tree
Investigação Operacional Árvore de Suporte de Comprimento Mínimo Minimal Spanning Tree Slide Transparências de apoio à leccionação de aulas teóricas Maria Antónia Carravilla José Fernando Oliveira Árvore
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 maisDoutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo
Doutorado em Ciência da Computação Algoritmos e Grafos Raimundo Macêdo LaSiD/DCC/UFBA Grau de um Vértice O grau d G (v) do vértice v de G é o número de arestas incidentes a v, cada laço sendo contado duas
Leia maisCIC 110 Análise e Projeto de Algoritmos I
CIC 110 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 05 Pesquisa Completa (Força Bruta) Pesquisa Completa A pesquisa completa é um método
Leia maisSub-grafo. Árvore Geradora Mínima
Comentários da aula anterior Componentes Fortemente Conectados (algoritmo) 1. Chama BuscaEmProfundidade (G) para obter os tempos de término (t[u], ou f[u]) para todos os vértices de G, isto é, enquanto
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 13: Árvores. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 13: Árvores Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos,
Leia mais5COP096 TeoriadaComputação
Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 12 Prof. Dr. Sylvio Barbon Junior Sumário - Árvore Geradora Mínima - Teorema pare reconhecer arestas seguras; - Algoritmo de Prim; - Algoritmo
Leia maisGrafos IFRN. Prof. Robinson Alves
Grafos IFRN Prof. Robinson Alves Problema do Caixeiro Viajante Consiste em determinar o menor caminho, passando por todos os vértices uma única vez e retornando ao vértice de origem Métodos: Tentativa
Leia maisGRAFOS: UMA INTRODUÇÃO
GRAFOS: UMA INTRODUÇÃO Vilmar Trevisan -Instituto de Matemática - UFRGS Junho de 2006 Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 11: Grafos Eulerianos. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 11: Grafos Eulerianos Preparado a partir do texto: Rangel, Socorro. Teoria do
Leia maisTeoria da Complexidade Computacional
Teoria da Complexidade Computacional 25 de novembro de 2011 Enquanto a teoria de análise de algoritmos estuda a análise de complexidade de algoritmos, a teoria da complexidade estuda a classificação de
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 maisMatemática Discreta Capítulo 3 Versão preliminar
Matemática Discreta Capítulo 3 Versão preliminar Henri Anciaux e Derek Hacon October 25, 2007 1 Generalidades sobre grafos Um grafo G é simplesmente um par de dois conjuntos V e A, o segundo sendo constituído
Leia maisAula 08. Estruturas de dados Árvore e Grafo
Logo Aula 08 Estruturas de dados Árvore e Grafo 2 Árvore Estruturas estudadas até agora não são \ adequadas para representar dados que devem ser dispostos de maneira hierárquica Ex., hierarquia de pastas
Leia maisProblema do Caixeiro Viajante (The Travelling Salesman Problem-TSP) (Problema Del viajante)
Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 78 Problema do Caixeiro Viajante (The Travelling Salesman Problem-TSP) (Problema Del viajante) Suponhamos que a qualquer momento em que
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 maisapenas os caminhos que passam só por vértices em C, exceto, talvez, o próprio v A Figura 1 a seguir ilustra o significado do conjunto C edovalordist.
CAMINHO DE CUSTO MÍNIMO Dados dois pontos A e B, em muitos problemas práticos fazemos 2 perguntas: 1. existe um caminho de A para B? ou 2. se existe mais de um caminho de A para B, qual deles é o mais
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 maisTeoria dos Grafos. Grafos Eulerianos
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br, saraujo@ibilce.unesp.br Grafos Eulerianos
Leia mais04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II
04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr.
Leia maisCircuitos Eulerianos Ciclos Hamiltonianos O Problema do Caixeiro Viajante CAMINHAMENTOS BASEADO EM TOWNSEND (1987), CAP. 7.
Matemática Discreta Capítulo 7 SUMÁRIO CAMINHAMENTOS BASEADO EM TOWNSEND (1987), CAP. 7 Circuitos Eulerianos Ciclos Hamiltonianos O Problema do Caixeiro Viajante Newton José Vieira 30 de julho de 2007
Leia maisANÁLISE DE ALGORITMOS (INF 1721)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Horário: 2as. e 4as. 9-11hs (3WA) 3 de dezembro de 2016 Período: 2016.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de
Leia maisTeoria dos Grafos. Coloração de Vértices
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br, saraujo@ibilce.unesp.br Coloração de
Leia mais