Análise e Síntese de Algoritmos
|
|
|
- Luiz Gustavo de Sintra Fraga
- 7 Há anos
- Visualizações:
Transcrição
1 Análise e Síntese de Algoritmos Algoritmos Elementares em Grafos [CLRS, Cap. 22] 24/25
2 Contexto Revisão [CLRS, Cap.-3] Fundamentos; notação; exemplos Algoritmos em Grafos [CLRS, Cap.2-26] Algoritmos elementares Árvores abrangentes Caminhos mais curtos Fluxos máximos Programação Linear [CLRS, Cap.29] Algoritmos e modelação de problemas com restrições lineares Técnicas de Síntese de Algoritmos [CLRS, Cap.5-6] Programação dinâmica Algoritmos greedy Tópicos Adicionais [CLRS, Cap.32-35] Emparelhamento de Cadeias de Caracteres Complexidade Computacional Algoritmos de Aproximação
3 Resumo Definição e Representação de Grafos 2 Procura em Largura Primeiro 3 Procura em Profundidade Primeiro
4 Grafo Grafo Grafo, G=(V,E), definido por um conjunto V de vértices e um conjunto E de arcos Arcos representam ligações entre pares de vértices: E V V Grafo esparso se E << V V Caso contrário diz-se que é um grafo denso Grafos podem ser dirigidos ou não dirigidos Existência (ou não) da noção de direcção nos arcos Grafo Dirigido Grafo Não Dirigido
5 Representação de Grafos Representação dos arcos Matriz de adjacências: arcos representados por matriz Para grafos densos Listas de adjacências: arcos representados por listas Para grafos esparsos / / / / / / Grafo Dirigido Listas de Adjacências Matriz de Adjacências
6 Representação de Grafos Representação dos arcos Matriz de adjacências: arcos representados por matriz Para grafos densos Listas de adjacências: arcos representados por listas Para grafos esparsos / / / / / Grafo Não Dirigido Listas de Adjacências Matriz de Adjacências
7 Representação de Grafos Matriz de Adjacências Θ(V 2 ) para qualquer grafo Listas de adjacências Tamanho das listas é E para grafos dirigidos Tamanho das listas é 2 E para grafos não dirigidos Tamanho total das listas de adjacências é O(V + E) Grafos pesados Existência de uma função de pesos ω:e IR Função de pesos ω associa um peso a cada arco
8 Procura em Largura Primeiro (Breadth-First Search) Dados G=(V,E) e vértice fonte s, o algoritmo BFS explora sistematicamente os vértices de G para descobrir todos os vértices atingíveis a partir de s Fronteira entre nós descobertos e não descobertos é expandida uniformemente Nós à distância k descobertos antes de qualquer nó à distância k+ Cálculo da distância: menor número de arcos de s para cada vértice atingível Identificação de árvore Breadth-First (BF): caminho mais curto de s para cada vértice atingível v
9 BFS: Notação Implementação color[v]: cor do vértice v, (branco, cinzento ou preto) branco: não visitado cinzento: já visitado, mas algum dos adjacentes não visitado ou procura em algum dos adjacentes não terminada preto: já visitado e procura nos adjacentes já terminada π[v]: predecessor de v na árvore BF d[v]: tempo de descoberta do vértice v Outras definições Caminho mais curto definido como o caminho de s para v composto pelo menor número de arcos δ(s,v): denota o comprimento do caminho mais curto de s a v
10 BFS: Pseudo-Código BFS(G, s) for each vertex u V[G] {s} Inicialização 2 do color[u] white; d[u] ; π[u] NIL 3 color[s] gray; d[s] ; π[s] NIL 4 Q ={s} 5 while Q / Ciclo Principal 6 do u Dequeue(Q) 7 for each v Adj[u] 8 do if color[v]=white 9 then color[v] gray; d[v] d[u]+; π[v] u Enqueue(Q, v) color[u] black
11 BFS: Exemplo
12 BFS: Exemplo
13 BFS: Exemplo
14 BFS: Exemplo
15 BFS: Exemplo
16 BFS: Exemplo
17 BFS: Exemplo
18 BFS: Exemplo
19 BFS: Exemplo
20 BFS: Complexidade Complexidade Tempo de execução: O(V + E) Inicialização: O(V) Para cada vértice Colocado na fila apenas vez: O(V) Lista de adjacências visitada vez: O(E)
21 BFS: Resultados Resultados Para qualquer arco (u,v):δ(s,v) δ(s,u)+ Se u atingível, então v atingível caminho mais curto para v não pode ser superior a caminho mais curto para u mais arco(u,v) Se u não atingível, então resultado é válido (independentemente de v ser atingível) No final da BFS: d[u]=δ(s,u), para todo o vértice u V
22 Árvore Breadth-First Árvore Breadth-First Árvore BF é sub-grafo de G Vértices atingíveis a partir de s Arcos que definem a relação predecessor da BFS G π =(V π,e π ) V π ={v V : π[v] NIL} {s} E π ={(π[v],v) E : v V π {s}}
23 Árvore Breadth-First
24 Árvore Breadth-First
25 Procura Profundidade Primeiro (Depth-First Search) Grafo pesquisado dando prioridade aos arcos dos vértices mais recentemente visitados Resultados Floresta Depth-First (DF) G π =(V,E π ) E π ={(π[v],v):v V π[v] NIL} Floresta DF composta por várias árvores DF Implementação color[v]: cor do vértice v, (branco, cinzento ou preto) π[v]: predecessor de v na árvore DF d[v]: tempo de início (de visita do vértice) f[v]: tempo de fim (de visita do vértice)
26 DFS: Pseudo-Código DFS(G) for each vertex u V[G] 2 do color[u] white;π[u]=nil 3 time 4 for each vertex u V[G] 5 do if color[u] = white 6 then DFS-Visit(u) DFS-Visit(u) color[u] gray 2 d[u] time 3 time time+ 4 for each v Adj[u] 5 do if color[v] = white 6 then π[v] u 7 DFS-Visit(v) 8 color[u] black 9 f[u] time time time+
27 DFS: Exemplo
28 DFS: Exemplo
29 DFS: Exemplo
30 DFS: Exemplo
31 DFS: Exemplo
32 DFS: Exemplo
33 DFS: Exemplo
34 DFS: Exemplo
35 DFS: Exemplo
36 DFS: Exemplo
37 DFS: Exemplo
38 DFS: Exemplo
39 DFS: Exemplo
40 DFS: Exemplo
41 DFS: Exemplo
42 DFS: Complexidade Complexidade Tempo de execução: O(V + E) Inicialização: O(V) Chamadas a DFS-Visit dentro de DFS: O(V) Arcos analisados em DFS-Visit: Θ(E) Chamadas a DFS-Visit dentro de DFS-Visit: O(V) Mas v V Adj[v] =Θ(E)
43 DFS: Resultados Resultados Numa DFS de G=(V,E), para cada par de vértices u e v apenas um dos 3 casos seguintes é verdade: Os intervalos [d[u], f[u]] e [d[v], f[v]] são disjuntos d[u] f[u] d[v] f[v] [d[u],f[u]] [d[v],f[v]] e u é descendente de v na árvore DF d[v] d[u] f[u] f[v] [d[v],f[v]] [d[u],f[u]] e v é descendente de u na árvore DF d[u] d[v] f[v] f[u] A seguinte situação não pode ocorrer d[v] d[u] f[v] f[u]
44 Floresta Depth-First
45 Floresta Depth-First
46 DFS: Classificação de Arcos Classificação de arcos (u,v) Arcos de árvore: (tree edges) arcos na floresta DF, G π (u,v) é arco de árvore se v foi visitado devido ao arco(u,v) ser visitado Arcos para trás: (back edges) ligam vértice u a vértice v antecessor na mesma árvore DF Arcos para a frente: (forward edges) ligam vértice v a vértice descendente na mesma árvore DF Arcos de cruzamento: (cross edges) Na mesma árvore DF, se u (ou v) não antecessor de v (ou u) Entre árvores DF diferentes
47 DFS: Classificação de Arcos Classificação de arcos (u,v) Arcos de árvore: (tree edges) d[u]<d[v]<f[v]<f[u] color[v] = white quando(u, v) é analisado Arcos para trás: (back edges) d[v]<d[u]<f[u]<f[v] color[v] = gray quando(u, v) é analisado Arcos para a frente: (forward edges) d[u]<d[v]<f[v]<f[u] color[v] = black quando(u, v) é analisado Arcos de cruzamento: (cross edges) d[v]<f[v]<d[u]<f[u] color[v] = black quando(u, v) é analisado
48 DFS: Classificação de Arcos
49 DFS: Classificação de Arcos
50 DFS: Resultados Resultados Dado G=(V,E), não dirigido, cada arco é arco de árvore ou arco para trás i.e., não existem arcos para a frente e de cruzamento Numa floresta DF, v é descendente de u se e só se quando u é descoberto existe um caminho de vértices brancos de u para v v descendente de u existe caminho de vértices brancos de u para v Qualquer vértice w descendente de u verifica [d[w], f[w]] [d[u], f[u]], pelo que w é branco quando u é descoberto
51 Resumo Representação de grafos Listas de adjacências Matrizes de adjacências Algoritmos Elementares Procura em Largura Primeiro (BFS) Caminhos mais curtos no número de arcos Procura em Profundidade Primeiro (DFS) Tempos de início (d[]) e de fim (f[]) Classificação de arcos
Análise e Síntese de Algoritmos. Algoritmos em Grafos CLRS, Cap. 22
Análise e Síntese de Algoritmos Algoritmos em Grafos CLRS, Cap. 22 Mudança no Horário Aulas Teóricas de 4ª feira 10:30 12:00 Sala: FA1 12:00 13:30 Sala: FA1 Deixa de haver aula teórica às 9:00 por troca
DFS: Depth-First Search (pesquisa em profundidade) Percursos e Conectividade em Grafos Depth-First Search. Implementação de DFS
DFS: Depth-First Search (pesquisa em profundidade) Percursos e Conectividade em Grafos Depth-First Search Fernando Lobo Algoritmos e Estrutura de Dados II Assim que se descobre um nó, começa-se logo a
Algoritmos e Estruturas de Dados
Algoritmos e Estruturas de Dados Grafos Slides baseados em: ZIVIANI, N. Projetos de Algoritmos - com implementações em Java e C++. Thomson Learning, 2007. Cap 7. CORMEN, H.T.; LEISERSON, C.E.; RIVEST,
PAA-DCC-UFAM. Grafos. Universidade Federal do Amazonas Departamento de Eletrônica e Computação
Grafos Universidade Federal do Amazonas Departamento de Eletrônica e Computação Grafos () Um grafo é composto por um conjunto de vértices e um conjunto de arestas Cada aresta liga dois vértices do grafo
Projeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 06 Busca em Profundidade e Busca em Largura Edirlei Soares de Lima Grafos (Revisão) G = (V, A) G: grafo; V: conjunto de vértices; A: conjunto
grafo nós vértices arcos arestas
GRAFOS E APLICAÇÕES 1. INTRODUÇÃO 1) Um grafo G = (V, E) consiste num conjunto de nós (ou vértices) V e num conjunto de arcos (ou arestas) E. Cada arco é representado por um par de nós. No seguinte exemplo,
Grafos parte 2. Percorrendo um grafo. Correção. Eficiência. Percorrendo um Grafo. Percorrendo um Grafo. Percorrendo um Grafo
Percorrendo um grafo Grafos parte 2 SCC-203 Algoritmos e Estruturas de Dados 2 Rosane 2010 Baseado em material de professores dos anos anteriores Percorrendo um Grafo Percorrer um grafo é um problema fundamental
Grafos Parte 2. SCC-603 Algoritmos e Estruturas de Dados II. Profª. Rosane Minghim / Baseado em material de professores dos anos anteriores
Grafos Parte 2 SCC-603 Algoritmos e Estruturas de Dados II Profª. Rosane Minghim / 2012 Baseado em material de professores dos anos anteriores Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo
Grafos parte 2* Algoritmos e Estruturas de Dados II SCC-203 Rosane 2010/2011. *Baseado em material de professores dos anos anteriores
Grafos parte 2* Algoritmos e Estruturas de Dados II SCC-203 Rosane 2010/2011 *Baseado em material de professores dos anos anteriores Divisão do Arquivo 1ª parte Percorrendo um grafo Eficiência, Correção
Busca em Largura. Adaptado de Humberto C. B. Oliveira
Busca em Largura Adaptado de Humberto C. B. Oliveira Últimas aulas Introdução: História Aplicações Conceitos Básicos: Grafo simples Grafo completo/vazio Grafo não orientado: Arestas laço Arestas paralelas
GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira
Ciência da Computação GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira Busca em Largura (Breadth-First Search) Um dos algoritmos mais simples para exploração de um grafo.
Busca em largura. Algoritmos em Grafos. Marco A L Barbosa
Busca em largura 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 Exemplo de
Eduardo Camponogara. DAS-9003: Introdução a Algoritmos
Caminhos Mínimos Com Uma Fonte 1/74 Caminhos Mínimos Com Uma Fonte Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-9003: a Algoritmos Caminhos Mínimos
Grafos: Busca. SCE-183 Algoritmos e Estruturas de Dados 2. Thiago A. S. Pardo Maria Cristina
Grafos: Busca SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo é um problema fundamental Deve-se ter uma forma sistemática
Grafos: algoritmos de busca
busca em grafos como caminhar no grafo de modo a percorrer todos os seus vértices evitando repetições desnecessárias do mesmo vértice? e por onde começar? solução: necessidade de recursos adicionais que
Teoria 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
Projeto e Análise de Algoritmos. Método Guloso
Projeto e Análise de Algoritmos Método Guloso Altigran Soares da Silva Universidade Federal do Amazonas Departamento de Ciência da Computação Árvore Geradora Um árvore geradora de um grafo G é um subgrafo
Pesquisa 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
Percursos e Conectividade em Grafos Depth-First Search. DFS: Depth-First Search (pesquisa em profundidade)
Percursos e Conectividade em Grafos Depth-First Search Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 23 DFS: Depth-First Search (pesquisa em profundidade) Assim que se descobre um nó, começa-se
Grafos. Notas. Notas. Notas. Notas. Algoritmos elementares. Representação de grafos Lista de adjacências Matriz de adjacências Atributos
Grafos Algoritmos elementares Conteúdo Introdução Representação de grafos Lista de adjacências Matriz de adjacências Atributos Pesquisas Busca em largura Aplicações Ordenação topológica Componentes fortemente
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
Teoria 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
Busca em Profundidade e em Largura
Busca em Profundidade e em Largura Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes [email protected] 1 Mais sobre Caminhos TEOREMA: Se um grafo possui exatamente 2 vértices de
INF 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
2006/2007 Análise e Síntese de Algoritmos 2
Análise e Síntese de Algoritmos Árvores Abrangentes de Menor Custo CLRS, Cap. 23 Resumo Árvores Abrangentes de Menor Custo Minimum-Spanning Trees (MSTs) Algoritmo (greedy) genérico Prova de optimalidade
Grafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes
Grafos: Busca Algoritmos e Estruturas de Dados Graça Nunes Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo é uma tarefa fundamental Pense no caso de se procurar uma certa informação associada
INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DA REPESCAGEM DO 1 o TESTE
INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos Ano Lectivo de 00/006 o Semestre RESOLUÇÃO DA REPESCAGEM DO o TESTE I. (,+,+,0 =,0 val.) ) Considere o seguinte grafo. d f i l a c g h b e j k
Grafos representação e aplicações. Prof. Guilherme Tomaschewski Netto
Grafos representação e aplicações Prof. Guilherme Tomaschewski Netto [email protected] Roteiro! Contextualização! Apresentação, um pouco de história! Conceitos Grafos! Principais aplicacões! Estruturas
AULA 13 PROJETO E ANÁLISE DE ALGORITMOS. Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado
AULA 13 PROJETO E ANÁLISE DE ALGORITMOS Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado Roteiro Motivação Relaxamento Algoritmo de Dijkstra Motivação Suponha que você
Estruturas 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:
Grafos - 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).
Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos
Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 10: Introdução aos Grafos História O assunto que se constitui no marco inicial da teoria de grafos é na realidade um problema algorítmico.
Otimização em Grafos
Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 33 Definição do Problema Dado: um grafo ponderado G = (V, E), orientado ou não, onde d : E R + define as distâncias
Cap. 2 Conceitos Básicos em Teoria dos Grafos
Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os
Desafios de Programação TCC Turma A-1
Desafios de Programação TCC-00.254 Turma A-1 Conteúdo Grafos Professor Leandro Augusto Frata Fernandes [email protected] Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2015.1/tcc-00.254
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
Análise e Síntese de Algoritmos. Caminhos Mais Curtos para Todos os Pares CLRS, Cap. 25
Análise e Síntese de Algoritmos Caminhos Mais Curtos para Todos os Pares CLRS, Cap. 25 Contexto Algoritmos Elementares em Grafos (CLR, Cap. 22) BFS & DFS Ordenação Topológica & SCCs Árvores Abrangentes
INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DO 2 o TESTE
INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos Ano Lectivo de 2006/2007 2 o Semestre RESOLUÇÃO DO 2 o TESTE I. (2,0+2,0+2,0 = 6,0 val.) 1) Calcule o valor óptimo da função objectivo e o respectivo
Análise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15
Análise e Síntese de Algoritmos Programação Dinâmica CLRS, Cap. 15 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais curtos
Pesquisa em Grafos. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Pesquisa em Grafos 2014/ / 48
Pesquisa em Grafos Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Pesquisa em Grafos 2014/2015 1 / 48 Pesquisa em Grafos Uma das tarefas mais importantes é saber percorrer um grafo, ou seja
O 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
Análise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Fluxos Máximos em Grafos CLRS, Cap. 26 Contexto Algoritmos elementares em grafos (CLR, Cap. 22) Árvores abrangentes de menor custo (CLR, Cap. 23) Caminhos mais curtos com
Grafos: caminhos mínimos em Listas de Adjacência. Profa. Graça Nunes
Grafos: caminhos mínimos em Listas de Adjacência Profa. Graça Nunes Caminhos mínimos O problema do caminho mínimo consiste em determinar um menor caminho entre um vértice de origem e um vértice de destino
Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de única origem. Subestrutura ótima. Propriedades de caminhos mais curtos
Grafos Caminhos mais curtos de única origem Conteúdo Subestrutura ótima Inicialização Propriedades de caminhos mais curtos Algoritmos Algoritmo de Bellman-Ford Caminhos mais curtos de única origem em gaos
Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma
Grafos Árvores espalhadas mínimas Conteúdo Introdução Como construir uma árvore geradora miníma Algoritmos Referências Introdução Dado um grafo conectado não orientado G = (V, E) e uma função peso w :
O 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
Análise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Algoritmos de Aproximação CLRS, Cap. 35 Resumo Algoritmos de aproximação Algoritmos, com complexidade polinomial, que calculam soluções aproximadas para problemas de optimização
Algoritmos em Grafos
Algoritmos em Grafos Letícia Rodrigues Bueno UFABC Motivação Objetivo: aprender a resolver problemas; Como: usando grafos para modelar problemas; Grafos: ferramenta fundamental de abstração; Abstraímos
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
Algoritmo 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
CAL ( ) 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
Fluxo Máximo a Custo Mínimo
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Programa de Educação Tutorial (PET) Demontiê Junior ([email protected]) Fluxo
CES-11. Algoritmos e Estruturas de Dados
CES-11 Algoritmos e Estruturas de Dados CES-11 Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Conceito de árvore Tantos as pilhas como as filas são estruturas lineares, isto é, de uma única
CES-11. Árvores. Conceito de árvore. Definição recursiva de árvore Definições associadas a árvore. Ordenação dos nós de uma árvore
Árvores Conceito de árvore CES-11 Definição recursiva de árvore Definições associadas a árvore Representações de árvores Ordenação dos nós de uma árvore CONCEITO DE ÁRVORE Tantos as pilhas como as filas
Busca em Grafos. Teoria dos Grafos. Busca em Amplitude (BFS) Busca em Amplitude (BFS) Busca em Amplitude (BFS) Algoritmo BFS
Busca em Graos Busca em Graos Objetivo: sistematicamente explorar toos os vértices e arestas e um grao. Dois tipos e busca: Busca em amplitue (Breath First Search BFS). Busca em prouniae (Depth First Search
Busca em Profundidade. Busca em Grafos. Busca em Grafos. Busca em Grafos. Busca em Grafos. Os objetivos da busca são: Aplicações???
Teoria dos Grafos Introdução Prof. Humberto Brandão [email protected] aula disponível no site: http:bcc.unifal-mg.edu.br~humberto Universidade Federal de Alfenas Departamento de Ciências Exatas
ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.
ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. Grafos Sugestão bibliográfica: ESTRUTURAS DE DADOS USANDO C Aaron
Algoritmo de Kruskal. Algoritmo de Kruskal. Floresta geradora 26. Subfloresta S 20.3
Algoritmo de Kruskal Algoritmo de Kruskal S. Algoritmos em Grafos º sem / Subfloresta Uma subfloresta de G é qualquer floresta F que seja subgrafo de G. Exemplo: As arestas vermelhas que ligam os vértices
Grafos: 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
Algoritmo de Dijkstra (um para todos ; arestas de peso não negativo ; guloso)
Algoritmo de Dijkstra (um para todos ; arestas de peso não negativo ; guloso) 1º passo: iniciam-se os valores: para todo v V[G] d[v] π[v] -1 d[s] 0 V[G] é o conjunto de vértices(v) que formam o Grafo G.
IPRJ PROJETO E ANÁLISE DE ALGORITMOS LISTA DE EXERCÍCIOS 10
IPRJ PROJETO E ANÁLISE DE ALGORITMOS LISTA DE EXERCÍCIOS 10 1) Uma grande festa vai acontecer no Reino das Nuvens! Finn e Jake estão no castelo da Princesa Jujuba planejando qual seria a melhor rota para
BUSCA CEGA OU SEM INFORMAÇÃO (parte 2 Resolução de problemas por busca) *Capítulo 3 (Russel & Norvig)
BUSCA CEGA OU SEM INFORMAÇÃO (parte 2 Resolução de problemas por busca) *Capítulo 3 (Russel & Norvig) 1 Tópicos Estratégias de busca sem informação Busca em largura ou extensão custo uniforme (menor custo)
