CÓDIGO REDUZIDO DE PRÜFER PARA K-ÁRVORES ROTULADAS

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

Download "CÓDIGO REDUZIDO DE PRÜFER PARA K-ÁRVORES ROTULADAS"

Transcrição

1 CÓDIGO REDUZIDO DE PRÜFER PARA K-ÁRVORES ROTULADAS Paulo Renato da Costa Pereira Instituto Militar de Engenharia Praça General Tibúrcio 0 Urca RJ prenato@click2.com.br Lilian Markenzon Núcleo de Computação Eletrônica UFRJ Cx. Postal 232 Rio de Janeiro RJ markenzon@nce.ufrj.br Oswaldo Vernet Núcleo de Computação Eletrônica UFRJ Cx. Postal 232 Rio de Janeiro RJ oswaldo@nce.ufrj.br Resumo A família das k-árvores é uma importante subfamília dos grafos cordais e possui uma definição indutiva que naturalmente estende a definição de árvore. Nesse artigo, propomos uma codificação compacta para as k-árvores rotuladas. Chamamos esta codificação de Código Reduzido de Prüfer. Também apresentamos algoritmos lineares para codificação e decodificação. Palavras-chave: Algoritmos em grafos, código de Prüfer e k-árvores. Abstract The family of k-trees is an important subfamily of chordal graphs and has an inductive definition which naturally extends the definition of a tree. In this paper, we present a new compact code for the labeled k-trees. We call it Reduced Prüfer Code. Linear-time algorithms for enconding and decoding are also provided. Keywords: Graph algorithms, Prüfer code and k-trees.. Introdução Introduzidas em 9 por Harary e Palmer [2], as k-árvores constituem uma importante subclasse dos grafos cordais, possuindo uma definição indutiva que se particulariza para árvores quando k =. Rose [7] propôs novas caracterizações para a família e Justel e Markenzon [3] elaboraram um algoritmo de reconhecimento utilizando propriedades da busca em largura lexicográfica. Outros resultados importantes são vistos em [,]. Uma codificação para uma família de grafos consiste em atribuir a cada grafo pertencente à família um código que o represente de forma unívoca, garantindo também que, a cada código viável, corresponde um único grafo. Quando é possível obter uma codificação para uma família, simplificam-se a geração aleatória e a contagem de seus membros. Chama-se codificação a obtenção do código a partir do grafo e decodificação a obtenção do grafo a partir do código. A codificação mais referenciada na literatura é a proposta por Prüfer [] em 9 para árvores rotuladas. No seu código, Prüfer prova uma correspondência biunívoca entre o conjunto de

2 n-2)-tuplas do conjunto {,..., n} e as árvores rotuladas com n vértices. Com base no código de Prüfer, demonstra-se alternativamente o teorema de Cayley, segundo o qual existem n n-2 árvores rotuladas. Em 970, Rényi e Rényi [] expandiram esta codificação para k-árvores rotuladas. Inicialmente, os autores definiram uma extensão imediata, o código primitivo de Prüfer, que representava k-árvores enraizadas na k-clique {n, n-,..., n-k-}. Em seguida, definiram o código redundante de Prüfer, que representa árvores sem raiz ou enraizadas em uma k-clique qualquer. Chen [] propôs uma codificação mais compacta, baseada em uma representação intermediária que utiliza árvores de rótulos duplos. Neste artigo, propomos um novo código para k-árvores rotuladas que chamamos de código reduzido de Prüfer. Em relação ao tamanho do código, nossa codificação é equivalente à de Chen, dispensando, no entanto, estruturas auxiliares para serem computadas. O código redundante de Prüfer para k-árvores é apresentado na Seção 2. Em seguida, na Seção 3, definimos o código reduzido de Prüfer, que provamos ser uma codificação para k-árvores rotuladas através de uma relação biunívoca com a codificação redundante de Prüfer. Na Seção, algoritmos lineares para codificação e decodificação são propostos. 2. Código Redundante de Prüfer para k-árvores Rotuladas Nessa seção, apresentamos o código redundante de Prüfer para uma k-árvore. Definição : Uma k-árvore, sendo k > 0, é assim definida: Um grafo completo com k vértices é uma k-árvore; Se G = V,E) é uma k-árvore, Q V é uma k-clique de G e v V, o grafo G = V {v}, E {{v,w} w Q}) é uma k-árvore; Nada mais são k-árvores. Diretamente da definição acima, obtém-se um esquema de construção destes grafos: inicia-se com um grafo completo com k vértices e adiciona-se sucessivamente um novo vértice adjacente a uma clique de tamanho k. Os k vértices do grafo completo utilizados no início formam uma k-clique da k-árvore, denominada clique base. Facilmente, prova-se por indução que uma k-árvore com pelo menos k+ vértices possui n-k cliques de tamanho k+ e todos os vértices simpliciais têm grau k. Em uma k-árvore enraizada, os vértices simpliciais que não pertencem à clique base são chamados de k-folhas. Definição 2[]: Sejam n > k > 0, V = {,..., n}, G = V,E) uma k-árvore e B a clique base de G. O código redundante de Prüfer de G é uma matriz a a2... an-k onde: B B2... Bn-k a,..., a n-k são vértices distintos de G; B,..., B n-k são k-cliques de G e, particularmente B n-k = B, ou seja, B n-k é a clique base; {a i } B i é uma k+)-clique de G, para i n-k; a é o menor inteiro não pertencente a B B 2... B n-k ; a i é o menor inteiro não pertencente a {a,..., a i- } B i... B n-k para < i n-k; Para < i < n-k, B i {a j } B j para algum j, tal que i < j n-k. A codificação de uma k-árvore, ou seja, obtenção do seu código, é feita pela sucessiva remoção da menor k-folha do grafo e de suas arestas adjacentes e pela adição desta k-folha e de seus k vizinhos ao código. Durante o processo de codificação de uma k-árvore, o vértice a i é simplicial no subgrafo obtido pela remoção dos vértices a,..., a i-. Deste modo, a seqüência a,..., a n-k faz parte de um esquema de eliminação perfeita. O próximo teorema mostra como obter um esquema de eliminação perfeita a partir do código redundante de uma k-árvore. 233

3 Teorema 3: Sejam V = {,..., n}, G = V,E) uma k-árvore e a a2... an-k seu código redundante B B2... Bn-k de Prüfer. A seqüência a,..., a n-k, B n-k é um esquema de eliminação perfeita. Prova: Pela Definição 2, todo vértice de V ocorre uma vez em a,..., a n-k, B n-k, logo estes n vértices são distintos entre si. Ainda devido à Definição 2, o vértice a i é simplicial no subgrafo obtido pela remoção dos vértices a,..., a i-, ou seja, o vértice a i é simplicial no subgrafo induzido pelos vértices a i,..., a n-k, B n-k. Como o subgrafo induzido por B n-k é um grafo completo, qualquer ordenação de seus vértices é um esquema de eliminação perfeita. A codificação redundante naturalmente define um esquema de construção da k-árvore. Inicia-se com a k-clique B n-k e adicionam-se sucessivamente os vértices a n-k,..., a adjacentes aos vértices das k-cliques B n-k,..., B, respectivamente. Assim, obtém-se trivialmente um algoritmo de decodificação de uma k-árvore com complexidade Om). 3. Código Reduzido de Prüfer para k-árvores Rotuladas Na realidade, a codificação de Prüfer é uma matriz de n-k) k+) inteiros e não oferece nenhuma vantagem especial em relação à representação tradicional dos grafos por listas de adjacência. Nessa seção, mostramos como este código pode ser simplificado com o intuito de obter um código mais compacto para k-árvores. O Teorema e o Corolário, vistos a seguir, são primordiais para a definição do código reduzido, cuja definição será apresentada em seguida. Teorema : Sejam V = {,..., n}, G = V,E) uma k-árvore e a a2... an-k seu código redundante B B2... Bn-k de Prüfer. Para cada uma das n-k- cliques B,..., B n-k-, se B i B n-k, existe um único inteiro j, i < j n-k, tal que a j B i e B i - {a j } B j. Prova: Seja y o maior inteiro tal que B i = B y. Pela Definição 2, B y B j {a j } para y < j n-k. Como B i B n-k, tem-se y n-k. Pela definição de y, B y B j. Logo, a j B y e B y - {a j } B j. A prova da unicidade é por contradição. Sem perda de generalidade, suponha que existe outro inteiro j j, tal que a j B i e B i - {a j } B j. Como a j a j, infere-se que a j B j e a j B j. Isso é um absurdo porque, pela Definição 2, a j B j se j < j e a j B j se j < j. Logo j é único. O corolário a seguir mostra que, além de o índice j ser único, o vértice a j é o primeiro vértice da k-clique B i a aparecer em a i+,..., a n-k. Corolário : Sejam i e j dois índices inteiros que satisfazem as condições do Teorema. Então j = min{t i < t n-k a t B i }. Prova: Pela definição do código redundante, verifica-se que os vértices a i+,..., a j B j. Como B i - {a j } B j, tem-se que a i+,..., a j- B i. Já que a j B i, j é o mínimo indicado no corolário. Definição : O código reduzido de Prüfer para uma k-árvore G é composto pela k-clique base B n-k e pela seqüência α, β ),..., α n-k-, β n-k- ). Esta seqüência é unicamente obtida a partir do código redundante de Prüfer de G do seguinte modo: Para i =,..., n-k-: Se B i = B n-k, então α i, β i ) = a n-k, a n-k ); Se B i B n-k, então α i, β i ) = B i B j, B j B i ) tal que j = min{t i < t n-k a t B i }. O Teorema e seu Corolário permitem determinar inequivocamente os pares α i,β i ) do código reduzido a partir do código redundante. A Figura 2 mostra como obter o código reduzido,,),,7),,),,3) ) para a 3-árvore com vértices vista na Figura. 2337

4 2 3 ) 7 Figura : 3-árvore e seu código redundante de Prüfer. α,β ) = B -B 2,B 2 -B ) =,) α 2,β 2 ) = B 2 -B,B -B 2 ) =,7) α 3,β 3 ) = a,a ) =,) ) ) ) ) α,β ) = B -B,B -B ) =,3) Figura 2: Obtenção, passo a passo, do código reduzido de Prüfer da 3-árvore da Figura. Por definição, existe um único código reduzido correspondendo a um código redundante. O Teorema prova a recíproca. O Lema 7 visto a seguir é utilizado para auxiliar na prova do Teorema. Lema 7: Sejam a a2... an-k o código redundante e B B B2... B n-k, α,β ),..., α n-k-,β n-k- ) ) o código n-k reduzido de uma k-árvore. Para i < n-k, B i... B n-k {a n-k } = {α i }... {α n-k- } B n-k. Prova: É feita por indução no índice i. Quando i = n-k-, se B n-k- = B n-k, α n-k- = a n-k pela Definição. Desse modo obtém-se B n-k- B n-k {a n-k } = {α n-k- } B n-k e o lema é valido. Se B n-k- B n-k, i < j n-k pela Definição. Assim, j = n-k, pois n-k- < j n-k. Desse modo, {α n-k- } = B n-k- - B n-k e α n-k- = a n-k. Então, verifica-se que {α n-k- } B n-k = {α n-k- } B n-k {α n-k- } = B n-k- - B n-k ) B n-k {a n-k } = B n-k- B n-k {a n-k }. Logo o lema vale para i = n-k-. Suponha que o resultado vale para um i+ tal que i < n-k-. Desse modo, tem-se que: B i+... B n-k {a n-k } = {α i+ }... {α n-k- } B n-k. Pela Definição, se B i B n-k, {α i } = B i - B j. Logo, {α i } B j = B i - B j ) B j = B i B j. Assim, tem-se que B i... B n-k {a n-k } = {α i } B i+... B n-k {a n-k }. Se B i = B n-k, obtém-se a mesma expressão, pois α i = a n-k. Utilizando a hipótese de indução nesta expressão, obtém-se B i... B n-k {a n-k } = {α i } {α i+ }... {α n-k- } B n-k. 233

5 Teorema : O código redundante de Prüfer de uma k-árvore é unicamente determinado pelo seu código reduzido de Prüfer do seguinte modo: ) a é o menor inteiro não pertencente a {α } {α 2 }... {α n-k- } B n-k ; 2) a j é o menor inteiro não pertencente a {a,..., a j- } {α j }... {α n-k- } B n-k, para < j < n-k; 3) a n-k = α n-k- ; ) Para n-k > i, B i = {α i } B j - {β i } onde o índice j é tal que a j = α i. Prova: Do lema anterior, B... B n-k {a n-k } = {α }... {α n-k- } B n-k. Da Definição 2, tem-se que a é o menor inteiro não pertencente a B B 2... B n-k. Como a a n-k, obtém-se o item. Para < j < n-k, sabe-se do lema anterior que B j... B n-k {a n-k } = {α j }... {α n-k- } B n-k e da Definição 2 que a j é o menor inteiro não pertencente a {a,..., a j- } B j... B n-k. Como a j a n-k, obtém-se o item 2. Quando i = n-k-, pela Definição, se B n-k- = B n-k, então α n-k- = a n-k. Se B n-k- B n-k, então i < j n-k pela Definição. Assim, j = n-k, pois n-k < j n-k. Desse modo, {α n-k- } = B n-k- - B n-k e α n-k- = a n-k. Logo, o item 3 é válido. Pela Definição de código reduzido, se B i B n-k, então {α i } = B i - B j e {β i } = B j - B i. Assim, B i B j = B i - {α i } = B j - {β i }. Logo, B i = {α i } B j - {β i }. Se B i = B n-k, então α i = β i = a n-k e obtém-se B i = {α i } B n-k - {β i }. Logo, o item é válido. A Figura 3 mostra como obter passo a passo o código redundante de Prüfer a partir do código reduzido,,),,7),,),,3) ) da 3-árvore com oito vértices codificada na Figura 2. a {} {} {} {}, logo a =. a 2 {} {} {} {}, logo a 2 =. a 3 {,} {} {}, logo a 3 =. a {,,} {}, logo a =. a = α, logo a =. ) ) B = α B β = {} {3} = ) B 3 = α 3 B β 3 = {} {} = ) B 2 = α 2 B β 2 = {} {7} = ) B = α B 2 β = {} {} = Figura 3: Obtenção, passo a passo, de uma 3-árvore a partir de seu código reduzido de Prüfer. 2339

6 . Algoritmos de Codificação e Decodificação Nessa seção, propomos algoritmos de codificação e decodificação para o código reduzido de Prüfer e provamos que estes algoritmos têm complexidade Om). O algoritmo que obtém o código reduzido é visto na Figura. São fornecidas a k-árvore rotulada, através de suas listas de adjacência, e a clique base B n-k. O passo constitui-se de inicializações. No passo 2 do algoritmo, obtém-se o código redundante de Prüfer de acordo com a Definição 2 e, no passo 3, determina-se o código reduzido, utilizando o Corolário para calcular o índice j associado aos pares α i,β i ). No passo 2, utiliza-se a lista Simpl, que contém os vértices candidatos a k-folhas. Inicialmente esta lista contém todos os vértices do grafo em ordem crescente exceto aqueles pertencentes à clique base, que não podem ser k-folhas. Para k-árvores enraizadas, a remoção de uma k-folha gera no máximo uma nova k-folha na k-árvore obtida. Assim, após remover uma k-folha, insere-se a nova k-folha no início da lista Simpl caso ela seja menor que o vértice do início da lista. Utilizando este procedimento, reduz-se a complexidade da busca da menor k-folha de On log n) para On). Cada uma das k-cliques B i é obtida a partir dos k vértices adjacentes a a i que ainda pertencem a k-árvore após a remoção dos vértices a,..., a i-. No passo 3, utiliza-se o vetor auxiliar Clique[v]. Na iteração i, um elemento do vetor Clique[v] assume valor i se v B i e assume outro valor caso contrário. A cada iteração procura-se dentre os vértices de B i um vértice v que pertença a {a i+,..., a n-k } e possua índice mínimo j. Caso nenhum vértice de B i pertença a {a i+,..., a n-k }, tem-se que B i = B n-k e α i = β i = a n-k. Caso exista tal vértice, o vértice β i = B j - B i é um vértice de B j que não ocorre em B i, ou seja, é aquele que tem valor diferente de i no vetor Clique. As verificações de pertinência de vértices a conjuntos são feitas com a utilização de vetores auxiliares. Algoritmo Codificação_Reduzida_de_Prüfer; Entrada: n, k, Adjv) v {,..., n}, Clique Base B n-k ; Saída: Código Reduzido B n-k, α,β ),..., α n-k-,β n-k- ) ); Início Passo: Criar lista Simpl em ordem crescente com {,..., n} - B n-k ; Calcular o vetor d[] com os graus dos vértices de V; Para v de até n faça Clique[v] -; Passo2: Para i de até n-k- faça Procurar u seqüencialmente em Simpl tal que d[u] = k; a i u; B i {v Adja i ) v {a,..., a i- }; Para v B i - B n-k ) faça d[v] d[v] -; Se d[v] = k) v < primeiro elemento de Simpl) então Inserir v no início da lista Simpl; a n-k único elemento de Simpl; Passo3: Para i de até n-k- faça j mínimon-k, u a u B i ); α i β i a j ; Para v B i faça Clique[v] i; Para v B j faça Se Clique[v] i então β i v; Fim Figura : Algoritmo de obtenção do código reduzido de Prüfer. Teorema 9: O algoritmo de obtenção do código reduzido de Prüfer de uma k-árvore tem complexidade Om). Prova: A inicialização da lista e do vetor auxiliar é feita em On) e o cálculo dos graus dos vértices é feito em Om). No passo 2, a procura da menor k-folha é feita em On) e a montagem das k-cliques em Om). Finalmente, o cálculo dos pares α i,β i ) é feito em On.k) passos. Desse modo, o algoritmo tem complexidade On.k) = Om). 230

7 O algoritmo que obtém a k-árvore a partir de seu código reduzido é visto na Figura. Este algoritmo obtém o código redundante de Prüfer utilizando o Teorema e insere as arestas a partir dos vértices a i e das k-cliques B i. Os valores de n e k não precisam ser explicitamente mencionados na entrada, pois podem ser deduzidos a partir das cardinalidades das duas seqüências No passo, computa-se o vetor auxiliar último[v] que armazena o maior índice i tal que v = α i ou 0 caso v {α }... {α n-k- }. Desse modo, v {α i }... {α n-k- } quando último[v] < i. Obtém-se os vértices a i no passo 2 com base nos itens, 2 e 3 e as k-cliques no passo 3 com base no item do Teorema. Ainda no passo 3, são inseridas as k arestas adjacentes a a i e aos vértices de B i. No passo 2, a lista Simpl contém os vértices candidatos a k-folhas. Inicialmente esta lista contém todos os vértices do grafo em ordem crescente exceto aqueles pertencentes à clique base, que não podem ser k-folhas. Como a lista Simpl não contém os vértices de B n-k, a verificação realizada nos itens e 2 do Teorema depende apenas das seqüências de a i e α i, ou seja, o vértice a é o menor vértice da lista Simpl que não pertence a {α }... {α n-k- } e o vértice a i é o menor vértice da lista Simpl que não pertence a {a,..., a j- } {α j }... {α n-k- } para < j < n-k. Como, na iteração i do passo 2, os vértices a,..., a i- já foram removidos da lista Simpl, a i é o primeiro da lista Simpl que não pertence a {α i }... {α n-k- }. Na iteração i, após computar o vértice a i, o vértice α i passa a ser uma k-folha quando não pertence a {α i+ }... {α n-k- } e deve ser inserido no início da lista Simpl caso seja menor que o primeiro vértice da lista. O vértice a n-k é computado utilizando o item 3 do Teorema. A utilização da lista Simpl possibilita o cálculo dos vértices a,..., a n-k em On). No passo 3, inicialmente calcula-se o vetor auxiliar posição[v], que armazena i se v = a i e 0 caso v {a }... {a n-k }. Assim, um índice j tal que v = a j é obtido através de posição[v]. Inicia-se o conjunto de arestas com as arestas relativas à k+)-clique B n-k {a n-k }. Em seguida, com base no item do Teorema, obtém-se j tal que α i = a j e calculam-se as k-cliques B i. Finalmente, inserem-se as k arestas adjacentes a a i e aos vértices da k-clique B i. Cabe ressaltar que, na iteração i do passo 3, a k-clique B i já estava na k-árvore e, portanto, as arestas relativas a B i já foram incluídas. Teorema 0: O algoritmo de obtenção da k-árvore a partir de seu código reduzido de Prüfer tem complexidade Om). Prova: A inicialização da lista e do vetor auxiliar é feita em On). No passo 2, a procura da menor k-folha é feita em On). Finalmente, a montagem das k-cliques e inserção de arestas são feitas em On.k) passos. Desse modo, o algoritmo tem complexidade On.k) = Om). Algoritmo Decodificação_Reduzida_de_Prüfer; Entrada: Código Reduzido B n-k, S = α,β ),..., α n-k-,β n-k- ) ); Saída: Conjunto de arestas de uma k-árvore; Início Passo: k B n-k ; n k + S + ; Para v de até n faça ultimo[ v ] 0; Para i de até n-k- faça ultimo[ α i ] i; Criar lista Simpl em ordem crescente com {,..., n} - B n-k ; Passo2: Para i de até n-k- faça Procurar u seqüencialmente em Simpl tal que ultimo[u] < i; a i u; Se ultimo[α i ] = i) α i < primeiro elemento de Simpl) então Inserir α i no início da lista Simpl; a n-k α n-k- ; Passo3: Para v de até n faça posição[ v ] 0; Para i de até n-k faça posição[ a i ] i; E arestas da clique B n-k {a n-k }; Para i de n-k- até faça j posição[α i ]; B i {α i } B j - {β i }; Para v B i faça E E {{a i,v}}; Fim Figura : Algoritmo de obtenção da k-árvore a partir de seu código reduzido de Prüfer. 23

8 . Conclusões O código reduzido proposto reduz a complexidade de armazenamento de uma k-árvore de On.k) para On). Os algoritmos de codificação e decodificação obtidos são lineares e dispensam estruturas de dados auxiliares complexas, como é o caso do código de Chen []. Além disso, o algoritmo de codificação apresentado pode ser utilizado para obter o código redundante de Prüfer com complexidade linear. Referências [] W. Y. C. Chen, A coding algorithm for Rényi trees, Journal of Combinatorial Theory, series A, vol. 3, pp. 2, 993. [2] F. Harary, E. M. Palmer, On Acyclic Complexes, Mathematika, vol., pp. 22, 9. [3] C. M. Justel, L. Markenzon, Lexicographic Breadth First Search and k-trees, Proceedings of JIM Secondes Journées de l Informatique Messine, pp. 23 2, Metz, France, [] A. Proskurowski, K-Trees: Representations and Distances, Congressus Numerantium, vol. 29, pp. 7 79, 90. [] A. Proskurowski, Separating Subgraphs in k-trees: Cables and Caterpillars, Discrete Mathematics, vol. 9, pp. 27 2, 9. [] A. Prüfer, Neuer Beweis eines Satzes über Permutationen, Archiv der Mathematik und Physik, vol. 27, pp. 2, 9. [7] D. J. Rose, On Simple Characterizations of k-trees, Discrete Mathematics, vol.7, pp , 97. [] C. Rényi, A. Rényi, Prüfer Code for k-trees, In P.Erdös et al., editor, Combinatorial Theory and its Applications, pp. 9 97,

OBSTRUÇÕES DE COGRAFOS-(K, L)

OBSTRUÇÕES DE COGRAFOS-(K, L) OBSTRUÇÕES DE COGRAFOS-(K, L) Raquel de Souza Francisco COPPE/Sistemas, Universidade Federal do Rio de Janeiro, RJ, 21945-970, Brasil raquelbr@cos.ufrj.br Sulamita Klein IM e COPPE/Sistemas, Universidade

Leia mais

UMA PARTIÇÃO DO CONJUNTO DOS GRAFOS CONEXOS DE ORDEM n EM CLASSES DE GRAFOS (a, b)-lineares

UMA PARTIÇÃO DO CONJUNTO DOS GRAFOS CONEXOS DE ORDEM n EM CLASSES DE GRAFOS (a, b)-lineares UMA PARTIÇÃO DO CONJUNTO DOS GRAFOS CONEXOS DE ORDEM n EM CLASSES DE GRAFOS (a, b)-lineares Patricia Erthal de Moraes Colégio Pedro II Campo de São Cristóvão, 77 - São Cristóvão -Rio de Janeiro, CEP: 9-44

Leia mais

Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos

Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos Teobaldo L. Bulhões Júnior a a Instituto de Computação, Universidade Federal Fluminense, Niterói, RJ, Brazil

Leia mais

Teoria dos Grafos Aula 5

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

Leia mais

Teoria dos Grafos Aula 6

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

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Grafos Enumeração de Passeios/Caminhos O processo associado à enumeração de caminhos de um grafo/dígrafo é semelhante ao processo de contagem com a diferença de que usaremos uma matriz de

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Árvores Sabemos que com um ou dois vértices apenas uma árvore pode ser formada. Entretanto com três vértices podemos formar três árvores. Com quatro vértices temos quatro estrelas e doze

Leia mais

GRAFOS CORDAIS E ÁRVORES DE ELIMINAÇÃO. Maximiliano Pinto Damas. Claudia Marcela Justel RESUMO ABSTRACT

GRAFOS CORDAIS E ÁRVORES DE ELIMINAÇÃO. Maximiliano Pinto Damas. Claudia Marcela Justel RESUMO ABSTRACT A pesquisa Operacional e os Recursos Renováveis 4 a 7 de novembro de 2003, Natal-RN GRAFOS CORDAIS E ÁRVORES DE ELIMINAÇÃO Maximiliano Pinto Damas Instituto Militar de Engenharia Depto. de Engenharia de

Leia mais

L(2, 1)-coloração de k-árvores e grafos com treewidth limitado

L(2, 1)-coloração de k-árvores e grafos com treewidth limitado Proceeding Series of the Brazilian Society of Applied and Computational Mathematics, Vol. 3, N. 1, 015. Trabalho apresentado no XXXV CNMAC, Natal-RN, 014. L(, 1)-coloração de k-árvores e grafos com treewidth

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 16: Grafos Planares. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 16: Grafos Planares. 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 16: Grafos Planares Preparado a partir do texto: Rangel, Socorro. Teoria do

Leia mais

Geração de todos os conjuntos independentes maximais de um grafo

Geração de todos os conjuntos independentes maximais de um grafo Geração de todos os conjuntos independentes maximais de um grafo André L. Korenchendler 1 Universidade Federal do Rio de Janeiro Curso de Ciência da Computação Instituto de Matemática UFRJ Curso de Mestrado

Leia mais

Eduardo Camponogara. DAS-9003: Introdução a Algoritmos

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

Leia mais

Grafos Prismas Complementares Bem-cobertos

Grafos Prismas Complementares Bem-cobertos Grafos Prismas Complementares Bem-cobertos Rommel M. Barbosa, Márcia R. C. Santana, Instituto de Informática, UFG, Caixa Postal 131, CEP 74001-970, Goiânia, GO E-mail: rommel@inf.ufg.br, marcia@inf.ufg.br,

Leia mais

Teoria 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. 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 mais

ALGUNS GRAFOS BEM-COBERTOS LIVRES DE K 1,3

ALGUNS GRAFOS BEM-COBERTOS LIVRES DE K 1,3 ALGUNS GRAFOS BEM-COBERTOS LIVRES DE K 1,3 Márcia R. Cappelle Santana UEG Universidade Estadual de Goiás Campus BR 153, Km 98 Caixa Postal: 459 CEP: 75001-970 Anápolis-GO mcappelle@ueg.br Rommel Melgaço

Leia mais

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado.

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado. PUC-Rio Departamento de Informática Profs. Marcus Vinicius S. Poggi de Aragão Período: 0. Horário: as-feiras e as-feiras de - horas de maio de 0 ESTRUTURAS DISCRETAS (INF 6) a Lista de Exercícios Procure

Leia mais

Árvores Árvores Geradoras de Custo Mínimo 0/16

Árvores Árvores Geradoras de Custo Mínimo 0/16 Conteúdo 1 Árvores 2 Árvores Geradoras de Custo Mínimo Árvores Árvores Geradoras de Custo Mínimo 0/16 Árvores Definição (Grafo Acíclico) Um grafo acíclico é um grafo que não contém ciclos. Árvores Árvores

Leia mais

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 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

GRAFOS Aula 02 Formalização: definições Max Pereira

GRAFOS Aula 02 Formalização: definições Max Pereira Ciência da Computação GRAFOS Aula 02 : definições Max Pereira Um grafo G é um par ordenado G = (V, E) onde V é um conjunto finito e não vazio de elementos e E é um conjunto de subconjuntos de dois elementos

Leia mais

Teoria dos Grafos. Árvores Geradoras

Teoria dos Grafos. Árvores Geradoras 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 Preparado a partir

Leia mais

Algoritmos em Grafos

Algoritmos em Grafos Algoritmos em Grafos Baseado em: The Algorithm Design Manual Steven S. Skiena IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/42 Introdução (1) Um grafo G=(V,E)

Leia mais

Grafos COM11087-Tópicos Especiais em Programação II

Grafos COM11087-Tópicos Especiais em Programação II Grafos COM11087-Tópicos Especiais em Programação II edmar.kampke@ufes.br Introdução Grafos são estruturas muito estudadas na Ciência da Computação para modelagem de problemas Euler (1736) em Königsberg

Leia mais

Teoria 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 Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 14: Conjuntos de Corte e Conectividade Preparado a partir do texto: Rangel,

Leia mais

Q-spread de grafos em classes especiais

Q-spread de grafos em classes especiais Q-spread de grafos em classes especiais Carla Oliveira, Escola Nacional de Ciências Estatísticas, ENCE, IBGE, 3-5, Rio de Janeiro, RJ E-mail: carlaoliveira@ibgegovbr Leonardo Lima, Departamento de Engenharia

Leia mais

Trabalho final de Teoria dos Grafos: O problema de coloração de vértices de grafos. Alessander Botti Benevides.

Trabalho final de Teoria dos Grafos: O problema de coloração de vértices de grafos. Alessander Botti Benevides. Trabalho final de Teoria dos Grafos: O problema de coloração de vértices de grafos Alessander Botti Benevides abbenevides@inf.ufes.br 4 de julho de 2011 Sumário 1 2 Coloração de mapas Problemas de agendamento

Leia mais

MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47

MATEMÁ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 mais

Linguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC)

Linguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC) Linguagens Formais e Autômatos Simplificação de Gramáticas Livre do Contexto (GLC) Cristiano Lehrer, M.Sc. Gramática Simplificada Gramática simplificada é uma gramática livre do contexto que não apresenta

Leia mais

Partição dos grafos P 4 -laden em conjuntos independentes e cliques

Partição dos grafos P 4 -laden em conjuntos independentes e cliques Partição dos grafos P 4 -laden em conjuntos independentes e cliques Raquel Bravo 1, Sulamita Klein 1, Samuel Nascimento 2, Loana Nogueira 3, Fábio Protti 3, Rudini Sampaio 2 1 Universidade Federal do Rio

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Grafos Cliques Maximais Para determinar os cliques maximais de um grafo G podemos usar o método de Maghout em Dado o grafo abaixo, calcule Determine os conjuntos independentes maximais em

Leia mais

Grafos: componentes fortemente conexos, árvores geradoras mínimas

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

Leia mais

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

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

Leia mais

Notas em Matemática Aplicada 24

Notas em Matemática Aplicada 24 Notas em Matemática Aplicada 24 Editores Eliana X.L. de Andrade Universidade Estadual Paulista - UNESP São José do Rio Preto, SP, Brasil Rubens Sampaio Pontifícia Universidade Católica do Rio de Janeiro

Leia mais

Grafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes

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

Leia mais

Grafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36

Grafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36 Grafos Direcionados > Grafos Direcionados Representações Computacionais 1/36 Grafos Direcionados Em muitas aplicações, é importante ter direção nas arestas: Ruas de mão única Grafos modelando páginas da

Leia mais

apenas 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.

apenas 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 mais

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

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

Leia mais

Largura em Árvore de Grafos Planares Livres de Ciclos Pares Induzidos

Largura em Árvore de Grafos Planares Livres de Ciclos Pares Induzidos Largura em Árvore de Grafos Planares Livres de Ciclos Pares Induzidos Aline Alves da Silva Departamento de Computação Universidade Federal do Ceará (UFC) Campus do Pici, Bloco 910 Fortaleza, CE Brasil

Leia mais

Teoria e Algoritmos em Grafos

Teoria 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 mais

O Teorema da Amizade

O Teorema da Amizade O Teorema da Amizade Seminário Diagonal David Mesquita Faculdade de Ciências da Universidade do Porto 13 de Maio de 2009 Teorema da Amizade,TA Formulação Original Suponha-se que numa sociedade, cada par

Leia mais

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 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

Leia mais

Teoria dos Grafos Aula 8

Teoria 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 mais

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

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

Leia mais

Grafos parte 2. Percorrendo um grafo. Correção. Eficiência. Percorrendo um Grafo. Percorrendo um Grafo. Percorrendo um Grafo

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

Leia mais

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher TGR BCC Representação Computacional de Grafos Prof. Ricardo José Pfitscher Cronograma Representação Matriz de djacências Lista de djacências Matriz de Incidências Representação Como podemos representar

Leia mais

Árvores: Conceitos Básicos e Árvore Geradora

Á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 mais

Teoria dos Grafos. Árvores

Teoria dos Grafos.  Árvores 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 Preparado a partir

Leia mais

Teoria 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. 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 mais

05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II

05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II 05 Grafos: ordenação topológica 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 mais

Teoria dos Grafos Aula 8

Teoria 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 mais

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. 1 Árvores Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. Um grafo simples sem ciclos mas não conexo (em que cada componente conexa é portanto uma árvore) chama-se uma floresta. Numa

Leia mais

INSTITUTO FEDERAL DO ESPÍRITO SANTO CURSO BACHARELADO EM SISTEMAS DE INFORMAÇÃO

INSTITUTO FEDERAL DO ESPÍRITO SANTO CURSO BACHARELADO EM SISTEMAS DE INFORMAÇÃO INSTITUTO FEDERAL DO ESPÍRITO SANTO CURSO BACHARELADO EM SISTEMAS DE INFORMAÇÃO ANTONIO CARLOS GOMES BASILIO EVANDRO DAS VIRGENS SCARPATI MARCOS AURÉLIO MELO DIAS RENAN COSMO PROBLEMA DO CAMINHO MÍNIMO

Leia mais

Sub-grafo. Árvore Geradora Mínima

Sub-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 mais

ANÁLISE DE ALGORITMOS (INF 1721)

ANÁ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 mais

SOBRE A CONECTIVIDADE ALGÉBRICA EM UMA SUBCLASSE DAS ÁRVORES DE TIPO II

SOBRE A CONECTIVIDADE ALGÉBRICA EM UMA SUBCLASSE DAS ÁRVORES DE TIPO II SOBRE A CONECTIVIDADE ALGÉBRICA EM UMA SUBCLASSE DAS ÁRVORES DE TIPO II Claudia M. Justel Stanley Rodrigues Thiago de Paula Vasconcelos Instituto Militar de Engenharia - IME Praça General Tibúrcio, 80

Leia mais

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 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

Leia mais

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 / 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

Leia mais

CIC 111 Análise e Projeto de Algoritmos II

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 22 Combinatorics Binomial coefficients Catalan numbers Inclusion-exclusion Burnside

Leia mais

Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ

Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ Suponha que temos um grupo de pessoas (funcionário de uma empresa) que serão submetidos a um treinamento. Queremos identificar os grupos de

Leia mais

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Árvore digital Árvore digital binária

Leia mais

Emparelhamentos Máximos em Grafos Bipartidos

Emparelhamentos Máximos em Grafos Bipartidos Introdução à Teoria dos Grafos Emparelhamentos Máximos em Grafos Bipartidos Bacharelado em Ciência da Computação, DCT UFMS, 6/6/2005 Entrega em 04/07/2005 Resumo Quando estudamos emparalhementos e fatorações

Leia mais

CI065 CI755 Algoritmos e Teoria dos Grafos

CI065 CI755 Algoritmos e Teoria dos Grafos CI065 CI755 Algoritmos e Teoria dos Grafos Exercícios 11 de outubro de 2017 1 Fundamentos 1. Seja S = {S 1,..., S n } uma família de conjuntos. O grafo intercessão de S é o grafo G S cujo conjunto de vértices

Leia mais

Grafos: árvores geradoras mínimas. Graça Nunes

Grafos: á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 mais

Codificação de Huffman

Codificação de Huffman Codificação de Huffman Bruna Gregory Palm 11 de setembro de 2017 A codificação de Huffman é um método de compressão que considera as probabilidades de ocorrência de cada símbolo no conjunto de dados a

Leia mais

Vanessa Juliana da Costa Maringá PR, Brasil

Vanessa Juliana da Costa Maringá PR, Brasil Decodificação para Códigos Lineares Vanessa Juliana da Costa Maringá PR, Brasil Abstract In this work we present a decoding algorithm for linear codes. We introduce basic properties of linear codes such

Leia mais

Projeto de Algoritmos por Indução

Projeto de Algoritmos por Indução Projeto de Algoritmos por Indução Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Projeto de Algoritmos por Indução junho - 2018 1 / 40 Este material é preparado

Leia mais

Grafo planar: Definição

Grafo planar: Definição Grafo planar Considere o problema de conectar três casas a cada uma de três infraestruturas (gás, água, energia) como mostrado na figura abaixo. É possível fazer essas ligações sem que elas se cruzem?

Leia mais

Grafos IFRN. Prof. Robinson Alves

Grafos 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 mais

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA Doutorado em Ciência da Computação Algoritmos e Grafos Raimundo Macêdo LaSiD/DCC/UFBA Grafo Completo Grafo simples cujos vértices são dois a dois adjacentes. Usa-se a notação K n para um grafo completo

Leia mais

ALGUNS PROBLEMAS SOBRE CONJUNTOS INDEPENDENTES EM GRAFOS

ALGUNS PROBLEMAS SOBRE CONJUNTOS INDEPENDENTES EM GRAFOS ALGUNS PROBLEMAS SOBRE CONJUNTOS INDEPENDENTES EM GRAFOS Karla Roberta P. do Nascimento UFG Campus II - Samambaia krlanascimento@gmail.com Rommel M. Barbosa UFG Campus II - Samambaia rmbarbosa@yahoo.com

Leia mais

Planaridade AULA. ... META Introduzir o problema da planaridade de grafos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de:

Planaridade AULA. ... META Introduzir o problema da planaridade de grafos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de: Planaridade AULA META Introduzir o problema da planaridade de grafos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de: Distinguir grafo planar e plano; Determinar o dual de um grafo; Caracterizar

Leia mais

Otimização em Grafos

Otimização em Grafos Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 35 Teoria dos Grafos - Relembrando Árvore Um grafo G é uma árvore se é conexo e não possui ciclos (acíclico).

Leia mais

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45

Volmir 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 mais

Introdução a Grafos Letícia Rodrigues Bueno

Introduçã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 mais

Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko. Capítulo 3

Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko. Capítulo 3 Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko Capítulo 3 Árvores Problema: Suponha que numa cidade haja n postos telefônicos. Para que seja sempre possível haver comunicação

Leia mais

GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira

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.

Leia mais

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 023/2018 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua

Leia mais

PARTIÇÃO DE GRAFOS EM CIRCUITOS FECHADOS

PARTIÇÃO DE GRAFOS EM CIRCUITOS FECHADOS PARTIÇÃO DE GRAFOS EM CIRCUITOS FECHADOS Gilcina Guimarães Machado Universidade do Estado do Rio de Janeiro Escola Naval gilcina @uerj.br RESUMO Uma partição do conjunto de vértices em um grafo não orientado

Leia mais

Marcos Castilho. DInf/UFPR. 21 de março de 2019

Marcos Castilho. DInf/UFPR. 21 de março de 2019 21 de março de 2019 Análise sintática: introdução Dada uma gramática G e uma palavra w Σ, como saber se w L(G)? Isto é, como saber se S = G w? Derivações à esquerda e ambiguidade w L(G) se S = G w; Sabemos

Leia mais

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização

Leia mais

Capítulo 1. Aula Conectividade Caminhos

Capí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 mais

BCC204 - Teoria dos Grafos

BCC204 - 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 mais

x y Grafo Euleriano Figura 1

x 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 mais

Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira.

Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira. Algoritmos e Estrutura de Dados II Árvore Prof a Karina Oliveira kkco@dei.unicap.br Introdução Estruturas de dados lineares (pilha, fila) são estruturas que guardam coleções de elementos que são acessados

Leia mais

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

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

Leia mais

Teoria 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 Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 09: Representação de Grafos Preparado a partir do texto: Rangel, Socorro. Teoria

Leia mais

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA Doutorado em Ciência da Computação Algoritmos e Grafos Raimundo Macêdo LaSiD/DCC/UFBA Grafo Completo Grafo simples cujos vértices são dois a dois adjacentes. Usa-se a notação K n para um grafo completo

Leia mais

Coloração total distinta na vizinhança em grafos 4-partidos completos

Coloração total distinta na vizinhança em grafos 4-partidos completos https://eventos.utfpr.edu.br//sicite/sicite2017/index Coloração total distinta na vizinhança em grafos 4-partidos completos RESUMO Matheus Scaketti mts.scaketti@gmail.com Universidade Tecnológica Federal

Leia mais

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 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

Leia mais

Indução Matemática. Profa. Sheila Morais de Almeida. junho DAINF-UTFPR-PG

Indução Matemática. Profa. Sheila Morais de Almeida. junho DAINF-UTFPR-PG Indução Matemática Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Indução Matemática junho - 2018 1 / 69 Este material é preparado usando como referências os

Leia mais

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 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

Pesquisa Operacional. Teoria dos Grafos

Pesquisa Operacional. Teoria dos Grafos Pesquisa Operacional Teoria dos Grafos 1 Sumário Introdução Histórico Aplicações de modelos em grafos Conceitos e Notação Representações de um grafo G Tipos de grafos Algoritmos Algoritmo de Djisktra Algoritmo

Leia mais

Universidade de Pernambuco Escola Politécnica de Pernambuco

Universidade de Pernambuco Escola Politécnica de Pernambuco Universidade de Pernambuco Escola Politécnica de Pernambuco TV Analógica e Digital Introdução Codificação de Canal Prof. Márcio Lima E-mail:marcio.lima@poli.br Introdução Visão Geral Introdução Motivação

Leia mais

Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma

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 :

Leia mais

Grafos e Algoritmos de Busca

Grafos e Algoritmos de Busca Grafos e Algoritmos de Busca /65 Grafos e Algoritmos de Busca Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-93: Introdução a Algoritmos Grafos e Algoritmos

Leia mais

Dedução Indução Contra-exemplos Contradição Contrapositiva Construção Diagonalização

Dedução Indução Contra-exemplos Contradição Contrapositiva Construção Diagonalização Dedução Indução Contra-exemplos Contradição Contrapositiva Construção Diagonalização 1 Provas, lemas, teoremas e corolários Uma prova é um argumento lógico de que uma afirmação é verdadeira Um teorema

Leia mais

ANÁLISE DE ALGORITMOS (INF 1721)

ANÁ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) 24 de novembro de 2015 Período: 2015.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de

Leia mais

Triangulação de Delauney

Triangulação de Delauney Triangulação de Delauney Um pedaço da superfície terrestre é chamado de terreno. Um terreno é uma superfície 2-dimensional em um espaço 3-dimensional com uma propriedade especial: cada linha vertical intercepta

Leia mais

Otimização em Grafos

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

Leia mais