Você está na página 1de 9

Matriz de Adjacncia,

Lista de Adjacncia e
Cdigo de Prfer

DEPARTAMENTO DE MATEMTICA
LICENCIATURA EM MATEMTICA
Aluno: Rodrigo Tomaz Silva de Melo
Prof.: Thiago Dias

Recife, 29 de janeiro de 2015.

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

Adjacncia, Matriz de Adjacncia e Cdigo de Prfer de uma rvore, e por fim


demonstrar o seguinte teorema:
Teorema 1 (Teorema de Cayley) O nmero de rvores rotuladas sobre
n2

vrtices

A procura do mtodo timo de armazenar rvores


Como seria possvel armazenar uma rvore rotulada, digamos a rvore na Figura 2, em
um computador, utilizando o mnimo de memria possvel?

Figura 2

Para tal, sero dadas algumas solues simples, at que seja satisfeita a indagao.
n

1. Suponha que temos uma rvore G com


n

uma tabela, com

linhas e

vrtices. A ideia mais bsica construir

colunas, e colocar o nmero 1 no encontro da i-

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

tabela (matriz), d-se o nome de matriz de adjacncia do grafo G. Logo, a matriz de


adjacncia do grafo na Figura 2 :

Uma linha i da matriz de adjacncia definida como lista de adjacncia do vrtice i.


Considerando que necessrio um bit para armazenar cada entrada dessa tabela,
precisaremos de pelo menos

n2

bits para armazenar a tabela. Entretanto, nota-se que

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

bits, o que bem menos que

(n2n)/2 quando n grande.


3. Esse mtodo chamado cdigo de pai. A partir daqui, o vrtice rotulado

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

cdigo corresponde a uma rvore.


Com o que se viu at aqui possvel provar o seguinte teorema:
n1
Teorema 2: O nmero de rvores rotuladas sobre n vrtices no mximo n
.

Demonstrao: Cada rvore


sequncia nica de

n1

de

vrtices pode ser representada por uma

nmeros, cada um entre

n1 , que seu cdigo

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

vrtices, ento o nmero mximo de rvores de

4. Esse mtodo um refinamento do mtodo (3) e atribui a qualquer rvore de

mximo de rvores
n1

vrtices n

de

a
( 1 , a2 ,a 3 , , an 1 ) determina o nmero

O Cdigo de Prfer

vrtices uma sequncia de


vrtice rotulado

n2 nmeros entre

0 e n1 . Ainda se considera o

como raiz e se ordena as duas extremidades de uma aresta de

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 .

2. Remove-se esse vrtice e aresta e se repete o processo: procura-se por um


vrtice de grau 1 , diferente de 0 , com menor rtulo, e escreve-se a aresta
3
2 . Ento, remove-se esse vrtice e aresta

com esta extremidade. Neste caso,

e se segue o processo at que todas as arestas estejam listadas.


O vetor que se obtm chamado de cdigo estendido de Prfer da rvore (estendido
porque, como se ver, ser necessria apenas uma parte dele para formar o cdigo de
Prfer propriamente dito). Logo, o cdigo estendido de Prfer da rvore na Figura 2 :
1

0 , e que, por isso,

Observa-se j que a ltima entrada na segunda linha sempre

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

2 ? Certamente no, pois haveria uma aresta

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 .

A terceira entrada no poder ser o


ser o

5 , visto ter grau

4 , visto que no possui ainda grau

1 . Logo,

1 , j que no aparece da coluna trs em diante, e menor

rtulo.
Encontrando as demais entradas com este processo, reconstri-se o cdigo estendido de
Prfer e obtm-se exatamente
1

Esse processo descrito e demonstrado no seguinte teorema:


Teorema 3: A segunda linha de um cdigo estendido de Prfer determina a primeira.
Demonstrao: Para resumir, pode-se dizer que cada entrada na primeira linha do
cdigo estendido de Prfer o menor inteiro que no ocorre na primeira linha antes
dele, nem na segunda linha abaixo ou depois dele.
De fato, quando essa entrada (digamos, a

k -sima entrada na primeira linha) foi

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.

Portanto, com apenas o cdigo de Prfer, possvel determinar o cdigo estendido de


Prfer e, com este, a rvore em questo. Com esse cdigo, necessrio apenas
(n2) log 2 n bits para codificar uma rvore. Porm, o ganho que se obtm com o
cdigo de Prfer no se resume apenas na menor quantidade de memria necessria
para o armazenamento de uma rvore, mas tambm que este cdigo timo, isto , h
uma bijeo entre os cdigos de Prfer com n2 dgitos e as rvores com n
vrtices. E, como toda rvore possui um cdigo de Prfer nico conforme mostrado
acima, esse fato pode ser demonstrado atravs do seguinte teorema:
Teorema 4: Toda sequncia de nmeros entre 0 e n1 , de comprimento n2
, um cdigo de Prfer de alguma rvore sobre n vrtices.

Demonstrao: Seja

1
,
a
,a
(
2
3 , , an 2 )

uma sequncia de nmeros qualquer.


0

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

primeira linha o menor inteiro quebn1


no ocorre na primeira linha antes dele, nem na
segunda linha abaixo ou depois dele (note que sempre possvel encontrar tal inteiro: a
condio exclui no mximo n1 valores dos n possveis). Obtendo

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.

Agora pode-se demonstrar o Teorema de Cayley:


Demonstrao [Teorema de Cayley]: Como h de fato uma bijeo entre rvores
rotuladas sobre n vrtices e sequncias de comprimento n2 , consistindo de
nmeros

0, 1,2, , n1 , resta apenas quantificar quantas sequncias desse tipo h.

Pelo Princpio Fundamental da Contagem


n . n .n . . n=n

n2

n2 vez es
n2
Logo, O nmero de rvores rotuladas sobre n vrtices n
.

Referncias Bibliogrficas

LOVSZ, L.; PELIKN, J.; VESZTERGOMBI, K. Matemtica Discreta. Rio de

Janeiro: Sociedade Brasileira de Matemtica, 2003.


MORAIS, C. M. Algoritmo Guloso. 2014. 47f. Dissertao (Mestrado Profissional em
Matemtica) Departamento de Matemtica, Universidade Federal Rural de

Pernambuco, Pernambuco. 2014.


Sequncia de Prfer. Disponvel em: http://wikipedia.qwika.com/en2pt/Pr

%C3%BCfer_sequence#Application, acesso em 07/12/2014.


RECURSOS EDUCATIVOS. Sequncia Prfer. Disponvel em:

http://finslab.com/enciclopedia/letra-s/sequencia-prufer.php, acesso em 07/12/2014.


ANDR, S. BC-0506: Comunicao e Redes Algoritmos em Grafos. Disponvel em:
http://professor.ufabc.edu.br/~joao.kleinschmidt/aulas/comrede2011/aula_06_cr.pdf,

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.