viernes. 26.04.2024
inteligencia artificial

En este segundo artículo trataré de profundizar y precisar algunos aspectos tratados en el primero porque podría pensarse que las posibilidades de la llamada inteligencia artificial actual y futura –sobre todo futura– son un problema tecnológico cuando, en realidad, son limitaciones lógicas insalvables. Y estas últimas ponen un límite siempre a la tecnología. Y el problema es que la promesa de solucionar algunos problemas de la humanidad se acabe convirtiendo en una religión, al igual que la católica promete el reino de los cielos a los pobres y a los que sufren en este mundo para su consuelo.

Comenzaré retomando el problema de la parada de la máquina universal de Turing porque no es este un problema que la tecnología pueda solventar por más que nuestra imaginación pueda volar a los confines de lo deseable. Lo explicaré de nuevo. Una máquina de Turing consiste en un cabezal donde tiene un programa –el estado de la máquina– y una cinta que pasa por el cabezal (1), cinta que la suponemos infinita, y donde están escritos tanto los datos como las instrucciones (2). En la cinta están las instrucciones y lo datos reducidos a unos y ceros, es decir, a paso de corriente o no pase. Cualquier información puede ser reducida a ceros y unos mediante tablas de conversión. Hemos dicho que la cinta es infinita y, en principio, se le otorga a la máquina un tiempo infinito, aunque lo normal es que esto esté acotado por cuestiones prácticas, porque una supuesta inteligencia artificial que necesitara un tiempo infinito para tomar una decisión y ejecutarla no serviría para nada. Cuando un 0 o un 1 llega al cabezal –en este momento el cabezal tiene un programa determinado-, éste puede cambiar de estado –variará el programa– o no cambiarlo y, a continuación y según quede el estado –el programa– puede cambiar el cero por el uno si le llega un cero, el uno por el cero si le llega un uno, o no hacer nada de esto, y, a continuación, debe mover la cinta a la derecha o a la izquierda para leer el siguiente carácter. Y si no mueve la cinta, la máquina se para, bien porque haya resuelto la tarea, bien porque la instrucciones le dicen que se pare. Pero esto ya es un problema porque si separa nos quedamos sin máquina para otra tarea. Piénsese la máquina de Turing como un autómata que debe actuar por sí misma sin que ningún ser humano la reinicia cuando se para. Si nos encontramos con una máquina de Turing ¿qué hacemos si está parada o qué hacemos si queremos que se pare para discernir si ha finalizado una tarea? Y aquí viene la genialidad de Turing, porque se imagina una máquina universal que hiciera lo contrario de esa máquina particular y concreta y que esa máquina universal inyectara ese programa a la máquina particular. Parecería que hemos resuelto el problema porque, cuando la máquina particular se para, la máquina universal le dice que arranque y, en algún momento, le dice que se pare si el cabezal de la máquina particular no ha recibido instrucciones –entonces cambiaría de estado– a través de la cinta para que se pare. En definitiva la máquina universal daría instrucciones contrarias a la máquina particular, diciéndole que arranque cuando se para a la particular y que se pare cuando ha sobrepasado un tiempo razonable de lectura de la cinta. Pero, llegado a ese punto, Turing se preguntó ¡que pasaría si, en lugar de pasar las instrucciones de la máquina universal a una particular, se la pasara así misma! Pues ocurriría que, cuando le llegara las instrucciones de pararse, el estado –el programa– le diría que continuara y, cuando le llegara las de continuar, que se parara. El resultado un desastre porque esto es una contradicción lógica insalvable para la máquina. Esta demostración puede entenderse como la forma más simple de presentar los teoremas de incompletitud de Gödel o el problema de la diagonal de Cantor. Puede leerse al revés y decir que lo descubierto por Gödel y Cantor demuestran la imposibilidad de solventar el problema de la parada de una máquina de Turing, puesto que la máquina más universal posible no lo resuelve. Son los problemas de las sentencias autorefenciables. Por ejemplo, la paradoja del barbero de B. Russell (3) o, por ejemplo, el problema de decidir si es verdadera o falsa una sentencia del tipo: “todas las sentencias de menos de setenta caracteres son falsas”, teniendo esta sentencia solo sesenta caracteres, incluidos los espacios.

En lo anterior aún estamos en una fase de la inteligencia donde una inteligencia artificial debería resolver cualquier problema a partir de programas fabricados –convertidos en ceros y unos que pasan por la cinta– por, supuestamente, los seres humanos. Es la fase I. Pero seamos generosos y supongamos que pasamos de esta fase, donde una inteligencia artificial no solo resuelve problemas prácticos para los que se les programa sino que, además y supuestamente, es capaz de resolver problemas para los que no está programado ni de forma determinista ni de forma aleatoria. Supongamos que es capaz de demostrar el teorema de Pitágoras y no solo de comprobar el teorema al examinar tres segmentos de recta y comprobar si están en terna pitagórica (4). El avance sería enorme pero ¿qué pasaría si se encontrara con tres segmentos de una esfera que corren por su superficie? En este caso el teorema de Pitágoras aplicado a la geometría esférica es distinto dado que los ángulos interiores de un triángulo esférico no suman, en general, 180 grados. Dicho de otra forma: ¿cómo sabe la máquina, que está programada en la estructura de una geometría euclidiana plana, que se encuentra ante una nueva geometría? No lo sabe, salvo que alguien exteriormente le pase las instrucciones que permiten crear la estructura matemática de la geometría esférica. Alguien podría dar con la siguiente solución: bien, que se ponga en la cinta todas las estructuras matemáticas conocidas y cuando el programa del cabezal haya adquirido la información de la estructura matemática de la geometría esférica, entonces resolverá el problema práctico de comprobar una terna pitagórica aplicable a esta geometría. Y estamos siendo generosos porque hemos dotado a la inteligencia artificial –que se reduce siempre a una máquina de Turing universal– de la capacidad de demostrar y no solo de comprobar. Pero en este momento, cuando parecería que hemos resuelto el problema, llega Gödel y nos chafa esa posibilidad con sus teoremas de incompletitud. Lo que viene a decir Gödel es que no puede existir una estructura lógica-matemática universal que pueda decidir siempre si un teorema es verdadero o falso y solo lo pueden hacer estructuras determinadas y concretas. Por ejemplo, el álgebra elemental no puede hallar de forma general las raíces de las ecuaciones de quinto y grados superiores con métodos algebraicos, es decir, con los métodos que la axiomática del álgebra permiten. Para resolver estas ecuaciones inventaron Abel, Galois y otros la teoría de grupos. O, por ejemplo, solo con el conjunto de los números naturales no podemos resolver la ecuación ax=b si b no es divisible entre a. Tampoco podemos extraer con números racionales la raíz cuadrada de 2 porque –es muy sencillo demostrar– que no existen dos números naturales cuyo cociente sea esta raíz. Y así se pueden poner multitud de ejemplos (5). Pero volviendo a los problemas de este segundo nivel de inteligencia que hemos llamado II, no se puede garantizar que un autómata o inteligencia artificial vaya a adquirir de la manera que sea un programa que le permita resolver cualquier problema que se le ponga en las narices porque no es posible saber a priori qué estructura matemática lo resuelve; en cambio sí sabemos por Gödel que no existe una estructura universal que lo resuelva. Y si lo busca aleatoriamente puede tardar un tiempo infinito en encontrarla o, simplemente, no encontrarla por lo dicho antes.

Y ahora vayamos al nivel III de inteligencia si por arte de birlibirloque hubiera superado los problemas de comprobar una hipótesis (nivel I) o de demostrar una conjetura a partir de que alguien le ha informado de la conjetura como tal (nivel II). El tercer nivel ya exige iniciativa para resolver problemas teóricos que nadie le ha planteado ni se ha visto obligado a resolver por circunstancias. Por ejemplo: ¿podrá una inteligencia artificial intentar resolver la conjetura de Golbach? Supongamos que una inteligencia artificial tiene un programa que le dice que la suma de dos números primos mayores que 2 siempre da un número par. Eso está chupado y cualquiera puede programar en su ordenador un algoritmo que le resuelva el problema (6). Pero lo que se le ocurrió a Golbach es lo contrario con la pregunta: ¿se puede demostrar que, dado un número par mayor de 4, siempre existen dos números primos cuya suma dé ese número par (7)? Los seres humanos aún no han demostrado eso de forma general, aunque hay avances. Y lo peor es que no sabemos si existirá una demostración general. Yo conjeturo que esa demostración lo será por reducción al absurdo o no será. La dificultad viene de nuevo si es necesaria en la demostración echar mano de la diagonalización de Cantor. Imaginemos que en un cuadro de doble entrada colocamos todos los números primos en horizontales, correspondiendo en verticales el número de dígitos de cada número. Esto dígitos pueden ser infinitos aunque el número primo en cuestión sea finito. Por ejemplo, cuando debamos colocar en el cuadro mencionado el número primo 3 siempre lo podremos escribir como un número de infinitos ceros a la izquierda tal como 0000……03. Y así con todos los números primos. Saldría un cuadro como:

cuadro inteligencia artificial

Siendo x una forma de representar el último número primo, aunque, al haber infinitos, ese n -que representa el número de números primos- es un número infinito de acuerdo con el criterio de Cantor de considerar el infinito como actual, es decir, con algo con lo que puede operar. Pero ahora podemos construir un número –que llamaremos h– a partir de la representación digital (segunda columna) tal como: h = 1111..011 que se va a diferenciar del primer dígito del primer número (el 1), del segundo número en el segundo dígito (el n. 2), del tercer número en el tercer dígito (el n. 3), etc., aunque no sabemos si será primo o no será, pero ¡que no ha contado como sumando para construir los números pares posibles a partir de los primos! Si no fuera primo no habremos hecho nada pero, si es primo, puede ocurrir que su concurso sea necesario –o puede que no– para la conjetura de Golbach, es decir, que sea necesario para saber si, dado un número para mayor que 4, ¡siempre! se puede obtener a partir de la suma de dos números primos. Si esto ocurre, conjeturo que solo se podrá demostrar a su vez la conjetura de Golbach mediante el método de reducción al absurdo.

Este nivel de inteligencia e imaginación –que han demostrado al menos algunos humanos– es de máxima exigencia porque se trata de encontrar soluciones teóricas a problemas teóricos. Y que nadie desprecie por emplear la palabra teórico, porque el álgebra de Boole, los sistemas de numeración, la propia máquina de Turing, la teoría de grupos o de grafos, los 23 problemas de Hilbert, etc., han surgido como cuestiones teóricas, aunque hayan tenido aplicaciones prácticas. Pensemos en los números complejos que surgen en el álgebra. En un principio se les llamó imaginarios y el propio Gauss los despreció, pero hoy son imprescindibles para la aeronáutica, la dinámica de fluidos o el diseño de circuitos electrónicos. O la demostración del teorema de Pitágoras, sin el cual no existiría la trigonometría, imprescindible para arquitectos e ingenieros. Son apenas algunos ejemplos. Y en este III nivel de inteligencia ya no se trata de resolver problemas prácticos (nivel I), ni de resolver problemas teóricos (nivel II), sino de plantearse problemas teóricos sin saber sin tendrán traducción práctica en algún momento. Y si de verdad llegara la inteligencia artificial a este nivel lo sería sin la colaboración humana. No se trata de dificultades tecnológicas sino lógicas, además de la necesidad de la imaginación.

A este nivel III ningún artefacto puede llegar y es dudoso que pueda llegar al nivel II porque exigiría que ese autómata -que tuviera esa supuesta inteligencia artificial- tendría que demostrar o tener en cuenta al menos –y todo por su cuenta– que los teoremas de incompletitud de Gödel le impiden construir sistemas lógico-matemáticos universales, que una máquina universal de Turing nunca se para o que la diagonalización de Cantor impide contar el conjunto de los números irracionales. Mi apuesta es que una supuesta inteligencia artificial se quedará siempre en el nivel I.


NOTAS

(1) Da igual que se mueva la cinta o lo sea el cabezal.
(2) Aunque no fue John Von Neumann al primero que se le ocurrió esto sí le sirvió para diseñar el primer ordenador donde datos e instrucciones estaban mezcladas. De esa manera cualquier ordenador puede ejecutar cualquier programable computable.
(3) Betrand Russell, 1872-1970.
(4) Una terna pitagórica es aquella en la que tres números enteros se cumple que la suma de los cuadrados de los dos más pequeños es igual al cuadrado del más grande.
(5) A veces las demostraciones son difíciles pero a veces no son imposibles. Por ejemplo hubo de llegar al siglo XIX para demostrar la irracionalidad de los números e y pi.
(6) Otra cosa es que no exista un algoritmo que pueda calcular de forma deductiva todos los números primos y solo comprobar si, dado un número primo, es primo o no.
(7) Dado que el número 2 es el único número primo que es par lo excluimos para así mantener que la suma de que  dos números primos cualesquiera da par, y el 2 más otro número primo cualquiera da un número impar. Por otro lado ya hemos dicho en el primer artículo que, históricamente, no fue así la formulación de Golbach pero lo dicho es lo equivalente y actual.

Los límites de la inteligencia artificial