Académique Documents
Professionnel Documents
Culture Documents
Lista de Adjacncia e
Cdigo de Prfer
DEPARTAMENTO DE MATEMTICA
LICENCIATURA EM MATEMTICA
Aluno: Rodrigo Tomaz Silva de Melo
Prof.: Thiago Dias
Introduo
A iniciativa de se criar cdigos para representar rvores expresso da necessidade de
conta-las com mxima preciso e armazen-las utilizando o menor espao de memria
possvel. Sendo assim, de incio, tanto natural quanto importante a pergunta: quantas
rvores existem sobre n vrtices?
Porm, isso depende de quando se considera duas rvores diferentes, pois h diversas
definies possveis que satisfazem esta questo. Por exemplo, pode-se afirmar que as
rvores na Figura 1 so iguais?
Figura 1
De certa forma, poder-se-ia dizer que so iguais, mas ao considerar os vrtices como
cidades, por exemplo, e as arestas como projetos de estradas a serem construdas entre
elas, certamente os habitantes das cidades considerariam os dois projetos bastante
distintos.
Diante disso, h duas maneiras simples de definir quando rvores so iguais: a primeira
consiste em fixar o conjunto de vrtices, e considerar duas rvores iguais se os mesmos
pares de vrtices estiverem conectados em cada uma, ou seja, se houver identidade entre
as rvores; a segunda consiste em considerar duas rvores iguais se for possvel
rearranjar os vrtices de uma, conservando as arestas, de modo a obter a outra rvore,
sem a necessidade de dar nomes aos vrtices, ou seja, se houver um isomorfismo entre
as rvores. Portanto, as rvores na Figura 1 no seriam iguais segundo a primeira
definio (no so idnticas), mas seriam iguais segundo a segunda definio (so
isomorfas).
O contedo do presente trabalho permite responder importante questo levantada
considerando-se rvores rotuladas, apresentando e utilizando as definies de Lista de
vrtices
Figura 2
Para tal, sero dadas algumas solues simples, at que seja satisfeita a indagao.
n
linhas e
sima linha com a j-sima coluna caso os vrtices i e j estejam conectados por aresta, e
colocar o nmero 0 caso no estejam, deixando convenientemente por ltimo o vrtice
rotulado 0.
Esse mtodo no exclusivo s rvores, podendo ser usado para qualquer grafo. A essa
0
n2
suficiente armazenar a parte que fica abaixo (ou acima) da diagonal, pois a diagonal
sempre 0, j que se trata de rvores, onde um vrtice nunca est conectado consigo
mesmo, e a outra metade da tabela simplesmente o reflexo da metade abaixo (ou
2
acima) da diagonal. Mesmo assim, seriam necessrios (n n)/2 bits.
2. H uma maneira mais sofisticada que utilizar tabelas. Esse mtodo consiste em
representar cada rvore listando todas suas arestas, especificando cada aresta por suas
duas extremidades. Arranja-se, convenientemente, esta lista num vetor cujas colunas
correspondam s arestas. Por exemplo, a rvore na Figura 2 pode ser codificada por:
6
Ao invs de uma tabela com n linhas, obtemos uma tabela somente com duas linhas.
Mas isso tem um custo: ao invs de apenas 0 e 1, a nova tabela conter inteiros entre
0 e n1 . No entanto, escrever o rtulo de um vrtice toma log 2 n bits,
portanto a tabela inteira ocupa apenas
2 n log 2 n
ser
denominado raiz da rvore. Sendo assim, para codificar uma rvore, representa-se
cada aresta listando a extremidade mais distante da raiz primeiro e depois a extremidade
mais prxima a seguir. Portanto, em qualquer aresta, o vrtice escrito abaixo o pai do
vrtice escrito acima. Para a ordem na qual listamos as arestas, toma-se a ordem
crescente de seus primeiros vrtices. Logo, para a rvore na Figura 2, obtemos a tabela:
1
Como todo vrtice diferente da raiz tem um nico pai, todo vrtice diferente da raiz
ocorre uma nica vez na primeira linha e em ordem crescente. Com isso, todo cdigo de
rvore codificada com esse mtodo ter a primeira linha igual a 1,2, 3 , , n1 , de
forma tal que ser sempre possvel suprimir a primeira linha sem perder informao,
bastando apenas armazenar a segunda. Portanto, pode-se especificar a rvore por uma
n1 nmeros, cada um entre
0
n1 . Isso toma
sequncia de
e
(n1) log 2 n
bits. Porm, esse cdigo ainda no timo visto que nem todo
n1
de
a
de pai. Porm, o nmero mximo de cdigos ( 1 , a2 ,a 3 , , an 1 ) distintos
n . n .n . . n=nn1
n1 vez es
Como o nmero mximo de cdigos
mximo de rvores
n1
vrtices n
de
a
( 1 , a2 ,a 3 , , an 1 ) determina o nmero
O Cdigo de Prfer
n2 nmeros entre
0 e n1 . Ainda se considera o
modo que o filho venha primeiro. Porm, a maneira como se ordenam as arestas
diferente. A regra para esta ordem a seguinte:
1. Procura-se por um vrtice de grau 1 , diferente de 0 , com o menor rtulo,
e escreve-se a aresta com esta extremidade. Usando como exemplo a rvore na
1
Figura 2, isso significa escrever 4 .
pode ser removida sem perda de informao. Sendo assim, a sequencia que define a
segunda linha do cdigo estendido de Prfer, sem a ltima entrada (que o 0 ),
definida como cdigo de Prfer.
Por outro lado, no est to claro que a primeira linha trivial. Ento, como reconstruir
a primeira linha a partir da segunda linha do cdigo estendido de Prfer?
Como exemplo, observe a rvore na Figura 2, cuja segunda linha do cdigo estendido
de Prfer
4
Ao tentar calcular como foi a primeira linha, deve-se lembrar que sua primeira entrada
foi o vrtice removido no primeiro passo, e que, pela regra da construo do cdigo de
Prfer, esse o vrtice de grau 1 com menor rtulo. Neste caso, o vrtice 1 , pois
tem grau 1 j que no aparece no cdigo, indicando que no pai de ningum, e,
obviamente, possui menor rtulo.
Na segunda entrada poderia ser posto o
unindo ele a ele mesmo, e, alm disso, no seria possvel remov-lo j que ele ainda
aparece no cdigo. Sendo assim, o prximo candidato seria o 3 , que tem grau 1 ,
por no aparecer da coluna dois em diante, e menor rtulo, excluindo-se 1 e 2 .
1 . Logo,
rtulo.
Encontrando as demais entradas com este processo, reconstri-se o cdigo estendido de
Prfer e obtm-se exatamente
1
registrada, ento os vrtices antes dela na primeira linha foram removidos (juntamente
k 1 colunas). As entradas
com as arestas correspondentes s primeiras
remanescentes na segunda linha so exatamente aqueles vrtices que so pais ainda de
um outro vrtice, o significa que no so folhas.
Isso descreve como a primeira linha pode ser reconstruda a partir da segunda.
Demonstrao: Seja
1
,
a
,a
(
2
3 , , an 2 )
Estende-se essa sequncia para uma tabela com duas linhas: adiciona-se o
obtendo
no fim,
a
( 1 , a2 ,a 3 , , an 2 , 0 ) , e ento escreve-se acima de cada entrada na
b1
b2
b3 ...
bn2
Mas, por definio, esta tabela corresponde ao cdigo estendido de Prfer de alguma
rvore com n vrtices. Como o cdigo de Prfer, por definio, a segunda linha do
cdigo
estendido
de
Prfer
menos
ltima
entrada,
ento
sequncia
a
( 1 , a2 ,a 3 , , an 2 ) o cdigo de Prfer de alguma rvore sobre n vrtices.
n2
n2 vez es
n2
Logo, O nmero de rvores rotuladas sobre n vrtices n
.
Referncias Bibliogrficas
acesso em 11/12/2014.
PRESTES,
E.
Teoria
dos
Grafos.
Disponvel
em:
http://www.inf.ufrgs.br/~prestes/Courses/Graph%20Theory/GrafosA9.pdf, acesso em
11/12/2014.