Epistemología e informática, ,Claudio Gutiérrez, Costa Rica

La informática comparada con otras disciplinas

Claudio Gutiérrez book


Propósitos:


Introducción

Como hemos visto, hay diversas maneras de entender la informática. Una manera, quizá la original, fue concebirla como una rama de las matemáticas. Fácilmente podemos derivar sus problemas y temas de una elaboración de la teoría de la computabilidad, tal como fuera practicada en la primera mitad del siglo XX por Turing y otros excelentes matemáticos. Pero es también posible concebirla como una disciplina empírica, como –por ejemplo– un estudio experimental sobre los sistemas de símbolos físicos. Probablemente este modo de considerarla es la visión actualmente preponderante. Finalmente, es posible describir el quehacer y las preocupaciones de los informáticos comparándolos con los quehaceres y preocupaciones de otros científicos y profesionales, algunos de los cuales no son ni matemáticos ni científicos empíricos. Por ejemplo, con los científicos sociales, con los practicantes de la hermenéutica –sean ellos juristas o comentaristas de textos sagrados–, con los literatos y artistas, con los ingenieros y otros profesionales del diseño.


Así, es posible considerar a la informática como una disciplina científica "suave" (a la manera de las ciencias sociales) o como un arte o una tecnología, a la manera de la ingeniería o la crítica literaria. Por otra parte, aun concediendo la categorización de la informática como una ciencia "fuerte", dado su componente matemático y su relación con la física, es posible entender este carácter científico de maneras fundamentalmente nuevas con base en una reflexión sobre el desarrollo tecnológico reciente, en especial el advenimiento de máquinas masivamente paralelas que no se conforman de manera simple con el modelo de la computadora de Von Neumann o de la máquina Turing.

La informática es una disciplina muy rica, con muchas vertientes y aspectos. Como hemos visto, en su calidad de ciencia ha sido calificada tanto de ciencia teórica como de ciencia empírica. Pero además, se la puede considerar también una ingeniería por la preponderancia que en ella tienen las actividades de diseño (programación). De acuerdo con un reciente estudio contiene las siguientes subáreas:

Cada una de estas áreas envuelve elementos de teoría, abstracción y diseño. La teoría se basa en las matemáticas y sigue la metodología del matemático (definir objetos, probar teoremas); la abstracción –o generalización– se basa en el enfoque investigativo del científico (hacer hipótesis y predicciones, coleccionar datos para extraer, confirmar o refutar sus abstracciones); el diseño se basa en la metodología del ingeniero (definir requisitos y especificaciones, desarrollar, implantar y probar sistemas) (DENNING 85). No en vano Winograd y Flores consideran la programación como una actividad eminentemente tecnológica, relacionada con la autopoiesis (autocreación) de la especie humana.

¿Cuál es el objeto de estudio de la informática? Para el físico, el objeto de estudio es un átomo o una estrella. Para el biólogo, puede ser una célula o una planta. Para el informático es la información, las maneras de representarla y procesarla, así como el diseño de máquinas y sistemas para realizar estas tareas.

Los temas claves de la informática son el pensamiento algorítmico, la representación de la información, y los programas de computación. Como hemos visto en el primer capítulo, un algoritmo es una secuencia no ambigua de pasos para tramitar información. El diseño de estructuras de datos –para representar la información pertinente– es a menudo el primer paso para diseñar un algoritmo. Al igual que en física, donde escoger el marco de referencia adecuado y el sistema de coordenadas correcto es esencial para una solución simple, escoger una u otra estructura de datos puede hacer más fácil o difícil un problema, más lenta o rápida su solución. Finalmente, los programas de cómputo expresan los algoritmos y las estructuras de información usando alguno de los lenguajes de programación.

Los programas y sus representaciones asociadas, aunque basados en la disciplina científica, asimilan la informática –por su preponderancia de diseño– a una disciplina tecnológica. Pero debemos agregar que también le dan al científico e ingeniero de la computación la posibilidad de sentirse emocionado por el surgimiento de formas con energía viva a partir de concepciones puramente mentales. Como lo ha expresado muy bien Fred Brooks,

Para Winograd y Flores también, hay un estrecho nexo entre la computación y las humanidades, en más de un sentido. Por una parte, la informática existe dentro de una tradición, de un pensamiento, cuyas raíces filosóficas pueden rastrearse hasta los filósofos griegos. Por otra parte, la informática está crucialmente comprometida con el diseño, que es una actividad esencialmente creadora. Finalmente, la computación se da siempre como lenguaje, y el lenguaje y sus condiciones fundantes en la praxis humana es materia que trasciende los linderos estrictos de una informática considerada como simple programación. En realidad, el lenguaje se enraíza en los fundamentos mismos de lo que constituye el ser humano.


Explicación de textos


Ejercicio de lectura

Leer el texto de Daniel Hillis (HILLIS 85) o la selección.respectiva en el capítulo quinto de la Antología.


Comentario

A pesar del carácter sólidamente científico de la informática, basado en la teoría computacional que estudiamos en el segundo capítulo, hay autores, como H. Daniel Hillis, que consideran que la informática "no es buena" como ciencia y necesita una profunda modificación. Hillis basa su crítica en el hecho de que la arquitectura más corriente de nuestras computadoras, llamada arquitectura Von Neumann NOTA 1, ha sido superada por los acontecimientos. Esto es así fundamentalmente porque en las primeras épocas de la computadora digital la unidad de proceso y la memoria eran fabricadas de distintos materiales: el procesador era caro y la memoria barata; valía, entonces, la pena multiplicar la memoria y mantener un solo procesador, de modo que las operaciones se concatenaran serialmente. Además, los cables no eran un elemento importante en el conjunto de la arquitectura, pues había muy pocas unidades que conectar.

Ambas situaciones han cambiado drásticamente con el avance de la tecnología y el aumento de capacidad de las máquinas. Ahora no significa ahorro el tener sólo un procesador, pues el procesador cuesta muy poco más que la memoria, y los cables han pasado a ser el factor más voluminoso de una computadora. La base científica en la teoría de la computabilidad idealizaba las conexiones, como si los cables no tuvieran materia. Pero hoy no podemos ignorar más la irradiación de calor de esos cables ni los problemas materiales de la conectividad. Para poder recuperar la base científica, perdida por el propio avance de la tecnología informática, Hillis recomienda reformular la arquitectura de la computadora para basarla en el concepto de lo masivamente paralelo. Si seguimos esta recomendación, nos dice, la informática se acercará cada vez más a ese ideal de una ciencia empírica rigurosa representado desde hace varios siglos por la física.

Las llamadas supercomputadoras tradicionales son en realidad asociaciones o sociedades de computadoras, con arquitectura básica Von Neumann, que intercambian entre sí los resultados parciales de su trabajo y, en este sentido, producen un aumento de poder o productividad. La máquina de conexiones de que nos habla Hillis, su inventor, es diferente; es más bien una computadora de nueva arquitectura, masivamente paralela e interconectada. Si las supercomputadoras puede considerarse que ponen a la informática en relación con la sociología, porque su complejidad consiste en interrelaciones "sociales" entre muchos individuos de la misma especie NOTA 2, a saber, computadoras en el sentido clásico, la máquina de conexiones pone a la informática en íntima relación con la física, en un sentido especial que Hillis pone mucho cuidado en aclarar.

La máquina de conexiones se ofrece como una alternativa para el modelo clásico de computadora que surgió de la obra de Turing, y que generalmente llamamos la máquina Von Neumann. Si las supercomputadoras son coaliciones permanentes de varias computadoras Von Neumann, encargadas de realizar tareas especialmente complejas en forma conjunta, la máquina de conexiones –tal como nos la describe Hillis en su libro– corresponde a una concepción enteramente diferente que supera de manera fundamental el modelo Von Neumann y sus ya proverbiales limitaciones.


¿Por qué le cuesta tanto a una computadora Von Neumann entender un dibujo?

El libro de Hillis del cual se ha tomado el texto que comentamos, se abre con una reproducción de un dibujo de Picasso donde aparecen, en simples trazos, unos caballos a la orilla de un río, con unos hombres desnudos tomando un baño; en el fondo se perfilan unas montañas. Es una escena que cualquiera de nosotros comprende inmediatamente, sin mayor esfuerzo; sin embargo, su interpretación correcta requiere mucho tiempo de computación, con ayuda de programas muy especializados de inteligencia artificial que realizan un complejo trabajo de análisis en varios niveles de los que habla el texto de Marr y Poggio incluido en el capítulo cuatro. ¿Por qué –se pregunta Hillis– esa enorme diferencia de rendimiento? En parte, se trata de una cuestión algorítmica: probablemente los investigadores de inteligencia artificial no han elaborado todavía programas tan sofisticados como los que usa el cerebro para esa clase de tarea. Pero eso es solo parte de la respuesta; el resto, y lo principal, se refiere a problemas con la arquitectura misma de las computadoras tradicionales, que Hillis nos demuestra, con un análisis cuantitativo, se encuentran en fundamental desventaja con respecto al cerebro.

¿Cómo poder explicar esta tremenda discrepancia? Hillis procede a poner el dedo en la llaga, señalando correctamente que las computadoras tradicionales son lentas a causa de la ineficiencia de su hardware, que se explica por razones técnicas e históricas.

Pero esto no fue siempre así. En tiempos de von Neumann , antes de la invención de los transistores, el procesador estaba hecho de componentes de cambio de estado relativamente rápidos y caros, mientras que la memoria estaba constituida por componentes relativamente lentos y baratos. El diseño de dos partes resultante procuraba mantener los caros tubos al vacío lo más activos posibles. Este diseño de dos partes, memoria por un lado y procesador por otro, es lo que llamamos arquitectura de von Neumann . Por un anacronismo, pues hoy tanto la memoria como el procesador se construyen de los mismos materiales, a saber, transistores de silicio –sumamente baratos–, las computadoras todavía se construyen según ese diseño de dos partes. Un caso más del fenómeno histórico y biológico muy usual de que la estructura sobrevive a la función, por ejemplo en la forma de instituciones que siguen existiendo muchos decenios o quizá siglos más allá de las necesidades que les dieron origen.

En contraste con esta situación, la arquitectura de la máquina de conexiones provee un gran número de pequeñas celdas que son a la vez procesador y memoria, integralmente conectadas entre sí. Cada celda por sí misma es demasiado pequeña para realizar ninguna computación significativa. Pero por otro lado, celdas múltiples están conectadas entre sí en configuraciones variadas que dependen directamente de los datos de los problemas, por lo que pueden ser llamadas estructuras de datos activas: no solo representan los datos, sino que también los procesan, en forma corporativa. Las estructuras de datos activas realizan sus actividades bajo la dirección de una computadora anfitriona convencional que actúa "desde afuera". Esta computadora anfitriona almacena los datos en la máquina de conexiones de forma parecida a como un procesador ordinario almacena datos en una memoria convencional. Pero a diferencia de lo que sucede con la arquitectura Von Neumann, no se presenta en este caso ningún cuello de botella procesador/memoria. Cada celda de la memoria hace una parte mínima del proceso, y el conjunto de las celdas realiza todo el proceso. La computación tiene lugar por la acción mancomunada de las celdas que forman la estructura de datos.


Algo anda mal en la teoría

En el capítulo 7 de su libro, Hillis cuestiona, no ya la arquitectura de las máquinas convencionales, sino el modelo mismo de la informática imperante. Comienza por decirnos que los científicos de la computación han encontrado conveniente y productivo hasta ahora realizar sus investigaciones con base en un modelo del universo computacional que, según él, difiere mucho de los modelos del universo físico. Su tesis fundamental es que, al crear modelos de la computación –importados directamente de las matemáticas (recuérdese la obra de Turing)–, los informáticos se apartaron de la tradición científica principal que corresponde a los modelos físicos del mundo. Esto en sí mismo no tiene por qué ser incorrecto. Es probable que lo mismo valga también decir de los historiadores y, en alguna medida, incluso de los propios científicos sociales, porque la física no tiene por qué ser el paradigma universal de todas las disciplinas científicas. Sin embargo, es indudable que durante varios siglos la física ha sido considerada como el más puro modelo de las ciencias, en el sentido de ser el ejemplo más ilustre del método científico, al que todas las otras ciencias han procurado imitar, por muy buenas razones: sistematicidad, rigor, eficacia del control empírico, etcétera.

Pero, en concreto, ¿qué encuentra Hillis de malo en apartarse del modelo de la física? No es un prejuicio fisicalista ni mecanicista, porque el modelo computacional es también mecanicista, y en último análisis todos los fenómenos informáticos se resuelven en una base física. Su inquietud tiene más bien que ver con cuestiones muy perentorias y muy pragmáticas, relativas a la construcción y operación de las computadoras. Adoptando una posición más de diseñador de computadores que de teórico de la computación, se plantea la cuestión de que un diseñador de computadores está constreñido por problemas muy prosaicos que no tienen ninguna contrapartida en los modelos computacionales teóricos en boga. Por ejemplo, hay situaciones tan perentorias como ésta: los cables cuestan más que los circuitos, el software cuesta más que la memoria; cuando resultan necesarios para compensar la disipación del calor, los acondicionadores de aires ocupan más espacio en el cuarto que la computadora misma. Son cuestiones que un modelo físico de la computación podría contemplar, pero que para el modelo basado en la máquina de Turing pasan totalmente inadvertidas.

Nuestros modelos informáticos tradicionales son inadecuados para dar cuenta de esas situaciones. Un modelo abstracto en general debería juzgarse por la utilidad que tiene para inspirar el trabajo de todos los días. Los modelos, en el fondo, son simplificaciones que nos permiten interpretar la realidad. El modelo perfecto de la realidad sería la realidad misma, en el sentido de que correspondería exactamente a lo que queremos modelar; pero sería un modelo completamente inútil, en el sentido de que no lo podríamos utilizar para los fines para los cuales creamos modelos, que tienen precisamente que ver con la necesidad de ahorrarnos el trabajo de lidiar con la realidad de manera directa. Lo que nos hace falta es que el modelo nos ofrezca una simplificación de la realidad, suficientemente económica para ser manejable y suficientemente rica para ser representativa y permitirnos hacer predicciones eficaces sobre la realidad.

Con ese criterio para juzgar un modelo, Hillis sostiene que los modelos informáticos vigentes enfatizan los detalles incorrectos; en vez de ser una guía para el diseño, le interponen un obstáculo, al no tomar en cuenta las cosas que realmente interesan al constructor de computadoras y enfatizar en cambio otras que no son importantes. Un diseñador de computadoras debe tomar en cuenta cuestiones prosaicas que no tienen contrapartida en los elementos de los modelos informáticos teóricos, como el tamaño de los conectores, el costo y disponibilidad de los componentes, la distribución espacial de las partes dentro del sistema.

Comparando el modelo informático vigente con el modelo físico, Hillis nos dice que, por ejemplo, en física hay muchas cantidades fundamentales que se conservan, como en la ley de la conservación de la materia (recuérdese Lavoisier: "nada se crea, nada se destruye") o de la energía (primera ley de la termodinámica), mientras que en el modelo informático esto no sucede. Por ejemplo, los datos pueden ser creados o destruidos sin ningún costo; no existe un principio de conservación de la información, correspondiente a los principios de conservación de la materia o de la energía. Esta es una diferencia fundamental que –según el autor– va en perjuicio del modelo informático.

En el universo físico, el efecto que un acontecimiento tiene sobre otro tiende a decrecer con la distancia y con el tiempo entre los dos acontecimientos; pero en nuestros modelos de computación eso no se da; no importa donde esté un dato en la memoria, siempre será sustituible por otro dato que está en otro lugar de la memoria, con igualdad de costo (a saber, la ejecución de una misma instrucción –con distintos parámetros de dirección, por supuesto–. En nuestros modelos de computación, un acontecimiento arbitrariamente pequeño puede tener efectos enormes, como por ejemplo cuando un programa de una sola instrucción logra borrar toda la memoria; o cuando una instrucción simple puede parar la máquina. En computación tradicional no hay ningún análogo de la distancia: una posición de memoria puede ser influenciada tan fácilmente como cualquiera otra.

Algo de lo que más molesta a Hillis es que dentro de la concepción tradicional el cable ha sido idealizado como una conexión puramente instantánea; cuando nos referimos a cables, estos aparecen nada más que como líneas en un diagrama, donde no tiene importancia si estas líneas son largas o cortas, gruesas o delgadas, ni tampoco tiene importancia su número. De acuerdo con esta concepción, parecería que los cables no importaran por tener un costo despreciable, o no ocupar lugar ni disipar energía, cosas todas inexactas. Por supuesto, estas simplificaciones no son realistas, y en la práctica significan simplemente que los modelos informáticos no pueden usarse para construir computadoras.

Conforme los conmutadores se han hecho más pequeños y menos caros, entonces hemos empezado a notar los costos de los cables dentro de la ecuación, porque los cables van siendo ahora comparativamente más importantes que los elementos que conectan: son más caros y más grandes, y ocupan proporcionalmente más espacio que los elementos principales. Situación paradójica, pero real; la vemos de una manera muy palpable en los chips, relativamente muy grandes comparados con los circuitos propiamente dichos, llenos de patas como de insecto que ocupan mucho más espacio que el propio circuito integrado, un simple cuadrado reluciente y nítido que podemos sostener con la punta de un dedo. Estamos descubriendo, nos anuncia Hillis, que si antes creíamos que podíamos conectar un cable a muchos lugares, era solamente porque en la práctica no necesitábamos conectarlo más que a muy pocos lugares. Ante esta situación, la conclusión inevitable de Hillis es que algo anda mal en la teoría.


La máquina de conexiones y su modelo teórico

Si la teoría informática tradicional (máquina de Turing) y la arquitectura tradicional (computadora Von Neumann) se implican recíprocamente, la nueva máquina de conexiones ofrece excelentes bases para integrar sobre ella una nueva teoría de la informática. Hillis nos da en su libro los lineamientos de esa nueva teoría que, como era de esperar dada su crítica de la teoría clásica, se adapta a las necesidades del diseño y al modelo de la ciencia física.

Recordemos que la máquina de conexiones difiere de una memoria convencional en tres respectos. En primer lugar, cada celda de almacenamiento está asociada con una celda de proceso, capaz de realizar computaciones sencillas con base en la información almacenada en la celda. En segundo lugar, existe una red general de interconexiones que puede conectar las celdas entre sí de acuerdo con patrones arbitrarios. En tercer lugar, existe un canal directo, de alta capacidad, capaz de transferir datos entre la máquina de conexiones y los aparatos periféricos, mucho más rápidamente que lo que podría hacerse por medio de la computadora anfitriona. Con base en esos principios, es posible formar conexiones entre las celdas de memoria procesadora por medio del almacenamiento de punteros en esas mismas celdas. Las conexiones pueden ser arregladas por la anfitriona, cargadas por medio del canal de entrada/salida, o construidas dinámicamente por la propia máquina.

Un mensaje se envía a la celda apropiada especificando como dirección desplazamientos relativos en la retícula de la memoria, del destinatario con respecto al remitente (por ejemplo, dos hacia arriba y cinco hacia el otro lado). Piénsese en el plano de una ciudad bien cuadriculada, como San José, Costa Rica, o Nueva York, donde se le puede indicar a un taxista: "Vaya a un lugar que queda de aquí dos cuadras al norte y cinco al este". Esto no especifica la ruta del mensaje sino sólo el destino. En la máquina de conexiones no hay un taxista que lleve el mensaje, sino una serie de vecinos que se pasan el mensaje "de mano en mano": el remitente envía el mensaje pasándoselo a un vecino inmediato y éste decide, con base en su dirección, la siguiente manera de encaminarlo. Para realizar esto, el vecino modifica la dirección, incrementándola o decrementándola como corresponda, de modo que cuando el mensaje llegue a su destino tendrá los dos desplazamientos con valores de cero.

Ya con sólo describir este método de comunicación se puede ver que se está recobrando aquí, para la teoría, un principio de continuidad que no estaba presente en los modelos informáticos tradicionales. ¿Por qué es importante esto? Es importante porque precisamente la física macroscópica (que no la cuántica, por cierto) está basada en el principio de continuidad, según el cual hay interacciones entre unas partículas y otras sobre una base local; es decir, cada partícula afecta a otra que le es contigua. Este principio de continuidad está ausente del modelo de Turing que, como se recordará, tiene una base totalmente digital o discontinua, y en que, además, las distintas celdas de la memoria solo pueden comunicarse entre sí por medio de la intervención, también digital, del autómata de estados finitos. Con la máquina de Hillis, regresamos a lo que es continuo.

Ya establecido este principio de continuidad, se sigue que entregar mensajes requiere un tiempo proporcional a la distancia entre las celdas, que puede llegar a ser importante. El espacio se reconstituye como continuo y además el tiempo adquiere una importancia intrínseca, más allá de su intervención digitalizada en los cambios de estado de los instantes cronometrados del autómata de Turing.

No sólo se reestablece la continuidad en el espacio y el tiempo, sino también se establece un principio, muy conforme a la realidad, que podríamos llamar de "principio de impenetrabilidad", según el cual en un cierto momento ciertas partes del espacio están ocupadas y no son traspasables por ninguna otra; característicamente, se trata aquí de un principio muy semejante al principio de no penetrabilidad de los cuerpos, básico en la física (por lo menos en sus aproximaciones macroscópicas). La impenetrabilidad en la máquina de conexiones se explica porque cada celda tiene solo un número finito y muy pequeño de estados, sin capacidad para tramitar muchos mensajes al mismo tiempo. Este principio de impenetrabilidad es importante porque impone a los mensajes la necesidad de evitar los "atascos de tráfico", o sea, la necesidad de circunvalar una zona congestionada por la información. No hay problemas en diseñar algoritmos que tomen en cuenta todo esto y lo hagan realidad, pero es más fácil concebirlo como equivalente a la presencia de una métrica que tome en cuenta toda esta situación de manera más sistemática.

La métrica es una característica de los espacios, que surge como un tema interesante en la filosofía de las ciencias y en las ciencias en general, después del descubrimiento de las geometrías no euclideanas. Antes de ese acontecimiento, se daba por descontado que la línea recta era, por definición, la distancia más corta entre dos puntos, sin ninguna otra consideración. Pero cuando existe una diversidad de geometrías (o, lo que es lo mismo, diversidad de espacios), la distancia más corta entre dos puntos depende de qué métrica estemos usando. Incluso podemos decir que una cosa describe la otra: cuál sea la distancia más corta entre dos puntos determina el tipo de geometría que utilizamos, y viceversa.

En el caso que nos ocupa, la métrica no será la misma del espacio euclideano indefinidamente divisible, porque la continuidad de este espacio informático es solo relativa a la comunicación entre celdas (necesariamente digitales), de modo que debemos hablar más bien de un métrica tipo "taxista". Podemos definir la distancia entre dos puntos de la memoria como el tiempo de viaje promedio entre ellos, porque lo que nos interesa es hacer llegar los mensajes. Se introduce aquí el concepto de curvatura: la curvatura de un espacio depende de la métrica que usemos o, con una manera alternativa de hablar, de las fuerzas que distorsionan el espacio. Eso está presente en la explicación del taxista que no desea seguir una determinada senda entre dos puntos "porque el tráfico me hace ir más despacio" (como si fuera una fuerza retardataria) o bien "porque no es un buen camino" (como si fuera un espacio corrugado). Lo interesante del caso es que esa curvatura, métrica o espacio puede ser variable a lo largo del recorrido: hay partes del espacio más corrugadas, o con más o menos fuerzas que disminuyan nuestra velocidad.

Al comentar esta forma de propagación de mensajes, Hillis observa que en un espacio celular vacío, esto es lo mismo que la métrica del taxista. La presencia de un objeto atravesado distorsiona la métrica porque los mensajes tienen que fluir alrededor de él. La curvatura de las trayectorias óptimas de los mensajes (geodésicos) aumenta con la densidad de los objetos. Cuanto más lejos estén los objetos, menor es el efecto, de modo que hay una distorsión local en la métrica, proporcional a la densidad de objetos. Y agrega: "Esta distorsión no es la misma que la gravedad física y no estoy sugiriendo que las causas de las dos sean similares, pero es interesante encontrar en computación un efecto que sea tan similar a uno de la física."

La citas precedentes tienen una clara referencia a desarrollos de la física contemporánea que asociamos con el nombre de Alberto Einstein. En efecto, de acuerdo con su teoría de la relatividad generalizada, los fenómenos gravitatorios que tanto intrigaron a Newton y que éste solo pudo explicar postulando la existencia de fuerzas extrañas NOTA 3, pueden explicarse muy elegantemente si suponemos que las grandes masas de los cuerpos distribuidos en el universo ejercen una influencia inmediata y local sobre el espacio que los rodea, curveándolo –por así decirlo– en proporción a esa misma masa. También podemos decir que la métrica de ese espacio queda variada en proporción a la presencia de masas en el espacio local.

Un efecto importantísimo que esto tiene es que los geodésicos de la zona, o sea, las trayectorias óptimas en ella, son diferentes según lo determine esa métrica o curvatura. Así por ejemplo, la trayectoria cerrada de los planetas es la forma normal del estado de movimiento de estos cuerpos, y no necesitan ninguna fuerza, ni de gravedad ni de ninguna otra índole, para permanecer en ella. Es interesante notar que su análisis del comportamiento de los mensajes en una máquina de conexiones lleva a Hillis a encontrar analogías importantes de la informática con la física relativista, a saber, la influencia que la presencia de cuerpos en el respectivo universo tiene sobre las trayectorias óptimas.

Aquí hay otro ejemplo de analogía con la física. Imaginemos dos celdas que están una contigua a la otra en la retícula: la que está a la izquierda comunica preponderantemente con celdas que están en el extremo derecho del espacio, mientras que la que está a la derecha comunica preponderantemente con celdas que están en el extremo izquierdo. Podríamos decir que estas dos celdas están mal colocadas y que deberían emigrar y cambiarse de posición; precisamente la máquina de conexiones está capacitada para hacer este intercambio, cuando se cumplen ciertas condiciones, para asegurar un funcionamiento más eficiente. Las celdas intercambian posición lógicamente, no físicamente: esto implica una actualización de todos los punteros recíprocos que existan con relación a esas dos celdas; sin embargo, a pesar de ese trabajo, es un precio que vale la pena pagar para mejorar el funcionamiento a lo largo de una duración considerable del funcionamiento del programa.

Lo interesante de este mecanismo es que se aplica a todas las celdas y de acuerdo con el funcionamiento interactivo que tengan. Su efecto es crear una tendencia macroscópica a la emigración de celdas, dependiendo de sus interconexiones, semejante a la que rige para habitantes de una ciudad en su tendencia a migrar hacia el lugar de su trabajo o de la habitación de sus amigos. Esto contribuirá a crear agregaciones de celdas, irá formando objetos con cierto perfil, con cierta identidad. Es parecido al comportamiento de las partículas que integran el mundo físico, que no se relacionan entre sí de manera simplemente individual sino agrupándose en objetos; estos objetos más pequeños se agregan para formar otros más grandes y así se va integrando el universo físico tal y como lo podemos considerar en el nivel macroscópico. Normalmente vemos objetos interactuando entre sí, en vez de celdas o moléculas o átomos interactuando entre sí. Esto nos lleva a una analogía muy interesante, muy reveladora, entre la física del mundo real y la física de la máquina de conexiones. Quizás hasta podríamos discernir interacciones fuertes e interacciones débiles entre las celdas, como en el mundo de la física de las partículas. Así, la condición de que las celdas que se comunican mucho entre sí tienden a unirse en racimos ofrece una también interesante analogía con la forma en que las partículas físicas se atraen unas a otras y llegan a formar esas aglomeraciones tan características que llamamos cuerpos.

Lo importante no es la letra de estas leyes, sino el espíritu del modelo como tal; el modelo sería un modelo al estilo de la física aunque las leyes fueran diferentes. Hay que recordar que el propósito de la máquina nada tiene que ver con la física; el propósito es ejecutar programas y, por supuesto, deben cumplirse constreñimientos de ingeniería muy específicos: el costo de los conectores, la necesidad de disipar el calor, el volumen de los cables, etc. Planteadas así las cosas, Hillis confirma su esperanza en relación con una reforma de la teoría informática, una reforma de los modelos vigentes. A pesar de sus advertencias de que no está afirmando que estas coincidencias sean una auténtica correspondencia de leyes, el autor presenta con estos ejemplos un fuerte argumento en el sentido de que realmente la informática está evolucionando hacia el establecimiento de leyes dentro de su área semejantes a las que la física contemporánea ha descubierto en la suya propia.


Física y geometría

Ante estas reflexiones de Hillis sobre la relación entre la nueva informática y la física, se imponen algunas consideraciones. En uno de los textos de Quine que hemos comentado, vimos expresado su famoso principio de tolerancia: frente a experiencias recalcitrantes, podemos siempre modificar de algún modo nuestro cuerpo de teoría para hacer de esa experiencia algo esperado y normal (todo bajo la regulación de principios metodológicos superiores, como afectar lo menos posible nuestras creencias centrales, o no complicar exageradamente nuestro aparato ideológico). Uno de los casos más interesantes de esa libertad epistemológica es el que se presenta en la relación entre la física y la geometría.

Desde hace más de un siglo sabemos que la geometría que nos legara Euclides, según la cual, por ejemplo, la suma de los ángulos internos de un triángulo es siempre 180º, no es la única posible. Hay geometrías en que la suma de los ángulos internos de un triángulo es siempre mayor, o siempre menor, a 180º: las llamadas geometrías no euclideanas. No fue sino en el siglo XX que Einstein nos introdujo a la idea de que nuestro universo tiene una curvatura no euclídea, y –todavía más sorprendentemente– que esa curvatura es variable de un punto a otro del universo.

Cuando se acepta la interdependencia entre la geometría y la física, surge una equivalencia de maneras de hablar: podemos hablar en términos de curvatura en el espacio (que hacen más largos los caminos) o podemos hablar en términos de presencia de fuerzas universales, fuerzas que afectan a todos los entes u objetos de la misma manera en el espacio donde se encuentran. Ahí tenemos una libertad de expresión solamente limitada por el principio de parsimonia; o sea, la prescripción de que no debemos multiplicar los entes innecesariamente (la navaja de Occam). Ahora bien, en la mayor parte de los casos, el principio de parsimonia le otorga un valor preferencial al planteamiento geométrico sobre el físico, pues el primero redefine una estructura pero no introduce entes innecesarios (fuerzas o demonios); es decir, no hace crecer nuestra ontología.

Si combinamos las ideas de Quine, sobre la tolerancia en la manera de articular distintos aspectos de nuestro sistema teórico-experimental, con las ideas de los geómetras y científicos modernos, y en particular de Einstein, llegamos a la jugosa conclusión de que uno tiene libertad de elegir su geometría con tal de que pague un precio físico (la postulación de fuerzas extrañas, como la acción instantánea a distancia del Sol sobre los planetas), o su física con tal de que pague un precio geométrico (la postulación de espacios extraños, como el espacio deformable por la presencia de grandes masas, en la teoría de la relatividad generalizada). Dicho de otra manera, las dos disciplinas –física y geometría– se han hecho interdependientes.

Tenemos una tendencia ancestral a suponer que la geometría es primordial. Nos es muy fácil crear fuerzas para explicar fenómenos, los cuales quedarían más elegantemente explicados por una modificación de nuestra geometría; pero la geometría parece participar de la naturaleza de lo sagrado, y así disfrutar de la protección con que revestimos todo lo sacro: preferimos más bien crear demonios ad hoc, responsables de nuestros infortunios, sin afectar la geometría, antes que dar explicaciones estructurales más simples de nuestra situación cambiando aquélla. ¡Curiosamente, nos cuesta mucho trabajo concebir espacios inusuales, pero somos enormemente proclives a crear demonios horrendos! Es un interesante tema de especulación conjeturar qué hubiera sido de la historia de las religiones –por ejemplo– si por algún accidente de nuestra evolución, se hubiera producido en nosotros un balance de capacidades inverso: gran facilidad para concebir espacios o estructuras inusuales y casi ninguna para imaginar fuerzas o entidades demoníacas.


Complementariedad de la física y la informática

Hillis hace notar que el progreso en física se ha producido por una tendencia a desarmar las cosas; en informática, en cambio, se trata de armarlas. A pesar de los fundamentos en una ciencia analítica que tuvo la informática (las matemáticas y la teoría de la computabilidad), de hecho los científicos del conocimiento han aprendido más sobre cómo funciona el cerebro armando termostatos y computadoras que, por ejemplo, disecando cerebros de monos y ojos de sapos. A la postre, la informática resultó ser una ciencia sintética.

Los respectivos modelos de la física y de la informática reflejan esta diferencia de enfoque. Observemos: en la física clásica la mayor parte de las cantidades son continuas, como la velocidad o la aceleración, que se pueden incrementar o reducir infinitesimalmente. Pero conforme los físicos fueron profundizando en niveles cada vez más bajos de la realidad, los fenómenos se fueron tornando discretos, es decir, discontinuos. "El físico de ayer medía. El físico de hoy cuenta." En informática, por su parte, las cosas han marchado a la inversa: se comenzó desde el otro extremo, avanzando en la dirección opuesta. La máquina de Turing, como lo vimos en el capítulo segundo, era eminentemente digital, y todavía hoy nuestras computadoras son fundamentalmente digitales, probablemente porque todavía la historia de la informática es muy corta. Para Hillis, ésta es una de las razones para criticar el estado en que nos encontramos: "no hemos pasado de contar". Las computadoras seguirán siendo muy limitadas mientras no hayan evolucionado lo suficiente para que los fenómenos informáticos se hagan tan complejos que necesitemos medirlos en vez de contarlos.


Ejercicio de lectura

Leer el texto de Claudio Gutiérrez (GUTIÉRREZ 88).


Comentario

Otro análisis de los efectos del paralelismo en el carácter científico de las computadoras se encuentra en este texto. Pero a diferencia del estudio de Hillis, aquí lo que se explora son las relaciones de la informática no con la física sino con las ciencias sociales. Para Gutiérrez, el movimiento hacia la computación paralela ha hecho entrar la falibilidad y otras características de las relaciones sociales en el mundo de la informática. El texto comentado corrige el principio de que "errar es humano" (y presumiblemente acertar es mecánico) para decir más bien que "errar es complejo", o sea, el error se introduce en cualquier asunto con la llegada de la complejidad. Las computadoras fueron infalibles cuando hacían cosas muy sencillas y usaban arquitecturas simples. Con el advenimiento de verdaderas sociedades de computadoras, todos los errores propios de los malentendidos entre unidades dotadas de autonomía que intercambian mensajes se introducen en la ecuación. Y los problemas de la informática se hacen entonces semejantes a los problemas sociales. Comienza entonces a ser productivo importar métodos de las ciencias sociales para solucionar problemas de las ciencias computacionales. En ese sentido, las "ciencias duras" computacionales se empiezan a asimilar a las "ciencias suaves", como la sociología o la teoría política. A su vez, al probarse los métodos sociales en el campo riguroso de la informática, estos se hacen más sólidos, con lo que se benefician las disciplinas que les dieron origen.

Así pues, los científicos de la informática han encontrado soluciones a los problemas que plantea la computación distribuida que fueron originalmente concebidas en la sociología (para la solución de problemas de interacción entre seres humanos), en la ciencia administrativa o hasta en la ciencia política. Comienza así a surgir una "sociología" de las computadoras, una "administración" de procesadores de información, una teoría de las relaciones de poder entre objetos informáticos. Por ejemplo, un sistema operativo es un programa de carácter fundamental que se ejecuta directamente sobre la arquitectura electromecánica de la computadora para ofrecer a sus usuarios toda clase de servicios necesarios, como el acceso a unidades de almacenamiento de datos, acceso a aparatos de impresión, etcétera. Es un programa muy elaborado, una de cuyas principales responsabilidades es la administración de los recursos informáticos disponibles en el sistema. Cuando los procesadores son varios, como en los sistemas distribuidos, y entre ellos deben dividirse las tareas para ser ejecutadas en paralelo –lo que indiscutiblemente aumenta la eficiencia del sistema– las responsabilidades del sistema operativo se complican increíblemente. Se recurre entonces a soluciones probadas en el campo administrativo, donde el trabajo se distribuye y los jerarcas tienen tiempo de concentrarse en las grandes decisiones, mientras sus subordinados realizan a conciencia tareas muy importantes pero de menor alcance. Ante la necesidad de resolver esos problemas inéditos (inéditos solamente en la informática) es natural que los científicos e ingenieros de la computación echen mano a soluciones muy bien probadas en el campo de lo social.

Piénsese también en lo que sucede cuando algo muy serio está en juego en la vida social –el caso de una enfermedad grave o de una crisis nacional–. En tales situaciones normalmente se recurre al concurso de varios solucionadores de problemas que operen simultáneamente: en el caso de la enfermedad, llamamos a esta solución "la junta de médicos"; en el caso de la crisis nacional, "la junta de notables". El fenómeno se presenta en la informática, por ejemplo, en el caso de los viajes espaciales, donde la vida de muchos hombres o una gran inversión depende de que los procesos se desarrollen absolutamente sin fallas: recurrimos entonces a la redundancia, es decir, a una junta de computadoras, todas las cuales tratarán de resolver simultáneamente el mismo problema, y al final "votarán" para arribar a una decisión mayoritaria. Claramente, se trata aquí de la importación de un método social exitoso para la solución de problemas novedosos en el campo de la informática.

Contrasta con este ejemplo otro caso de colaboración entre varios solucionadores de problemas que tiene, en cierta forma, signo contrario: cuando un problema es especialmente difícil, un Consejo de Gobierno o la Junta Administrativa de una institución lo envía a consideración de una "comisión especial". A diferencia de la "junta de notables", en esta comisión no hay redundancia sino complementariedad: la experticia de cada uno complementa la de los demás, y entre todos se puede acometer la solución del problema difícil dividiendo sus distintos aspectos entre solucionadores de problemas especialistas en distintos campos. Esta solución está hoy siendo ampliamente aplicada en la informática, especialmente en relación con la tecnología de los llamados sistemas expertos.

Un ejemplo especialmente interesante de solución de conflictos de la vida social ocurre en aquellos casos de interacción libre y no estructurada, ejemplificada sobre todo por la conversación humana. Aquí lo característico, en contraste con el caso de la transmisión de mensajes entre elementos de una jerarquía, es la ausencia de una dirección central, la ausencia de coordinación o director de debates. Esta situación de comunicación exitosa, sin intervención de un árbitro, se presenta en informática en el caso de la transmisión de mensajes en una red local del tipo ethernet. En esta clase de redes, las estaciones están todas conectadas por un simple cable coaxial, el mismo que se usa para instalar una antena de televisión. Cualquier estación puede poner en cualquier momento una señal en el cable, y esta señal es oída por todas las otras estaciones. Si dos o más estaciones trasmiten al mismo tiempo, ocurre una colisión, es decir, los mensajes se interfieren unos a otros y llegan a su destino adulterados. Como la estación que envía también está oyendo, al no reconocer su mensaje sabe que ha fracasado en su intento y que tiene que reenviar su mensaje. Esto ocurre pocas veces, por lo que tiene un impacto insignificante en el rendimiento de la red. Para reducir la probabilidad de colisiones, la estación que falló espera un rato y vuelve a trasmitir; si se produce una nueva colisión, espera el doble, y así sucesivamente hasta tener éxito. Este sistema de resolución de conflictos es perfectamente eficaz, y resulta sumamente interesante que no difiera prácticamente nada del que todos aplicamos en la conversación normal.


La teoría y la ciencia empírica se enfrentan al paralelismo

No queremos dejar esta discusión sin agregar algunas distinciones y reflexiones sobre los distintos tipos de paralelismo que se presentan en la informática, y los problemas epistemológicos que comportan. Desde la máquina de conexiones hasta las simples redes de computadoras, por ejemplo, hay toda una gama de distintos grados de distribución y paralelismo NOTA 4. En la máquina de conexiones es en la memoria misma donde se localiza el paralelismo. En una supercomputadora de tipo tradicional, en cambio, hay varias computadoras con su propia memoria, aunque íntimamente ligadas y sistemáticamente organizadas para trabajar coordinadamente en un mismo problema.

Otro grado, menos concentrado, de paralelismo y distribución está constituido por lo que llamamos red local, normalmente de microcomputadoras. En una tal red, cada computadora mantiene una gran independencia; se usan servicios comunes como impresoras y discos duros de gran dimensión, pero cada computadora realiza los procesos computacionales por sí misma. Son una pequeña comunidad, ciertamente, pero mucho más laxa que el racimo computacional que define a una supercomputadora.

Finalmente encontramos la red grande; el caso más importante es la red internacional, tipo Internet, donde es posible realizar a distancia procesos computacionales en una máquina desde cualquiera de las otras que estén conectadas a la red, en la que no estamos compartiendo ningún periférico. En este caso hay una comunicación plena entre computadoras, pero al mismo tiempo una gran independencia. No comparten memoria ni procesador ni ningún otro servicio, excepto en cuanto que una computadora puede actuar como terminal de cualquiera otra.

Todo lo que se refiere a paralelismo y distribución presenta dificultades especiales para la teoría de la informática. Los teóricos que han examinado el asunto son concordantes en señalar que hay dificultades especiales para someter este tipo de problemas a la teoría matemática, o por ejemplo, a la teoría de la computabilidad tradicional. En el caso particular de las redes, es conocido que la mayor parte de los problemas de conectividad tienen las características de los problemas matemáticos intratables. Sin embargo, sabemos que la conectividad se logra, puesto que las redes –algunas como la Internet, de gran complejidad– de hecho trabajan, y la mayor parte del tiempo lo hacen muy bien. De ahí se sigue que el tratamiento científico de los fenómenos de redes no puede estudiarse como una ciencia teórica, sino por el contrario debe estudiarse como otros fenómenos de la naturaleza especialmente complicados, sobre los que hacemos ciencia, pero no ciencia teórica sino ciencia empírica y experimental NOTA 5. Es por medio de la observación y del experimento que se está llegando a generalizaciones en este campo, no por la especulación intelectual pura.

¿Quiénes han creado las redes? En realidad, no han sido los científicos, sino ingenieros y programadores, estudiantes graduados de informática y electrónica, las más de las veces empleando ensayo y error más que razonamientos teóricos. Una vez constituidas, ya cuando las redes "están ahí", son parte de la naturaleza, entonces –pero solo entonces– han podido venir los científicos a aventurar hipótesis sobre ellas. Es una dialéctica frecuente en el desarrollo de la tecnología, con base en tres momentos. El primer momento está constituido por la construcción de las redes, por personas no necesariamente científicas, con métodos de aproximación y "ensayo y error". Un segundo momento se presenta con el estudio científico de esa realidad que son las redes, suficientemente complejas e interesantes para atraer la atención de los estudiosos. Y una tercera etapa corresponde al momento cuando los principios científicos que se hayan descubierto en relación con la operación de las redes son usados para mejorar la tecnología o crear nuevas tecnologías relacionadas con la original. Probablemente estamos actualmente en el segundo momento. El estudio de las redes ha adquirido ya respetabilidad y se pueden encontrar en los programas académicos en varias universidades de calidad, por ejemplo en los Estados Unidos.


La dificultad de programar computadoras paralelas y las perspectivas de la vida artificial

Uno de los más grandes obstáculos que confronta la generalización de las computadoras paralelas, sean estas masivamente paralelas –como la máquina de conexiones– o moderadamente paralelas –como las supercomputadoras ordinarias–, consiste en la dificultad extraordinaria que representa producir programas que se ejecuten correctamente en ellas y que usen completamente sus capacidades. En ese contexto, un acontecimiento singularmente prometedor para el futuro inmediato está constituido por el surgimiento reciente de una nueva disciplina científica, denominada "vida artificial". Antes de entrar a explicar de qué se trata, permítasenos anotar que hay un caso, ampliamente difundido por el planeta, de programación paralela sumamente eficiente, a saber, la que ocurre en el desarrollo y funcionamiento normal de los organismos. El programa inscrito en el ADN de cada uno de los seres vivos, incluidos –desde luego– los seres humanos, está escrito en un lenguaje de computación muy específico y generalmente ya bastante bien entendido: el código genético.

Como es sabido, los seres vivos se dividen en dos grandes clases: los unicelulares y los multicelulares. Bien podemos construir una analogía entre los primeros con la programación serial y de los segundos con la programación paralela. La existencia de un inmenso número de especies multicelulares que pueblan nuestro planeta, entonces, es prueba insoslayable de que es posible programar máquinas paralelas de complejidad inimaginable, es decir, los seres vivos más evolucionados construidos sobre la química del carbono. El único problema con este ejemplo es que no podemos contratar directamente al programador que ha sido capaz de semejante prodigio, a saber, la evolución por selección natural que ha estado operando sobre la Tierra por millones de años.

Sin embargo, desde hace un quinquenio se practica una disciplina informática sumamente interesante que recibe el intrigante nombre de "vida artificial", basada en la premisa de que es posible en principio reproducir dentro de una computadora los procesos –eminentemente mecánicos– que han tenido lugar en el surgimiento de las especies a lo largo de los milenios. El tema es especialmente importante para los científicos que estudian la evolución, por cuanto hasta ahora no había sido posible observar los principios que rigen la evolución y su mecanismo operativo la selección natural, dada la lentitud connatural a la transformación de las especies. Entre estos científicos destaca la figura de Thomas Ray, de la Universidad de Delaware, quien hace pocos años anunció el haber logrado producir un comienzo de evolución de organismos digitales en un ambiente informático.


Ejercicio de lectura

Leer la selección de Thomas Ray, que hemos traducido al español para el capítulo quinto de nuestra Antología.


Comentario

La idea de que era posible escribir un programa capaz de reproducirse a sí mismo era conocimiento común desde hacía mucho tiempo, hasta el punto de ser un ejercicio estándar en la enseñanza de la computación el escribir un programa de este tipo, en el lenguaje en que se esté trabajando. Ponerlo a evolucionar, sin embargo, era tremendamente más complicado y significativo. Hasta la obra de Ray, se había aceptado sin discusión que intentar hacerlo era una empresa sin perspectiva de éxito, por la simple razón de que la evolución ocurre con base en mutaciones minúsculas (errores de copia del código genético) en cada nueva generación, y era experiencia común de todos los programadores que el solo cambio de un bit (unidad de información binaria) en un programa bastaba para detener o afectar de manera generalmente fatal su funcionamiento. El principal mérito de Ray fue desconfiar de esa sabiduría común, probablemente llevado por el argumento de la prueba de existencia, a saber, el hecho de que ya existe un lenguaje de programación en que estos errores minúsculos han permitido la evolución: el código genético. En vez de negar la posibilidad de la evolución en los lenguajes de computación electrónica, se dio más bien a la tarea de reflexionar en qué consistían las diferencias entre el lenguaje genético y un lenguaje de máquina electrónica, y llegaría muy pronto a conclusiones de gran trascendencia.

En primer lugar, se dio cuenta de que el código genético tiene muy pocas "instrucciones primitivas" (20 aminoácidos) frente a –por ejemplo– el gran número de distintas instrucciones para la máquina RISC NOTA 6 (tomando en cuenta como "instrucción" el código de la respectiva operación más los bits destinados a dar la dirección de los operadores), que es de 232 = 4.294.967.296, un número extraordinariamente grande, que por su magnitud excluye prácticamente toda posibilidad de que una mutación de un dígito en una instrucción produzca otra instrucción válida. En segundo lugar, descubrió que el sistema de direccionamiento de las computadoras ordinarias, basado en coordenadas cartesianas, resultaría completamente ineficiente para objetivos biológicos, por ser diametralmente distinta al "direccionamiento" que emplea la vida. En efecto, el código genético se comunica con las proteínas por un sistema completamente diferente, a saber, el del estarcido: una molécula se pega a otra, y en ese sentido reconoce "adónde va", gracias a que una tiene lo que a otra le falta. Es decir, el direccionamiento biológico se produce por complementariedad física.

Con base en esas dos comprobaciones, Ray se dio a la tarea de diseñar una computadora NOTA 7, y su respectivo lenguaje de máquina, que cumpliera estas dos condiciones: su número de instrucciones debería ser muy pequeño, conmensurado con el del lenguaje genético; y su direccionamiento (por ejemplo, indicaciones de dónde continuar la ejecución del programa, o de dónde comienza y dónde termina un organismo) debería ser por complementariedad de forma entre patrones (el de la clave y el de la señal buscada) y no por coordenadas NOTA 8. Pronto obtuvo lo que buscaba: una máquina virtual con un lenguaje de 32 instrucciones (00 a 31, cada una de las cuales podía caber en 5 bits, eliminándosele toda referencia a operandos NOTA 9), y con un sistema de direccionamiento basado en el cotejo de etiquetas formadas por configuraciones de tamaño variable de dos clases de instrucciones de "no operación" NOTA 10.

Detengámonos un momento para aclarar más el sistema de direccionamiento, especialmente para personas que no estén familiarizadas con la forma en que trabaja el lenguaje de máquina de las computadoras. En un lenguaje de máquina convencional, encontramos, por ejemplo, la instrucción "vaya a", que por supuesto sería un código, digamos el número 49 NOTA 11. Tal instrucción requiere como complemento un operando, es decir, la dirección de la próxima instrucción que el programa debe ejecutar. Por ejemplo, el código 4908400 sería una orden para que el programa, después de ejecutar esta instrucción, continuara con la instrucción alojada en la memoria precisamente en la dirección 08400. En la computadora virtual diseñada por Ray, en cambio, una instrucción de "vaya a" se expresa con el código –digamos– 21; pero la dirección a que debe ir no se incluye en el código de instrucción mismo, sino que se da a continuación como una configuración de instrucciones 00 y 01 que son instrucciones de "no operación" o de "no hacer nada". Cuando la máquina virtual se da cuenta NOTA 12 que tiene que ejecutar la instrucción "vaya a", revisa el código que viene inmediatamente después de esta instrucción, que tiene que ser una secuencia de códigos 00 y 01 NOTA 13; la máquina toma nota de esta secuencia, como si se tratara de la forma de una proteína, y comienza a buscar en el programa, hacia adelante o hacia atrás, hasta encontrar otra secuencia de los mismos códigos 00 y 01 pero complementaria de la primera (es decir, que tenga 00 donde la otra tiene 01, y viceversa). Entonces el control del programa pasa al final de esta secuencia, y procede a la ejecución de las instrucciones inmediatas siguientes.

Una vez diseñada la computadora conveniente, base para un ambiente favorable a la vida digital –por así llamarla–, faltaban todavía dos cosas: crear precisamente ese ambiente "biológico", y sembrarle un organismo digital capaz de reproducirse a sí mismo. Ya habiéndose superado la dificultad fundamental (tener la computadora adecuada), estas otras dos tareas resultaron ser relativamente sencillas. Nació así el sistema Tierra NOTA 14 que pasamos a describir.

Tierra es un ambiente de tiempo compartido en que la memoria de la máquina virtual, así como su tiempo de proceso, se reparte equitativamente entre todos los programas que se ejecutan. Al comienzo, sólo un programa, cuya única función es reproducirse a sí mismo, existe en la memoria. Pero inmediatamente después de la primera "división celular", ya hay una pluralidad de programas que compiten entre sí por los recursos escasos de "espacio" (la memoria de la máquina) y "energía" (el tiempo de proceso). Cada organismo digital, para reproducirse, debe realizar varias funciones: conocerse a sí mismo (básicamente contar los bytes que ocupa desde su comienzo hasta su fin); buscar y reservar un espacio de memoria adecuado para colocar ahí una copia de sí mismo; y finalmente copiarse a sí mismo en ese espacio previamente reservado. Periódicamente, ocurren cambios aleatorios en algún bit de la memoria de la máquina, que eventualmente cambian ligeramente alguno de los programas. Dado que el lenguaje de la computadora virtual tiene condiciones similares al lenguaje genético, en un amplio número de casos el cambio no es fatal para el programa afectado sino solo produce un comportamiento diferente; en unos pocos de estos casos, el nuevo comportamiento es beneficioso para el organismo digital, dándole una ventaja comparativa en relación con el aprovechamiento de los recursos escasos ("espacio" y "energía") descritos antes. Periódicamente, un programa de limpieza recorre la memoria, eliminando los programas no viables, con lo que se evita el congestionamiento producido por la superpoblación.

El propio Ray explica que recibió una enorme sorpresa la primera vez que Tierra funcionó sin errores. Al cabo de algunas horas, le fue posible inspeccionar la memoria de la máquina, e inventariar el amplio número de nuevas "especies" que habían sido creadas. Pudo encontrar organismos que habían aumentado o reducido su tamaño con respecto al del organismo original. Por ejemplo, unos de ellos habían eliminado de su propio cuerpo la maquinaria para copiarse a sí mismos, y en cambio usaban la de un organismo vecino (un caso típico de parasitismo no destructivo). Esta situación no duraría mucho pues estos parásitos caerían víctimas de su propio éxito. En efecto, una vez que "hubieron terminado de llenar su ambiente, comenzaron a tener dificultad en encontrar la información que necesitaban para sobrevivir" y no pudieron reproducirse. La situación, sin embargo, alcanzó pronto un cierto grado de estabilidad, gracias a que ciertas especies "estúpidas" se habían abstenido de parasitar a sus vecinos y, conservadoramente, seguían llevando el peso del programa reproductivo consigo. "Suerteros, los parásitos se salvaron de la extinción, y ellos y sus huéspedes entraron en una relación oscilante, los primeros reproduciéndose a expensas de los segundos, los segundos retomando importancia a medida que los primeros morían". Este panorama es bien conocido por el estudioso de la ecología real: las poblaciones de depredadores y sus presas oscilan todo el tiempo, la propia reproducción fomentando la de la otra especie y creando la futura mengua de la propia. Pero finalmente, huéspedes y parásitos no se contentaron con crecer y decrecer siguiendo ciclos opuestos sino que se lanzaron a una verdadera carrera armamentista con sus enemigos, hasta el momento en que sucedió algo notabilísimo. Dejemos al propio Ray que nos lo cuente:

La sociedad, y el altruismo, y la paz habían aparecido. ¿Por qué no ayudar al prójimo si llevaba en sí los propios genes? La excesiva confianza, sin embargo, provocaría nuevos cataclismos. Mucho tiempo después de que los parásitos originales hubieron desaparecido, la evolución introdujo en la escena al tramposo, quien se introduce entre pares de organismos cooperativos beneficiándose de sus servicios sin dar nada a cambio. ¿Cómo fue ello posible? ¡Por la resurrección de la vieja treta de hacer que las víctimas copiaran el genoma del tramposo! Como vemos, en la evolución digital se repite la vieja historia de que la historia se repite, como bien lo sabemos los humanos aficionados a las disciplinas históricas.

¿Qué relación tiene todo esto con la programación en paralelo? Veamos. La carrera armamentista descrita en el párrafo precedente tuvo lugar en el transcurso de mil millones de instrucciones ejecutadas por el sistema. En otra ejecución más amplia, constituida por quince mil millones de instrucciones, se produjo una criatura con una adaptación muy intrincada. El organismo se hizo más grande, a base de "desenrollar el rizo" que existía en la programación del organismo original. Ese rizo, como todos los que frecuentemente se usan en los programas electrónicos, instruía al procesador a ejecutar un número de veces ciertas instrucciones. Algo parecido ocurre con la instrucción REPITE en el lenguaje Logo. Pues bien: estos rizos son cómodos para el programador, pero producen ineficiencias de ejecución, pues hay que pagar la sobretasa administrativa que consiste en comparar antes de entrar de nuevo al rizo la variable de control –que se incrementa en cada paso–, con la condición de referencia –que establece el número de iteraciones–. Si el programa no tiene rizo sino una repetición de código, se ejecuta más rápidamente, aunque sea más largo y más difícil de entender para su lector humano. Así pues, la adaptación lograda por esta criatura coincide exactamente con un recurso muy empleado por los programadores de productos comerciales para optimizar el rendimiento del programa en su versión compilada final. ¡He aquí que Ray pescó a la evolución mejorando los programas! Entonces pensó: ¿Por qué no aprovechar esta capacidad para resolver un problema de programación difícil, en que se haya probado prácticamente imposible la solución humana? ¿Por qué no, en verdad? ¿Por qué no acometer así el problema de la programación de máquinas paralelas?

Muy bien, pero Ray tiene razones especiales de carácter biológico para pensar que la evolución puede dar resultados en el desarrollo de software paralelo. Su modelo informático de la evolución por selección natural se realiza en una máquina serial, no paralela, pero eso no es una limitación esencial, porque se crea una aproximación de paralelismo debida al hecho de que los programas se turnan en el uso del procesador. Un modelo adaptado a las máquinas paralelas sería más realista, incluso para organismos unicelulares como los organismos digitales de Tierra. La biología real se da desde luego en aparatos efectivamente paralelos, a saber, la maquinaria de cada célula, incluso para organismos unicelulares. Ahora bien, el caso más interesante de paralelismo se da con la aparición de los organismos multicelulares. En ellos el programa original (la célula huevo) tiene una serie de controles –representados por proteínas que el organismo madre ha puesto ahí por adelantado– encargados de velar porque la división celular ponga en cada nueva copia todo el programa original, pero con la limitación de que la nueva célula sólo pueda ejecutar una de sus partes. Aparece así un paralelismo de orden superior, donde no solo hay células que ejecutan programas iguales o parecidos simultáneamente sino que algunas de ellas son literalmente esclavas de otras y trabajan para ellas. Así, todas las células de nuestro cuerpo trabajan para una salud del conjunto que garantice la apropiada y oportuna transferencia del programa genético a una nueva generación.

Así pues, existe la posibilidad de expandir los principios del programa Tierra para incorporarle una adecuada representación de los fenómenos de división genética multicelular. Esto abriría todo un espléndido campo de investigación para la vida artificial en combinación con las máquinas masivamente paralelas, como la máquina de conexiones que estudiamos anteriormente NOTA 15. Cuando ese proyecto se realice, uno de sus subproductos más importantes deberá probablemente ser la tecnología de cómo desarrollar programas paralelos con ayuda de la evolución. ¿Deberemos entonces decir que esos programas son organismos vivos?


Ejercicio de lectura

Leer el texto de Sherry Turkle y Seymour Papert o la selección traducida al español para el capítulo quinto de nuestra Antología.


Comentario

Los autores nos advierten que existe una imagen muy difundida de la computadora como una máquina estrictamente lógica, y de la programación computacional como una actividad estrictamente técnica y matemática. Como consecuencia, tanto la cultura especializada como la popular consideran la informática como la encarnación misma de lo formal y abstracto. Sin embargo, existen otras facetas de la computadora que les interesa resaltar.

Los autores sostienen que existen programadores muy exitosos cuya relación con el material se parece más a la de un pintor con su tela que a la de un lógico con su lápiz y papel y sus símbolos abstractos. Estos programadores utilizan aproximaciones al conocimiento concretas y personales, bastante diferentes de los estereotipos que asociamos con las matemáticas o la lógica formal.

Esta diversidad de enfoques sugiere que el acceso equilibrado a los elementos básicos de la informática exige aceptar la validez de maneras múltiples de conocer y pensar, lo que los autores califican de pluralismo epistemológico. Aquí la palabra "epistemología" se usa en un sentido más cercano al psicólogo Piaget que a los filósofos de la ciencia que examinamos en el capítulo primero. En la filosofía de la ciencia, como hemos visto, se considera como meta de la epistemología la de indagar sobre la naturaleza del conocimiento y las condiciones de su validez; y, con la excepción de corrientes inspiradas en la historia de la ciencia, como la de Thomas Kuhn, solo una forma de conocimiento, la proposicional, se considera adecuada.

"El paso dado por Piaget en su definición de epistémologie génétique es evadir la pesquisa sobre la "verdadera" naturaleza del conocimiento a favor de un estudio comparativo de la naturaleza diversa de las distintas clases de conocimiento, en su caso las clases observadas en niños de distintas edades". Los autores, aceptando este pluralismo epistemológico de Piaget, van un paso más allá. En efecto, donde Piaget ve las diversas formas de conocimiento en términos de etapas hacia un punto de llegada que sería la razón formal, ellos ven las diferentes aproximaciones al conocimiento como estilos varios, cada uno igualmente aceptable en sus propios términos.

Los autores consideran que hay grandes obstáculos culturales para aceptar este pluralismo, con raíces que se extienden más allá de la informática. La manera de conocer basada en proposiciones formales, ha sido reconocida desde muy antiguo NOTA 16 como el estilo canónico del conocimiento. De hecho, la filosofía de la ciencia basada en el análisis de la estructura lógica, la ha tomado como sinónimo del conocimiento. Cuando, por excepción, se han aceptado aproximaciones concretas al conocimiento, esta aceptación ha sido solo relativa, porque a tales aproximaciones se las ha considerado como formas inferiores de conocimiento. Así es como Piaget reconoce en niños pequeños maneras de pensar que no se ajustan al canon, siendo, sin embargo, demasiado coherentes y eficaces para ser declaradas erróneas. Su solución es considerar este pensamiento concreto de los niños como una etapa en el desarrollo hacia el estilo canónico. De parecida manera, en el campo histórico y antropológico, Claude Lévi-Strauss reconoce en las sociedades primitivas una ciencia de lo concreto, a la que da el calificativo de bricolage NOTA 17, como manifestación del "pensamiento salvaje".

No obstante, nos informan nuestros autores, recientemente se han comenzado a reconocer maneras concretas de pensar en contextos que no pueden ser fácilmente tachados de inferiores. Los etnógrafos de la ciencia, por ejemplo, quienes estudian la vida diaria en los laboratorios, "han encontrado que los descubrimientos científicos se hacen en forma concreta" y solamente después se vierten en los formalismos canónicos socialmente aceptables. Así, las biografías científicas revelan que "los premios Nobel se relacionan con sus materiales en el estilo concreto y tangible de los bricoleurs de Lévi-Strauss". Algunos psicólogos que investigan el pensamiento matemático de los adultos, han hallado que estos usan un estilo eficaz y realista bastante distinto de la matemática abstracta y formal que se enseña en las escuelas. De un modo especial, han sido las humanistas feministas las que más han logrado documentar el poder del razonamiento concreto y contextual, en una amplia gama de campos de estudio y acción.

Si esto es así, resulta que la computadora, con sus gráficos, colores, sonido, texto y animación, ofrece una oportunidad única para la gente cuya manera principal de relacionarse con el mundo se da a través de la intuición, las impresiones visuales, y el movimiento. El objeto informático está en el límite entre la idea abstracta y el objeto físico concreto. Tomando el caso más simple, un objeto informático de la categoría de un icono que movemos con el "ratón" en la pantalla, puede desde luego ser definido de acuerdo con reglas completamente formales y es obviamente una construcción matemática. Pero al mismo tiempo es un objeto visible, casi tangible, y su control da a la persona común una sensación de manipulación directa que solamente los matemáticos muy aculturados en su disciplina son capaces de sentir en relación con los sistemas formales tradicionales que ellos manejan. Así, la computadora tiene una vocación explotable: transformar lo abstracto en concreto, convertir lo formal en real. Aquí reposan extraordinarias potencialidades para la utilización de la informática como método y ambiente educativo de gran valor.

Los autores, con ayuda de métodos clínicos inspirados en la tradición piagetiana y psicoanalítica, han acumulado estudios de casos, desde niños que usan computadoras en la escuela primaria hasta estudiantes universitarios que toman su primer curso de programación. Por ese medio se han topado con muchas manifestaciones del enfoque concreto, especialmente entre miembros del sexo femenino. Han observado también reacciones intensas de estas personas contra lo que sienten como imposición para ajustarse a un estilo oficial impuesto que choca con sus tendencias. A pesar de que la computadora por sí misma, como medio expresivo, tolera perfectamente bien el pluralismo epistemológico, pareciera que la cultura informática oficial, en cambio, no lo hace. Sus datos señalan que hay discriminación, no por medio de reglas que obstaculicen la entrada a ella, sino a causa de formas de pensar que hacen a este tipo de gente renuente a afiliarse. No obstante, "la existencia de diversos estilos expertos de programación, apoya la idea de que puede haber voces distintas equivalentes" en el campo de la informática.

Los autores han podido determinar que muchos programadores de estilo divergente del canónico han podido sin embargo hacer su entrada en la cultura informática y progresar en ella. Esta observación cuestiona, a su juicio, afirmaciones muy arraigadas sobre la clasificación y el valor de las distintas maneras de conocer. "Proporciona ejemplos de la validez y del poder del pensamiento concreto en situaciones que tradicionalmente han exigido lo abstracto. Sostiene una perspectiva que estimula la búsqueda del desarrollo psicológico e intelectual dentro de lo concreto (y no fuera de él) y sugiere la necesidad de investigar más de cerca la diversidad de maneras que usa la mente para pensar con objetos en vez de con las reglas de la lógica".

Hasta aquí un resumen del pensamiento de los autores. En lo que resta de este comentario, queremos hacer una crítica de fondo a este texto, por lo demás valioso e iluminador en muchos respectos. En general, creemos que los autores abren un campo de discusión fecundo e interesante. Sin embargo, pierden la oportunidad de plantear los temas de discusión en toda su vastedad e importancia al caer en la trampa de la división en dos, que Marvin Minsky ha señalado como una de las trampas más corrientes para el pensamiento. En efecto, al categorizar los estilos de programación en dos clases, básicamente "masculino" y "femenino", pierden la oportunidad de explorar toda la gama de posibilidades que se ofrece en los estilos de programar, un campo en plena ebullición en este momento. Esta simplificación del problema que lo reduce a una dicotomía, se asemeja a la que suele lamentar Minsky en relación con la división en dos partes de la mente, correspondiente a los hemisferios izquierdo y derecho. Según este autor, esa división tiene la desventaja de que nos ciega hacia el hecho de la inmensa multiplicidad de la mente humana, formada no por dos sino por innumerables subsistemas (MINSKY 82).

Una de las deficiencias más serias de este texto es su tratamiento de la abstracción. El uso de este término es descuidado, pues no se precisa bien de qué clase de abstracción están hablando. Cuando decimos "conceptos abstractos" estamos, por supuesto, oponiéndonos a las realidades concretas experimentables por los sentidos. Pero en informática, la mayor parte de las veces "abstracción" quiere decir ocultamiento de detalles, agrupación de notas características bajo el nombre de una clase o tipo; en fin, en realidad estamos hablando de ontología, de categorías ontológicas. El uso del término en este sentido está esencialmente ligado a las jerarquías de los seres, al hecho –bien estudiado por nosotros en capítulos anteriores– de que la necesidad de reconocer regularidades en el universo nos obliga a introducir clases naturales, descripciones canónicas, u categorías de objetos, en distintos niveles de discurso. Objetar la abstracción en este sentido es cortarse las manos para toda elaboración epistemológica y los autores no pueden hacer eso sin contradecirse a sí mismos. Si ellos abogan por el pluralismo epistemológico, tienen que aceptar la posibilidad de que los practicantes de la informática puedan escoger su ontología; debe serles posible elegir una ontología NOTA 18.

En ninguna parte queda más de manifiesto la contradicción en que incurren los autores a propósito de la abstracción, que en su tratamiento de la corriente actual en programación hacia la programación por objetos NOTA 19. Efectivamente, la programación por objetos hace un uso absolutamente esencial de la abstracción, en el sentido específico de ocultamiento de detalles dentro de una pieza de código encapsulada que solo recibe, procesa y envía mensajes. Nada más lejos de estos "objetos" programáticos que ser concretos en el sentido de no-abstractos; todo lo contrario, con una creación preciosa de la abstracción. En cambio, la programación por objetos es distinta de la programación estructurada (objetada por los autores) y en cierto sentido se le opone; pero curiosamente, estos dos estilos de programar no se oponen entre sí como lo abstracto a lo concreto (ambos hacen uso esencial de la abstracción), sino más bien por el carácter jerárquico de la programación estructurada (donde el programa principal llama a procedimientos de nivel 1, y estos a procedimientos de nivel 2, y así sucesivamente) frente al carácter heterárquico de la programación por objetos (ningún objeto es superior a los otros, pues solo actúan recibiendo y enviándose mensajes unos a otros, de igual a igual).

Otra confusión (o equivocación) en que incurren los autores se refiere al uso de bibliotecas de software en la programación estructurada. Su posición contraria al uso de procedimientos preprogramados pareciera incongruente con su encomio del bricoleur, puesto que por hipótesis este tipo de programador debe tener a disposición muy variados recursos de los cuales echar mano para su actividad creativa. Condenar a un tal programador a trabajar siempre en el nivel más bajo posible de lenguaje sería hacerlo improductivo para siempre. Esto no va en absoluto en contra de estimular las "aventuras hacia lo fundamental" que todo estudiante de informática debe estar facultado para correr, tratando, por ejemplo, de construir él mismo su propio procesador de palabras, su propia base de datos, su propia hoja electrónica, si así le apetece; idealmente, ningún estudiante de informática debería negarse el placer de diseñar su propio lenguaje de programación o incluso su propio computador. Pero para sus tareas ordinarias, sería insensato cerrarle las puertas de las bibliotecas del mundo, como sería el condenar a los estudiantes de humanidades a inventar de nuevo todos los temas literarios que llenan nuestras bibliotecas de papel.

Aquí otra vez chocamos con el sectarismo simplificador que manifiestan nuestros autores, porque al dividir el mundo informático en dos bandos se niegan la posibilidad de considerar muchas corrientes interesantes (de cuya existencia no parecen estar enterados) que agitan en este momento a la comunidad profesional. Por ejemplo, existe un movimiento hacia el reuso de software, que es completamente compatible con el estilo de programación del bricoleur, pero que se basa precisamente en la elaboración y utilización de bibliotecas. Este movimiento descansa en el principio, muy hermenéutico, de que programar es, las más de las veces, reprogramar (al igual que escribir es muchas veces, incluso lo que este autor está elaborando en este momento –notas de clases–, reescribir). En esas grandes bibliotecas de software que se postulan, no solo habrá programas enteros, accesibles por medio de redes a todo programador, sino también, mediante métodos de llevar índices sumamente avanzados que están actualmente desarrollándose, partes de programas, tipos de construcción de múltiple oportunidad de aplicación. En fin, el movimiento consiste en potenciar la capacidad de producción de software –un bien todavía sumamente escaso– promoviendo su reuso (tal vez podríamos decir "reciclaje"). El prejuicio contra las bibliotecas (curioso en dos intelectuales de gran talla) que evidencian nuestros autores, estaría obstaculizando todo esto.

Otro atisbo importante en el artículo, que se malogra por una confusión, es el de la forma en que suelen desarrollarse los programas. Para los autores, de nuevo forzados por una distinción de lo masculino y femenino demasiado simple, no hay más que dos maneras de desarrollar un programa: o en forma planificada y estructurada, o en forma biológica y artística, semejante a la germinación de una semilla. Lo cierto es que oponer lo biológico a la planificación va demasiado lejos, pues, como cualquier estudioso de la biología contemporánea puede confirmar, la ontogénesis (el desarrollo del individuo corporiza a la especie) es en gran parte un fenómeno de "seguir un plano" seleccionado por la evolución, aunque las vicisitudes del desarrollo, y la correspondiente recíproca influencia de las células entre sí enviándose mensajes, tengan también gran importancia. De hecho, no solo durante el desarrollo sino durante la vida total de cada individuo de una especie, se da una equilibrada ejecución de un "programa estructurada" y de "intercambio de mensajes" entre distintos agentes, donde las enzimas y otras proteínas descifran y ejecutan permanentemente las instrucciones del código genético, sea para convertirlas en células, tejidos, órganos y sistemas o para mantener todos estos elementos y su conjunto en saludable funcionamiento.

Separar tanto los estilos de programación impide a los autores ver una variabilidad interesante en la forma en que los programas se desarrollan, cualquiera que sea el método de programación. Nos referimos al hecho de que algunos programadores prefieren tener siempre a su disposición "un programa que funciona" y otros en cambio prefieren hacer un plan exhaustivo de lo que quieren lograr, con la mayoría de sus detalles, antes de comenzar a ensamblar primitivas de código. Personalmente, el autor de estas líneas ha preferido siempre tener un programa que funcione, aunque sea sencillo y torpe, y fomentar poco a poco su crecimiento; sin embargo, ello no le ha impedido usar en esta "expansión" del programa las técnicas clásicas de la programación estructurada NOTA 20. Es una lástima que el deseo de clasificar a los sujetos observados en uno de dos estilos haya llevado a los autores a pasar desapercibidas esas sutilezas. En general, echamos de menos en su artículo un poco más de esa liberalidad que parecería consustancial a cualquier pluralismo epistemológico como el que los propios autores preconizan.


Ejercicio de lectura

Leer el texto de Terry Winograd y Fernando Flores, o la selección traducida al español para el capítulo quinto de nuestra Antología.


Comentario

El lenguaje es inseparable del contexto pragmático y social

Es importante que nuestros lectores estén al corriente de los antecedentes de los autores de este texto. Terry Winograd es un profesor de inteligencia artificial de la Universidad de Stanford, que se hizo famoso en 1972 por su disertación doctoral en MIT que incluía uno de los más exitosos programas informáticos para comprender lenguaje escrito. En ese programa, un robot simulado en la pantalla de la computadora podía manipular bloques sobre una mesa y meterlos y sacarlos de una caja. Se trataba de un micromundo, cuya población incluía cubos, esferas, pirámides y otras figuras geométricas tridimensionales de varios colores y tamaños. El usuario dialogaba con el robot, impartiéndole órdenes (del tipo "saca la pirámide roja de la caja y colócala sobre el cubo verde encima de la mesa") que el robot ejecutaba correctamente, así como pidiéndole información relativa a sus acciones (del tipo "¿cuándo moviste el prisma azul") que el robot era capaz de contestar con respuestas que tenían sentido y propiedad (del tipo "cuando tuve que despejar el cubo verde para poner sobre él la pirámide roja").

Los intercambios eran tan naturales, que la comunidad científica (y el público) concibieron exageradas esperanzas sobre lo que podría hacerse muy pronto en relación con la comprensión y generación del lenguaje por computadora. La hipótesis que se formuló entonces, y quedó falsada muy pronto, fue que si era posible producir diálogos con sentido en un micromundo, ese mundo podría expandirse indefinidamente por el simple método de ampliar el número de conceptos a que el robot podía referirse. En el fondo, la obra posterior de Winograd, de la cual el texto comentado aquí es una buena representación, ha consistido en una reflexión sobre las razones por las cuales esa esperanza no pudo cumplirse.

En cuanto a Fernando Flores, es un profesor de filosofía de la Universidad de Berkeley, especialista en Heidegger. Su colaboración con Winograd ha sido especialmente fecunda, pues le ha ofrecido la plataforma teórica que necesitaba para explicar los límites de acción de la inteligencia artificial NOTA 21.

El punto fundamental del texto es recalcar, frente a los intentos realizados por los practicantes de la inteligencia artificial de reproducir las capacidades de comprensión y generación del lenguaje por medio de una máquina, que el lenguaje es inseparable del contexto de la actividad humana y de la tradición social de que se nutre. La tesis de los autores es que, contrariamente a lo que han pretendido los creadores de programas de comprensión y generación del lenguaje, no pueden existir "primitivas" lingüísticas dotadas de sentido por sí mismas, con independencia de la interpretación que les den los dialogantes con base en sus propios conocimientos e intenciones y en la tradición misma de que forman parte como miembros de una sociedad.

Los autores ilustran de una manera muy clara esta situación con un sencillo diálogo sobre la presencia de agua en una refrigeradora:

Con base en ejemplos como este, nos llevan a comprender que "el contexto es un fenómeno fundamental y penetrante". Lo definen como "el espacio de posibilidades que nos permite escuchar lo hablado y lo no hablado". Insisten en que el acto de escuchar no es en manera alguna pasivo sino fundamentalmente activo, pues "creamos el significado al escuchar". Así, "la forma lingüística provoca la interpretación", en vez de simplemente "trasmitir información". El contexto se identifica con la "orientación básica de nuestro interés por el mundo", un mundo "ya organizado alrededor de proyectos humanos" y que depende de estos para su misma existencia y organización.

Los autores recurren al lenguaje heideggeriano para formular mejor su pensamiento, y de paso producen una de las presentaciones más lúcidas de ese pensamiento de que tengamos noticia. Así, nos dicen que cada uno se tropieza con un mundo donde ya otros han vivido y trabajado y sobre el que han influido, modelándolo de muchas maneras. Este mundo forma el contexto para todo lo que pensamos o hablamos, y consiste en aquello que es obvio porque es parte de nuestro diario quehacer y goza de una familiaridad que satura completamente la situación en que nos encontramos. Eso obvio es precisamente lo que no se dice cuando decimos lo que decimos, pero eso que no se dice por obvio es tan importante –o tal vez más– que lo que decimos. Todo esto obvio, contextual, circundante, callado o implícito, debe tomarse en cuenta en un intento cualquiera de reproducir la actividad lingüística en una máquina; pero los autores son profundamente escépticos de que un tal intento pueda llegar a ser exitoso. La razón de este escepticismo consiste en que reproducir el lenguaje supone reproducir las condiciones que lo hacen posible, y estas no parecen separables del conjunto de la vida humana en su totalidad. Coincidiendo con Heidegger (HEIDEGGER 27) y otros autores, nos recuerdan que "nuestra habilidad para pensar y dar significado al lenguaje está enraizada en nuestra participación en una sociedad y en una tradición".

Un concepto muy importante que introducen en la discusión es el concepto de "rompimiento". El lenguaje que utilizamos en nuestras actividades humanas se va moldeando por la necesidad de coordinar adecuadamente nuestra acción con las acciones de los otros. Cuando la declaración de una persona es ininteligible para los demás, o si la interpretación del oyente no concuerda con lo que el hablante anticipa, se produce un rompimiento. Este rompimiento da como resultado una pérdida de confianza mutua en el compromiso implícito y circundante que hace posible una conversación exitosa.

Hablar, entonces, es más que un simple trasmitir información. Somos responsables de lo que decimos, y adquirimos con ello obligaciones que la sociedad espera que podamos cumplir. Como participantes en una tradición compartida, somos responsables de las consecuencias de cómo nuestros actos de habla van a ser entendidos dentro de esa tradición. El hecho de que las reglas de esa tradición no estén objetivamente formuladas y que a menudo haya malos entendidos no nos redime de esa responsabilidad elemental.

Los autores enfatizan dos principios fundamentales:

  1. El significado es inseparable del compromiso expresado en los actos de lenguaje.

  2. Nos expresamos acerca del mundo mediante patrones recurrentes de rompimientos y de discurso reconstructivo.

En otras palabras, cuando hablo me comprometo con lo que digo (con su verdad, con la propiedad o adecuación de los términos que uso, con el cumplimiento de promesas tácitas o expresas, etcétera); aunque no está garantizado el éxito de la interpretación de lo que digo, mi compromiso abarca la responsabilidad de tratar de rectificarla cuando se produce el malentendido. Si de nuevo hay malentendido, mi responsabilidad es todavía tratar de superarlo, mediante actos de habla que de nuevo me comprometen con lo que digo. Así pues, las distinciones del lenguaje (nuestras ontologías, para decirlo en términos de lo comentado en capítulos anteriores) no corresponden a una clasificación objetiva o formal de las situaciones, pero tampoco son arbitrarias, puesto que surgen de recurrentes patrones de rompimiento y recuperación. Por ejemplo, en el ejemplo presentado al principio, recordemos que hay gran variedad de actividades humanas, como beber, apagar incendios o lavar, en las que la presencia o ausencia de agua determina un espacio de rompimientos y restauraciones potenciales. Esos rompimientos y restauraciones no solo permiten a las personas comunicar, funcionar como colaboradores, sino que también van modificando y enriqueciendo el lenguaje que continúa siempre creándose por esos actos solidarios de compromiso pragmático y social.


La tradición racionalista y su crítica existencialista

Los autores consideran que la pretensión de encontrar un lenguaje basado en primitivas que tengan sentido por sí mismas, independientes de contexto y tradición, descansa a su vez en una tradición con mucha raigambre en la cultura occidental. Se trata de la tradición racionalista que, siguiendo a Heidegger, estos autores caracterizan, en otra parte de su libro, por los siguientes cuatro supuestos:

Frente a los cuatro principios de la tradición racionalista podemos plantear una posición contraria, basada en Heidegger, y que es la que sostienen nuestros autores. Por casualidad es posible resumir esta posición también en cuatro principios, aunque no sean necesariamente la contestación "uno a uno" de los otros; pero en conjunto sí ofrecen una réplica, un enunciado alternativo y opuesto. Veamos:

Básicamente, este principio afirma que existe un ambiente abarcador cognoscitivo que no puede ser convertido en objeto. Estamos siempre comprometidos con una situación que nos rodea por todas partes y que no podemos especificar en forma completa. No hay punto de vista neutral desde el cual podamos ver nuestras creencias como cosas, lo cual claramente se opone a los principios racionalistas. En efecto, es un corolario inevitable de estos principios que es posible formular nuestras creencias; es decir, manifestar en qué creemos, donde cada una de esas creencias sería, en cierto modo, independiente de las otras. Nuestras creencias serían, de acuerdo con la tradición racionalista, plenamente inventariables. Así pues, otra manera de formular este primer principio antirracionalista es decir que nuestras creencias no son inventariables.

Por supuesto, este principio antirracionalista ha sido criticado más de una vez por los practicantes de la inteligencia artificial, así como por filósofos de tendencias más tradicionales que la que representa Heidegger (el existencialismo). Entre los primeros se encuentran los constructores de "sistemas expertos", que basan su tecnología precisamente en el hecho de que los conocimientos del experto pueden ser inventariados: son una colección finita de creencias individuales, claramente separables. La existencia y buen funcionamiento de un buen número de esos sistemas son una prueba de existencia del caso contrario a este principio antirracionalista, aunque por supuesto los sustentantes del principio de no explicitez podrán señalar en su favor las muchas deficiencias que tienen todavía estos sistemas expertos.

De más fuste, creemos, son las objeciones estrictamente filosóficas. Ellas tienen que ver, ante todo, con la ausencia de sustentación argumentativa de la tesis de la no explicitez. Generalmente, como es evidentemente el caso en el texto que comentamos, la tesis se expresa sin una sustentación en argumentos lógicos o empíricos que le den validez. Pero por supuesto, los defensores del principio señalarán que precisamente la formulación de tales argumentos iría en contra del mismo principio que ellos postulan. Con lo cual caeremos en un círculo vicioso, parecido al que se da entre los defensores de paradigmas rivales (analizado en el capítulo primero).

Probablemente aquí pueden ser aplicadas con mucho fruto las técnicas de búsqueda de consenso diseñadas por Laudan. Pero además, está la limitación de negar que podamos hacer explícitas todas las creencias; siendo así que por mucho que nos esforcemos nunca podremos llegar a formular todo aquello en que creemos (que probablemente es infinito o indefinido), los sustentantes del principio siempre llevarán las de ganar en la contienda. Lo cual tiene todas las características de un principio infalsable en el sentido de Popper, y por lo tanto es merecedor de ser calificado como pseudocientífico.

Este segundo principio nos dice que el entendimiento práctico es más importante que el entendimiento teórico o desinteresado. El conocimiento y la cognición se interpretan como praxis, quehacer práctico. Esta tesis no es exclusiva del existencialismo; la encontramos también expresamente mantenida por el pragmatismo norteamericano de William James (JAMES 55). Lo específico de Heidegger es el entender esta idea como un "estar arrojado en el mundo". Nuestra cognición arranca del estado de arrojamiento en que nos hallamos, pues encontrándonos arrojados en el mundo tenemos que hacer algo para darle sentido a nuestra situación. Esto quiere decir que nuestro conocimiento es práctico y tiene que ver con la salvación de nosotros mismos.

Este tercer principio antirracionalista es su rechazo directo de la teoría representacional de la mente, piedra angular de la ciencia cognoscitiva actual, para la cual el conocimiento es eminentemente representativo. Esto es tremendamente importante porque toda la investigación en la inteligencia artificial y en psicología cognoscitiva se fundamenta en la tesis de la representabilidad, en el paradigma representativo. Dicho de otra manera, conocer es tener representaciones. Esta idea va implícita, por ejemplo, en la teoría de los sistemas de símbolos físicos de Newell y Simon. Los símbolos son representaciones. Desde el punto de vista puramente sintáctico son símbolos que se manejan como fichas en un tablero. Y sobre ellos se ejercen operaciones puramente formales, de modificación de estructuras simbólicas para producir otras estructuras simbólicas.

Los argumentos que se dan para sostener esta tesis antirrepresentacionista son fundamentalmente débiles. Por ejemplo, se dice que cuando clavamos un clavo con un martillo no tenemos que usar ninguna representación del martillo para realizar la acción. Mi habilidad para clavar viene de mi familiaridad con el clavado, con el acto de clavar, y no de mi conocimiento de lo que sea un martillo. Esto es correcto, pero en realidad, la teoría de la representación es una teoría de la mente perfectamente compatible con la aceptación de procedimientos ya internalizados; la psicología cognoscitiva y la inteligencia artificial están perfectamente familiarizadas con la idea de lo que en informática se conoce como procedimientos compilados. Por supuesto que, dependiendo del lenguaje de programación usado, puede haber también procedimientos declarativos; por ejemplo, si trabajamos con intérpretes de Prolog, Lisp o Logo, expresamos siempre lo que queremos hacer de manera totalmente representativa y conceptual, y la computadora nos obedece directamente. Pero si queremos aumentar la eficiencia de esos procedimientos, podemos preferir compilarlos, con lo cual dejarán de ser inspeccionables como lo eran los procedimientos interpretables NOTA 22.

Las dos características de la versión compilada de un procedimiento son las siguientes; la primera es que el código no es inspeccionable; el programa fuente sí lo es, pero una vez que lo compilamos, produciendo el llamado lenguaje objeto, éste ya no es inspeccionable, sino sólo ejecutable. Y la segunda es que el programa aumenta tremendamente su eficiencia. Ambas características tienen su correlato en los procedimientos que ejecuta la mente humana: el aprendizaje se da inicialmente sobre un algoritmo declarativo, especificable, de varios pasos perfectamente comprensibles por separado. Además, durante una primera etapa, la ejecución es lenta, pues la mente tiene que "leer" cada paso e "interpretarlo" como una acción determinada para la cual debe impartir la orden correspondiente a los respectivos órganos efectores. Pero llega un momento en que el procedimiento se internaliza o "compila". A partir de ahí los pasos de la mente dejan de ser conscientes o inspeccionables (por ejemplo, si un pianista o mecanógrafo trata de atender detalladamente a lo que está haciendo, con seguridad se equivoca), pero también pasan a ser sumamente rápidos, espontáneos (como segunda naturaleza) y muy eficientes.

De ahí que las personas que trabajamos bajo el paradigma computacional no tengamos ningún trabajo en entender estos fenómenos mentales y que no los consideremos una objeción para la tesis de la representación. Consideramos, más bien, que lo que hace la persona que aprende –por ejemplo– a clavar un clavo con un martillo, es compilar su conocimiento de la operación. Esto no dice nada en contra de que en el momento en que uno está aprendiendo a clavar, tenga (en realidad, debe tener) un conocimiento declarativo del proceso, exactamente como en un procedimiento interpretado en un lenguaje de computación. Cualquier destreza comienza por ser conscientemente una comprensión de pasos perfectamente detallados, expresados en forma declarativa. El mayor argumento en favor de la primacía de lo declarativo es precisamente que no podemos aprender nuevos procesos excepto conscientemente (está demostrado que no es posible aprender idiomas durante el sueño, por ejemplo).

Este es el último principio antirracionalista, el cual se encarga de rechazar de plano toda técnica de definición formal del significado de las palabras, por ejemplo por el sistema tradicional de género próximo y diferencia específica. Sostiene que el significado es parte del dasein, es decir, de la coyuntura social. Esta palabra alemana, muy heideggeriana y que algunos traductores han cometido la tropelía de traducir como "el ser" en sentido filosófico, no es un cultismo de especialistas, sino un vocablo del lenguaje común de la gente, una de las palabras más corrientes del léxico alemán, que quiere decir algo así como "la vida", en expresiones como "la vida es dura" o "la vida está muy cara". Es la coyuntura, la situación en sentido económico –en el sentido de comer y poder sobrevivir y prosperar–, lo que José Ortega y Gasset, gran traductor de la filosofía alemana, llamaría la circunstancia.

Pues bien, la tesis existencialista es que yo siempre me encuentro en una situación que no he creado, que me envuelve completamente y de la cual dependo, que es una situación eminentemente social. Es una coyuntura de la que nunca puedo salirme; aun en la buena situación, siempre estamos angustiados por algún aspecto de esa coyuntura que nos condiciona por todas partes. Por ello el dasein es inseparable del cuidado, otro término muy usado por Heidegger, que corresponde bastante con lo que Jean Paul Sartre (otro traductor de filosofía alemana, en este caso al francés) llama la angustia. Y por supuesto, hay una unión muy grande entre el dasein y el "estar arrojado al mundo" examinado antes.

Sobre el solipsismo de Maturana

Los autores, hemos visto, rechazan la teoría de la representación como forma de dar cimiento a la ciencia cognoscitiva. ¿Postularán entonces que nos quedemos sin tal ciencia? No, por cierto. Su libro es en realidad una propuesta de dar otro fundamento a las ciencias cognoscitivas, uno de cuyos pilares –como lo hemos visto– sería la filosofía existencialista. Pero en el libro –aunque no en el reducido texto que hemos extraído de él en nuestra Antología– se presenta otro cimiento, de tipo biológico, para tal ciencia cognoscitiva de nuevo cuño. En un capítulo titulado "La cognición como fenómeno biológico", nos presentan la obra del naturalista chileno Humberto Maturana. (MATURANA 80) Según los hallazgos de este científico, el sistema nervioso central es una red cerrada de neuronas interactuantes, tales que cualquier cambio en el estado de actividad relativa de una colección de neuronas lleva a un cambio en el estado de actividad relativa de otra o de la misma colección de neuronas. Entonces, de acuerdo con esta tesis del sistema nervioso como una entidad cerrada, este sistema no tiene propiamente insumos y productos en el sentido informático, porque nada entra ni sale de él; lo único que puede sucederle es ser perturbado por cambios estructurales en la red que lo define. Y aquí se plantea un serio problema.

Recuerden los lectores que cuando hablamos de los sistemas de símbolos físicos, se definió un sistema como una configuración de componentes tales que tienen entre sí relaciones más fuertes que las que mantienen con el entorno. Pues bien, lo que niega Maturana es la posibilidad de relaciones de los componentes del sistema biológico con nada externo a él. El sistema es perturbado como un todo, y cada una de sus partes reacciona solamente en relación con otras de sus partes. El foco de estudio de los seres vivos, entonces, deben ser las interacciones dentro del sistema como un todo y no las relaciones con el medio ambiente. Estas relaciones externas son interpretadas solamente como perturbaciones, las cuales no determinan directamente lo que pasa en las neuronas o en sus ensamblajes, sino meramente desatan un proceso adaptativo para contrarrestarlas. Una de las consecuencias, desde este punto de vista, es que no hay diferencia entre la percepción real y la alucinación. Es decir, si nos abren el cráneo y nos ponen un electrodo tendremos alucinaciones, que son adaptaciones del sistema a una perturbación suya que, vista "desde dentro", no se distingue de la perturbación ocasionada por causas más usuales.

Hay mucho de correcto en esta posición; recuérdese, por ejemplo, nuestra interpretación de la semántica, expuesta como conclusión del capítulo anterior, que en cierto sentido podríamos considerar como una posición coincidente con esta en cuanto que rechaza un fundamento "en el mundo exterior" para la semántica. El género de esta posición es solipsismo, la teoría epistemológica que afirma que yo estoy solo, que lo único que existe en el universo es mi mente. De esta teoría hay dos variantes fundamentales. El solipsismo metafísico –que considera los postulados solipsistas como literalmente verdaderos, y que probablemente nadie en su sano juicio puede suscribir NOTA 23–, y el solipsismo metodológico, que considera el punto de vista solipsista como muy útil para aclarar ciertos problemas; esta última es la clase de solipsismo que discutimos aquí. El que solo podemos entender la mente desde una posición solipsista es, por cierto, desde el punto de vista informático, una tesis básicamente sana (FODOR 75). Recuérdese la máquina Turing en la cual su autómata de estado finito y su cinta memoria son todo lo que existe. ¡La máquina de Turing no tiene canales de entrada y de salida!. Uno crea una máquina Turing particular de una vez con un determinado contenido dentro de la cinta, donde algo será programa y algo datos, de acuerdo con la configuración del autómata y la posición de la cinta. Pero la máquina no se abre para recibir o entregar nada del entorno o al entorno. O sea que la primera tendencia del fabricante de sistemas es hacer sistemas cerrados, pues los sistemas cerrados son esencialmente claros e inteligibles.

La computación es en sí misma un sistema cerrado; los periféricos de entrada y salida, los insumos y productos, son una facilidad que se le añade para nuestra conveniencia. Los insumos y productos son algo arbitrario que se impone a la computadora desde afuera. Los sistemas informáticos viven felices y contentos en su mundo solitario; no les sobra nada ni necesitan nada. Somos nosotros, desde afuera, los que queremos entrar a forzar su memoria. En realidad, las entradas y salidas son una distorsión de la memoria. La pantalla de la máquina no es sino una transcripción de algo que existe internamente y se nos permite ver, por razones ajenas a la computación misma. En efecto, la computadora que contribuyó a diseñar Turing, no tenía ninguna diferencia entre la memoria y la pantalla: los cálculos ocurrían en la pantalla misma. Los puertos, ese mecanismo donde conectamos un monitor o una impresora, son también parte de la memoria, que han sido forzados para que entreguen su contenido al mundo exterior. Pero para la computadora misma, esa violación de su intimidad no existe del todo, es totalmente ajena a su operación esencial. Para ponerlo en términos de Maturana, las entradas y salidas de un sistema informático no son otra cosa que perturbaciones (las salidas, bien planeadas, serían perturbaciones nulas, si lo único que hacen es "espiar" la "intimidad" de la máquina).

Este "solipsismo" del sistema informático no es sino otra forma de ver algo connatural a todo sistema autorregulado: su homeostasis, la capacidad de restablecer su equilibrio interno (por ejemplo su temperatura) frente a intentos del medio de arrollarlo en el vértigo de su entropía. En el fondo, todo sistema autorregulado es conservador. Trata de mantener la misma situación en que se encuentra. De ahí que el progreso, el cambio social, el aprendizaje y la educación sean procesos tan endiabladamente difíciles. El aprender es antinatural desde el punto de vista informático. No debería existir, porque aprender es cambiar el programa, y un programa, por su naturaleza misma, no quiere ser cambiado. En lo profundo, ninguno de nosotros desea realmente cambiar, estamos felices como estamos NOTA 24; a menos que algo (una perturbación) nos haga infelices y entonces queramos volver a lo que éramos antes. En el proceso de volver a ser como antes éramos, y como un subproducto, podemos resultar reconstruyéndonos en otro nivel, al incorporarnos nuevas dimensiones. El cambio, entonces, parece deberse siempre a que en algún momento la vida "nos hace trampa" y nos cambia, sin que lo hubiésemos deseado. Tal vez, como lo han pretendido los psicoanalistas, lo único que en el fondo siempre hemos realmente querido es volver al claustro materno. Que en el proceso resultemos creándonos nuestro propio claustro, nuestra personalidad madura, sería solo una incidencia banal. Una teoría eficaz de la educación debería tratar de comprender a fondo esta característica inherente a la condición humana; one can only ignore it at his own peril.

Una de las consecuencias más obvias de este punto de vista parece ser que no tiene sentido hablar de representación mental de objetos externos o del mundo exterior como un todo. Nuestra interacción con el medio se da todo el tiempo por medio de la actividad del sistema nervioso, y la función de este no es representar sino solo mantener su propio equilibrio. Cuando algo sucede, esto que sucede en el exterior no va a ser representado uno a uno en sus elementos en la parte interior; más bien, el sistema como un todo va a ser afectado por toda la actividad agresiva del medio ambiente. Quizá Maturana tenga razón, y algo parecido a esta tesis sea la verdad de la condición biológica (y humana, por implicación). Pero muchas veces la verdad práctica es distinta que la verdad última (si es que podemos en algún sentido ascender a ella). En la consideración de los fenómenos perceptivos nos es muy difícil no admitir que hay una correspondencia muy exacta entre –por ejemplo– la posición de un objeto y una cierta excitación de la retina. En algún sentido existe una representación, para todos los efectos prácticos de la teoría de la cognición. Que el mecanismo para llegar a esto arranque con una perturbación global de todo el sistema nervioso; está bien, podemos aceptarlo. La mecánica subsimbólica que sustente el sistema de símbolos físicos puede ser la que ustedes quieran, pero el resultado es simbólico y representativo, o no podríamos operar informáticamente sobre él. Nada muy diferente ocurre con las máquinas de cómputo: todos los fenómenos físicos que ocurren ahí pueden probablemente ser explicados en términos de "perturbaciones globales" (los fenómenos del campo electromagnético tienen precisamente esa característica de globalidad). Pero en un nivel apropiado, lo que comienza por ser global y analógico (continuo) llega a ser atómico y digital (discreto).

Lo mismo cabe decir sobre el carácter cerrado o abierto del sistema. Tal vez como verdad última no haya entradas ni salidas de una mente o de una computadora. Pero la verdad práctica es otra cosa: no hay duda de que operacionalmente existen esos canales para recibir insumos y para devolver resultados. Que esos canales sean forzados sobre la naturaleza aislada de la "cosa en sí" informática, que se les llame perturbaciones o violaciones de intimidad o lo que sea, podemos aceptarlo. Que todo esto deba pasar a través de una reorganización total y permanente del sistema, ¡santo y bueno! Pero que en el nivel adecuado se nos permita proceder y hablar "como si" hubiera canales de entrada y salida (y representación). Consideramos a Leibniz como un gran pensador. En su Monadología nos propone que los componentes últimos de la realidad son unidades cerradas que, cada una de ellas, refleja el universo entero, aunque no tienen ventanas en absoluto. Estamos listos a aceptar esta visión como una interpretación mítica, incluso poética, del universo. Incluso puede argumentarse que tiene una relación profunda con la teoría generalizada de la relatividad de Einstein, donde ningún objeto actúa directamente sobre otro sino "crea perturbaciones" a su alrededor (los campos, electromagnéticos o gravitatorios). Pero en el nivel adecuado siempre será valido argumentar que los sistemas comunican entre sí, envían y reciben mensajes y funcionan en todos los sentidos dentro de una concepción de sistemas abiertos totalmente compatible con la teoría atomista y mecanicista del universo.

Pero profundicemos todavía un poco más en la visión del mundo de Maturana. Introduzcamos en la discusión algunos de sus más importantes términos técnicos:

Un sistema autopoiético es un sistema que se hace a sí mismo. No es sino una forma idiosincrática de identificar a los sistemas autorregulados. Es un término literario, basado en una hipérbole, la idea de que algo puede "hacerse a sí mismo". Pero, podríamos preguntarnos, ¿cómo se hace? Toda alusión al mecanismo queda marginada. En cambio si decimos sistema autorregulado, sabemos exactamente cómo construirlo, con base en circuitos de retroalimentación, muy bien conocidos en la teoría del control. Un sistema se autorregula si desvía una pequeñísima parte de su energía para que retroalimente el sistema; es decir, para que reaccione ante la perturbación del medio ambiente midiendo la diferencia ocurrida en una "condición de referencia" y destinando recursos energéticos a eliminar esa diferencia NOTA 25. Tal vez los entusiastas de Maturana podrían replicar que en el enfoque de la teoría del control se pierde el carácter global de la perturbación y de la reacción del organismo. Pero lo cierto es que –como lo demuestra el auge de la biología molecular, la genética y la ecología basadas en principios mecanicistas– todos estos fenómenos "globales" pueden analizarse en mecanismos concretos y particulares que, en su conjunto, crean la apariencia de globalidad a que los filósofos organicistas son afectos.

Otro término introducido por Maturana es el de acoplamiento estructural. En este caso se trata también de una manera idiosincrática de llamar algo que en la comunidad científica se identifica como adaptación. Los organismos conocen, son capaces de tener percepciones, porque están acoplados estructuralmente (a un medio ambiente). Aquí también preferimos el término tradicional, "adaptación" que no solo expresa la idea de acoplamiento sino que nos dice cuál es el mecanismo que logra ese acoplamiento, a saber, variaciones aleatorias de generación en generación, ventajas diferenciales, y selección natural. Maturana se refiere a dos maneras de realizar este "acoplamiento". Una es por medio de la evolución, en relación con la especie, y otra por medio del aprendizaje, en relación con el individuo; pero queda muy oscuro cómo es que un sistema aprende. Nos dice que todo el sistema se transforma. Pero no se nos presentan los mecanismos detallados de tal aprendizaje, con lo que nos quedamos con la impresión de que estamos ante algo semejante a una "armonía preestablecida" al estilo de Leibniz: en este caso una correspondencia entre lo que hace el individuo internamente y lo que sucede en la realidad.

De nuevo encontramos aquí, en este concepto de acoplamiento estructural, la idea de que cada cosa que pasa, afecta globalmente al organismo. Otra vez sentimos como adecuada la analogía física del campo, electromagnético o gravitatorio. Los organismos no son partículas ni sistemas de partículas, son campos en que la realidad de la estructura se define por la interacción o copresencia de todas sus zonas geométricas.

La idea del campo se va a ser mucho más presente en un tercer "término técnico" del vocabulario de Maturana: dominio consensual. No podemos menos que reflexionar que existe en ciertos autores una tendencia muy fuerte, de productividad harto discutible, a la creación de vocabulario arbitrario, bajo la equivocada creencia de que la introducción de neologismos por sí misma puede aclarar problemas. Esta tendencia fue ya ridiculizada por Moliére, quien en la comedia "El enfermo imaginario" introduce con sorna la expresión "virtud dormitiva" –que no explica nada– para dar cuenta de las propiedades narcóticas del opio. En todo caso, un "dominio consensual" se produce cuando varias conductas de distintos organismos quedan integradas y se definen la una por la otra. Por ejemplo "masculino y femenino", "madre e hijo", definen dominios consensuales. Existe el ritual sexual que permite a los machos y a las hembras aproximarse unos a otras. Entonces existe un dominio consensual en el cual ellos están estructuralmente acoplados. Existe también el rito del amor materno y el amor filial, en que madre e hijo se integra