Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Temas:
1.1 Grafos
1.2 Un poco de historia
1.3 Aplicaciones de los grafos
Bibliografa:
-
Estructuras de Datos en Java, Mark Weiss, Addison Wesley, 2000, captulo 14.
[Floyd] http://es.wikipedia.org/wiki/Algoritmo_de_Floyd-Warshall
[habitat] Spatial Graphs: Principles and Applications for Habitat Connectivity, Fall et al,
Springer New York, 2007.
Introduccin
Estas lecturas estn escritas para que los alumnos comprendan conceptos importantes de
estructuras de datos avanzadas, como grafos y rboles binarios de bsqueda, y para explicar
algunos algoritmos avanzados que resultan ms eficientes que otros que implementan una
solucin trivial. El primer mdulo, incluyendo esta lectura, presenta la Teora de Grafos, as como
tambin de algoritmos que pueden aplicarse sobre ellos. Espero que disfruten estas lecturas y les
sirva como apoyo de la bibliografa principal.
1.1. Grafos
Un grafo es una estructura matemtica empleada para modelar relaciones binarias entre objetos
de un cierto tipo. Ms formalmente, decimos que un grafo es una tupla <V, E>, donde V es un
conjunto de objetos llamados vrtices (o nodos), mientras que E es un conjunto de pares de
vrtices (pertenecientes a E), llamados aristas (o arcos).
La Teora de Grafos es una rama de las Matemticas y de las Ciencias de la Computacin que
estudia los grafos y sus propiedades.
Tpicamente, un grafo se representa de manera grfica mediante una serie de puntos u valos (los
vrtices) conectados por lneas o flechas (las aristas).
Materia: Algoritmos y Estructuras de Datos 2
Profesor: Claudio Ochoa
-1-
-2-
En la Figura 2 se observan dos representaciones grficas del siguiente grafo: < {a, b, c, d, e, f }, {
(a,b), (a,c), (a,e), (b,c), (b,d), (d,f), (e,f) }>. En la Teora de Grafos, la forma de las aristas no es
relevante, slo importa a qu vrtices estn unidas. La posicin de los vrtices tampoco importa, y
se puede variar para obtener un dibujo ms claro.
Leonhard Euler (Figura 5), un famoso matemtico y fsico Suizo que vivi en el siglo 18, en
Alemania y Rusia, demostr que el problema no tena solucin. Euler enfoc el problema
Materia: Algoritmos y Estructuras de Datos 2
Profesor: Claudio Ochoa
-3-
representando cada pedazo de tierra por un punto y cada puente, por una lnea, uniendo los
puntos (nodos) que se corresponden (Figura 4). Entonces, el problema anterior se puede trasladar
a la siguiente pregunta: se puede recorrer el dibujo terminando en el punto de partida sin repetir
las lneas?
Euler demostr que no era posible. La explicacin es la siguiente: si un nodo tiene un nmero
impar de lneas que inciden en l, necesariamente ha de ser el primer o ltimo nodo del recorrido.
Por lo tanto, no se podr encontrar una ruta que resuelva el problema si existen ms de 2 nodos
con nmero impar de lneas incidentes (ya que no puede haber ms de un inicio y un final en una
ruta continua). En el caso de los puentes de Knigsberg hay 4 nodos que tienen nmero de lneas
incidentes impar, por lo que no se puede encontrar una solucin al problema.
-4-
Estas alternativas podran ser representadas en un grafo, que denota las diferentes rutas
ofrecidas por varias compaas, para comunicar dos ciudades. Como se observa en la Figura 6,
este grafo puede resultar bastante complicado, y las alternativas pueden ser numerosas. A travs
de esta representacin, podemos resolver cul es la ruta ms corta (en tiempo o en distancia), la
ms barata, entre otros.
-5-
-6-