Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Königsberg

Nociones básicas
Gregorio Hernández
UPM

Teoría de Grafos

Euler 1736

Isómeros químicos

Cayley 1857
REDES DE ORDENADORES

SISTEMA DE GUIADO DE VEHÍCULOS


TU Berlín, Daimler
Asignación de frecuencias de radio

Organización de exámenes
Asignación de frecuencias de radio
¡Sólo DOS días!
12
A B
vértices = asignaturas
peso = alumnos comunes
8 14

18

22
E C

15 6

Cada color corresponde a una frecuencia

Organización de exámenes
Organización de
¡Sólo DOS días! exámenes
12
vértices = asignaturas
8
vértices = asignaturas
14
18 peso = alumnos comunes peso = alumnos comunes
22
14 + 22 + 18 = 54
15 6 ¡Sólo 3 días!

12

8 14 18 + 8 + 6 = 32
18

22

15 6
Organización de SWERC’07
exámenes
EMPAREJAMIENTOS ESTABLES
vértices = asignaturas Problem I – Ladies’ Choice
Background
peso = alumnos comunes Teenagers from the local high school have asked you to help them with the organization of
next year’s Prom. The idea is to find a suitable date for everyone in the class in a fair and
civilized way. So, they have organized a web site where all students, boys and girls, state
¡Sólo 3 días! their preferences among the class members, by ordering all the possible candidates. Your
mission is to keep everyone as happy as possible. Assume that there are equal numbers of
boys and girls.
Problem
Given a set of preferences, set up the blind dates such that there are no other two people of
opposite sex who would both rather have each other than their current partners. Since it was
decided that the Prom was Ladies' Choice, we want to produce the best possible choice for
the girls.

SWERC’07 Grafo o grafo simple G=(V,A)


RED DE COSTE MÍNIMO
Problem H - IP-TV
Background
A consortium of European Internet providers manages a large backbone network, with direct
links (connections) between a large number of European cities. A link between a pair of cities
a b
vértices
is bidirectional. The transmission of a message in a link has an associated cost. As it is
common in the Internet, it is possible to use a (unbounded) sequence of direct links to adyacentes
indirectly transfer data between any pair of cities.
For allowing the broadcast of TV programs using this backbone, it is necessary to continuously
send data to all nodes in the network. For helping to minimize costs, it is necessary to select
the network links that will be used for transmitting data. The set of selected links must be
connected and include all nodes in the network. c d
For helping the consortium to manage its network, you have been asked to create a program
that computes the minimum cost for transmitting data to all cities of the backbone.
Problem
Given a set of network links, compute the minimum transmission cost for reaching all nodes
V={a,b,c,d} A={ab,bd,cd,ac,ad}

Grafo o grafo simple G=(V,A) Grafo o grafo simple G=(V,A)

a b a b
aristas
adyacentes vértice y arista
incidentes

c d c d

V={a,b,c,d} A={ab,bd,cd,ac,ad} V={a,b,c,d} A={ab,bd,cd,ac,ad}


En un grafo se admiten aristas múltiples (multigrafo) • Grafo dirigido DIGRAFO

a b a b

c d c d

En un grafo se admiten bucles (seudografo)

Grafo G=(V,A)
• Número de vértices |V| = n Teorema de Euler
v ∈V
Σ d(v) = 2q
• Número de aristas |A| = q
Notación
• Grado de un vértice v d(v)
Consecuencia
En un grafo, el nº de vértices de grado impar es siempre un nº par
d(a)=3 a b d(b)=4
∑ d ( v ) = ∑ d ( v ) + ∑ d ( v ) = 2q
v∈V d ( v ) impar d ( v ) par

Luego el nº de sumandos impares es siempre par


d(c)=2 c d

Sucesión de grados 4, 2, 4, 4, 3, 3, 3, 3, ISOMORFISMO DE GRAFOS

4, 4, 4, 3, 3, 3, 3, 2 a b
c a→4 1
G b→1
¿La sucesión determina el grafo? c→3
G’ 4
a d→2
d e 3, 2, 2, 2, 1 ¡NO!
b c d 2
3
g
h G y G’ son isomorfos si
f existe f: V → V’ que conserva la adyacencia

G = (V,A) u,v son adyacentes ⇔ f(u), f(v) son adyacentes


ISOMORFISMO DE GRAFOS • Grafos regulares

Si G ≈ G’ entonces las sucesiones de grados de G y G’ coinciden Regular de grado 3

≈ Grafo de Petersen

• Grafos completos Kn

Vértice de grado 1 adyacente Vértice de grado 1 adyacente


a vértice de grado 3 a vértice de grado 2 K1 K2
K3
K4
K5

• Ciclos Cn • Grafos bipartidos

..... V1
G=(V1∪V2, A)

C3 C4 C5 V2

• Caminos Pn
Grafo bipartido completo
..... K3,4

P1 P2 P3 P4

• Grafos Qn Subgrafos
011 111
01 11 G=(V,A)
a b H=(V1,A1)=G-{b}
0 1 010 110 a
001 10 1
Q1 00 10
000 10 0
Q2
c d c d
Q3
Q4 ? Vértices: Cuaternas de 0’s y 1’s a b
a b
Adyacencia: Si difieren sólo en un dígito
H’=(V2,A2)=G-{bd}
H’’=(V3,A3)
Qn es n-regular, tiene 2n vértices y n2n-1 aristas
c d c d
Qn es bipartido
Subgrafos inducidos por vértices Subgrafos inducidos por aristas

a b a a b a b

c d c d c d d

G=(V,A) H1=<a,c,d> G=(V,A) H2=<ad,bd>

Subgrafos generadores Matriz de adyacencia

a b Orden en V: a, b, c, d
a b
a b
1 2 3 4

c d Matriz de G:
c d
a b c d
G=(V,A) 0 1 1 1
1 0 0 1
G=(V,A) 1 0 0 1
c d 1 1 1 0

Listas de adyacencia
a b Caminos y conexión a, b,f
Orden en V: a, b, c, d Recorrido: a,d,c,g,a,b,f
c

Listas: [[c,d,b],[a,d],[d,a],[b,a,c]] Circuito: a,d,c,g,a,b,f,h,e,c,a


a
c d d e
a b c d
Camino: a,d,f,h,e
b
entrada
c a d b
g
h Ciclo: a,d,f,h,e,g,a
f
d d a a
Un grafo G es conexo si entre cada par de vértices
b c
de G existe un recorrido (camino).
c
Componentes conexas
a VÉRTICES CORTE ARISTAS PUENTE
Son los subgrafos conexos maximales e
primera comp.
g
c

a segunda comp. b
d e

b d
Un vértice u de G es vértice-corte si G – u
g h si tiene más componentes conexas que G
f tercera comp.
h
f

Distancia en un grafo conexo Grafos bipartidos


d: V × V → N G=(V,A) es bipartido si existe una partición V=V1∪V2 ,
c tal que toda arista uv∈A une vértices de distinta parte
d(u,v) = longitud del camino
más corto entre u y v
a
d e d(a,h) = 2
b Propiedades
g
h d(u,v) = 0 ⇔ u = v
f
d(u,v) = d(v,u)
G = (V,A) d(u,v) ≤ d(u,w)+d(w,v) No bipartido

Teorema Sea uv ∈ A u
G es bipartido ⇔ G no tiene ciclos de longitud impar z puede coincidir
z
x con x, con u, o
Dem. con v

Si G es bipartido, todos los ciclos son pares v


Si z=u, d(x,v)=d(x,u) + 1, luego u y v distinta paridad
Si G tiene todos sus ciclos pares, entonces…..
Si z≠u,v la longitud del ciclo zuv es d(z,v) + d(z,u) + 1,
Sea x∈V arbitrario, clasificamos los vértices de G así: como todo ciclo es par ⇒ d(z,v) y d(z,u) distinta paridad
Pero d(x,u)=d(x,z) + d(z,u), d(x,v)=d(x,z) + d(z,v),
V1= {y∈V | d(x,y) impar} V2 = {y∈V | d(x,y) par} luego d(x,v) y d(x,u) distinta paridad
Los vértices u, v están en distinta parte de V
Algoritmo para detectar si un grafo es bipartido
Rigidez de estructuras y
Estrategia. Clasificar los vértices de G en dos partes grafos bipartidos
(que etiquetamos con 1 y 2) comprobando si hay arista entre vértices
con la misma etiqueta. Los grafos en la construcción
Paso 1. Se elige un vértice v y se etiqueta con 1. Hacemos S={v}
Paso 2. Sea T el conjunto de vértices aún no etiquetados que son
adyacentes a un vértice de S
Si dos vértices de T son adyacentes, FIN, G no es bipartido. NO
En caso contrario etiquetar cada vértice de T con la etiqueta
contraria a su vecino en S.
Paso 3. Si todos los vértices están etiquetados, entonces el grafo
es bipartido. En caso contrario hacemos S=T y volvemos al paso 2.

C1 C2 C3 C4 C1 C2 C3 C4
F1
F2
F3
F1 F2 F3

C1 C2 C3 C4
C1 C2 C3 C4
NO se deforma F1
F2
F3
F1 F2 F3

C1 C2 C3 C4 C1 C2 C3 C4
F1
F2
F3
F1 F2 F3
NO CONEXO
C1 C2 C3 C4
C1 C2 C3 C4
F1
F2
F3
F1 F2 F3
SÍ CONEXO

You might also like