Por qué transformar redes en jerarquías es el tercer problema difícil de la Informática

Fuentes: The third hard problem
Por qué transformar redes en jerarquías es el tercer problema difícil de la Informática
Imagen generada con IA

El 'tercer problema difícil' de la informática es el mapeo de grafos a estructuras jerárquicas, un problema que surge de la tensión fundamental entre cómo organizamos la información y cómo funcionan realmente las ideas. Nuestros cerebros evolucionaron para comprender el espacio físico, que tiene una estructura jerárquica y localizada: los objetos forman colecciones que se agrupan en unidades mayores (partículas → átomos → moléculas → cuerpos). Esta facilidad natural nos llevó a usar jerarquías como herramienta predominante de organización: clasificamos cosas e ideas en cajas etiquetadas dentro de cajas mayores.

Sin embargo, las ideas y la información no se adaptan bien a estas taxonomías. Ellas forman redes intrincadas que atraviesan límites rígidos, mientras que los árboles (estructuras jerárquicas) no pueden modelar redes directamente. El problema del 'tree mapping' consiste en incrustar una red en un árbol de manera que distorsione lo menos posible la estructura original.

Los casos de uso son omnipresentes. En sistemas de archivos digitales: ¿dónde guardar una factura del dentista? ¿En una carpeta general, en 'médico', en el proyecto de impuestos del año, o en todas partes? Los sistemas operativos enfrentan dilemas similares: ¿organizar archivos por aplicación o por tipo? Windows y macOS prefirieron lo primero (paquetes autocontenidos), mientras que Linux optó por lo segundo (bibliotecas en /usr/lib, documentación en /usr/man), lo que complica la gestión de paquetes y motivó el desarrollo de formatos como Snap y Flatpak. En código, los proyectos modernos tienen componentes en múltiples lenguajes; se pueden organizar por componente (/acme/payments/) o por lenguaje (/acme/ts/, /acme/rs/), siendo la primera opción más intuitiva pero requiriendo herramientas especializadas como Bazel.

En escritura, el autor debe codificar una red de ideas en una secuencia lineal de palabras, transformando conceptos interconectados en texto secuencial. En matemáticas, aunque las presentaciones parecen torres de Lego (conceptos simples en la base y complejidad creciente arriba), las relaciones reales entre conceptos forman redes complejas que las presentaciones lineales no capturan.

La principal consideración es que este problema es 'self-inflicted': no hay razón técnica para que un sistema de archivos digital sea un 'skeuomorph' de estantes físicos. Algunos experimentos como BeFS y WinFS intentaron sistemas similares a redes, pero no alcanzaron adopción masiva. A medida que etiquetas y enlaces se vuelven prevalentes en servicios web, los sistemas de archivos podrían evolucionar hacia estructuras más similares a redes, superando esta limitación heredada del mundo físico.