• No se han encontrado resultados

Propedéutico de Matemáticas Discretas: Grafos

N/A
N/A
Protected

Academic year: 2024

Share "Propedéutico de Matemáticas Discretas: Grafos"

Copied!
52
0
0

Texto completo

(1)

Proped´ eutico de Matem´ aticas Discretas: Grafos

Alejandro Guti´errez Giles

[email protected]

www.inaoep.mx

(2)

Grafos

(3)

Definiciones

Los grafos se pueden pensar como pueblos (v´ertices) y carreteras (aristas).

SiV es el conjunto de los v´ertices yE es el conjunto de las aristas, se puede definir una relaci´on aRben V que defina viajar deaa b usando las aristas enE.

Si las aristas son de doble sentido, entonces se tienebRa, i.e. la relaci´on es sim´etrica y se dice que el grafo es no-dirigido

Si las aristas son de un solo sentido, se dice que el grafo es dirigido

(4)

Grafo No-Dirigido

En este ejemplo se tieneV ={a, b, c, d, e, f}yE = {{a, b},{a, c},{a, d},{a, e},{a, f},{b, c},{d, e},{e, f}},

(5)

Grafo Dirigido

En este ejemplo se tieneV ={a, b, c, d, e}y E ={(a, a),(a, b),(a, d),(b, c)},G= (V, E) b esadyacente a cyc esadyacente desde b b es elorigen y ces el t´ermino

La orilla (a, a) es un ejemplo de bucle ees un v´ertice aislado

(6)

Definiciones B´ asicas

Si no se especifica si un grafo es dirigido o no-dirigido, se asume no-dirigido.

Cuando no contiene bucles, se dice que es libre de bucles, o loop-free.

Seanx yy dos v´ertices de G= (V, E). Uncamino

x−y (x−y walk) es una secuencia finita, libre de bucles, del tipo

x=x0, e1, x1, e2, x2, . . . , en−1, xn−1, en, xn=y La longitud del camino es n, el n´umero de aristas.

Cuando x=y se dice que el camino escerrado, de otra

(7)

Ejemplo

(8)

Definiciones B´ asicas

Considere un camino x−y en un grafo no-dirigido Si no se repite ninguna arista entonces es unrecorrido xy (trail). A un recorrido cerradoxxse le llama circuito.

Si no se repite ning´un v´ertice entonces se le llama ruta xy (path). Cuandox=y, se le conoce comociclo.

Para grafos dirigidos existen recorridos dirigidos,rutas dirigidas,ciclos dirigidos, etc.

(9)

Ejemplo

(10)

Grafo Conectado

Se dice que un grafo dirigidoG= (V, E) est´a conectado si existe una ruta entre cualquier par de v´ertices.

Para grafos no-dirigidos, se redibuja el grafo ignorando la direcci´on de las aristas. Si m´as de una arista conecta a dos v´ertices, s´olo se considera una de ellas. Cuando este grafo redibujado est´a conectado, se considera que el grafo original est´a conectado tambi´en.

Un grafo que no est´a conectado se denominadesconectado.

(11)

Ejemplo

Un grafo es desconectado si se puede partir en dos subconjuntos V1 yV2 tales que no exista una arista que conecte a x∈V1 cony∈V2

Para cualquier grafo G= (V, E) el n´umero de componentes conectados se denota como κ(G)

(12)

Multigrafos

Un grafo es un multigrafo si para algunosx, y∈V existen dos o m´as aristas de la forma (x, y) para grafos dirigidos o {x, y}para grafos no dirigidos.

En la figura, la arista (a, b) tiene multiplicidad 3. Las

(13)

Subgrafos

Dado un grafo G= (V, E), G1= (V1, E1) es un subgrafo de G si∅ 6=V1⊆V yE1 ⊆E, donde cada arista en E1 es incidente en los v´ertices de V1.

SiV1 =V, entoncesG1 es un subgrafo generador (spanning subgraph) de G.

(14)

Grafos Completos

SeaV un conjunto de v´ertices. El grafocompleto en V se denota como Kny es un grafo no-dirigido libre de bucles en el que para toda a, b∈V, cona6=b, existe una arista {a, b}.

(15)

Grafo Complementario

SeaG un gafo no-dirigido libre de bucles denv´ertices. El complemento de Gse denota como ¯G es el subgrafo deKn

que consiste en losn v´ertices de Gy todas las aristas que no est´an en G

(16)

Cliques

Un clique es un conjunto de v´erticesC⊆V, tal que todo par de v´ertices distintos sean adyacentes, es decir que el nuevo grafo inducido porC es un grafo completo.

(17)

Isomorfismo

SeanG1 = (V1, E1) yG2 = (V2, E2) dos grafos no-dirigidos.

Una funci´on f :V1 →V2 es un isomorfismo de grafo si (i) f es biyectiva y (b) si para toda a, b∈V1, se cumple que {a, b} ∈E1 si y solo si {f(a), f(b)} ∈E2.

Cuando dicha funci´on existe, se dice que G1 yG2 son isom´orficos.

(18)

Ejemplo

(19)

Ejemplo

(20)

Ejemplo

(21)

Grafos Eulerianos

SeaG un grafo. Para cada v´ertice, elgrado de v, denotado por deg(v) es el n´umero de aristas que inciden env. Un bucle en el v´erticev es considerado como dos aristas incidentes.

(22)

Grafos Eulerianos

Para grafos no-dirigidos se cumple que La sumatoria

X

v∈V

deg(v) = 2|E|

El n´umero de v´ertices de grado impar debe de ser par.

Si cada v´ertice tiene el mismo grado, el grafo se llama regular. Si deg(v) =kpara todos los v´ertices, el grafo se llamak-regular.

(23)

Ejemplo

Encontrar un grafo 3-regular con 9 aristas.

(24)

Grafos Eulerianos

SeaG= (V, E) un grafo no-dirigido. Se dice que Gtiene un circuito Euleriano si existe un circuito enG que atraviese cada arista del grafo exactamente una vez.

Si existe un recorrido abierto de aab en Gy ´este pasa por cada arista una sola vez, se dice que es unrecorrido

Euleriano.

Teorema: Sea G= (V, E) un grafo no-dirigido sin v´ertices aislados. Entonces Gtiene un circuito Euleriano si y s´olo si G es conectado y cada v´ertice enG tiene grado par.

(25)

Puentes de K¨ oninsberg

¿Es posible comenzar y finalizar en un mismo punto pasando una sola vez por cada puente?

(26)

Grafos Eulerianos

Corolario: Si Ges un grafo no-dirigido sin v´ertices aislados, entonces se puede construir un recorrido Euleriano si y s´olo si Gest´a conectado y tiene exactamente dos v´ertices con grado impar.

Sea un grafo dirigidoG= (V, E). Para cada v∈V

Elgrado de entrada dev es el n´umero de aristas que inciden env y se denota comoid(v)

Elgrado de salida dev es el n´umero de aristas que inciden desdevy se denota como od(v).

Si el grafo contiene uno o m´as bucles, cada bucle en un erticevcontribuye con 1 para cada id(v) yod(v).

(27)

Grafos Eulerianos

Teorema: Sea G= (V, E) un grafo dirigido sin v´ertices aislados. Entonces el grafo tiene un circuito Euleriano si y s´olo si Gest´a conectado yid(v) =od(v) para todov ∈V.

(28)

Ejemplo

Dibujar un grafo dirigido de 4 v´ertices que tenga un circuito Euleriano.

(29)

Grafos Planares

Un grafo es planar si se puede dibujar en el plano con sus aristas ´unicamente intersecando en los v´ertices. A dicho dibujo se le llama embebido deG en el plano.

K1,K2,K3 yK4 son planares ¿Es K5 planar?

(30)

Grafos Bipartidos

Un grafo es bipartido si V =V1∪V2 conV1∩V2=∅y cada arista de Ges de la forma{a, b} cona∈V1 yb∈V2. Si cada v´ertice en V1 se une con cada v´ertice enV2 entonces se tiene un grafo bipartido completo.

En este ´ultimo caso, si|V1|=my |V2|=n, el grafo se denota porKm,n.

(31)

Ejemplo

¿Es un grafo bipartido?

(32)

Gafos Bipartidos

Un grafo bipartido no puede tener ciclos de longitud impar.

Asimismo, si un grafo conectado no tiene ciclos de longitud impar entonces es bipartido.

(33)

Homeomorfismo

SeaG= (V, E) un grafo no-dirigido libre de bucles con E 6=∅.

Unasubdivisi´on elemental delGresulta cuando se le quita una aristae={u, w} y se le a˜naden las aristas{u, v}y {v, w}a Ge, conv /V.

Los grafosG1= (V1, E1) yG2= (V2, E2) son

homeom´orficos si son isom´orficos o si ambos pueden ser obtenidos a partir del mismo grafoH mediante una secuencia de subdivisiones elementales.

(34)

Grafos No Planares

Uno puede pensar en grafos homeom´orficos como grafos isom´orficos con v´ertices extras de grado 2.

Teorema de Kuratowski: Un grafo esno planar si y s´olo si contiene un subgrafo que sea homeom´orfico aK5 o aK3,3.

(35)

Grafos Hamiltonianos

SeaG un grafo con|V| ≥3. Se dice queGtiene un ciclo Hamiltoniano si existe un ciclo enGque contenga todos los v´ertices de V.

Unaruta Hamiltoniana es una ruta que contiene todos los v´ertices de V.

(36)

Grafos Hamiltonianos

Para que un grafo sea Hamiltoniano, se tiene que cumplir deg(v)≥2,∀v∈V.

Sia∈V y deg(a) = 2, entonces los dos v´ertices adyacentes a adeben de estar en el ciclo Hamiltoniano.

Sia∈V y deg(a)>2 una vez que pasemos por el v´ertice a debemos descartar todos los v´ertices adyacentes que no se usaron.

Si queremos construir un ciclo Hamiltoniano, debemos evitar construir ciclos que no contengan todos los v´ertices.

(37)

Grafos Hamiltonianos

Teorema: sea Kn un grafo dirigido completo, i.e. para cada par de v´ertices distintosx, y, s´olo una de las aristas (x, y) o (y, x) est´a enKn. Este grafo se llamatorneo (tournament) y siempre contiene una ruta Hamiltoniana.

(38)

Grafos Hamiltonianos

Teorema: sea G= (V, E) un grafo no-dirigido libre de bucles con|V| ≥3. Si deg(v)≥n/2,∀v∈V, entoncesG tiene un ciclo Hamiltoniano.

(39)

Grafos Hamiltonianos

Teorema: sea G= (V, E) un grafo no-dirigido libre de bucles con|V| ≥3. Si|E| ≥ n−12

+ 2,∀v∈V, entoncesG tiene un ciclo Hamiltoniano.

(40)

Grafos con Pesos

Problema del agente de viajes

(41)

Arboles ´

SeaG= (V, E) un grafo no-dirigido libre de bucles. Se le llama ´arbol si el grafo es conectado y no contiene ciclos y se denota como T.

G1 es un ´arbol generador de G2. G3 es un bosque generador deG2.

(42)

Arboles ´

Sia, bson dos v´ertices distintos de un ´arbol, s´olo existe una ruta que conecta a dichos v´ertices.

SiG= (V, E) es un grafo no-dirigido, es conectado si y s´olo si Gtiene un ´arbol generador.

Para todo ´arbolT = (V, E) se cumple que |V|=|E|+ 1 Para todo ´arbolT = (V, E) si|V| ≥2 entonces T tiene al menos dos v´ertices pendientes.

(43)

Ejemplo

Si un hidrocarburo ac´ıclico saturado (alcano) tiene n

´

atomos de carb´on (C) ¿Cu´antos ´atomos de hidr´ogeno (H) tiene?

(44)

Arboles ´

Los siguientes enunciados son equivalentes:

1. Ges un ´arbol

2. Gest´a conectado pero si se remueve cualquier aristaGse desconecta y se obtienen dos ´arboles.

3. Gno contiene ciclos y|V|=|E|+ 1.

4. Gest´a conectado y|V|=|E|+ 1.

5. Gno contiene ciclos y sia, vV con{a, b}/ E, entonces si se a˜nade la arista{a, b} se obtiene exactamente un ciclo.

(45)

Arboles con Ra´ız ´

SeaG un ´arbol dirigido. Se le llama ´arbol con ra´ız si existe un v´ertice ´unico, llamado ra´ız, tal queid(r) = 0 yid(v) = 1 para todos los dem´asv ∈V, v6=r.

(46)

Arboles con Ra´ız ´

Si se entiende que la direcci´on de las aristas va de arriba a abajo, puede omitirse.

A los v´ertices conod(v) = 0 se les llamahojas. Los dem´as v´ertices se conocen comov´ertices internos.

Si la ruta desder hasta un v´ertice ses de longitudlse dice que el v´erticesest´a en el nivel l.

Siv1 yv2 son v´ertices yv1 tiene un nivel menor, entonces v1 es ancestro dev2 (ov2 descendiente de v1) si existe una ruta de v1 a v2. Si la longitud de dicha ruta es 1, entonces v es padre dev yv es hijo de v .

(47)

Arbol Ordenado ´

Para ordenar un ´arbol, se puede seguir el algoritmo (sistema de direcci´on universal)

1. Asignar 0 al v´ertice ra´ız.

2. Asignar 1,2,3, . . .a los v´ertices del nivel 1, de izquierda a derecha.

3. Siv es un v´ertice interno en el niveln1 y v1, v2, . . . , vk

son sus hijos, de izquierda a derecha, asignar las etiquetas a.1, a.2, . . . , a.k, dondeaes la etiqueta del nodov.

(48)

Arbol Ordenado ´

(49)

Arboles Ordenados ´

Se puede recorrer un ´arbol ordenado de distintas formas

Pre-orden:

Se visita el nodo ra´ız.

Luego el sub-´arbol a la izquierda, empezando por el nodo ra´ız.

Se repite hasta llegar a una hoja.

Se visitan el resto de las hojas hermanas.

Se procede hacia atr´as (backtrack) con el siguiente ´arbol no visitado.

Se repite el procedimiento hasta llegar a las hojas.

Termina cuando se ha visitado todo el ´arbol.

(50)

Arboles Ordenados ´

Post-orden:

Se elige el hijo m´as a la izquierda de cada v´ertice.

Se llega a una hoja que se visita.

Se procede hacia atr´as pero no se visita al padre sino hasta que se han visitado todos los hijos.

Se repite el procedimiento en cada sub-´arbol hasta que se hayan visitado todos los hijos.

(51)

Arboles Binarios ´

Un ´arbol con ra´ızbinario es aqu´el conod(v) = 0,1,2.

Siod(v) = 0 ood(v) = 2, se dice que es un ´arbol binario completo.

Se puede utilizar para hacer operaciones binarias

Se asume que la operaci´on no es conmutativa y se aplica de izquierda a derecha.

(52)

Arboles Binarios ´

Ejemplo: representaci´on de (7−a)/5

∗ (a+b)3

Referencias

Documento similar

Nota: No hemos probado que la condici´ on anterior sea suficiente para que exista un grafo autocomplementario de n v´ertices, ya que s´ olo usamos que los grafos G y G tienen la

1#) *$u+ndo un grafo es 4amiltoniano, Decir si los siguientes grafos son 4amiltonianos:.. 1) Determinar cu+les de los siguientes grafos se pueden dibujar en papel sin levantar

Problema 5.13 .- Sea G = (V, E) un grafo de orden p y dos componentes conexas que son grafos completos.. Problema 5.23 .- Un ´arbol m −ario se dice completo si todos sus

Demuestra que en todo grafo G conexo con m´as de dos v´ertices tiene que haber al menos 2 v´ertices con el mismo grado.. ¿Cu´antos grafos no isomorfos con tres v´ertices pueden

En los grafos cordales siempre existe un v´ertice simplicial, y si el grafo cordal no es completo, entonces contiene dos v´ertices simpliciales no adyacentes.. Ahora vamos a

Este resultado se obtiene tambi´en como consecuencia del corolario 1 ya que los grafos cordales son recursivamente simpliciales, pues cada subgrafo inducido de un grafo cordal tiene

Extender el Algoritmo de Dijkstra para hallar la longitud de una trayectoria m´ as corta entre dos v´ ertices en un grafo simple ponderado conectado, de manera que sea hallada

Extender el Algoritmo de Dijkstra para hallar la longitud de una trayectoria m´ as corta entre dos v´ ertices en un grafo simple ponderado conectado, de manera que sea hallada