Grafos - dc.uba.ar · PDF fileMatriz de adyacencia de un grafo A 2Rn n, donde los elementos a...

22
Grafos Algoritmos y Estructuras de Datos III

Transcript of Grafos - dc.uba.ar · PDF fileMatriz de adyacencia de un grafo A 2Rn n, donde los elementos a...

Grafos

Algoritmos y Estructuras de Datos III

Grafos

Definiciones:

I Un grafo G = (V , X ) es un par de conjuntos, donde V es unconjunto de puntos o nodos o vertices y X es unsubconjunto del conjunto de pares no ordenados de elementosdistintos de V .

I Los elementos de X se llaman aristas, ejes o arcos.

I Dados v y w ∈ V , si e = (v , w) ∈ X se dice que v y w sonadyacentes y que e es incidente a v y w .

Notacion: n = |V | y m = |X |

Multigrafos y seudografos

Definiciones:

I Un multigrafo es un grafo en el que puede haber variasaristas entre el mismo par de nodos distintos.

I Un seudografo es un grafo en el que puede haber variasaristas entre cada par de nodos y tambien puede haber aritas(loops) que unan a un nodo con sı mismo.

Definiciones de acuerdo a la nomenclatura del libro de Harary.

Grafos

Definiciones:

I El grado de un nodo v es la cantidad de aristas incidentes a v .

Notacion: d(v) es el grado de v .

Teorema:

La suma de los grados de los nodos de un grafo es igual a 2 vecesel numero de aristas, es decir

n∑i=1

d(vi ) = 2m

Grafos

Definiciones:

I El grado de un nodo v es la cantidad de aristas incidentes a v .

Notacion: d(v) es el grado de v .

Teorema:

La suma de los grados de los nodos de un grafo es igual a 2 vecesel numero de aristas, es decir

n∑i=1

d(vi ) = 2m

Grafos

Definiciones:

I Un grafo se dice completo si todos los nodos son adyacentesentre sı.

Notacion: Kn es el grafo completo de n nodos.

I Dado un grafo G = (V , X ), el grafo complemento tiene elmismo conjunto de nodos y un par de nodos son adyacente siy solo si no son adyacentes en G .

Notacion: G es el grafo completo de G .

¿Cuantas aristas tiene un grafo completo de n nodos?

Si G tiene n nodos y m aristas, ¿cuantas aristas tiene G?

Grafos

Definiciones:

I Un grafo se dice completo si todos los nodos son adyacentesentre sı.

Notacion: Kn es el grafo completo de n nodos.

I Dado un grafo G = (V , X ), el grafo complemento tiene elmismo conjunto de nodos y un par de nodos son adyacente siy solo si no son adyacentes en G .

Notacion: G es el grafo completo de G .

¿Cuantas aristas tiene un grafo completo de n nodos?

Si G tiene n nodos y m aristas, ¿cuantas aristas tiene G?

Caminos y circuitos

Definiciones:

I Un camino en un grafo es una sucesion de aristas e1e2 . . . ek

tal que un extremo de ei coincide con uno de ei−1 y el otrocon uno de ei+1 para i = 2, . . . , k − 1.

Hay otras formas de definir un camino...

I Un camino simple es un camino que no pasa dos veces por elmismo nodo.

I Un circuito es un camino que empieza y termina en el mismonodo.

I Un circuito simple es un circuito de 3 o mas nodos que nopasa dos veces por el mismo nodo.

Distancia

Definiciones:

I La longitud de un camino es la cantidad de aristas que tieneese camino.

I La distancia entre dos nodos v y w de un grafo se definecomo la longitud del camino mas corto entre v y w .

Notacion: d(v , w) denota la distancia entre v y w .

I Para todo nodo v , d(v , v) = 0.

I Si no existe camino entre v y w se dice que d(v , w) =∞.

Proposicion: Si una camino P entre v y w tiene longitud d(v , w),P debe ser un camino simple.

Distancia

Proposicion:

La funcion de distancia cumple las siguientes propiedades paratodo u, v , w pertenecientes a V :

I d(u, v) ≥ 0 y d(u, v) = 0 si y solo si u = v .

I d(u, v) = d(v , u).

I d(u, w) ≤ d(u, v) + d(v , w).

Subgrafos

Definiciones:

I Un grafo se dice conexo si existe un camino entre todo par denodos.

I Dado un grafo G = (V , X ), un subgrafo de G es un grafoH = (V ′, X ′) tal que V ′ ⊆ V y X ′ ⊆ X ∩ (V ′ × V ′).

I Un subgrafo H = (V ′, X ′) de G = (V , X ), es un subgrafoinducido si para todo par de nodos u, v ∈ V ′,(u, v) ∈ X ⇐⇒ (u, v) ∈ X ′.

I Una componente conexa de un grafo G es un subgrafoconexo maximal de G .

Grafos bipartitos

Definiciones:

I Un grafo G = (V , X ) se dice bipartito si existe una particionV1, V2 del conjunto de nodos V tal que:

V = V1 ∪ V2, V1 ∩ V2 = ∅, V1 6= ∅, V2 6= ∅

y tal que todas las aristas de G tienen un extremo en V1 yotro en V2.

I Un grafo bipartito con particion V1, V2, es biparito completosi todo nodo en V1 es adyacente a todo nodo en V2.

Teorema:

Un grafo G con 2 o mas nodos es bipartito si y solo si no tienecircuitos simples de longitud impar.

Grafos bipartitos

Definiciones:

I Un grafo G = (V , X ) se dice bipartito si existe una particionV1, V2 del conjunto de nodos V tal que:

V = V1 ∪ V2, V1 ∩ V2 = ∅, V1 6= ∅, V2 6= ∅

y tal que todas las aristas de G tienen un extremo en V1 yotro en V2.

I Un grafo bipartito con particion V1, V2, es biparito completosi todo nodo en V1 es adyacente a todo nodo en V2.

Teorema:

Un grafo G con 2 o mas nodos es bipartito si y solo si no tienecircuitos simples de longitud impar.

Isomorfismo

Definiciones:

I Dados dos grafos G = (V , X ) y G ′ = (V ′, X ′) se dicenisomorfos si existe una funcion biyectiva f : V → V ′ tal quepara todo v , w ∈ V :

(v , w) ∈ X ⇐⇒ (f (v), f (w)) ∈ X ′.

Isomorfismo

Proposicion:

Si dos grafos G = (V , X ) y G ′ = (V ′, X ′) son isomorfos, entonces

I tienen el mismo numero de nodos,

I tienen el mismo numero de aristas,

I para todo k, 0 ≤ k ≤ n− 1, tienen el mismo numero de nodosde grado k ,

I tienen el mismo numero de componentes conexas,

I para todo k , 1 ≤ k ≤ n − 1, tienen el mismo numero decaminos simples de longitud k .

Isomorfismo

¿Es cierta la recıproca de esta propiedad?

¿Hay condiciones necesarias y suficientes facilmente verificablespara ver si dos grafos son isomorfos?

Representacion de grafos

Representacion de grafos en la computadora

I Matrices

I Listas

Representacion de grafos

Matriz de adyacencia de un grafo

A ∈ Rn×n, donde los elementos aij de A se definen como:

aij =

{1 si G tiene una aristas entre los nodos i y j

0 si no

Representacion de grafos

Matriz de incidencia de un grafo

B ∈ Rm×n, donde los elementos bij de B se definen como:

bij =

{1 si la aristas i es incidente al nodo j

0 si no

Representacion de grafos

Teorema:

Si A es la matriz de adyacencia del grafo G , el elemento akij de Ak

es igual a la cantidad de caminos de longitud k entre i y j .

Corolario:

a2ii = d(vi ).

Digrafos

Definiciones:

I Un grafo orientado o digrafo G = (V , X ) es un par deconjuntos V y X donde V es el conjunto de puntos, nodos overtices y X es un subconjunto del conjunto de los paresordenados de elementos distintos de V .

I El grado de entrada din(v) de un nodo v de un grafoorientado es la cantidad de arcos que llegan a v . Es decir, lacantidad de arcos que tienen a v como segundo elemento.

I El grado de salida dout(v) de un nodo v de un grafoorientado es la cantidad de arcos que salen de v . Es decir, lacantidad de arcos que tienen a v como primer elemento.

Digrafos

Definiciones:

I Un camino orientado en un grafo orientado es una sucesionde arcos e1e2 . . . ek tal que el primer elemento del par ei

coincide con el segundo de ei−1 y el segundo elemento de ei

con el primero de ei+1 i = 2, . . . , k − 1.

I Un cicuito orientado en un grafo orientado es un caminoorientado que comienza y termina en el mismo nodo.

I Un digrafo se dice fuertemente conexo si para todo par denodos u, v existe un camino orientado de u a v y otro de v au.