lunes, 23 de julio de 2012

¿Seré un Intelium XR15?: El Ser Humano como Unidad de Cómputo


¿Has pensado alguna vez que tu podrías ser un computador? Quizás parezca algo salido de la brillante mente de Julio Verne; sin embargo, actualmente los científicos de la computación están considerando esta idea para desarrollar una nueva generación de sistemas informáticos fundamentados en el Cómputo Humano.

A continuación haré un recuento de dónde provienen estas ideas y añadiré algunos conceptos a esta interesante discusión.

El Ser Humano como Unidad de Cómputo

Desde el punto de vista de la psicología cognitiva el ser humano está provisto por naturaleza de capacidades que le permiten ser útil como Unidad de Cómputo. Lpsicología cognitiva estudia los procesos que utilizan los seres  humanos para obtener información sensorial del entorno, transformarla, sintetizarla, elaborarla, almacenarla, recuperarla y utilizarla para resolver problemas. La psicología cognitiva se caracteriza  por separar el estudio de las representaciones mentales de los niveles de estudio biológico o neurológico.

Esta concepción está fundamentada en la metáfora del computador (1) que establece que la cognición es la capacidad de manipular símbolos (imágenes, sonidos, etc.) a través de determinadas reglas (condiciones) tal como si fuera un algoritmo que estuviese ejecutándose en nuestra mente.

Filosóficamente, la noción del ser humano como unidad de cómputo está fundamentado en la Teoría Computacional de la Mente o también llamado Funcionalismo y se refiere a la mente humana como una materialización de una Máquina de Turing; sin embargo este concepto fue discutido y extendido por Hilary Putman alegando que la Máquina de Turing es un autómata determinístico y que dado que la mente no se comporta de forma determinística sino probabilística sugirió entonces que la mente se puede concebir más bien como un autómata probabilístico o máquina de estado probabilística; es decir, aquel en el que el algoritmo especifica para cada estado y para un conjunto de entradas, la probabilidad para la cual la máquina entre en un estado subsiguiente y produzca una salida particular.

Según esta perspectiva, los procesos cognitivos son llevados a cabo por funciones que se ejecutan en la mente. Los psicólogos y los educadores usan el término Habilidades del Pensamiento para denominar dichas funciones. El término "Habilidad" es usado en el sentido la capacidad de expresar una conducta o ejecutar una función intelectual, social o física. También utilizan el término "Actividad" para referirse a la ejecución de una colección de habilidades, y el término "Estrategia" para referirse a cómo organizar las habilidades de una  Actividad con miras a lograr una meta. Algunas de estas habilidades son: percibir, observar, discriminar, identificar, emparejar, detallar, recordar, ordenar/secuenciar, inferir, comparar/contrastar, comunicar, categorizar/clasificar, describir/explicar, consecuenciar (de causa-efecto), predecir/estimar, analizar,resumir, generalizar, solucionar problemas y evaluar, que resume las habilidades de juzgar, criticar y opinar. 

Ahora bien, hay muchas interrogantes que surgen de lo dicho. Por ejemplo, ¿Todos los seres humanos están capacitados para ser unidades de cómputo...y en que medida?, ¿ Existe alguna formalización del concepto Habilidad?, ¿Si el ser humano ejecuta estas funciones en forma natural, qué utilidad tiene analizar este nuevo conocimiento? ¿Cómo saca ventaja el ser humano siendo una unidad de cómputo? ¿Tiene algún valor monetario mi trabajo como unidad de cómputo?

En lo que sigue trataré de dar respuesta a las dos primeras preguntas, el resto -y quizás otras que surgirán- quedarán para otros artículos.

¿Estoy capacitado para  ser una Unidad de Cómputo?

Seguramente si. De hecho uno de los objetivos de los diferentes curricula en la educación formal es el de enseñar a los estudiantes a desarrollar las habilidades del pensamiento; luego, toda persona que ha recibido algún nivel de educación formal estará capacitado en algún grado para ser una Unidad de Cómputo. No obstante, la diversidad humana ofrece una infinita gradación de cómo utilizar esas habilidades para realizar actividades cognitivas; cada persona aplicará dichas habilidades según su libre albedrío. También existen limitantes naturales que impiden realizar en todo o en parte algunas funciones; por ejemplo, una persona sorda no podrá usar la habilidad de percibir sonidos. 

Usaré el término Humano Computacionalmente Apto (HCA) para identificar a aquella persona que exhibe condiciones  para realizar una o más habilidades (funciones) cognitivas; es decir, que no posea  impedimentos naturales o artificiales que lo inhabilite para utilizar dicha capacidad cognitiva. 

Formalizando "Habilidad": Funciones Humano Computables 

Se podría pensar en formalizar el termino "Habilidad" si consideramos que una habilidad cognitiva es una función que ejecuta  la mente -considerada como una máquina de estado probabilística-. Usaré el término Funciones Humano Computables para referirme a ellas; así, una Función  Humano Computable (func_hc) es toda aquella función cognitiva que puede realizar un HCA.

¿Cómo Funcionan?

A diferencia de los computadores que utilizan  algoritmos predeterminados para resolver  problemas, el ser humano desarrolla una habilidad  -ya expresada- para identificar los procesos que le permiten solucionar problemas básicos que impliquen cognición. Dicha habilidad consiste en concatenar inductiva y consecutivamente Funciones Operativas Humano Computables en un orden tal que  permita resolver un problema -entendido como alcanzar una meta-. No hay un algoritmo que "guíe" el procesamiento, mas bien podría considerarse que existen dos niveles de Funciones Humano Computables que permiten realizar dichos procesos: las primarias (seleccionar_Funcion_Op() y autoiducir() ) y las operativas como por ejemplo percepcion_auditiva_Locacion() percepcion_Visual() y comparacion(). Estas últimas conforman un Espacio de Funciones Operativas Humano Computables.

La función seleccionar_Funcion_OP() escoge del  Espacio de Funciones Operativas Humano Computables aquella que según la circunstancia  tiene la mayor probabilidad de éxito para resolver un (o parte de un) problema. La función autoinducir() concatena los resultados de una función operativa con otra utilizando como "enlace" el resultado obtenido de la función anterior y el resultado esperado de la nueva función.

Por ejemplo, suponga que una persona está en un parque y le llama la atención el  trinar de un ave; en este caso la función operativa que le permitió oír el trinar del ave fue la función percepción_Auditiva_Sonido(); no obstante, la persona tiene curiosidad de ubicar el ave para observarla (e identificarla si es posible) en ese caso, y dado que el problema se traduce en ubicar e identificar al ave, las funciones operativas que tienen mayor probabilidad de éxito serán percepcion_auditiva_Locacion(), percepcion_Visual() y comparacion() por lo que la función autoiducir() concatenará el resultado de la función percepcion_auditiva_Locacion() a la función percepcion_Visual() la cual es seleccionada por la función seleccionar_Funcion_Op() como la de mayor probabilidad para obtener una imagen del ave. Posteriormente, la función autoiducir() concatenará el resultado de la imagen mental obtenida de la función percepcion_Visual() con la función  comparacion()  seleccionada por la función seleccionar_Funcion_Op() como la más probable para obtener la identificación del ave.

La función percepcion_auditiva_Locacion() identifica el lugar de donde viene el trino, la función  percepcion_Visual() obtiene una imagen mental del lugar de donde proviene el trino y la función comparacion() compara las imágenes mental obtenida con aquellas almacenadas en la memoria de la persona hasta conseguir una similar al ave observada y devuelve su nombre y características. Las dos primeras derivan de la habilidad "percibir" mientras la última deriva de la habilidad "comparar/contrastar".

Como toda función, las funciones humano computables se pueden especificar formalmente. A continuación se define  la función  percepción_Visual() como un ejemplo descriptivo de la definición formal de una función humano computable:

func_hc percepción_Visual (ubicacion_espacial: Locacion; 
                       agudeza: Proporcion;  especificidad: Objeto): ImagenMental
Inicio            
              dirigir_Mirada(ubicacion_espacial)
              enfocar(agudeza)
              percepcion_Visual = obtener_Imagen(especificidad)
f_funcion

Donde el parámetro ubicacion_espacial contiene la posición espacial a donde será dirigida la mirada de la persona; agudeza contiene una proporción de cuan específica será la imagen a obtener y especificidad corresponde a un objeto a enfocar en la imagen. Por ejemplo, en el caso de la observación del ave la ubicacion_espacial será la dirección indicada por la función percepción_Auditiva_Locacion(); agudeza será una proporción entre el objeto más próximo al sonido (probablemente un árbol) y el tamaño del objeto especificidad esperado (ave).

Queda como tarea pendiente catalogar el resto de las funciones humano computables.

Pues bien, con esto espero haber respondido las dos preguntas iniciales,... Ah! y la próxima vez que oiga trinar un ave sepa que en su mente están ejecutándose funciones que bien podrían hacer pensar que su nombre es Intelium XR15.

e-saludos,
Ricardo

Lecturas Recomendadas:

(1) A partir de los trabajos de Turing (1950) los psicólogos comenzaron una serie de investigaciones sobre la posibilidad de que la funcionalidad de la mente pudiera compararse con la de un computador lo cual dio origen al término "metáfora del computador". 








No hay comentarios:

Publicar un comentario