Durante mi formación como ingeniero electrónico en la Universidad Nacional de Colombia aprendí que muchas veces un problema no está realmente en los elementos que componen un sistema, sino en la forma como esos elementos se relacionan entre sí. Un circuito, por ejemplo, no se entiende solamente mirando resistencias, condensadores, transistores o fuentes; hay que mirar cómo están conectados. Con el tiempo he encontrado que esa misma idea aparece en muchos otros campos, y es precisamente ahí donde empiezo a encontrarle un enorme valor a la teoría de grafos.
Un grafo, en su forma más sencilla, no parece gran cosa: unos puntos y unas líneas que los conectan. Pero detrás de esa representación tan elemental existe una manera bastante poderosa de pensar. Los puntos pueden ser personas, computadores, ciudades, neuronas, instituciones, páginas web, componentes electrónicos o incluso ideas. Las líneas representan las relaciones entre ellos. Y cuando uno empieza a hacerse preguntas sobre esas conexiones —qué tan lejos está un elemento de otro, cuál es el camino más eficiente, qué nodos son más importantes, dónde están los puntos débiles de una red o qué sucede si desaparece una conexión— la aparente sencillez del dibujo comienza a revelar una estructura matemática bastante profunda.
Quizás por eso la teoría de grafos me resulta especialmente interesante. Tiene algo de ingeniería, pero también algo de filosofía. Nos obliga a dejar de mirar solamente los objetos y empezar a mirar las relaciones. En una época en la que hablamos permanentemente de redes sociales, inteligencia artificial, Internet, sistemas eléctricos, transporte, mercados y organizaciones, esta forma de pensamiento resulta cada vez más necesaria. Muchas de las cosas que llamamos "sistemas complejos" pueden entenderse mejor cuando dejamos de preguntarnos solamente qué elementos los forman y comenzamos a preguntarnos cómo están conectados.
Hay además una relación muy bonita entre la teoría de grafos y la programación. Conceptos que inicialmente parecen abstractos se convierten rápidamente en algoritmos. Una ruta entre dos puntos se transforma en un problema computacional; encontrar el camino más corto nos lleva a Dijkstra; construir una red utilizando el menor costo posible nos conduce a Kruskal o Prim; recorrer todos los elementos de una estructura nos lleva a BFS y DFS. Es decir, la teoría no se queda en el papel. Se puede programar, visualizar, experimentar y utilizar para resolver problemas reales.
Pero creo que la profundidad de esta disciplina aparece cuando empiezan a encontrarse la teoría de grafos y otras áreas de las matemáticas. Un grafo puede representarse mediante una matriz de adyacencia y, a partir de ahí, aparece el álgebra lineal. Surgen entonces las matrices laplacianas, los valores propios y toda una serie de herramientas que permiten estudiar matemáticamente el comportamiento de una red. Para alguien con formación en ingeniería, esta conexión resulta particularmente interesante porque nos acerca a conceptos que también aparecen en señales, sistemas, control y procesamiento de información.
Y aquí es donde mi interés por los grafos va más allá de aprender unos cuantos algoritmos. Me interesa la posibilidad de utilizar esta forma de pensamiento para entender sistemas humanos y tecnológicos. Una red eléctrica tiene nodos y conexiones, pero también los tiene una comunidad. Una red de computadores puede tener puntos críticos, y una organización humana también. Una red puede ser resistente ante la pérdida de algunos elementos o puede depender peligrosamente de unos pocos nodos. Pensar en términos de redes permite encontrar patrones que muchas veces no son evidentes cuando observamos cada elemento por separado.
Incluso creo que hay una enseñanza más amplia detrás de todo esto. Vivimos en una sociedad donde muchas veces intentamos explicar los problemas aislando sus componentes: una persona, una institución, una decisión, un acontecimiento. La teoría de grafos nos recuerda que eso puede ser insuficiente. Los elementos adquieren parte de su significado por las relaciones que mantienen con los demás. En cierto sentido, no somos solamente los nodos de una red; también somos las conexiones que construimos.
Por eso quiero acercarme a la teoría de grafos de una manera diferente. No solamente como una asignatura de matemáticas discretas ni como una colección de algoritmos que hay que memorizar. Quiero entenderla como un lenguaje para describir sistemas. Primero los grafos sencillos, después los caminos, los árboles y los algoritmos; más adelante las matrices, la conectividad, las redes complejas y finalmente su relación con la inteligencia artificial.
Tal vez lo más interesante de estudiar teoría de grafos sea que después de aprenderla uno empieza a encontrar grafos en todas partes. En un circuito electrónico, en Internet, en una red de transporte, en un grupo de personas, en una estructura empresarial o en un sistema de conocimiento. Y cuando uno empieza a ver las conexiones, cambia también la manera de mirar el mundo.
Esa es, por ahora, mi visión de la teoría de grafos: una herramienta matemática para aprender a ver aquello que normalmente no vemos: las relaciones que mantienen unido a un sistema.
