OZYMANDIAS. El terror a la máquina pensante - David Berdugo Gutiérrez


OZYMANDIAS. El terror a la máquina pensante
Introducción a la filosofía computacional
David Berdugo Gutiérrez
Maestría Universidad del Valle  

La presente exposición versa sobre el desarrollo de la computación y su relación con los estudios en lógica, a través  de la filosofía. Nuestro punto de partida es lo que llamaremos como “el sueño de Leibniz”, donde mencionaremos algunos puntos inconclusos de los estudios de G. Leibniz sobre la nomenclatura binaria y la construcción de la máquina de cálculo y la su proyección de la maquina universal. En un segundo momento nuestra disertación se dirigirá hacia la tesis del Logicismo y su desarrollo por parte de Boole, Godel y Turing. Entre los problemas matemáticos que se cuentan, nos ocuparemos  del problema de la decisión (Entscheidungsproblem) sobre el que trabajó Alan Turing y la formulación de un nuevo concepto de computación. Finalmente concluiremos con los desarrollos e incidencias de la computación en tiempos contemporáneos tanto como en ciencias, la vida cotidiana a la ciencia ficción, como el laboratorio social de la ciencia contemporánea.   
El sueño de Leibniz
La historia de la computación es una narración enmarañada y no solo de un único género narrativo, desde la ficción política y el drama pasional hasta  la ciencia ficción, caben aquí. Su dificultad radica en que de manera distinta muchas investigaciones terminaron por converger en un mismo punto. Sin que sus autores o participes tuviera  interés en  llevar a cabo la creación de un tipo de máquina que en su inicio era tan poco específica.
Leibniz ostenta el título de ser considerado el último hombre universal, de quien el enciclopedista  Diderot  caracterizaba los amplios conocimientos del filósofo de  Leipzig   Cuando uno compara sus talentos con los de Leibniz, uno tiene la tentación de tirar todos sus libros e ir a morir silenciosamente en la oscuridad de algún rincón olvidado”. La importancia de Leibniz para nosotros radica, en este caso,  más por lo que logró imaginar que por lo que realmente consolidó, a saber, un lenguaje conceptual universal. El gran sueño de Leibniz de encontrar un Lenguaje Universal con un conjunto de reglas que permitieran deducir mecánicamente todo el conocimiento humano;  postular un alfabeto que tuviera la capacidad de representar cada concepto del conocimiento. Vislumbró un tipo de enciclopedia en lenguaje matemático donde todo conocimiento podría ser expresado en función de reglas de cálculo que realizarían todas las interrelaciones lógicas entre proposiciones. Finalmente en medio de su optimismo, imagino maquinas que llevan a cabo estos cálculos. Que finalmente jamás pudo conseguir.  
Aunque la ambiciosa imaginación que Leibniz  desbordaba por su máquina y su lenguaje universo o Caractera Universae (Característica Universal) como él mismo la llamó, nunca se consolidó para él.  Mas sí logró construir una máquina de cálculo capaz de ejecutar adiciones y sustracciones, multiplicar, dividir y sacar raíces cuadradas; la máquina fue llamada Staffelwalze o Step Reckoner  o simplemente la máquina de Leibniz (en la imagen). Que sería hoy en día el equivalente a un ábaco mecánico para las computadoras o una versión prehistórica de estas. 
Lo que sí logró Leibniz, fue postular  el signo ( ) integral y el signo (d) diferencial, lo que le dio la importancia a los símbolos que más tarde demostraría la utilidad y versatilidad a la hora de resolver problemas con la representación de conceptos por medio de ciertos alfabetos. 
Si el programa del lenguaje universal podría consolidarse se sostendría por tres componentes:
-          Primero, los conceptos apropiados tenían que ser seleccionados, para esto tendría que crearse necesariamente un compendio enciclopédico de todo el conocimiento humano.
-          Segundo, debía  ser posible seleccionar las principales nociones para ser simbolizadas, formulando un dominio de Caractera Universae.  
-          Tercero, poseer una serie reglas de inferencia que pudieran llevar a cabo deducciones por manipulación simbólica,  esta última figura llevó el nombre de Calculus Ratiocinator (Razonador por calculo). La función operativa tanto del Calculus Ratiocinator como Caractera Uniersae son lo que hoy por hoy podemos llamar lógica simbólica.    
El siguiente paso  era llevar a cabo una algebra para la lógica, y aunque estuvo dedicado a dicha empresa, las obligaciones con sus mecenas no le permitieron llevar a buen término su proyecto de la maquina universal con unos principios de lenguaje y nomenclatura entendible y accesibles  para todos.  
Por otro lado, los problemas que llevaría consigo el compromiso de la manipulación por cálculo de todo número concebible, Leibniz se encontraría con la  nomenclatura binaria, un tipo de cálculo que podía reducir cualquier número decimal  a simple 1 y 0. Aunque en propiedad no inventó dicho cálculo lo extrajo de sus conocimientos de la cultura China en específico  de la peregrinación del sacerdote Matteo Ricci en 1582, quien lideraría para los jesuitas, la expedición de misioneros hacia China de la que Leibniz alcanzaría alguna de las obras posteriores compartidas entre la cultura occidental y oriental. 
El cálculo binario no tiene mayores dificultades, aunque su desarrollo podría ser considerado complejo por el hecho de ser una nomenclatura que busca la simplicidad. Su técnica es la del simple uso de las operaciones por divisiones de dos. Los cocientes de los resultados se dividen sucesivamente entre dos hasta que éste ya no pueda dividirse más, hasta que el cociente sea uno. El residuo de las operaciones se clasifica como uno, al finalizar la operación si éste es un número y un cero, si el resto de la operación es cero, al final se invierten los resultados de sus restos. 

Para comprobar una operación en nomenclatura binaria se multiplican los dígitos binarios de derecha a izquierda. Se multiplica cada dígito por dos elevado a su potencia consecutiva, iniciando en 0, 1, 2… Resuelven las multiplicaciones y se suman los resultados. El resultante de la operación será el equivalente al sistema decimal.




(Manuscrito de Leibniz del sistema Binario)
Se pueden hacer muchos tipos de operaciones en sistema binario, desde el decimal con fracciones,       entre sistema binario y octal, conversión entre binario y hexadecimal. El hexadecimal es uno de los más usados {0,1,2,…9,A,B,C,D,E,F} donde tanto números como letras tienen su correspondiente binario. Es habitual encontrar los hexadecimales en ingeniería usando Nibble, que es cuadrado o cuarteto de dígitos binarios, puesto que 2 elevado a la 4 es 16 (=16bits). Con los 16 bits nace la era del software como la conocemos hoy día.
El código binario seria olvidado después de Leibniz, pues las limitaciones tecnológicas de su tiempo no le permitirían ver los alcances de este enfoque de la matemática usada para la electrónica. El codex binario pasaría a ser una curiosidad de la filosofía y la matemática. Hasta los tiempos modernos, no se hablaría con propiedad investigativa de esta curiosidad.  La imaginación de Leibniz del lenguaje universal no sería posible hasta la llegada de George Boole, que sin saber de Leibniz, se embarcaría en su sueño.     
El programa del logicismo (Boole, Godel, Turing)
Casi dos siglos pasaron hasta que alguien recuperó el proyecto de Leibniz en cuanto a simbolismo se refiere. El matemático George Boole sin saberlo instauro su investigación en los mismos intereses de Leibniz, pues Boole desconocía el trabajo del filósofo alemán.
George Boole aplica el cálculo matemático a la lógica, fundando el álgebra de la lógica y en su proceso también la lógica simbólica. Emplear símbolos y postular reglas operativas propicias, permitió no solo representar conceptos e ideas, sino que también hizo posible poder evaluar sus relaciones.  La idea inicial de suplantar las palabras en la lógica formal, tradicional desde Aristóteles, que no había dado un paso adelante o hacia atrás (I.Kant),  Boole emprendió  la tarea de crear un sistema axiomático de leyes que facilitarían la operación simbólica, por lo que tendríamos entonces el desarrollo del Calculus Ratiocinator. 
Boole dio un método general para formalizar la inferencia deductiva, representando complicados raciocinios  mediante sencillos sistemas de ecuaciones. Boole parte de un principio elemental XX = X, donde x representa una clase; este principio es el mismo postulado por Leibniz A(+)A=A, el cual expresa el hecho de que combinar una pluralidad de términos consigo mismo no produce nada nuevo,  cuando una operación que pretende aplicarse a pares de términos se aplica a un término y a sí mismo, el resultado es el propio término. El álgebra booleana se vale de letras para representar clases, por lo que recibe el nombre  de algebra de clases.   
La lógica tradicional concibe los enunciados de tipo:
Todos los hombres son mortales
Ningún perro es felino.
Algunas personas hablan alemán
La arquitectura de estos razonamientos de las palabras “mortales” “perro” y “personas” es el tipo de clase o grupo que pertenecen las entidades descritas por la palabra en cuestión:
La clase mortales.
La clase perro.
La clase personas.   
Ahora podemos expresar estos términos de una algebra de clases. Podemos asignar letras a estas mismas clases como Leibniz lo hizo con las operaciones de  () y (d), si utilizamos la letra X y Y para representar clases entonces al agrupar XY para agrupar la clase de cosas que pertenecen tanto a X como  Y.
Si un adjetivo como “bueno” se emplea como término de una descripción, representamos
con una letra, como por ejemplo Y a todas aquellas cosas a las que se aplica el calificativo
“bueno”, es decir, a “todas las cosas buenas” o a la clase “cosas buenas”. Admitimos después
que mediante la combinación de letras xy representaremos la clase de objetos a la que se puede
aplicar simultáneamente el nombre o la descripción que representa x y la que representa y. Así,
si x en solitario representa “cosas blancas” e y representa “ovejas”, xy representará “ovejas
blancas”; y si, de manera similar, z representa “cosas con cuernos” [...] zxy representará “ovejas
blancas con cuernos”.(G.Boole)
Podemos pensar que estas operaciones pueden ser realizadas como son realizadas las operaciones para los números naturales, sin embargo en esto existe el problema de cuál clase debe identificarse. Si tenemos una clase X que representa a las abejas ¿qué es XX’? o mejor dicho, el problema de identidad de las clases. Si postulamos el principio XX=X o  A(+)A=A  resolveremos que es exactamente la misma clase, puesto que si aplicamos una operación de dos términos iguales el resultado es el mismo término.   
A la ecuación XX=X se le asignan los valores de 0 y 1 como clases para que obtenga valor de verdad, comportándose como se comportan en una multiplicación ordinaria; 0 número de veces cualquier número es 0, lo que simbólicamente seria 0X=0, 0 entonces es una clase a la que no pertenece nada. El múltiplo de cualquier número es una vez  ese mismo número. En símbolo 1X=X; la clase 1X será idéntico a X como para todo X, siempre que 1 contenga cualquier objeto.
Para que el álgebra de la lógica estuviera lista Boole tendría que dar cuenta de cómo esta se comporta como el álgebra ordinaria a partir de su regla XX=X tenía que ofrecer las herramientas para la sustracción y la adición.  Ya que X y Y son dos clases distintas X+Y contiene todas las cosas que contengan X y Y; Si tenemos las clases de tiburón y ballena y le asignamos los valores X(+)Y entonces esta es la clase compuesta por todos los tiburones y todas las ballenas. Por otro lado tenemos X-Y donde presentamos la clase que está en X pero que no pertenecen a Y. Tomemos el ejemplo anterior, la clase de los tiburones y ballenas, donde X= Tiburones y Y= Ballenas, la expresión X-Y representa solo a los tiburones. La expresión 1-X expresa la clase de cosas que no pertenecen a X; de igual forma la expresión  X+(1-X)=1. Sirviéndonos de la notación algebraica, escribamos X2 en lugar de XX. De este modo, podemos escribir la regla básica de Boole como X2 = X o X - X2 = 0; si utilizamos factor común nos queda X(1-X)=0, es decir nada puede pertenecer y no pertenecer a una clase al mismo tiempo.
El algebro booleana en conjunto se compone de:
A)      dos funciones binarias de adición, representada por X+Y  y multiplicativa, representada por XY  y una función monaria representada por x.
B)      Elementos asignados mediante 0 y 1.
C)      Con las propiedades de propiedades: Conmutativa donde X + Y = Y + X  y XY=YX. Identidad donde X+0=X, X1=X.  Maximalidad en 1 donde X+1=1. Minimalidad en 0 donde X0=0.
Claro que existen de más propiedades pero para nuestro objeto de ejemplificar  el trabajo de George Boole  solo caracterizamos estas pocas. Por otra parte, las demás propiedades que podemos encontrar son: distributivas, complemento, inmersión y ley de Morgan, cada una en función binaria, quiero decir dos para cada una.    
El álgebra de Boole presenta la relación guardada entre matemática y lógica que pasaría a llamarse como el programa o la tesis del Logicismo  que sostiene que es posible reducir la matemática a la lógica (Este interés ya había sido planteado por Leibniz; pero éste al igual que otros proyectos quedaron a medias o sin desarrollar). 
El álgebra para la lógica puede dar cuenta de los silogismos aristotélicos como también de tipos de razonamientos no silogísticos, las relaciones entre preposiciones, por medio de la simbolización de los procesos llevados a cabo por reglas muy específicas. Así el álgebra de Boole puede envolver a la lógica aristotélica e ir un poco más allá de esta. Sin embargo existen razonamientos que se le escapan, tema que entraría Gottlob Frege a trabajar; aunque siendo justa y meritoria el álgebra de George Boole construida para abrazar a la lógica dentro de sus límites nos proporciona  el Calculus Ratiocinator con el que Leibniz se había ilusionado tanto. 
Boole  mostró que la deducción  podía ser desarrollada como una rama de la matemática y que podía ser manejada como se trabaja el álgebra. Evidentemente también encontró el estrecho espacio que relaciona el lenguaje con el pensamiento y la misma matemática.
Hacia la mitad de la década de 1930, al otro lado del océano Atlántico, un joven matemático e ingeniero eléctrico de nombre Claude Shannon del MIT, que trabajaba junto a Vannervar Bush en su analizador diferencial, se encontró con el trabajo de Boole; Para mí es un misterio cómo Shannon dio con el trabajo filosófico de Boole, aunque podemos sugerir como se sugiere en el artículo de Chris Dixon cuando Shannon revisa las obra de Euclides y de ahí se interesa por Aristóteles, llevándolo hasta el trabajo de George Boole. Si esto fue más o menos de esta manera, no es descabellado pensar que Shannon terminó empapado de los trabajos de Leibniz por un corte filosófico y no solo matemático, el álgebra para la lógica avanza sobre los límites de la intuición humana dándole una notación algebraica precisa a los pensamientos. Si esto era así para la abstracción de las ideas ¿podía ser posible que también pudiera mapearse en los sistemas eléctricos? Esta fue la pregunta que giró en torno el trabajo de tesis de Shannon en el MIT, que tendría que comprobar si las aplicaciones electrónicas vistas desde el álgebra booleana podrían construir cualquier relación lógico-numérica funcional en una máquina de Bush.  Dicha tesis es mencionada en algunos manuales de informática como “La tesis del siglo” en A Symbolic Analysis of Relay and Switching Circuits (1938) donde demostraría su tesis dando inicio a una nueva era de ordenadores digitales, formando el concepto de  informatización, es por esto que a Shannon se le considera como el padre de la teoría de la información.   
En los desarrollos posteriores de la tesis del logicismo y la simbolización de la lógica en este punto  Gottlob Frege se llevaría gran parte de los aplausos dando inicio a la lógica moderna.  La notación de Fregué serviría para permitir el ordenamiento de idas y pensamientos. En un intento por llevar a cabo las ideas de Leibniz de encontrar un lenguaje para describir el pensamiento y el cálculo racional.  Aquí solo mencionaremos el papel del que permitió que la cuantificación tuviera un manejo mucho  más crucial.
La lógica de Boole se puede reducir a una matemática, al ser desarrollada utilizando métodos algorítmicos de los matemáticos ordinarios. Esto por supuesto incluye utilizar la lógica, pero hay algo circular en eso de usar lógica para desarrollar la lógica. Para Frege esto era inaceptable su intención era demostrar cómo todas las matemáticas podían basarse en la lógica; la lógica debía proveer los planos para el resto de las matemáticas. Para que esto resultara convincente era preciso encontrar una forma de desarrollar su lógica sin usar la lógica en el proceso. Su solución fue desarrollar su Conceptografía como un lenguaje artificial con reglas gramaticales precisas. Esto hizo posible exhibir la inferencia lógica como operaciones puramente mecánicas. Fue también el primer ejemplo de un lenguaje artificial formal construido con sintaxis. Desde este punto de vista se puede considerar la Conceptografía como uno de los primeros lenguajes de programación, claramente guardando las proporciones de dicha afirmación.
Bibliografía
 Kurt Gödel y Alan Turing: una nueva mirada a los límites de lo humano. Claudio Gutiérrez. Universidad de Chile (¿?)
How Aristotle Created the Computer The philosophers he influenced set the stage for the technological. Chris Dixon. Australasian Association of Philosophy. The Atlantic Daily. (2017)
ON COMPUTABLE NUMBERS, WITH AN APPLICATION TOTHE ENTSCHEIDUNGSPROBLEM. A. M. TURING
., 1936.]
 Organización y arquitectura de computadores Séptima Edición. WILLIAM STALLINGS. Madrid 2005.
 Maquinaria computacional e Inteligencia. Alan Turing, 1950. Traductor: Cristóbal Fuentes Barassi, Universidad de Chile. 2010
De Aristóteles a Turing: Filosofía y Computación a través de la historia de la Lógica. Antonio Bolufé Röhler University of Havana. (2005)

Comentarios

Entradas más populares de este blog

La filosofía y la analogía del limón - Roberto José Carmona Ballestas

¿Cómo se pasó del dualismo cartesiano al fisicalismo no reduccionista?

Jean Paul Sartre: nociones para una psicología fenomenológica - Gustavo Castro