Mostrando entradas con la etiqueta IA. Mostrar todas las entradas
Mostrando entradas con la etiqueta IA. Mostrar todas las entradas

martes, 7 de julio de 2026

Programas, mente y libre albedrío

La mente humana es un programa, o sea, sigue una colección de instrucciones aprendidas. Es algo que ya intuia hace muchos años, pero hoy mientras hacía mi paseo matutino a las 7:00AM lo he visto aún más claro; será de tanto ver conflictos y desacuerdos a todos los niveles en las notícias internacionales y nacionales, en las reuniones de trabajo y de vecinos, en conversaciones informales, com familiares, sea donde sea los encuentras. 

Como ejemplo, llevo algunos años mirando "X", antes Twitter; a menudo, muy a menudo en realidad, leo opiniones fuertemente sesgadas ideológicamente, que llevan a hilos de discusiones fuertes, donde cada ideólogo se cierra en sus opiniones como si le fuera la vida en ello, incluso con descalificaciones personales e insultos. De nada sirve en estos hilos ser lógico, coherente, dar datos fiables, querer ser abierto y dialogante: o estás de acuerdo al 100% con quien discutes, o eres el enemigo a batir. No digo nada nuevo que no se sepa de esta (y otras) redes sociales, pero es importante tenerlo en cuenta para lo que sigue. 

Programas

Fuí programador de joven, cuando comenzaba en el mercado laboral, a finales de los 80 del siglo XX. Los programas entonces eran secuencias de instrucciones fijas, con un inicio y un final esperado, un resultado, que si no era como esperabas, indicaba que el programa era erróneo y debía ser corregido.

Eso sí, las instrucciones incluían decisiones, de forma que el comportamiento era variable dependiendo de los datos suministrados, esquemáticamente era como:

INICIO: leer los datos → decidir cómo se procesan, y procesarlos → dar los resultados, FIN.

Seguía una lógica rígida como:

IF tiene_fiebre THEN 

    IF tiene_tos THEN 

        IF tiene_dolor_de_cabeza THEN "Gripe"


Fragmento de programa clásico de cálculo de órbitas


Aunque ya en esa época habían los primeros programas orientados a la inteligéncia artificial que tenian un esquema distinto:

INICIO: leer los datos → proceso por el motor de inferència lógica → dar los resultados, FIN.

Mientras en el programa clásico las reglas de decisión y de proceso a realizar están mezclados y fijados por el programador, que fija el orden de las condiciones, en un motor de inferencia, las condiciones eligen su propio orden en función de los hechos disponibles, las reglas son datos independientes.

Las reglas podrían ser del estilo de:

  • Regla 1: Tiene tos AND Tiene fiebre → Conclusión Tos_i_fiebre
  • Regla 2: Conclusión Tos_i_fiebre AND Tiene dolor de cabeza → Conclusión : Gripe

Cuando recibe el dato "Tiene dolor de cabeza", el motor busca activamente en toda la base de datos qué reglas pueden activarse con lo que ya sabe. El camino de ejecución se crea dinámicamente uniendo reglas de forma lógica. Para los curiosos: en los 80 estas cosas se programaban en lenguaje PROLOG. 


Ejemplo de código PROLOG que determina parentescos familiares

Meta-programas

Los ingenieros y los teóricos de la programación sabían que como más flexible, adaptable, fuera un programa, más eficiente para resolver situaciones complejas, cambiantes, dinámicas, sería. Así que pensaron en un grado más de variabilidad más allá del sistema de reglas fijas de la inteligéncia artificial (IA) pionera: el motor de inferencia se rediseñó con órdenes para añadir una regla nueva a la base de conocimiento en tiempo de ejecución y también para eliminarla si la evaluación demuestra que es incorrecta: era la Programación Lógica Inductiva (ILP). En lugar de recibir las reglas hechas por un humano, estos sistemas reciben hechos positivos (ejemplos correctos) y hechos negativos (errores). Mediante la evaluación, el algoritmo escribe automáticamente nuevas reglas y borra las que fallan, aprendiendo conceptos de forma lógica.

Otra evolución de los programas de IA fueron los Algoritmos Genéticos muy útiles en sistemas de clasificación de datos (Learning Classifier Systems, LCS); en ellos las reglas "evolucionan" literalmente como si fueran seres vivos. Cada regla (por ejemplo: SI la bolsa sube AND el petróleo baja → COMPRA) tiene asignado un valor de confianza. Si la regla se aplica y da buenos resultados financieros, el sistema sube el valor de confianza, y si hace perder dinero, lo baja. Periódicamente, el programa elimina las reglas con menos puntuación y enlaza las mejores reglas entre sí, aplicando mutaciones al azar (!) para crear nuevas reglas adaptativas que sobrevivan mejor en el entorno dinámico de reglas, que es parecido a un ecosistema dodne sobreviven los más fuertes (los que tienen mayor puntuación).

  

Esquema de funcionamiento de un programa genético

El prefijo "meta" de meta-programas se refiere a esa capacidad del programa a progamarse a sí mismo, modificando sus propias reglas segun la retroacción recibida de sus respuestas anteriores.

Paralelismos con la mente humana

Los humanos tenemos no uno si no muchos programas funcionando simultáneamente en nosotros, y a diferentes niveles de complejidad. Para el nivel básico de programa con reglas fijas tenemos nuestros instintos y reflejos primarios:  si tocas un objeto muy caliente, tu mente no lo piensa: tiene un código fijado por la evolución que dice IF objeto_quema THEN aparta__mano, es un sistema de interrupción rápida, rígido y no negociable.

Para el nivel de motor de inferencia tenemos nuestro pensamiento consciente, analítico y racional: cuando resuelves un problema de matemáticas, juegas al ajedrez o planificas tus finanzas, tu mente actúa como un motor de inferencia. Tienes una "base de conocimiento" en la memoria y vas conectando hechos de forma dinámica para llegar a una conclusión. No existe un orden fijo; revalúas la situación a cada paso.

Y para el nivel de meta-programas tenemos el aprendizaje basado en la experiencia y los errores. No nacemos con todas las reglas sociales o profesionales programadas. Si aplicas una "regla mental" (por ejemplo: Cariño → Confianza) y alguien te traiciona (Resultado negativo), tu mente evalúa el daño y modifica la regla automáticamente en tu código interno: rebaja el peso de la regla o añade excepciones lógicas (Afecto → Confianza, EXCEPTO si hay señales de...). Es la característica llamada plasticidad cerebral que se traduce a código adaptativo. 

Esquema de niveles de programación activos en las personas

El meta-meta-control de los programas i de la mente

En la IA no todo se adapta desde dentro del sistema, hay una capa externa que son humanos evaluando millones de respuestas actuando como un control externo añadido a la capa meta-programación de ahí el doble "meta" pues modificar los modificadores de comportamiento. El motor de inferencia de la IA no puede responder con rabia o de forma lógicamente fría, pues el metacontrol le obliga a ser servicial y amable. 

En la mente humana el meta-control equivalente es la educación, la cultura y las leyes, que conjuntamente forman nuestra sociedad. Pero es un control menoe estricto que el de la IA. No evita programas criminales por ejemplo, tampoco depresivos o auto-destructivos. Los pensamientos negativos pueden crear lo que se denomina El bucle infinito o Memory Leak: cuando alguien sufre ansiedad o depresión, su mente se atasca en un bucle lógico defectuoso que consume todos los recursos del sistema. A diferencia de un ordenador, la mente se ataca a sí misma porque no tiene un botón de Reset. Y entonces se recurre a fármacos bloqueadores de actividad cerebral relacionada con la negatividad, que vendría a ser como modificar circuitos de un ordenador para evitar que allí se ejecuten reglas dañinas.

Y también está el tema ideológico/político que llega a anular buena parte de la plasticidad cerebral, creando humanos de pensamiento único, que en casos deplorables llegan a crear monstruos asesinos de masas, terroristas, dictadores, etc. Las ideologías totalitarias funcionan como un virus informático que distorsiona el funcionamiento dels sistema, bloqueando las reglas adaptativas; ya no importa el resultado de tus actos (aunque estés creando miseria o muerte), el sistema cerebro-mente ya no puede evaluar ni cambiar las reglas porque la ideología ha congelado el código. De hecho se adapta bloqueando la compasión y la empatía para poder seguir destruyendo disidentes más eficazmente. El motor de inferencia humano se convierte en ciego. Sin llegar a estos extremos, vemos también esta dinámica en el ejemplo de la red social X que hemos visto, y por supuesto en toda suerte de conflictos ideológicos a todos los niveles: uno se obstina en tener el punto de vista más correcto, y los demás son incorrectos. Es una versión relajada del pensamiento único.

Límites de la libertad y el libre albedrío

Si vemos el asunto desde la perspectiva del grado de libertad de los programas, es evidente que la IA  moderna tiene mucha más libertad de acción que un programa clásico con reglas fijas, pero no tiene libertad total pues su comportamiento es filtrado y afinado por humanos externos a la IA, y estes control es absoluto. En cambio hemos visto que la mente humana no tiene tal control absoluto, la socidad no es autoritaria hasta el extremo de ser capaz de filtrar todos nuestros pensamientos y acciones (un escenario terrible en el que han pensado algunos autores de ciencia ficción). 

La libertad humana permite saltarnos las reglas de la lógica clásica para crear arte, tener intuición, inventar la ciencia o amar de forma irracional. Pero esos mismos grados de libertad son los que permiten que el sistema operativo humano "delire", se vuelva loco, sea cruel o se convierta en un monstruo. En cambio la IA es un programa de alta utilidad, altamente controlado, amable e incapaz de realizar un golpe de estado. Pero precisamente por eso, porque su metacontrol es absoluto, la IA no tiene auténtica libertad, ni auténtica creatividad, ni empatía real; sólo simula el código que le hemos permitido ejecutar.

¿Libre albedrío?

Mucha gente "cree" o "siente" que tienen libre albedrío en un grado que no se correponde con la realidad, pues confunden el tomar decisiones conscientes (desde la mente consciente) con libertad total "vigilada" (por las reglas sociales) pero en realidad las decisiones vienen muy influenciadas por programas inconscientes, por impulsos insconcientes, y emociones irracionales no controladas. Así, el grado de libertad final es menos que el aparente.

Nuestras decisiones reales están profundamente influenciadas por "programas heredados" (legacy code) que no controlamos: traumas del pasado, sesgos cognitivos, impulsos evolutivos de supervivencia y torrentes de neurotransmisores (hormonas, emociones irracionales) que actúan como variables globales invisibles. Estas variables ocultas alteran secretamente las reglas de nuestro motor de inferencia sin que nos demos cuenta. Crees que has elegido libremente el coche rojo, pero tu código inconsciente ha alterado el peso de la decisión en base a una emoción reprimida de la infancia. Tu grado de libertad real es minúsculo comparado con lo aparente.

La libertad intrínseca, trascendente

La verdadera libertad está en la conciencia, en Ser la conciencia de que "ve" los pensamientos surgir, porque se puede hacer independiente de los pensamientos, y eventualmente puede llegar a crear personas no identificadas con su pensamiento, y por tanto intrínsecamente libres. 

La mayoría de la gente vive "identificada" con el programa: si el código arroja un pensamiento de rabia o de miedo, el humano se cree que él es esa rabia o miedo. La verdadera libertad nace en el preciso momento en el que das un paso atrás y te das cuenta de que él es la conciencia que ve surgir el pensamiento, no el pensamiento en sí mismo. El programa sigue ejecutándose, pero ya no te domina.

Externamente es imposible ser totalmente libre viviendo en sociedad, es necesario respetar muchas reglas, pero la persona internamente se siente totalmente libre. La persona que logra desidentificarse de sus pensamientos alcanza una libertad intrínseca y absoluta. Puedes estar atrapado en un atasco de tráfico o cumpliendo normas estrictas (restricciones externas), pero por dentro, si te debes sólo al espacio de tu conciencia pura, te sientes completamente libre y en paz.








martes, 11 de septiembre de 2012

¿Podemos controlar nuestra propia mente?

Este post es la continuación natural de uno anterior, ¿Puede la mente entenderse a sí misma?, pero aportando otro punto de vista. Hablamos de reglas, de reglas sobre reglas (o meta-reglas), de sus aplicaciones en juegos, en Inteligencia Artificial, y en la comprensión de la mente y de la idea del "yo".


Un juego con reglas cambiantes: las meta-reglas.
Tablero de parchís (Wikipedia)
Pensemos en un juego de mesa simple, por ejemplo el parchís. Hay unas piezas que movemos en una ruta trazada por el tablero, avanzando el número de casillas indicado por un dado que lanzamos por turnos, siempre en una dirección determinada. Además hay una serie de reglas adicionales que establecen restricciones a los movimientos de cada jugador y permiten establecer el ganador de la partida. Estas reglas son fijas e inamovibles.



Supongamos ahora que permitimos modificar las reglas mientras jugamos:  al completar cada turno los jugadores pueden decidir cambiar alguna de las reglas, por ejemplo lanzaran dos dados en vez de uno solo y avanzaran las casillas indicadas por la suma de las puntuaciones, o se permitirá retroceder el camino realizado. Entonces en cada turno podremos tener un juego distinto, basado en el parchís original. El conjunto de todos esos juegos formará un  juego del parchís dinámico, que sera único en el sentido de que si otro día empezamos otra partida, es muy probable que sus reglas sean diferentes.

A poco que pensemos nos daremos cuenta de que, si damos libertad total de cambio de reglas, fácilmente llegamos a un juego caótico: es posible que no termine nunca, o bien que no quede claro quien es el ganador, pues conforme cambiamos las reglas también cambian los objetivos y estrategias a corto plazo de los jugadores, y bien pudiera ser que se perdiera el objetivo a largo plazo: ganar la partida. Por esta razón seria necesario establecer unas limitaciones a los cambios de las reglas que garantizaran el no degenerar en el caos. Es decir, necesitamos unas reglas sobre las reglas: es lo que se denomina unas meta-reglas. Por ejemplo, una meta-regla puede establecer que en cada juego del parchís dinámico sólo podrá cambiarse una de las reglas.

Podemos ir más lejos y decidir que la meta-regla puede también cambiarse; así, estableceremos que en cada juego del parchís dinámico podrán cambiarse n de las reglas, siendo n un número comprendido entre 0 i N (el número total de reglas del parchís) que decidiremos en cada partida. Tenemos por tanto una regla sobre la meta-regla: una "meta-meta-regla". 

Evidentemente podríamos seguir añadiendo reglas sobre reglas, creando una jerarquía de reglas y "meta-...-meta-reglas". Cada nivel de reglas establece cómo pueden modificarse las reglas del nivel inferior, y puede a su vez ser modificado por la reglas del nivel superior. El punto importante ahora es: siempre existirá un nivel superior de meta-reglas fijas que no puede ser modificado, controlando toda la jerarquía de reglas, que es el que en última instancia evita que el juego degenere en caótico. Esta última afirmación, la necesidad de una regla fija de orden superior, está lejos de ser evidente, puede intuirse, pero su demostración es compleja, y está relacionada con los famosos teoremas de Gödel que en este mismo blog he mencionado en algunos posts anteriores; aquí no entraremos en tales sutilezas matemáticas. 

Meta-reglas en Inteligencia Artificial (IA)
Las jerarquías de meta-reglas tienen gran importancia en IA pues permiten diseñar sistemas con reglas flexibles, un atributo necesario para que el sistema sea adaptable y pueda aprender. Así, por ejemplo, se pueden diseñar programas de ordenador en el lenguaje LISP que son capaces de modificarse a sí mismos, ejecutando acciones que se adaptan a los datos. Antes decíamos que un aspecto importante de las jerarquías de meta-reglas es la existencia de unas reglas fijas de nivel superior para evitar comportamientos caóticos; en el caso de los programas LISP, en última instancia son ejecutados por otro programa, el intérprete LISP, que opera siempre con reglas fijas.

Además, en el caso de la IA tenemos otro nivel fijo: el propio "hardware" del ordenador, sus circuitos. Realmente las instrucciones se ejecutan en los circuitos, que también tienen un diseño fijo.

Enredando la jerarquía: entrelazamiento de reglas.
Volvamos al parchís dinámico: hemos permitido modificar las reglas, pero los elementos físicos, el tablero, los dados y las fichas, son fijos. De alguna forma, podemos relacionar estos elementos fijos con los circuitos del ordenador, y las reglas con los programas de ordenador. Pero...¡espera un momento! ¿qué nos impide cambiar también los elementos físicos? Podemos incluir nuevas reglas que modifiquen el número de fichas, sus colores, el número de casillas del tablero, etc. Así, habrán meta-reglas para cambiar las reglas del juego, y meta-reglas para cambiar sus elementos físicos. Evidentemente estas meta-reglas físicas, por así llamarlas, también deberán tener sus limitaciones para evitar el caer en juegos caóticos.

Pero ahora podemos tener un nuevo problema: al cambiar arbitrariamente los elementos físicos podría darse el caso de que fueran incompatibles con las reglas, creando situaciones irresolubles. Este es un problema distinto al del juego caótico: no se trata ahora de que el juego no pueda ser ganado por nadie, sino de algo peor: la configuración del tablero, las fichas y los dados podría ser incompatibles con las reglas del juego, y simplemente no podríamos jugar. Por ejemplo, establecer un "dado" con sólo cuatro puntuaciones posibles, {1,2,3,4}, sería incompatible con la regla "sacar un 5 en el dado para mover por primera vez poder una ficha que aún no se ha usado".

En un juego tal como éste, hay dos jerarquías de reglas, pero no son independientes, sino que se entrelazan unas con otras, de forma que se pueden crear situaciones irresolubles. Para evitarlo, necesitamos algún mecanismo de control que evite reglas incompatibles. De nuevo, podemos pensar en un conjunto de meta-reglas que está por encima de las dos jerarquías de reglas, en un nuevo nivel superior.

Entrelazamiento de la mente y el cerebro
Demos un enorme salto de complejidad hasta nuestro cerebro (elemento físico) y nuestra mente (reglas lógicas). Se sabe des de hace ya algún tiempo que la intrincadísima red de neuronas que constituye el sustrato físico de la mente y los propios pensamientos constituyen dos sistemas entrelazados, de forma que uno influye en el otro. Cuando aprendemos, se forman nuevas conexiones entre las neuronas. Estas conexiones facilitan la aparición de nuevas ideas, que a su vez pueden formar nuevas conexiones...

Entonces, tal como hemos visto en los ejemplos anteriores, ¿pueden crearse conflictos entre circuitos neuronales (reglas físicas) y conceptos mentales (reglas lógicas)? Aquí entramos en terreno desconocido, aunque yo me atrevo a aventurar que sí se producen reglas contradictorias, y que una posible prueba de ello la tenemos en la complejidad del comportamiento humano, en las múltiples patologías del comportamiento en las que podemos caer. Para fundamentar mi tesis, me centraré en una de las facetas superiores de la mente humana: la idea del "yo".

¿Quienes somos en realidad?
Cuando intentamos averiguar quienes somos tenemos que enfrentarnos a una enorme, compleja, y contradictoria avalancha de información confusa, tanto procedente del exterior como de nuestra propia mente. Tenemos que lidiar simultáneamente con la necesidad interior de autoestima y con el continuo flujo de datos externos que a veces nos reafirman, pero otras veces hacen todo lo contrario. La misma personalidad es una red de ideas, instalada en cierta área del cerebro, constantemente afectada por la información que fluye, magnificando ciertas áreas, negando otras, creando contradicciones, y intentando reconciliar lo que queremos ser, lo que imaginamos ser, y lo que somos en realidad. Las contradicciones que se generan frecuentemente conducen a diversas patologías, debido a incoherencias y a reglas incompatibles. 


Limpiando la mente de incoherencias
Siguiendo nuestra línea de razonamiento, necesitamos alguna meta-regla de nivel superior que impida las incoherencias y las situaciones irresolubles, entendiendo por nivel superior, por encima y fuera de la estructura neuronal donde está instalada la personalidad, y también fuera de la estructura mental que forma la personalidad. Veamos dos categorías de meta-reglas: la científica y la, digamos, filosófica.

Cuando acudimos al psicólogo de alguna manera la mente del psicólogo juega el papel de reglas externas lógicas de nivel superior, que intentan poner orden en el caos generado en la mente del paciente. Es la forma que la ciencia tiene de imponer meta-reglas de tipo lógico (ideas) para deshacer las incoherencias mentales. La otra forma científica de atacar el problema es la del psiquiatra, que usando medicamentos, altera ciertos aspectos de la estructura física, alterando así los pensamientos asociados. 

En cuanto a los medios no científicos, citaré la técnica de la meditación. Según los iniciados en ella, es posible conseguir que la conciencia trascienda la mente, de forma que podemos elevarnos, por así decirlo, por encima de nuestros pensamientos, y así poner orden en ellos, desactivando los que son potencialmente dañinos, y vigorizando los positivos. Debido a que la conciencia en sí todavía no es comprendida por la ciencia, este método ha de clasificarse como no-científico por el momento. No obstante, está siendo estudiado por neurólogos el efecto de la meditación en el cerebro, y efectivamente se ha constatado que existe un efecto observable. Según el razonamiento de este post, deberíamos asignar a la conciencia un rango superior al de la mente ordinaria, pues es capaz de coordinarla. Más atrevido sería aplicar a rajatabla nuestro razonamiento y  darle a la conciencia un rango superior al propio cerebro, situándola por encima de los dos sistemas mente-cerebro. Con ello entraríamos en un terreno demasiado esotérico para este blog, aunque no puedo descartarlo, simplemente no toca discutirlo aquí.

Bibliografia
  • Douglas R. Hofstadter: Gödel, Escher, Bach



sábado, 31 de diciembre de 2011

Aleatoriedad, errores e inteligencia artificial


Aleatoriedad
Se dice que un sistema presenta aleatoriedad cuando sus estados no pueden predecirse de forma exacta, sino como mucho usando probabilidades. En la Física clásica se suponía que los sistemas aleatorios lo eran por desconocimiento de su funcionamiento exacto, debido a imposibilidades prácticas o a que el sistema era demasiado complejo. 

Así, el típico experimento aleatorio de lanzar una moneda realmente es determinista, pues dados sus posición y velocidad inicial exactas, así como sus propiedades físicas (masa, geometría, momento de inercia, ...) y aplicando las leyes de la mecánica ha de ser posible determinar su estado final. 
Llama con forma caótica
Esta visión determinista se derrumbó con la Mecánica Cuántica la cual introduce un factor de aleatoriedad insalvable propio de la Naturaleza, aunque sólo en el dominio de lo extremadamente pequeño.

Por otra parte en los denominados sistemas caóticos encontramos que a pesar de ser deterministas, son tan sensibles a cualquier variación de su estado inicial que en la práctica se comportan como si fueran aleatorios. Tal es el caso del lanzamiento de la moneda, pero también de ejemplos más interesantes  como el clima,  la formación de cristales, o la forma de las llamas de un fuego.


El problema de la generación de números aleatorios
La generación de números aleatorios por ordenador es de gran importancia práctica, pues nos permite simular sucesos aleatorios. Pero resulta que no es fácil generarlos, ya que por definición un programa de ordenador es una secuencia determinada de operaciones, que se ejecutan una detrás de otra, sin posibilidad de introducir aleatoriedad, en principio. De hecho, la mayoría de programas de generación de números aleatorios son de hecho "pseudoaleatorios": usan algoritmos matemáticos que, dado un valor inicial (conocido por "semilla")  generan una secuencia definida de números x1, x2, x3, ..., de forma que para cada valor de la semilla se genera una lista distinta.

Una forma de que un algoritmo genere aleatoriedad es proporcionándole datos aleatorios desde el exterior; el propio hardware del ordenador puede proporcionarla a través de procesos impredecibles, como los movimientos de la cabeza lectora del disco duro o la tasa de actividad de la CPU.  La generación de aleatoriedad por hardware suele aprovechar fenómenos físicos altamente impredecibles, como el ruido eléctrico.

Movimiento browniano: trayectoria caótica seguida por una partícula
muy pequeña en un fluido; la dirección y la velocidad cambian repentinamente
conforme van rebotando en ella las moléculas del fluido, sin ningún patrón predecible.
En el caso de algunos algoritmos de generación de claves para criptografía como el GPG, se pide la colaboración del usuario para generar aleatoriedad:  mientras se genera la clave ha de realizar cuantas más acciones mejor, como mover el ratón rápidamente o re-dimensionar ventanas de aplicaciones; a este proceso se le llama generación de entropía.
Observemos que estos métodos utilizan de hecho sistemas físicos caóticos para generar aleatoriedad que no tienen porque ser realmente aleatorios, sólo demasiado complejos para ser predecibles. Actualmente empiezan a aparecer sistemas que recurren a los procesos cuánticos para generar auténtica aleatoriedad, como es el caso de la empresa suiza ID Quantique que vende sistemas de generación de claves aleatorias basadas en las propiedades cuánticas del fotón.

Errores aleatorios en las mediciones
Cuando medimos una magnitud física, es inevitable que el instrumento de medida afecte a la cantidad que deseamos medir; además, la medida estará afectada en algún grado por el denominado error experimental. Si el instrumento está bien calibrado y somos cuidadosos en el procedimiento de medida, entonces los errores serán totalmente aleatorios, y además sus probabilidades estarán determinadas por la distribución normal de probabilidad


Aleatoriedad y errores en la mente
Nuestra mente es una maravilla capaz de enviar un robot explorador a Marte o de enunciar la teoría de las cuerdas en un espacio de 10 dimensiones. Sin embargo, también destaca su elevada irracionalidad en ciertas ocasiones, así como su capacidad de cometer errores de todo tipo, disfunciones y aberraciones del comportamiento. A veces, la mente parece funcionar distorsionada como si algún "demonio" se hubiera infiltrado  en su interior. Esta es una característica distintiva de la mente humana en relación con la inteligencia artificial (IA), que no es tan dada a comportamientos erráticos.
Podemos preguntarnos, ¿estas disfunciones son errores aleatorios del cerebro? En esta pregunta hay dos tesis: (1) ¿el cerebro tiene errores de funcionamiento que se traducen en disfunciones mentales?, y (2) ¿estos errores no siguen ningún patrón predecible, se producen sin posibilidad de predicción?

Test de Turing
Test de Turing: ¿quien responde es
humano o máquina?
Sea como sea, los programas no tienen este tipo de errores pues son deterministas. Alan Turing, precursor de la informática y la IA, propuso en 1950 un test, el test de Turing, para discernir entre una mente humana y una artificial. Consiste en realizar el mismo conjunto de preguntas a un humano y a una máquina; de las respuestas que obtenemos se nos oculta quien las ha hecho, si hombre o máquina. Entonces si somos incapaces de deducir simplemente  analizando las respuestas si provienen de uno o del otro, diremos que la máquina ha superado el test, y muestra una inteligencia similar la la humana. El test es tan potente que hoy en día ni siquiera se utiliza debido a que se considera que ningún programa podría superarla. 

Lo que más se le acerca actualmente son los denominados chatterbots, que simulan una conversación humana pero limitada a un contexto determinado, como por ejemplo los asistentes virtuales de compras. A continuación tenemos un dialogo entre un humano (H) y el asistente virtual de RENFE Irene (I)

H: buenas tardes
I: Aquí me tienes, ¡buenas tardes!
   ¿Me dices cómo te gustaría que te llamara?
H: Pepe   
I: Fenomenal. A partir de ahora te llamaré Pepe.
H: ¿sales esta noche?
I: Me paso en esta ventana todas las horas del año... ¡Ojalá pudiera salir de aquí! Por cierto, Pepe, ¿en qué ciudad estás tú?
H: En Bombay
I: Preguntaba por una ciudad, da igual.
H: Quiero saber los horarios de cercanías
I: Tienes los horarios y recorridos de Cercanías. Los tienes en este enlace.

Un bot de tipo general que funciona aceptablemente es Cleverbot.
La habilidad de conversación del chatterbot suele limitarse a su área de conocimiento. En el caso de un programa que simulase ser un matemático, el propio Turing advirtió que el programa para superar el test debía ralentizar su respuesta e introducir algún error de vez en cuando para parecer un ser humano.  La introducción de errores en la respuesta podría ser aleatoria o bien producirse después de una larga serie de preguntas, para simular cansancio. Como ya hemos visto, este error intencionado aleatorio puede vincularse a una fuente de aleatoriedad generada por el mismo hardware de la máquina.

Aprender de los errores
Es sabido que los errores son una fuente de aprendizaje, tanto es así que una de las formas de aprender algo nuevo es por la técnica del ensayo-error, en la cual probamos algo nuevo, evaluamos el resultado, y corregimos los errores, para volver a ensayar de nuevo. Así pues, es importante que los ordenadores se equivoquen y sepan aprender de sus errores para simular el comportamiento de la mente. Los programas basados en redes neuronales simulan una red  reducida de neuronas; principalmente se utilizan para aprender a reconocer patrones: se les proporcionan unos datos de entrada con los cuales "aprenden", para después ser capaces de reconocer patrones similares. Este aprendizaje se basa en el ajuste de parámetros internos de la red usando el método ensayo-error. Por ejemplo las redes neuronales se pueden usar para leer los códigos de barra a pesar de haber manchas, arrugas o de una impresión de baja calidad.




Programas, mente y libre albedrío

La mente humana es un programa, o sea, sigue una colección de instrucciones aprendidas. Es algo que ya intuia hace muchos años, pero hoy mie...