Podcast “La filosofía no sirve para nada”
Páginal principal Colaboradores Lista de episodios emitidos Lista de croquetas emitidas Temas de los que hablamos Cómo hacemos el podcast Información para colaboradores Calendario
“La filosofía que no sirve para nada” es un podcast sin pretensiones en el que reflexionaremos sobre el presente.
Fecha | 27 de junio de 2019 |
---|---|
Participan | Joaquín Herrero @joakinen José Carlos García @quobit Juan Carlos Barajas @sociologiadiver |
Descarga | Puedes descargar todos los episodios en iVoox, en Spotify y en nuestro canal de Telegram. |
Sintonía | Mass Invasion, Dilo, álbum Robots (2004) |
Foto | akrockefeller, Flickr |
Durante tres semanas estaremos colaborando con la EncuestaPod 2019 que trata de conocer los gustos de los oyentes de podcasts en español. Toma unos minutos para visitar la página y rellenar la encuesta. Nos ayudarás a conocer tus gustos y elaborar mejores contenidos.
Kurt Gödel o también Kurt Goedel; nacido en Brno (Brünn en alemán), Imperio austrohúngaro, actual República Checa, 28 de abril de 1906-Princeton, Estados Unidos; 14 de enero de 1978) fue un lógico, matemático y filósofo austríaco. En Brno falleció Mendel y tiene allí un museo. Gödel tiene el Kurt Gödel Research Center for Mathematical Logic (KGRC) en Viena, donde vivió desde los 18 años (1924) hasta que emigró a Estados Unidos con 34 años en 1940.
En la reseña del libro de Palle Yourgrau que hace Jesús Mosterín se describe concisamente la complejidad de la personalidad de Gödel.
La definición que hace la Wikipedia nos parece muy : “Un sistema formal o sistema lógico es un sistema abstracto compuesto por un lenguaje formal, axiomas, reglas de inferencia que se utiliza para deducir o demostrar teoremas y dar una definición rigurosa del concepto de demostración. Al crear un sistema formal se pretende capturar y abstraer la esencia de determinadas características del mundo real, en un modelo conceptual expresado en un determinado lenguaje formal.”
Algunos axiomas matemáticos:
La secuencia de acontecimientos del verano de 1930, cuando Gödel presenta sus teoremas, se resume muy bien en la página Visiting Gödel in Vienna del profesor Karlis Podnieks.
Como curiosidad, este es un mapa de lugares de peregrinaje por los sitios clave de la estancia de Gödel en Viena, el más conocido de los cuales es el Café Reichsrat donde el 26 de agosto de 1930 Gödel anunció su primer teorema por primera vez en una conversación con los miembros del Círculo de Viena Carnap, Feigl y Waismann.
En su introducción a la traducción que hizo del escrito de Gödel (ver abajo en las referencias), apartado 3, titulado Implicaciones filosóficas del teorema de Gödel, Manuel Garrido indica estas consecuencias:
Pero además de esas consecuencias hay otras que tienen que ver con el siglo XXI pensado filosóficamente: el alcance de los algoritmos informáticos y las posibilidades de la inteligencia artificial. También nos preguntamos si esos teoremas nos dirán algo sobre nuestra mente o nuestra capacidad de razonar. Aquí tienes el resto de consecuencias filosóficas:
Alonzo Church describe las consecuencias matemáticas de los teoremas de Gödel en su trabajo An Unsolvable Problem of Elementary Number Theory de 1936 mediante un artefacto de cálculo que llamó “cálculo lambda”.
Alan Turing describe las consecuencias computacionales de los teoremas de Gödel en su conocido trabajo de 1936 “ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHEIDUNGSPROBLEM”, como muy bien lo describe Alan Richmond en su página Alan Turing on Computable Numbers and Computer Programs. Para ello idea un artefacto teórico para calcular al que posteriormente llamaríamos “máquinas de Turing”.
El problema tiene como punto de partida un problema matemático relacionado con los infinitos de diferente tamaño: la relación entre números naturales y reales y la posibilidad de relacionar ambos conjuntos de números. Dice el diario EL PAÍS en Cantor, el Aleph y los distintos infinitos:
¿Cuál es el cardinal del conjunto de los números reales? Pues, por el tema de que los reales rellenan la recta de manera continua, se le llamó c (de continuo). Como podéis ver, este cardinal infinito no aparece en la lista anterior…o sí, y me explico. Por un lado, aleph uno es define como el menor cardinal infinito que es mayor que aleph cero, y por otro lado c (el cardinal de los números reales) es también mayor que aleph cero. Además, se sabe que el cardinal de los reales, c, es igual a 2 elevado a aleph cero. La pregunta que surge es la siguiente: ¿son iguales? Bien, pues eso es lo que afirma la denominada hipótesis del continuo. Cantor pensaba que era cierto que ambos cardinales son iguales, pero no fue capaz de demostrarlo. Más adelante, trabajos de Kurt Gödel y Paul Cohen concluyeron que la hipótesis del continuo es indecidible dentro de nuestra teoría de conjuntos, lo que significa que dentro de nuestra teoría de conjuntos (Zermelo-Fraenkel junto al axioma de elección) no se puede ni demostrar ni refutar esta hipótesis. Por tanto, podemos construir una teoría de conjuntos consistente donde la hipótesis del continuo es cierta y otra, también consistente, donde dicha hipótesis es falsa. Casi nada.
Es decir, que partimos de que hay más números reales que naturales y que los programas de ordenador (una formalización) se pueden transformar en números naturales (por la Gödelización). La cantidad completa de programas de ordenador posible es como los números naturales (aleph cero) pero el número de posibles verdades es como los racionales. Mediante combinar símbolos del conjunto de números naturales es imposible calcular todos los números reales.
En el episodio 198 del Podcast Coffee Break Señal y Ruido, a partir del segundo 1:30:30, sucede una conversación entre Francis Villatoro, Alberto Aparici, Sara Robisco y Héctor Socas. Villatoro explica lo que él llama el problema de la informática al comentar este trabajo de aprendizaje automático publicado en la revista Nature Machine Intelligence con el título Learnability can be undecidable. Esta reseña del artículo, también en la revista Nature, resume bien el artículo.
Transcribimos aquí la conversación:
Villatoro:
"La informática trabaja con algoritmos. ¿Y qué es un algoritmo? Un algoritmo es un texto escrito, un conjunto de símbolos que especifica qué operaciones tiene que hacer alguien, ya sea un matemático o una máquina. ¿Y cuántos algoritmos hay? Pues hay tantos algoritmos como textos. ¿Y cuántos textos hay? Tantos como números naturales. Es decir, existen números reales que no se pueden calcular porque hay más números reales que algoritmos. Existen verdades matemáticas que no se pueden demostrar porque existen más verdades que algoritmos de demostración. Por tanto existen problemas que no se pueden decidir. Yo una cierta verdad no puedo decidir si es verdad o falsa porque existen más cosas que decidir que cosas que deciden (algoritmos). Este es el tipo de argumento que se ha empleado en este trabajo de aprendizaje automático: se ha construido un modelo de aprendizaje bastante complicado porque trabaja con conjuntos infinitos y se ha demostrado que ese problema es indecidible, es decir, yo no puedo decidir si con cierta cantidad de datos de entrada, con cierta cantidad de información se puede aprender una cierta propiedad, (que es básicamente una función lógica a partir de una distribución estocástica de datos de entrada). Yo no puedo decidir si ese problema es resoluble o no. Esto desde el punto de vista conceptual es maravilloso porque nos dice que hay problemas que nunca se podrán aprender pero desde un punto de vista práctico no tiene ningún tipo de utilidad"
Continúa explicando cómo ese hecho afecta al aprendizaje automático según muestran en el trabajo de la revista Nature Machine Intelligence hablando de teoría de modelosy de la técnica de forcing que Paul Cohen inventó cuando trataba de averiguar la posible indecibilidad de la hipótesis del continuo :
"Cuando hablamos del problema de la habilidad de aprender (learnability)... ¿qué es aprender? Aprender es que dado un conjunto de datos y dado un problema, saber si con esos datos ese problema se puede resolver. Ese es el problema de aprendizaje. A veces la palabra 'aprendizaje' nos puede engañar, pero aquí se habla de un tipo de aprendizaje basado en temas estocásticos, que es un problema en el que con cierta probabilidad yo garantizo que una vez que mi algoritmo ha aprendido es capaz de dar la respuesta correcta a mi problema. El problema es detectar una serie de cadenas con números binarios y entonces yo quiero saber si soy capaz de identificar esas cadenas con un cierto conjunto de aprendizaje. Lo que no se puede es decidir si con un conjunto dado de aprendizaje ese problema se puede resolver o no; si se puede obtener la función que haya aprendido eso. Es lo mismo decir 'no se puede aprender' que decir que 'no existe un algoritmo capaz de saber si se puede o no se puede aprender'. Lo que sabemos es que existen problemas de aprendizaje que no se pueden resolver, pero eso no nos aporta nada porque ya sabíamos que había otro tipo de problemas. Lo que pasa es que en el contexto concreto del aprendizaje no se había formalizado eso. En realidad esto usa las mismas técnicas de Cohen cuando demostró que la hipótesis del continuo era indecidible, unas técnicas llamadas de 'forcing' (forzado) utilizadas mucho en teoría de modelos [...] Es una técnica que demostración matemática de que ciertos problemas son indecidibles. Se ha aplicado esa técnica que se utilizó para la hipótesis del contínuo a un problema muy concreto de aprendizaje. Un problema que no sirve para nada, que solo tiene interés teórico y que todos los artículos de prensa que están diciendo que los humanos podemos aprender cosas que las máquinas no pueden aprender son mentira porque los humanos aprendemos con conjuntos finitos de datos de entrada y este es un resultado que muestra quer para conjuntos finitos siempre se puede aprender; seleccionamos de un potencial conjunto infinito de datos de entrada un conjunto finito. Pero la clave es que ese conjunto del que yo extraigo los datos de entrada es un conjunto infinito."
Sara Robisco plantea el asunto de si el trabajo de la revista Nature tiene relación con el entrenamiento de redes neuronales y la capacidad de la red neuronal de acertar al clasificar una imagen. Plantea, por ejemplo, un sistema de machine learning que clasifique imágenes de playas y que haya sido entrenado a partir de ciertas imágenes de playas. ¿Podríamos asemejar los datos de entrenamiento con los números naturales y las nuevas imágenes que va a tener que clasificar con los números reales (ya que la realidad es mucho más rica que la abstracción que ha hecho la red neuronal)? Villatoro contesta que no necesariamente ya que en el ejemplo de la red neuronal clasificadora de playas no hablamos de conjuntos infinitos sino de conjuntos finitos muy grandes y los problemas de aprendizaje suceden no por indecibilidad sino por entrenamiento deficiente de la red neuronal.
Añade Villatoro:
"Imaginemos todas las imágenes del mundo de 100 megapíxeles donde cada pixel en un modelo RGB de tres colores tiene 16 millones de posibles valores. Eso es un conjunto finito (una cardinalidad finita): son imágenes de 100 megapíxeles donde cada pixel tiene 16 millones de colores. Yo en este conjunto puedo aprender el conjunto finito de imágenes para distinguir cuáles son de playa y cuáles no son de playa. Para eso no hay ningún problema. Con un algoritmo de aprendizaje explorando el 1% o 1 por mil de ese conjunto hay una probabilidad muy alta de acertar qué es playa y qué no es playa. Pero en este artículo en concreto lo que sería el pixel es un número real entre 0 y 1. Un número REAL entre 0 y 1. Un número que no se puede representar en una máquina porque tiene infinitos dígitos a priori. Aquí la clave es que lo que yo estoy aprendiendo en este algoritmo es la distribución de probabilidad de la función que yo aprendo (que es una distribución de probabilidad) asociada a una serie de datos. Y esa distribución de probabilidad tiene que tener valores en los reales para que haya esa dificultad. Cuando tú esa distribución de probabilidad la pones en los enteros ya esta dificultad desaparece y ya no hay este problema de indecibilidad del aprendizaje. Osea, si el conjunto de aprendizaje es finito no hay problema. El problema es cuando el conjunto es no numerable y entonces yo extraigo subconjuntos finitos pero de objetos que tienen propiedades no numerables."
Héctor Socas aporta un ejemplo para aclarar la dicultad de tratamiento que plantean los números reales:
"Si yo cojo el intervalo entre 0 y 1, la cantidad de números que hay ahí es la misma que los que hay entre 0 y 1 millón. ¿Por qué? Porque yo puedo establecer una biyección, una correspondencia, entre todos los números entre 0 y 1 y todos los números entre 0 y 1 millón con una operación que sea "dividir por 1 millón". Yo cojo todos los números entre 0 y 1 millón, los divido entre 1 millón y les asigno un número entre 0 y 1..."
Alberto Aparici:
"... y aún así te sobran números entre 0 y 1. Hay infinitos números entre 0 y 1 que te sobran porque entre 0 y 1 hay infinitos números. Entonces si tú solo metes los números entre 1 y 1 millón te sobran infinitos."
Socas:
"No me sobran: cualquier número entre 0 y 1 lo multiplico por 1 millón y tengo un correspondiente entre... Osea, la operación "multiplicar por 1 millón" me establece una biyección entre el intervalo 0 y 1 y el intervalo 0 y 1 millon..."
Aparici:
"Ah, vale, perdón, estás hablando de reales, yo creía que estabas hablando de enteros"
Socas:
"No, reales"
Aparici:
"Ah, hablando de reales sí, sí"
Villatoro:
"Pero fijaros, todos esos reales se pueden aproximar por un racional, por un cociente de enteros. Y los cocientes de enteros tienen la cardinalidad de los enteros. Puedo ordenar las fracciones, puedo coger la fracción 1/1, la fracción 1/2, la fracción 1/3 2/3, 1/4 2/4 3/4, etc. y las pongo ordenadas 1,2,3,4, las voy ordenando. Cojo todas las fracciones en un plano de puntitos, de enteros, Z2 y voy haciendo una especie de espiral y voy recorriéndola y la espiral es unidimensional. Es decir, puedo hacer una correspondencia entre todos los racionales, entre todos los cocientes de enteros, con la recta de los enteros. Y todo real se puede aproximar por un racional también como yo quiera. Pero hay más reales."
Socas:
"¿Por eso se dice, Francis, que hay más irracionales que racionales?
Villatoro:
"Claro. Hay tantos irracionales como reales. Y tantos racionales como enteros."
Aparici aclara el problema dentro de los irracionales hablando de números algebráicos y números trascendentes
"Es más, los irracionales caen en varios grupos. Esto es ya es otra cosa pero a mi me mola mucho este asunto. Los irracionales caen en varios grupos y de ellos solo uno contiene toda la cardinalidad de los reales. Todos los demás tienen medida cero. Por ejemplo, hay irracionales que se hacen con raíces cuadradas; raiz de 2 es un irracional, eso se llaman números algebráicos, son soluciones de ecuaciones. Bueno, hay "Aleph 0" números algebráicos. Los números algebráicos son tantos como los enteros porque todas las ecuaciones posibles puedes ponerlas en correspondencia con los números naturales. Puedes morirte haciendo raíces y eso es cero en comparación con los reales. Nada. Los reales son realmente los irracionales trascendentes, los que no son solución de ninguna ecuación algebráica. Y, de hecho, solo cierta clase de los trascendentes, porque hay varias clases."
Villatoro resume finalmente la conexión entre la no calculabilidad de los números reales a partir de los naturales y la indecibilidad de muchos problemas matemáticos cuando se intentan resolver a base de algoritmos:
"Y fijaros. Todos los números calculables, como π o como e que son números trascendentes, todos los números calculables forman un conjunto de cardinalidad igual que el de los enteros porque para calcular ese número necesito un algoritmo . Y el número de algoritmos es igual al número de textos. Y el número de textos es el número de enteros."
Aparici:
"Y cuando empiezas a quitar todo eso te das cuenta. ¿Qué cojo... qué narices son los reales? ¡Los reales son un monstruo! ¡Son todo lo demás! Son un ser monstruoso los reales."
En su escrito Lucas y Penrose sobre los teoremos de Gödel Julio Ostalé García de la Universidad Nacional de Educación a Distancia advierte contra sacar conclusiones acerca de la inteligencia humana a partir de los teoremas de Gödel como, desde su punto de vista, hacen Lucas y Penrose, los cuales argumentan que “una máquina que razona sobre la aritmética es como un sistema formal que genera teoremas a partir de axiomas y reglas, por ende la máquina identifica la verdad de un enunciado aritmético con su demostrabilidad; por su parte, el humano es capaz de demostrar desde fuera del sistema la verdad de enunciados como G, que para la máquina son indemostrables; se concluye así que la inteligencia matemática del humano es superior a la de la máquina, quizás a causa de que no es reducible al manejo de axiomas y reglas.”. A lo cual Ostalé indica que “Lucas-Penrose, se suele objetar, no han entendido que Gödel no demuestra que G sea verdadero, sino más bien que G es verdadero si y sólo si el sistema es consistente. Ahora bien, no hay prueba de que todos los sistemas formales que generen suficiente aritmética elemental sean consistentes, por lo que no estamos en mejores condiciones que las máquinas para saber si G es verdadero o falso.”.
Finaliza Ostalé diciendo que “El último tercio del siglo XX asistió a la «gödelitis» o intento de aplicar los teoremas de incompletud de Gödel a teorías que nada tienen que ver con AP ni con teorías formales en general. Por suerte esa moda ha pasado, gracias en parte al varapalo de Sokal a quienes utilizan terminología científica mal comprendida para impresionar a su audiencia. Desde entonces se han escrito libros que no sólo introducen los teoremas de Gödel, sino que advierten contra su abuso. Hay que decir sin embargo que estos teoremas no son ajenos a la discusión acerca de las relaciones entre inteligencia humana y artificial. Tal vez puedan formar parte de un sólido argumento antimecanicista, pero dicho argumento habrá de incorporar otras premisas. En especial, premisas acerca de cómo funciona de hecho el cerebro y cómo debería funcionar una máquina pensante.”.
Fue Alan Turing el que hizo implícitamente una equivalencia entre la mente humana y su máquina universal en su trabajo de 1950 titulado Computer Machinery and Intelligence planteó la cuestión ¿puede pensar una máquina?, postulando implícitamente la tesis de la identidad funcional de mentes y máquinas.
Hablando de Chaitin, este autor amplía el rango de consecuencias de la incompletitud de la matemática e incluso llega a describir un número con el que medir lo que no conocemos de la matemática, el número omega, también llamado Constante de Chaitin. Su libro Meta Math es un delicioso recorrido por el campo de filosofía matemática que abrió Leibniz, pasa por Gödel y Turing y llega hasta el presente, donde las aportaciones de las teorías de la complejidad permiten aumentar nuestra comprensión de este complejo tema.
¿Cómo se prueba si un determinado lenguaje de programación es una máquina de Turing completa? Mira este sorprendente artículo en el que prueban que el antiquísimo editor “ed”, presente en casi todas las distribuciones Linux, es una máquina de Turing completa. Explicado paso a paso. Una joya. ed(1) is Turing Complete.