Saltar al contenido principal
← Matemáticas
Matemáticas · lección guiada

Introducción a la teoría de grafos: representar las conexiones

Al ir de casa a la escuela se puede pasar por una tienda, un parque o la biblioteca. Queremos saber a qué lugares se puede llegar directamente y, si no hay un camino directo, por dónde hay que pasar. Para responder a estas preguntas, podemos conservar primero los lugares y las conexiones y dejar de lado el aspecto de los edificios.

La teoría de grafos estudia las conexiones entre objetos. Usamos puntos para representar objetos y líneas para representar conexiones; esos puntos y líneas juntos forman un grafo. Aquí «grafo» no es la gráfica de coordenadas de una función, sino un registro de conexiones. A continuación, partimos del mismo mapa pequeño y aprendemos paso a paso a describir y buscar rutas.

01

De los lugares a los puntos y las líneas

Abajo hay seis lugares. Las letras son solo nombres para identificarlos: AA es la casa y EE es la escuela. Una línea indica que hay un camino directo entre sus dos extremos. Ahora todos los caminos se pueden recorrer en ambos sentidos; la longitud con que se dibuja la línea no registra ninguna distancia.

Estos puntos que representan lugares se llaman vértices, y las líneas que representan conexiones directas se llaman aristas. Dos puntos sin línea no se alcanzan en un paso, aunque puede que sí rodeando por otros puntos. Así conservamos por separado la información de «si se puede llegar directamente».

Primero elige abajo un lugar y mira qué aristas lo conectan. Luego pulsa los botones de las aristas para añadir o quitar una conexión. La posición de los lugares nunca cambia, así que puedes ver con claridad qué relación ha cambiado.

ACasaBTiendaCParqueDBibliotecaEEscuelaFEstación

Cada botón pulsado abajo indica que esa conexión directa existe. Cambia una y fíjate en qué cambia en el diagrama.

Desde AA podemos llegar a B,CB, C recorriendo una arista. Estos son sus vértices directamente adyacentes.
02

Contar las conexiones de cada punto

Ahora volvemos a los siete caminos iniciales. Primero planteamos una pregunta muy pequeña: desde un lugar, ¿cuántos caminos se pueden tomar directamente? El número de aristas que tocan un vértice se llama grado de ese vértice. Aquí no hay aristas que vuelvan a un mismo punto ni varias aristas entre el mismo par de lugares.

Por ejemplo, AA toca las aristas ABAB y ACAC, así que su grado es 22. Cada vez que se pulsa «Siguiente» abajo se añade una arista y se cuenta una vez en cada uno de sus extremos. La línea dorada es la arista recién añadida; la tabla conserva los recuentos ya anotados.

¿Por qué el total de recuentos es siempre el doble del número de aristas? Porque cada arista tiene dos extremos. Sean cuales sean los dos lugares de sus extremos, contamos una vez en un extremo y otra vez en el otro. Por eso, cada arista añadida aumenta el total en 1+1=21+1=2; al procesar todas las aristas se obtiene la igualdad de abajo.

ACasaBTiendaCParqueDBibliotecaEEscuelaFEstación
Estado 0 / 7
Se cuenta por separado en los dos extremos de la arista; los recuentos se acumulan aquí.
ABCDEF
000000000000
Todavía no se ha añadido ninguna arista, así que todos los recuentos son cero.
0+0+0+0+0+0=0=2×00+0+0+0+0+0=0=2\times 0
La suma de los grados de todos los vértices =2×=2\times el número de aristas

A esto se le suele llamar lema del apretón de manos: cada apretón cuenta una vez por cada una de las dos personas que participan. Lo dedujimos contando los extremos de cada arista, así que se aplica a cualquier grafo no dirigido finito como el de esta página, no solo a nuestro ejemplo de las siete carreteras.

03

Recorrer las conexiones

No basta con mirar los lugares conectados directamente: la escuela y la casa no están unidas de forma directa, pero podemos pasar por la tienda y la biblioteca. Recorrer las aristas contiguas una tras otra es una ruta. Aquí, la longitud de la ruta es el número de aristas recorridas: de AA a BB una arista, a DD otra y a EE otra, así que se recorren 1+1+1=31+1+1=3 aristas.

Una ruta que no repite vértices se llama camino simple. Si se sale de un punto y se vuelve a él sin repetir otros vértices y pasando por al menos tres aristas, se obtiene un ciclo en un grafo simple no dirigido como el de esta página. Por ejemplo, A,B,D,C,AA,B,D,C,A: la última AA solo vuelve al punto de partida y los demás lugares se recorren una vez cada uno.

Abajo solo puedes elegir el siguiente lugar que esté directamente conectado con el actual. Prueba a ir de la casa a la escuela; después de reiniciar, también puedes intentar ir de la escuela a la casa. Las etiquetas numéricas indican el orden en que se recorren los vértices; si pasas varias veces por el mismo punto, la ruta de abajo se conserva entera.

Si entre dos vértices cualesquiera se puede encontrar un camino, decimos que el grafo no dirigido es conexo. Si se quitan los caminos de ambos lados de la escuela, la escuela queda aislada de los demás lugares; aunque los otros cinco lugares sigan siendo alcanzables entre sí, el grafo en conjunto ya no es conexo.

También existen caminos de un solo sentido: poder ir de AA a BB no significa poder volver de BB a AA. Registramos las direcciones permitidas con flechas y obtenemos un grafo dirigido. El proceso de búsqueda posterior también puede respetar las flechas, pero «poder llegar» exige especificar el punto de partida y la dirección.

ACasa0BTiendaCParqueDBibliotecaEEscuelaFEstación
AA
Número de aristas recorridas: 00. No hay vértices repetidos: es un camino simple.

Este dibujo no tiene flechas: cada arista se puede recorrer en ambos sentidos. El registro de la ruta conserva hasta 19 aristas; al reiniciar puedes probar otro recorrido.

04

Buscar una ruta en orden

Probar caminos al azar hace que se vuelva fácilmente al mismo lugar. Podemos poner en fila, en el orden en que se descubren, los lugares ya descubiertos cuyos caminos aún no se han revisado. Lo que se añade primero se procesa primero; ese registro de espera se llama cola. Abajo, el frente de la cola está a la izquierda y los lugares recién descubiertos se colocan a la derecha.

Al principio solo conocemos el punto de partida, así que lo marcamos con 00 pasos y lo ponemos en la cola. Luego se saca el frente y se revisan una a una las conexiones por las que se puede salir. Si aparece un lugar aún no descubierto, se anota desde dónde se encontró y cuántos pasos cuesta llegar, y se añade al final de la cola. Si el lugar ya se había descubierto, no se vuelve a poner en la cola.

¿Por qué se suma 11 al número de pasos del lugar nuevo? Ya conocemos una ruta hasta el lugar actual; si cruzamos la arista que acabamos de revisar, recorremos una arista más que en esa ruta. Por ejemplo, si el lugar actual tiene 22 pasos, el nuevo lugar tiene 2+1=32+1=3 pasos.

Este método de buscar capa por capa según la distancia se llama búsqueda en anchura; en inglés, BFS. Solo cuando termina la capa actual se pasa a la siguiente. Con «Siguiente» se revisan una a una la cola y los caminos; no avanza por sí solo. El gris indica lo aún no descubierto, el verde lo ya descubierto y la arista dorada es la conexión que se está revisando.

ACasaBTiendaCParqueDBibliotecaEEscuelaFEstación

Aristas disponibles: A—B, A—C, B—D, C—D, D—E, E—F, C—F

Estado 0 / 27
Pon el punto de partida en la cola y anota cero pasos. Todavía no se ha procesado ningún lugar.

Cola: a la izquierda se procesa primero, a la derecha se añaden los lugares nuevos

A
Registro del primer descubrimiento; una raya indica que aún no se ha descubierto
LugarABCDEF
Número de aristas desde el inicio00—————
Encontrado desdeInicio—————

Ya examinados: Todavía ninguno

Todavía no hay una ruta registrada hasta EE. La búsqueda no ha terminado; sigue comprobando para decidir si es alcanzable.
05

Por qué los pasos encontrados son los mínimos

Ahora explicamos por qué los pasos anotados son realmente los mínimos. El punto de partida requiere 00 pasos; todos los lugares directamente vecinos al punto de partida se descubren al procesarlo, así que requieren 11 paso. La cola hace que estos lugares alcanzables en un paso queden todos delante de los lugares a dos pasos que se descubren después.

Seguimos aplicando el mismo razonamiento: cuando procesamos la capa kk, es decir, los lugares alcanzables con al menos kk aristas, todas las capas más cercanas ya se han procesado. Un punto vecino aún no descubierto se alcanza en k+1k+1 pasos, porque añadimos una arista a los kk pasos que ya tenemos.

¿Podría haber una ruta más corta? Si existiera, el penúltimo punto de esa ruta tendría un número mínimo de pasos menor que kk. Ese punto ya se habría procesado y sus conexiones ya se habrían revisado, así que el objetivo debería haberse descubierto entonces. Esto contradice que «todavía no se haya descubierto». Por tanto, los k+1k+1 pasos recién anotados son el mínimo.

Empezando por la capa 00, este razonamiento garantiza que todas las capas son correctas. Cada punto recién descubierto entra en la cola una sola vez y el número total de vértices es finito, así que la cola termina vacía. En ese momento, los puntos aún no descubiertos son realmente inalcanzables: si existiera una ruta hacia uno de ellos, al buscar el primer punto no descubierto de la ruta, el punto anterior debería haberlo descubierto al revisar sus conexiones.

Aquí lo mínimo es el número de aristas. Si todos los caminos tardan lo mismo, el mínimo de aristas también da el tiempo mínimo; si los tiempos difieren, no se puede deducir así. Por ejemplo, si el camino directo tarda 1010 minutos y los dos tramos que pasan por una parada intermedia tardan 22 minutos cada uno, los dos juntos suman 2+2=42+2=4 minutos, más rápido que el directo. Registrar valores como el tiempo en las aristas se llama darles un peso; el número de capas de BFS no suma esos valores.

06

Comprobarlo una vez por tu cuenta

Intenta escribir tu respuesta. El contenido desplegable de abajo muestra el proceso de cálculo, que puedes usar para comprobarla. La respuesta usa las siete aristas iniciales de esta página; puedes volver al grafo de arriba y comprobarlo arista por arista.

¿Por qué el grado de CC es 33 y no el número de todos los lugares alcanzables desde CC?

El grado cuenta solo las aristas que tocan directamente ese vértice. CC toca ACAC, CDCD y CFCF, en total tres. Aunque siguiendo más allá se pueda llegar a otros lugares, eso no añade conexiones directas a CC.

¿Cuántas aristas como mínimo hay que recorrer de la casa a la escuela?

Partiendo de AA, la primera capa es B,CB,C; la segunda descubre D,FD,F; y al cruzar otra arista desde DD o FF, la tercera capa llega a EE. Por tanto, el mínimo es 33 aristas, por ejemplo A,B,D,EA,B,D,E. En la primera y la segunda capa no hay EE, lo que descarta rutas más cortas.

Si se añade una arista BEBE que antes no existía, ¿cómo cambia la suma de grados?

BB gana una arista y su grado aumenta en 11; EE también gana una y su grado aumenta en 11; los demás vértices no cambian. La suma original era 1414 y ahora es 14+1+1=1614+1+1=16; al mismo tiempo, el número de aristas pasa de 77 a 88, y sigue cumpliéndose 16=2×816=2\times8.

Si se conserva solo la flecha A→BA\to B, ¿también se puede ir de BB a AA?

No. La flecha solo permite el sentido que va de su cola a su punta. Para recorrer el sentido contrario tiene que haber otra arista que lo permita, o una ruta dirigida que pase por otros vértices.

Inicia sesión para ver más

Inicia sesión para continuar el resto de esta lección y mantener tu progreso sincronizado.