El teorema de los cuatro colores. En CARTO, los viernes por la tarde tenemos tiempo libre para trabajar en nuestros proyectos personales. Es lo que llamamos “leapfrog“.

Este mes en concreto, estoy dedicando tiempo a explorar la plataforma y hacer mapas utilizando las herramientas que ponemos disponibles a los desarrolladores.

Lo que suelo hacer es, durante la semana me voy apuntando temas que me interesaría explorar, datasets que encuentro con los que podría hacer un mapa o algún blogpost que me haya parecido interesante trabajar sobre él.

El teorema de los cuatro colores

Hace unas semanas encontré esta entrada de blog que me llamó la atención.

La entrada de blog habla del teorema de los cuatro colores y pone un mapa del mundo para ilustrar el teorema.

El teorema viene a decir que cualquier mapa se puede colorear utilizando 4 colores de manera que no haya dos polígonos adyacentes que compartan el mismo color.

El tema me pareció interesante como para explorarlo en un “leapfrog” y al mismo tiempo me llamaba la atención que la entrada de blog, expusiera el tema, pusiera una imagen de un mapa, pero no explicara cómo llegar a ese resultado.

¿Cómo resolver el teorema de los cuatro colores con PostGIS?

No lo voy a explicar aquí, porque para eso ya escribí una entrada en el blog de tech de CARTO explicando el proceso.

Durante el proceso (que me llevó bastante más que una tarde de viernes), me llamaron la atención algunas cosas:

En primer lugar, lo poco que sé de matemáticas y que no me fue fácil encontrar una solución al teorema de los 4 colores en Internet. Lo único que encontré fueron descripciones “textuales” de un par de algoritmos que pude implementar.

En segundo lugar, me he dado cuenta que hasta ahora no había usado apenas PostGIS en mi carrera profesional y cuando tenía que resolver un problema geoespacial, utilizaba las herramientas con las que solíamos trabajar en mi entorno laboral (generalmente Java).

La reflexión es que a veces la tecnología en concreto no es lo importante, sino las herramientas que te ponen delante para resolver un problema.

Por último, relacionado con CARTO, pretendía demostrar un workflow de trabajo que quizás no es el más cómodo o el más común entre nuestros usuarios, pero que permite resolver problemas relativamente complejos, simplemente con las herramientas que tienes disponible.

Sin más, una curiosidad que me apetecía comentar por aquí: