Sem resumo de edição |
Sem resumo de edição |
||
Linha 1: | Linha 1: | ||
Uma '''matriz de adjacência''' é uma das formas de se representar um [[grafo]]. | Uma '''matriz de adjacência''' é uma das formas de se representar um [[Teoria dos grafos|grafo]]. | ||
Dado um grafo ''G'' com ''n'' [[vértice]]s, podemos representá-lo em uma [[Matriz (matemática)|matriz]] ''n'' x ''n'' ''A(G)=[a<sub>ij</sub> | Dado um grafo ''G'' com ''n'' [[vértice]]s, podemos representá-lo em uma [[Matriz (matemática)|matriz]] ''n'' x ''n'' ''A(G)=''[''a<sub>ij</sub>''] (ou simplesmente ''A''). | ||
A definição precisa das entradas da matriz varia de acordo com as propriedades do grafo que se | A definição precisa das entradas da matriz varia de acordo com as propriedades do grafo que se | ||
deseja representar, porém de forma geral o valor a<sub>ij</sub> guarda informações sobre como os | deseja representar, porém de forma geral o valor ''a<sub>ij</sub>'' guarda informações sobre como os | ||
vértices v<sub>i</sub> e v<sub>j</sub> estão relacionados (isto é, informações sobre a | vértices ''v<sub>i</sub>'' e ''v<sub>j</sub>'' estão relacionados (isto é, informações sobre a | ||
adjacência de ''v<sub>i</sub>'' e ''v<sub>j</sub>)''. | |||
Para representar um grafo não direcionado, simples e sem pesos nas arestas, basta que as entradas | Para representar um grafo não direcionado, simples e sem pesos nas arestas, basta que as entradas | ||
''a<sub>ij</sub>'' da matriz ''A'' contenham 1 se ''v<sub>i</sub>'' e ''v<sub>j</sub>'' são adjacentes e 0 caso | |||
contrário. Se as arestas do grafo tiverem pesos, a<sub>ij</sub> pode conter, ao invés de 1 quando | contrário. Se as arestas do grafo tiverem pesos, ''a<sub>ij</sub>'' pode conter, ao invés de 1 quando | ||
houver uma aresta entre v<sub>i</sub> e v<sub>j</sub>, o peso dessa mesma aresta. | houver uma aresta entre ''v<sub>i</sub>'' e ''v<sub>j</sub>'', o peso dessa mesma aresta. | ||
[[Ficheiro:6n-graph2.svg|200px|right]] | [[Ficheiro:6n-graph2.svg|200px|right]] | ||
Linha 35: | Linha 35: | ||
Se ''A'' é a matriz de adjacência de um grafo ''G'' com conjunto de vértices dado por ''V(G)={v<sub>1</sub>, v<sub>2</sub>, ..., v<sub>n</sub>}'', então a entrada (''i,j'') de ''A''<sup>''k''</sup>, com ''k'' ≥ 1, corresponde ao número de caminhos (distintos) de comprimento ''k'' existentes entre os vértices ''v<sub>i</sub>'' e ''v<sub>j</sub>''. | Se ''A'' é a matriz de adjacência de um grafo ''G'' com conjunto de vértices dado por ''V(G)={v<sub>1</sub>, v<sub>2</sub>, ..., v<sub>n</sub>}'', então a entrada (''i,j'') de ''A''<sup>''k''</sup>, com ''k'' ≥ 1, corresponde ao número de caminhos (distintos) de comprimento ''k'' existentes entre os vértices ''v<sub>i</sub>'' e ''v<sub>j</sub>''. | ||
Pode-se mostrar esse resultado por [[Indução | Pode-se mostrar esse resultado por [[Indução matemática|indução]]. Quando ''k'' = 1, o resultado segue de modo natural da definição de matriz de adjacência, uma vez que existe um caminho de comprimento 1 entre o vértice ''v<sub>i</sub>'' e o vértice ''v<sub>j</sub>'' se e só se ''{v<sub>i</sub>, v<sub>j</sub>}'' é uma aresta de ''G''. Seja | ||
:<math>{A^{k-1}= \left[a_{ij}^{(k-1)}\right]},</math> | :<math>{A^{k-1}= \left[a_{ij}^{(k-1)}\right]},</math> | ||
Linha 49: | Linha 49: | ||
Todo caminho entre ''v<sub>i</sub>'' e ''v<sub>j</sub>'' de comprimento ''k'' em ''G'' consiste de um caminho entre ''v<sub>i</sub>'' e ''v<sub>p</sub>'' de comprimento ''k -'' 1, onde ''v<sub>p</sub>'' é adjacente a ''v<sub>j</sub>'', seguido da aresta ''{v<sub>p</sub>, v<sub>j</sub>}'' e do vértice ''v<sub>j</sub>''. O resultado decorre da hipótese de indução e da última equação. | Todo caminho entre ''v<sub>i</sub>'' e ''v<sub>j</sub>'' de comprimento ''k'' em ''G'' consiste de um caminho entre ''v<sub>i</sub>'' e ''v<sub>p</sub>'' de comprimento ''k -'' 1, onde ''v<sub>p</sub>'' é adjacente a ''v<sub>j</sub>'', seguido da aresta ''{v<sub>p</sub>, v<sub>j</sub>}'' e do vértice ''v<sub>j</sub>''. O resultado decorre da hipótese de indução e da última equação. | ||
O resultado permanece válido para digrafos, fazendo-se as devidas adequações: trocando arestas por arcos e caminhos por percursos. | |||
Para ilustrar o resultado acima, observe as potências 2 e 3 da matriz de adjacência A correspondente ao grafo da figura: | |||
<math>A^2=\begin{bmatrix} | <math>A^2=\begin{bmatrix} | ||
3 & 2 & 1 & 1 & 2 & 0\\ | 3 & 2 & 1 & 1 & 2 & 0\\ | ||
Linha 59: | Linha 60: | ||
2 & 1 & 2 & 0 & 3 & 1\\ | 2 & 1 & 2 & 0 & 3 & 1\\ | ||
0 & 0 & 1 & 0 & 1 & 1\\ | 0 & 0 & 1 & 0 & 1 & 1\\ | ||
\end{bmatrix} | \end{bmatrix}, | ||
A^3=\begin{bmatrix} | |||
7 & 6 & 3 & 3 & 6 & 1\\ | 7 & 6 & 3 & 3 & 6 & 1\\ | ||
6 & 3 & 5 & 1 & 7 & 2\\ | 6 & 3 & 5 & 1 & 7 & 2\\ | ||
Linha 68: | Linha 68: | ||
6 & 7 & 1 & 6 & 3 & 0\\ | 6 & 7 & 1 & 6 & 3 & 0\\ | ||
1 & 2 & 0 & 3 & 0 & 0\\ | 1 & 2 & 0 & 3 & 0 & 0\\ | ||
\end{bmatrix}</math>, | \end{bmatrix}</math>. | ||
O elemento (4,6) de ''A<sup>2</sup>'' indica que não há nenhum caminho de comprimento 2 ligando os vértices 4 e 6 do grafo acima. Por outro lado, o elemento (4,6) de ''A<sup>3</sup>'' indica que existem 3 caminhos de comprimento 3 ligando os vértices 4 e 6. São eles: (4,3,4,6), (4,5,4,5) e (4,6,4,6). | |||
==Ver também== | ==Ver também== |
Edição das 19h25min de 11 de julho de 2011
Uma matriz de adjacência é uma das formas de se representar um grafo.
Dado um grafo G com n vértices, podemos representá-lo em uma matriz n x n A(G)=[aij] (ou simplesmente A). A definição precisa das entradas da matriz varia de acordo com as propriedades do grafo que se deseja representar, porém de forma geral o valor aij guarda informações sobre como os vértices vi e vj estão relacionados (isto é, informações sobre a adjacência de vi e vj).
Para representar um grafo não direcionado, simples e sem pesos nas arestas, basta que as entradas aij da matriz A contenham 1 se vi e vj são adjacentes e 0 caso contrário. Se as arestas do grafo tiverem pesos, aij pode conter, ao invés de 1 quando houver uma aresta entre vi e vj, o peso dessa mesma aresta.
Por exemplo, a matriz de adjacência do grafo ao lado é
Em grafos não direcionados, as matrizes de adjacência são simétricas ao longo da diagonal principal - isto é, a entrada aij é igual à entrada aji. Matrizes de adjacência de grafos direcionados, no entanto, não são assim. Num digrafo sem pesos, a entrada aij da matriz é 1 se há um arco de vi para vj e 0 caso contrário.
Um resultado interessante ocorre quando consideramos a potência k da matriz de adjacência, ou seja, o produto
Se A é a matriz de adjacência de um grafo G com conjunto de vértices dado por V(G)={v1, v2, ..., vn}, então a entrada (i,j) de Ak, com k ≥ 1, corresponde ao número de caminhos (distintos) de comprimento k existentes entre os vértices vi e vj.
Pode-se mostrar esse resultado por indução. Quando k = 1, o resultado segue de modo natural da definição de matriz de adjacência, uma vez que existe um caminho de comprimento 1 entre o vértice vi e o vértice vj se e só se {vi, vj} é uma aresta de G. Seja
e assuma que aij (k-1) é o número de caminhos distintos de comprimento k - 1 entre os vértices vi e vj em G. Considerando
e como Ak = Ak-1 . A, temos que
Todo caminho entre vi e vj de comprimento k em G consiste de um caminho entre vi e vp de comprimento k - 1, onde vp é adjacente a vj, seguido da aresta {vp, vj} e do vértice vj. O resultado decorre da hipótese de indução e da última equação.
O resultado permanece válido para digrafos, fazendo-se as devidas adequações: trocando arestas por arcos e caminhos por percursos.
Para ilustrar o resultado acima, observe as potências 2 e 3 da matriz de adjacência A correspondente ao grafo da figura:
.
O elemento (4,6) de A2 indica que não há nenhum caminho de comprimento 2 ligando os vértices 4 e 6 do grafo acima. Por outro lado, o elemento (4,6) de A3 indica que existem 3 caminhos de comprimento 3 ligando os vértices 4 e 6. São eles: (4,3,4,6), (4,5,4,5) e (4,6,4,6).
Ver também
ca:Matriu d'adjacència de:Repräsentation von Graphen im Computer en:Adjacency matrix es:Matriz de adyacencia fa:ماتریس مجاورت fr:Matrice d'adjacence he:מטריצת שכנות hu:Szomszédsági mátrix it:Matrice delle adiacenze ja:隣接行列 ko:인접 행렬 nl:Bogenmatrix pl:Macierz sąsiedztwa ru:Матрица смежности sl:Matrika sosednosti sv:Grannmatris uk:Матриця суміжності ur:ملمس مصفوفہ vi:Ma trận kề zh:邻接矩阵