Grafos
Grafos
Desde un punto de vista práctico, los grafos permiten estudiar las interrelaciones
entre unidades que interactúan unas con otras. Por ejemplo, una red de computadoras
puede representarse y estudiarse mediante un grafo, en el cual los vértices
representan terminales y las aristas representan conexiones (las cuales, a su vez,
pueden ser cables o conexiones inalámbricas).
Índice
1 Historia y problema de los puentes de Königsberg
2 Definiciones
2.1 Grafo no dirigido
2.2 Grafo dirigido
2.3 Variantes sobre las definiciones principales
3 Propiedades
4 Representación
5 Ejemplos
6 Grafos particulares
7 Referencias
8 Véase también
9 Bibliografía complementaria
10 Enlaces externos
Historia y problema de los puentes de Königsberg
Los o las siete puentes de Königsberg.
El primer artículo científico relativo a grafos fue escrito por el matemático suizo
Leonhard Euler en 1736. Euler se basó en su artículo en el problema de los puentes
de Königsberg. La ciudad de Kaliningrado, originalmente Königsberg, es famosa por
sus siete puentes que unen ambas márgenes del río Pregel con dos de sus islas. Dos
de los puentes unen la isla mayor con la margen oriental y otros dos con la margen
occidental. La isla menor está conectada a cada margen por un puente y el séptimo
puente une ambas islas. El problema planteaba lo siguiente: ¿es posible dar un
paseo comenzando desde cualquiera de estas regiones, pasando por todos los puentes,
recorriendo solo una vez cada uno y regresando al mismo punto de partida?
De hecho, Euler resuelve el problema más general: ¿qué condiciones debe satisfacer
un grafo para garantizar que se puede regresar al vértice de partida sin pasar por
la misma arista más de una vez? Si definimos como «grado» al número de líneas que
se encuentran en un punto de un grafo, entonces la respuesta al problema es que los
puentes de un pueblo se pueden atravesar exactamente una vez si, salvo a lo sumo
dos, todos los puntos tienen un grado par.
Definiciones
Un grafo {\displaystyle G}G es un par ordenado {\displaystyle G=(V,E)}
{\displaystyle G=(V,E)}, donde:
Un bucle es una arista que relaciona al mismo nodo; es decir, una arista donde el
nodo inicial y el nodo final coinciden.
Grafo no dirigido
Grafo no dirigido
Un grafo no dirigido o grafo propiamente dicho es un grafo {\displaystyle G=(V,E)}
{\displaystyle G=(V,E)} donde:
Grafo dirigido
Grafo dirigido
Artículo principal: Grafo dirigido
Un grafo dirigido o digrafo es un grafo {\displaystyle G=(V,E)}{\displaystyle
G=(V,E)} donde:
Un grafo mixto es aquel que se define con la capacidad de poder contener aristas
dirigidas y no dirigidas. Tanto los grafos dirigidos como los no dirigidos son
casos particulares de este.
Propiedades
Adyacencia: dos aristas son adyacentes si tienen un vértice en común, y dos
vértices son adyacentes si una arista los une.
Incidencia: una arista es incidente a un vértice si ésta lo une a otro.
Ponderación: corresponde a una función que a cada arista le asocia un valor (costo,
peso, longitud, etc.), para aumentar la expresividad del modelo. Esto se usa mucho
para problemas de optimización, como el del vendedor viajero o del camino más
corto.
Etiquetado: distinción que se hace a los vértices y/o aristas mediante una marca
que los hace unívocamente distinguibles del resto.
Representación
Matriz de adyacencia
Las dos representaciones principales de grafos son las siguientes:
Matriz de adyacencia (MA): Se utiliza una matriz de tamaño n × n donde las filas y
las columnas hacen referencia a los vértices para almacenar en cada casilla la
longitud entre cada par de vértices del grafo. La celda MA[i, j] almacena la
longitud entre el vértice i y el vértice j. Si su valor es infinito significa que
no existe arista entre esos vértices, y MA[i, i] = 0.
Listas de adyacencia
Lista de adyacencia (LA): Se utiliza un vector de tamaño n (un elemento por cada
vértice) donde LA[i] almacena la referencia a una lista de los vértices adyacentes
a i. En una red esta lista almacenará también la longitud de la arista que va desde
i al vértice adyacente.
Ejemplos
6n-graf.svg
La imagen es una representación del siguiente grafo:
V:={1,2,3,4,5,6}
E:={{1,2},{1,5},{2,3},{2,5},{3,4},{4,5},{4,6}}
El hecho que el vértice 1 sea adyacente con el vértice 2 puede ser denotado como 1
~ 2.
Grafo nulo: aquel que no tiene vértices ni aristas. Nótese que algunas personas
exigen que el conjunto de vértices no sea vacío en la definición de grafo.
Grafo vacío: aquel que no tiene aristas.
Grafo trivial: aquel que tiene un vértice y ninguna arista.
Grafo simple: aquel que no posee bucles ni aristas paralelas. Consultar variantes
en esta definición.
Multigrafo (o pseudografo): G es multigrafo si y solo si no es simple. Consultar
variantes en esta definición.
Grafo completo: grafo simple en el que cada par de vértices están unidos por una
arista, es decir, contiene todas las posibles aristas.
Grafo bipartito: sea {\displaystyle (W,X)}{\displaystyle (W,X)} una partición del
conjunto de vértices {\displaystyle V}V, es aquel donde cada arista tiene un
vértice en {\displaystyle W}W y otro en {\displaystyle X}X.
Grafo bipartito completo: sea {\displaystyle (W,X)}{\displaystyle (W,X)} una
partición del conjunto de vértices {\displaystyle V}V, es aquel donde cada vértice
en {\displaystyle W}W es adyacente sólo a cada vértice en {\displaystyle X}X, y
viceversa.
Grafo plano: aquel que puede ser dibujado en el plano cartesiano sin cruce de
aristas.
Árbol: grafo conexo sin ciclos.
Grafo rueda: grafo con n vértices que se forma conectando un único vértice a todos
los vértices de un ciclo-(n-1).
Grafo perfecto aquel que el número cromático de cada subgrafo inducido es igual al
tamaño del mayor clique de ese subgrafo.
Una generalización de los grafos son los llamados hipergrafos.