paint-brush
El complejo camino de P a NP: la magia del espacio de solucionespor@damocles
584 lecturas
584 lecturas

El complejo camino de P a NP: la magia del espacio de soluciones

por Antică Vlad18m2024/08/10
Read on Terminal Reader

Demasiado Largo; Para Leer

P (tiempo polinómico) vs NP (tiempo no polinómico) es una cuestión que aborda las raíces de complejidad subyacentes de espacios de problemas específicos. Por ejemplo, un problema P es aquel en el que el tiempo de solución aumenta en tiempo polinómico. Cuando se trata de problemas NP, la complejidad del problema es mucho mayor.
featured image - El complejo camino de P a NP: la magia del espacio de soluciones
Antică Vlad HackerNoon profile picture
0-item

P (tiempo polinómico) vs NP (tiempo no polinómico) es una cuestión que aborda las raíces de complejidad subyacentes de espacios de problemas específicos. Por ejemplo, un problema P es aquel en el que el tiempo de solución aumenta en tiempo polinómico. Tenemos una matriz de números: [a, b, c, d, e, f, g], y la tarea es ordenar esos números. La forma en que los algoritmos actuales resuelven este problema es recorriendo cada número uno por uno, y si el número actual es menor que el último (en caso de que ordenemos de manera ascendente), el número se mueve un espacio hacia atrás. Cuantos más números agreguemos a la matriz, más tiempo llevará una ordenación completa. Sin embargo, ese aumento es gradual y predecible.


Cuando se trata de problemas NP, la complejidad del problema es mucho mayor. Por ejemplo, un problema NP de este tipo es el “problema del viajante” (TSP). Este problema impone que se dé un mapa con un cierto número de ciudades: digamos ciudades [a, b, c, d, e, f, g]. El objetivo es encontrar la ruta más corta entre todas esas ciudades. En este caso, cuantas más ciudades añadimos, el tiempo necesario para encontrar la solución aumenta drásticamente.


Para una mejor comprensión, imaginemos que en el caso de un problema P, el aumento de tiempo es similar a una suma, en la que, con cada nuevo dato añadido al conjunto, el tiempo aumenta al sumar la suma de los puntos de datos encontrados en el conjunto de datos al tiempo actual. En nuestro problema de ordenación, por ejemplo, cuando tenemos un número, el tiempo que lleva resolver el problema es 1 (no 0 porque se requiere una comprobación al final), y con el segundo número añadido, el tiempo se convierte en 1 + 2 = 3. El tercer número (+3) eleva el tiempo a 6, el cuarto (+4) a 10, y así sucesivamente.


En el caso de los problemas NP, por ejemplo, en el caso de TSP, por cada ciudad añadida, multiplicamos el número de la ciudad añadida por el tiempo requerido actual. Con una sola ciudad, el tiempo es 1, con dos ciudades, el tiempo se convierte en 1 x 2 = 2, y con 3 ciudades, obtenemos 2 x 3 = 6. La cuarta ciudad llevará el tiempo a 6 x 4 = 24, y así sucesivamente. Por supuesto, este no es un escenario de aumento de tiempo válido y realista, pero marca una gran manera de visualizar cuánto tiempo más se necesita a medida que aumenta el conjunto de datos de un problema NP en contraste con el conjunto de datos de un problema P.


Ahora que entendemos los dos tipos de problemas, la pregunta que nos planteamos es: ¿P es igual a NP (lo que significa que con las herramientas y algoritmos adecuados, podríamos resolver eficientemente cada problema, NP o P, en un tiempo polinomial) o son diferentes (lo que significa que la complejidad es una propiedad inherente al espacio de problemas y, por lo tanto, existen problemas que nunca podremos abordar por completo, sin importar cuán avanzados sean nuestros conocimientos y comprensión).


Quienes conocen el problema P-NP sugieren que son inherentemente diferentes y que hay problemas que tal vez nunca podamos resolver de manera eficiente. Pero entonces, ¿para qué sirven nuestra curiosidad y comprensión, si no es para romper esa separación entre los dos tipos de problemas?


En las siguientes partes, presentaré mi punto de vista y los ángulos desde los que he encontrado para abordar este problema. Al final del artículo, espero haber podido presentarles claramente una comprensión holística de estos dos espacios problemáticos entrelazados.


Parte 1: Simplicidad frente a complejidad

Para entender mejor la naturaleza de los problemas, vamos a recorrer un poco los caminos de la filosofía y a preguntarnos por la naturaleza de la simplicidad y la complejidad. Después de todo, si la complejidad es en última instancia diferente de la simplicidad, podríamos suponer sencilla y verazmente que existen problemas (PN) para los que se requieren espacios de solución complejos (es decir, superposicionalidad cuántica) para abordar el problema en un tiempo algo polinómico.


En el caso del problema TSP, un espacio de solución complejo denotaría una ruta de solución que tiene en cuenta todas las ciudades y sus respectivas posiciones y las mantiene todas para encontrar un empate razonable entre las ciudades. Pero incluso si tenemos en cuenta todos los pesos necesarios, la ciudad desde la que comenzamos es tan importante como el recorrido que realiza el algoritmo para encontrar la ruta más eficiente, ¿verdad? Si comenzamos desde la ciudad a, entonces la ruta más eficiente tendrá una forma determinada; si comenzamos desde la ciudad b, la ruta más eficiente tendrá un aspecto diferente.


O tal vez este razonamiento sea erróneo. Después de todo, el camino más eficiente es uno y único, y en última instancia es el más eficiente simplemente porque representa el vínculo más corto entre todas las ciudades. No buscamos el camino más corto de la ciudad A a la ciudad B, sino el camino más corto que une a todas las ciudades. Desde esta perspectiva, podríamos visualizar la ruta más corta, similar a un estado “colapsado”, donde la distancia total entre las ciudades es la más corta.


Si usamos algoritmos de “fuerza bruta” que forman todo tipo de caminos y luego los comparamos, todos esos caminos serán el resultado del mismo razonamiento de “fuerza bruta” del algoritmo, y por lo tanto cada instancia de formación del camino es en última instancia un razonamiento lineal. Y si encontráramos, por casualidad, la ruta más corta, los aspectos de “fuerza bruta” y “azar” del algoritmo no tendrían forma de saber si esa ruta es en última instancia la más corta.


Ahora bien, este enfoque parece que podría beneficiarse de los poderes del aprendizaje automático, que en última instancia está entrenado para hacer aproximaciones. Imaginemos entrenar una IA utilizando mapas de ciudades junto con el camino más corto trazado entre ellas. De esta manera, en lugar de algoritmos de “fuerza bruta”, podríamos cambiar a algoritmos de “conjeturas fundamentadas” que demostrarán un aumento tangible en la eficiencia.


Pero, en ese caso, todavía necesitaríamos una forma absoluta de llegar a ese camino más corto. Y, por ahora, no hay forma de saber siquiera con un 100% de precisión si el camino que tenemos frente a nosotros es el más corto. En este sentido, la heurística y otros modelos matemáticos tienen como objetivo proporcionar una comprensión de la base lógica que nos dirá cuál es el camino más eficiente. Sin embargo, esos enfoques están incompletos por ahora y ni siquiera sabemos si, cuando estén completos, aún podrán proporcionarnos la respuesta más precisa o solo una suposición "basada en hechos".


Parte 2: Simplificación excesiva

Puede que me haya alejado un poco del tema de la simplicidad y la complejidad. O tal vez de abordarlos de una manera verdaderamente filosófica. Todo lo que hice en este sentido fue básicamente preguntar si de alguna manera podríamos alcanzar un cierto nivel de complejidad en nuestro enfoque y si nos darían un “sí” una vez que encontráramos la solución correcta. Pero como el camino más corto existe en cualquier mapa con cualquier número de ciudades, debe tener valores específicos y detalles específicos que lo hagan destacar entre la multitud, ¿verdad?


O tal vez esos detalles sólo aparecen después de infinitos bucles a través de diferentes caminos en forma de distancia total recorrida. Pero tal vez sea simplemente irracional suponer eso. Después de todo, el camino más corto es el más corto, sin importar cuántas veces lo recorramos. De hecho, cuanto más recorramos diferentes bucles, más entendemos cuál es más corto y cuál es más grande. Sin embargo, este razonamiento puede ser necesario sólo en casos en los que queremos diferenciar entre bucles atómicamente pequeños con herramientas de medición insuficientemente precisas.


Ahora tendría sentido que el problema no sea encontrar la verdad de la investigación, sino más bien la capacidad de las herramientas que utilizamos para ponerla a prueba. Cuando se trata de cortar un árbol, utilizamos un hacha. Cuando se trata de escuchar música, utilizamos nuestros auriculares. Cuando se trata de formalizar y comprender las matemáticas, utilizamos herramientas construidas de manera lógica.


Y tal vez esa sea la belleza inherente que se encuentra en las matemáticas. Tomamos algo simple, lo fusionamos con otra cosa simple, y juntos forman algo complejo, que nos permite movernos en diagonal, por ejemplo, o dibujar un círculo perfecto o algo así. Pero entonces, ¿cuántas herramientas simples de ese tipo se pueden unir entre sí? ¿En qué punto podemos mezclar dos herramientas complejas juntas? Y si es así, ¿podemos lograr esa herramienta de mayor complejidad solo fusionando las dos complejas inferiores o también fusionando todas las simples inferiores que las forman?


En este sentido, las heurísticas son como esas herramientas que, en su interacción, nos permiten encontrar una manera de responder con un 100% de precisión si hemos encontrado o no el camino más corto entre las ciudades. Desde este punto de vista, las heurísticas son como un probador de soluciones, pero para encontrar esa solución, podemos necesitar otros enfoques. Al final del día, las raíces de P vs NP están tan profundamente ligadas a la naturaleza de la complejidad misma que tendríamos que preguntarnos si podríamos recorrer dos (e incluso más) caminos distintos en un solo tiempo lineal.


Parte 3: La naturaleza fractal de la complejidad

Es interesante estar aquí. Allí… afuera. Después de un descanso de treinta minutos de la escritura, se solía hacer un descanso para colocar las ideas que iban a seguir en el mejor orden y en la escala más comprensible. Y el hecho es que sí, las ideas están más claras que nunca; incluso se derrumbaron en un ciclo que se cerró por completo. Y entonces, ese ciclo resultó ser un punto, una parte brillante de todo el conjunto, y no brilla porque sea especial de alguna manera en relación con todo el sistema, sino porque es el espacio actual, la comprensión actual y el lugar en el que nos sentamos. Es un lugar en el que, cuando miramos hacia arriba, encontramos complejidad y simplicidad. Cuando miramos hacia abajo, encontramos lo mismo. Cuando miramos hacia los lados, no es diferente.


De esta manera, es tan cierto que encontramos lo que buscamos. Si buscamos la naturaleza de la PN, la siempre compleja, la encontramos en su naturaleza más compleja. También le quitamos la simplicidad en el proceso para asegurarnos de tirar la escalera después de subirla. Pero luego, si buscamos maneras de reconciliar las dos visiones, de fusionar la P y la PN como meras partes de una comprensión holística, una en la que, para que exista un problema, se requiere una solución clara, entonces podemos entender que, con suficiente esfuerzo y dedicación, se puede encontrar finalmente una solución. Y no importa cuán esquiva pueda ser esa solución, siempre existe el potencial de lograrla de la manera más fluida y tangible.


Y ahora, para eliminar la confusión de palabras, quiero decir que defiendo el hecho de que P es en última instancia igual a NP. Y eso es simplemente porque si no hemos encontrado la solución, no significa que no esté ahí, esperando a que la encontremos por casualidad. Y si me llaman optimista, quiero decir que me considero realista.


Tal vez escribí la conclusión antes de terminar el artículo, pero me gusta este estilo. Da la sensación de un estilo “vivo” en el que no me limito a desarrollar una idea tras otra, sino que mantengo la esperanza de haberme expresado con tanta claridad hasta el final.


La naturaleza de los artículos científicos es que primero se coloca el resumen, por ejemplo: “P es igual a NP porque la simplicidad y la complejidad están entrelazadas”, después de lo cual se continúa expresando los puntos y pensamientos sobre por qué y cómo esto es cierto.


En un artículo, sin embargo, el objetivo es hacer que la persona que lo lee comprenda algo; es similar a enseñar. Mientras que la investigación científica se escribe con el objetivo de que las personas que ya saben sobre el tema den sus pensamientos y opiniones con respecto al "razonamiento" presentado, y si alguien tiene algún conocimiento que pueda unir todos esos puntos e incluso más, entonces ese "razonamiento" se reformula, se completa lógicamente y se fundamenta científicamente y se convierte en un "descubrimiento".


Imaginemos que fusionamos ambos estilos. ¿Qué resultado obtendríamos? Sería como un crecimiento gradual de ideas, en el que surgen nuevas ideas. Lo abstracto perdería sentido en este sentido, ya que ni siquiera el escritor sabría a dónde lo llevaría el camino. En este sentido, el escritor puede tener una idea vaga o un punto de partida autoimpuesto, como demostrar que P es igual a NP o que P es diferente de NP. Más adelante, en esa construcción de ideas, un pequeño descuido puede indicar una dirección completamente diferente y, entonces, tratar de dar marcha atrás sin eliminar el último argumento solo generará confusión.


Es como volver a mi construcción inicial antes de replantear intencionalmente la parte 3 en la conclusión, que sostuve y me pareció hermosa para incluirla. Pero, ¿cómo volvería allí? Quiero decir, tú, como lector, podrías haber construido idea tras idea y haber tratado de captar una forma o figura general. Pero, bueno, esa es la belleza de todo, ¿no es así? Podemos tomar descansos de nuestro razonamiento lógico, dejar que la creatividad haga florecer nuestro potencial y luego comenzar de nuevo, nuevos y renovados, con nuevas perspectivas y formas más eficientes de llegar a la respuesta. Y en este sentido, la parte 3 fue solo un descanso de todo. Y ahora haré otra pausa, solo para dar un pequeño paseo. Después de lo cual, nos detendremos en la parte 4.

Parte 4: Dentro de un fractal

Cuando pensamos en un fractal, imaginamos un patrón que se repite a sí mismo y que tiene las mismas propiedades en todas las escalas y dimensiones. El conjunto de Mandlebrot, por ejemplo, es un fractal que representa algo parecido a una célula y, cuando se hace un zoom dentro de esa célula, se encuentran estructuras similares una y otra vez. Bueno, esas estructuras exactamente similares a las de una célula no son tan comunes como se podría pensar. El fractal es, al final, tan magnífico que se puede ver cada detalle que resume esa célula con extrema claridad a medida que se hace un zoom cada vez mayor.


Hay partes que son similares a las hojas de hierba y otras que son similares a la curvatura de la luz que se ve cuando la luz pasa detrás de un agujero negro, entre muchos otros aspectos interesantes. Y después de hacer zoom cada vez más, finalmente llegarás a la misma celda inicial, reiterada a escalas atómicamente pequeñas en relación con la inicial. Y desde allí puedes hacer zoom aún más.


En esencia, un fractal es algo similar a un camino que parte de un problema P simple, uno que, cuando se lo ve en toda su complejidad potencial, se convierte en un problema NP muy complejo que parece insoluble simplemente debido a la enorme cantidad de potencia computacional (incluso si el camino para resolverlo es lineal) que se requiere para resolverlo. Por ejemplo, se puede hacer un problema P de “dibujar el conjunto Mandlebort con un zoom de 3000x”, y la solución es lineal. El programa simplemente recorre el espacio fractal, recoge los datos pieza por pieza y los copia en el otro papel. Pero la cantidad de tiempo necesaria para lograr el dibujo completo puede ser simplemente enorme. Tal vez, a menos que le demos al programa suficiente memoria y eficiencia para memorizarlo todo y luego pegarlo con la misma eficiencia o incluso mayor.


Ahora bien, ¿se consideraría un problema del tipo “Copiar el conjunto de Mandlebrot completamente en este papel” un problema NP? Después de todo, debido a la infinitud del zoom que podemos lograr, se necesitaría una cantidad infinita de tiempo para pasar el primer píxel, ¿no? Pero entonces, ¿cómo vemos el fractal a cualquier escala si debajo de él se encuentra una complejidad infinita por dibujar? Tal vez el algoritmo que dibuja el fractal crea la primera imagen y luego continúa trabajando indefinidamente para lograr niveles cada vez mayores de complejidad y profundidad. Y eso hace que uno se pregunte: ¿qué pasa si, a partir de cierta profundidad (o complejidad) semi-infinita, encontramos una figura diferente? O tal vez pasemos un punto a partir del cual el fractal de Mandlebroth comienza a representarse de otras maneras, tal vez opuestas.


Ante preguntas tan complejas, sentimos que necesitamos un descanso. Es como si nuestro cerebro se hubiera sobrecargado por intentar procesar esas escalas. Pero no estamos trabajando en una investigación científica; nuestro objetivo es simplemente explorar la complejidad y la enormidad de todo esto, no procesarlo. Tal vez sea más fácil una vez que se formen pesos relativos o se encuentren diferentes tipos de infinitos que se puedan usar para dar sentido a la escala de las cosas.


Por ejemplo, si mi suposición es que al otro lado del infinito, el conjunto de Mandlebrot se ve reflejado, entonces tendría sentido que el efecto de reflejo pudiera comenzar a ocurrir a partir de un zoom (o profundidad) semi-infinito. Pero entonces, ese semi-infinito no es real. El infinito, en el verdadero sentido, sugiere que el conjunto de Mandlebrot contiene todos los estados, formas y figuras que han existido, pueden existir y existirán. Pero entonces, hay límites, ¿no es así? Está claro que este fractal es solo un patrón. Un patrón que, sí, puede adoptar muchas formas, pero que seguirá estando limitado dentro de sí mismo, dentro de su propia estructura y reglas. Y, en cualquier caso, ese “solo un patrón” es increíblemente hermoso y complejo, en sí mismo.

Parte 5: Complejidad

Como dije antes, en la construcción de ideas, podemos llegar a un punto en el que simplemente nos veamos obligados a concluir lo opuesto a nuestra suposición inicial. Es decir, ¿cómo se puede creer que P es igual a NP y que los problemas NP simplemente no existen después de toda esta explosión de complejidad? Pero como dije en el último artículo, cuando expresamos ideas, simplemente “señalamos” un cierto concepto. Y como un bloque de construcción requerido, la enormidad de la complejidad encontrada en el fractal tenía que proporcionarse como un potencial “cénit” de complejidad. Un pico de comprensión a la hora de definir cómo se ve realmente el infinito tridimensional. Y ahora que tenemos todo ese infinito a nuestro alrededor, ¿adónde podemos ir?


Adonde vamos siempre cuando queremos pensar. Tomamos un punto de referencia y observamos la primera iteración del fractal. Todo ese infinito tridimensional está frente a nosotros. Razonamos que si queremos lanzar una aguja y ver dónde cae, podemos enfrentarnos a un fenómeno bastante extraño. Cuanto más pequeña es la punta de la aguja, más tarda en caer y más se expande el espacio base. Y al mismo tiempo, más “caótico” o “menos predecible” se vuelve el punto base alcanzado. Pero, ¿podríamos, con suficientes agujas infinitamente pequeñas, lograr la imagen completa del fractal? ¿No importa cuánto espacio y agujas se necesiten? Después de todo, desde este punto de vista, podemos ver claramente los límites y, a menos que haya una autosimilitud perfecta en juego, debe ocurrir alguna pérdida después de cada iteración.


Pero la complejidad va mucho más allá de este mapa. En lo que respecta al tamaño de las agujas, para cada tamaño tenemos un mapa único que se forma. Pero, ¿no son los mapas de agujas más pequeñas simplemente una representación más compleja (y de mayor calidad) de los mapas de agujas más grandes? En este sentido, la complejidad representa una especie de despliegue de un espacio más detallado. Un espacio que contiene caminos polinómicos de exploración, e incluso en contra de las suposiciones creídas, esta expansión de la complejidad permite una exploración más precisa y eficiente que la que permitiría una falta de complejidad.


Por ejemplo, si en lugar del mapa infinitamente complejo del fractal, tuviéramos un mapa menos complejo y quisiéramos alcanzar un cierto punto terrestre que se encuentra en un mapa más complejo, primero tendríamos que elegir un punto en el mapa menos complejo en el que hacer zoom y revelar el punto más complejo que queríamos alcanzar. Y esto realmente pone todo el espacio NP patas arriba, al tiempo que reconoce que el tiempo polinómico necesario para resolver problemas específicos podría muy bien llevar miles de años, y eso en una ruta polinómica. Y con toda honestidad, tal vez la siguiente pregunta sea si la computación cuántica podría tener un tipo de superposicionalidad capaz de reducir el tiempo de x a x dividido por (el número de cúbits utilizados).

Parte 6: Conclusiones y reflexiones

Antes de profundizar en las posibles implicaciones del enfoque cuántico, considero oportuno presentar el mapa de afirmaciones que he hecho hasta ahora.


  • P y NP son lo mismo, lo que significa que todos los problemas podrían eventualmente resolverse en tiempo polinomial una vez que encontremos el espacio de problemas correcto y el espacio de soluciones correcto.

  • Los problemas NP son más parecidos a problemas polinomiales extensivos, donde su espacio de soluciones es tan masivo y complejo que encontrar una solución llevaría mucho tiempo.

  • La complejidad y la simplicidad están entrelazadas, y en su interacción, nuestra perspectiva y el nivel de profundidad alcanzado es lo que las ve como una u otra.

  • Las herramientas complejas que logramos se utilizan para resolver espacios de problemas detallados de una manera más eficiente, utilizando la interacción

    Entre la simplicidad y la complejidad a su favor


    Y después de todo lo dicho y hecho, cuando entremos en el ámbito de la computación cuántica, las cosas podrían dar un giro radical. A continuación se presentan algunas posibles vías de exploración.


  • A pesar de todo lo que se dice aquí, la computación cuántica podría tener sus propios problemas NP únicos que son inherentemente diferentes de lo que la computación clásica tiene para ofrecer.

  • La naturaleza de la computación cuántica podría ser al mismo tiempo un aspecto complementario y entrelazado de la clásica, ofreciendo al final herramientas que los problemas NP cuánticos requieren para ser resueltos polinomialmente.

  • Estas herramientas cuánticas podrían funcionar junto con algoritmos clásicos para proporcionar una eficiencia cada vez mayor que promete superar la eficiencia máxima de ambos paradigmas.

  • Los algoritmos actuales de computación cuántica (no sé cómo están construidos) podrían requerir aspectos de computación clásica como regla de funcionalidad prerrequisito. En este caso, necesitaríamos catalogar las perspectivas clásica y cuántica en dos tipos distintos de computación para poder comprenderlas mejor y fusionarlas.

Parte 7: Barrera cuántica

Dado el enorme potencial que esconde la energía cuántica, los sistemas que mantienen unida nuestra privacidad están bajo constante amenaza. Los sistemas ZKP (a prueba de conocimiento cero) ofrecen una posible vía de escape viable. Después de todo, su base se forma bajo la presunción de que el poseedor de la clave no proporciona información alguna sobre ella en el proceso de desbloqueo. En esta visión, la clave está oculta a plena vista, justo bajo las narices de quienes desean interferir y robarla. Pero al mismo tiempo, las bases sobre las que se construye y opera el sistema son capaces de ocultar todo el sistema a la vista de terceros.


Sería como caminar por el laberinto siempre cambiante y siempre borroso del espacio computacional, ya sea con una computadora clásica, cuántica o incluso cuántico-clásica, y todo lo que verías a tu alrededor es un espacio siempre cambiante para el cual, si quieres entenderlo, tendrías que tener la información sobre la primera instancia de su creación, para tener acceso a los componentes básicos que iniciaron y dieron forma al sistema desde su creación.


Y en un mar de confusión y sistemas, incluso si tienes acceso a los componentes básicos de un sistema específico, nunca sabrías a qué sistema aplicarlo, ya que el mar de sistemas interconectados es demasiado grande y hay demasiados sistemas que se intercambian, tomando la forma de otros en intervalos específicos de tiempo.


Para los propios sistemas, sería fácil saber qué información deberían aceptar y cuál no, pero al mismo tiempo, se requeriría una sincronicidad extrema para que cada sistema tuviera su propia perspectiva única. Sin embargo, dada la infinitud que se encuentra en los gradientes de colores, cada bloque de construcción podría tener su propio comienzo y meta en curso que podría estar ligado a alcanzar el estado de color de otro sistema. Podríamos imaginarlo de manera similar a cómo funcionan las ondas de radio.


Tal vez los elementos caóticos de un sistema de este tipo podrían dar lugar a una especie de sistema interordenado que, visto en su conjunto, sencillamente no tendría sentido. Y para descifrarlo habría que adivinar los bloques de construcción formados por un código que contiene cientos o miles de números que cambian constantemente dentro de sus propios límites.


En esta perspectiva, cuantos más sistemas haya, menos posibilidades hay de que un atacante entre en un sistema, pero al mismo tiempo, cuantos más sistemas haya, más opciones tendrá un atacante. Tal vez la computación cuántica permitiría probar una única clave en todos los sistemas disponibles a la vez, generando claves constantemente y probándolas en todos los sistemas a la vez.


Pero una vez que se encuentra la clave actual, se necesitaría la clave “primera” para poder ingresar al sistema. O mejor aún, al almacenar en los sistemas las primeras 10 claves, una clave aleatoria de esas diez podría ser un requisito para ingresar una vez que se adivine la clave de estado real.


Parte 8: Capas dentro de capas dentro de capas

O rompecabezas dentro de rompecabezas dentro de rompecabezas. Una cosa es segura: la complejidad externa florece, expandiéndose en todas las capas al mismo tiempo y a una velocidad polinómica. Pero entonces, a partir de un punto, el sistema en sí debe volverse tan avanzado y caótico que ni siquiera los sistemas avanzados de descifrado alienígena serían capaces de acceder a él, ¿verdad?


Cuando analizamos nuestra situación actual y vemos esta explosión total de complejidad como un big bang o, más formalmente, como una singularidad, también reconocemos que estos avances son simplemente el primer paso hacia todo lo que está por venir. Nos encontramos en un lugar en el que pensar en el futuro realmente cuenta para iluminarlo más que nunca. Y sí, siempre ha contado. Pero ahora cuenta más que nunca, y así será durante los siglos venideros. Y tal vez incluso durante los milenios.


¿Quién sabe lo que nos podemos encontrar? Pero una cosa es segura: las decisiones que tomemos ahora van a guiar el futuro de maneras que las generaciones futuras ni siquiera han elegido. Así que más vale que estemos atentos a su perspectiva. En el pasado reciente (e incluso en la actualidad), se ha enviado a personas a la guerra sin su voluntad. Se ha obligado a las personas a crear armas destructivas e incluso a probarlas.


Pero, ¿qué sucedería si sólo teorizáramos sobre las armas y en lugar de eso creáramos los escudos necesarios para defendernos de ellas? ¿Por qué perder el tiempo tratando de destruir lo que aún no hemos construido? Una vez más, pueden llamarme optimista cuando digo que el universo puede, al final, ser inherentemente bueno. Pero después de todo, el universo no nos ofreció otras luchas que la lucha por el hambre, que en última instancia nos permite sentir la belleza y el sabor de cada bocado. Y eso es especialmente cierto cuando se trata del conocimiento.


En mi opinión, es absurdo suponer que un láser ultrapotente o una serie de láseres más pequeños son mejores para defender nuestro planeta de un meteorito, cuando en realidad, sólo si rascamos un poco la superficie, podemos encontrar el poder de utilizar los efectos de la gravedad cuántica a nuestro favor como una fuerza propulsora, similar a una bomba, pero que esparce únicamente antigravedad a nuestro alrededor. O tal vez centrarnos en un cohete lo suficientemente potente como para empujar a los meteoritos fuera de su curso desde atrás utilizando poderes extremos. Y al mismo tiempo, podemos utilizar el cohete para levantar trenes enteros y colocarlos en la Luna.


Y, en definitiva, ¿no es ésta la magia del espacio de las soluciones? Podemos verlo desde una perspectiva limitada, partiendo del supuesto de que hay cosas que tal vez nunca sepamos, o podemos reconocer el poder del libre albedrío y su verdadero potencial para moldear destinos y corazones enteros.