TEST DE TURING

CONCEPTO

El Test de Turing nace como un método para determinar si una máquina puede pensar. Su desarrollo se basa en el juego de imitación.

La idea original es tener tres personas, un interrogador, un hombre y una mujer. El interrogador está apartado de los otros dos, y sólo puede comunicarse con ellos escribiendo en un lenguaje que todos entiendan. El objetivo del interrogador es descubrir quién es la mujer y quien es el hombre, mientras que el de los otros dos es convencer al interrogador de que son la mujer.

1.PNG

La variante introducida por Turing consiste en sustituir a uno de los interrogados por un ordenador. Se pueden dar dos casos, que se sustituya al hombre, con lo cual sólo el ordenador tendría que aparentar ser una mujer, o que se sustituya a la mujer, con lo cual tanto el hombre como el ordenador estarían imitando. Aunque esta última opción podría ser un experimento interesante, no se intenta comprobar la habilidad de imitar a una mujer, así Turing cambia el objetivo de conocer el sexo por el de reconocer la máquina. La finalidad de estos cambios es hacer el juego lo más justo posible. Lo primero, es que no tiene que consistir en un concurso de engaños, por lo que uno de los implicados no tendría por qué aparentar ser otra cosa. Otro detalle es que a Turing poco le importa si el ordenador emplea trucos preestablecidos para eludir o manipular las respuestas (por ejemplo, equivocándose en preguntas aritméticas o tardando más tiempo del necesario en responderlas). Supone que el interrogador también les empleará para reconocerle, así que lo importante es lo que resulta del juego, no los métodos que se emplean para jugar ni los mecanismos internos de razonamiento, que, entre otras cosas, también son desconocidos en el ser humano.

Una máquina podría pasar el test de Turing cuando el interrogador no lograra reconocerlo en un número significativo de ocasiones.

OBJECIONES

Nada más aparecer el Test de Turing, también salen a la luz las primeras críticas. La mayoría de ellas estaban basadas en temas éticos y religiosos, y muchas de las posiciones más críticas venían de personas que consideraban que el ser humano era muy especial y que ninguna máquina podría ni siquiera acercarse a las capacidades de este.

Una de las primeras objeciones es matemática. El teorema de Gödel afirma que en un sistema lógico con la suficiente potencia se pueden crear frases que no pueden ser ni probadas ni refutadas dentro de él. Sin embargo, Turing afirma que de los errores o confusiones tampoco está libre la mente humana, y esto merma la capacidad intelectual.

Otra dificultad es la falta de conciencia. Se afirmaba que para que una máquina fuera mentalmente activa debería tener conciencia, tanto de sí misma como de los demás, y generar sentimientos positivos o negativos sobre la información que le llega o las acciones que realiza. El solipsismo es una radicalización de esta idea, que sostiene que la única manera de saber si una máquina piensa es ser esa máquina. El problema es que, siguiendo esta idea, la única manera de saber si otro ser humano piensa es ser ese ser humano, lo que se conoce como el problema de las otras mentes. Turing afirma que, si entre los seres humanos se considera políticamente correcto obviar el solipsismo, también debería hacerse con las máquinas. Y cómo la única forma de resolver el problema de la falta de conciencia es el solipsismo, lo más adecuado es que tampoco se considere.

Con la objeción de Lady Lovelace se quiere mostrar la idea de que las máquinas nunca podrían generar nada nuevo, sorprendente o distinto. Como dice Turing (y como cualquiera que haya utilizado, por ejemplo, un programa de cálculo estructural o simplemente conocidos sistemas operativos de ventanas, podría ratificar), el ordenador, siendo una máquina, puede sorprender continuamente. Aunque esto no puede considerarse como un proceso mental creativo, puede que la creatividad se realice en la mente del observador, y no en el generador. Por ejemplo, tanto puede sorprender un libro como una persona o un coche.

Al problema de que la máquina sea un sistema discreto mientras que la mente humana un sistema continuo (problema de la continuidad del sistema nervioso), Turing responde que cualquier sistema continuo se puede discretizar con suficientes recursos de forma que no se note la diferencia entre uno y otro.

Para finalizar, se puede hablar del problema de la informalidad de la personalidad. El comportamiento humano no puede describirse con un conjunto de reglas útiles en cualquier situación. La respuesta de Turing consiste en que hay diferencias entre reglas de conducta (por ejemplo, con el semáforo en rojo, pare) y reglas de actuación. Las reglas de conducta pueden enumerarse, pero no las de actuación, porque, entre otras cosas, muchas se desconocen. Pero Turing también afirma que aún con unas pocas reglas de actuación en un sistema discreto las respuestas pueden ser totalmente inesperadas y distintas, de forma que, al igual que en un ser humano, no se pueden preveer.

LAS PREDICCIONES DE TURING

El artículo de Turing recoge muchos comentarios audaces sobre las posibilidades de la inteligencia de las máquinas, que en aquel momento muchas parecían de ciencia ficción. Turing creía a los computadores capaces de desarrollar tareas humanas y de un modo humano, que las dificultades de diseñar máquinas pensantes eran principalmente de programación y que las “proezas” que él esperaba de las máquinas serían realizables en un futuro previsible (como ajustar su propio programa o predecir el efecto de alteraciones en su propia estructura).

Lo que en 1950, en términos de velocidad y capacidad en ordenadores era inimaginable, es ahora realidad. Sin embargo, las predicciones de Turing sobre máquinas y el Juego de Imitación, son todavía un desafío (Turing pensó que en unos 50 años habría máquinas que “jugarían” tan bien al Juego de Imitación que un interrogador no tendría una probabilidad mayor al 70 % de realizar la adecuada identificación tras cinco minutos de cuestiones)

DEL JUEGO DE IMITACIÓN AL TEST DE TURING.

AÑOS 1960 Y 1970.

Las primeras alusiones al Test de Turing (TT) fueron mayoritariamente filosóficas.

  1. Comentarios de Keith Gunderson

En su artículo “The Imitation Game” (1964, Mind) enfatiza dos puntos:

Cree que jugar al Juego de Imitación con éxito es un fin que puede ser alcanzado a través de diversos medios y particularmente, sin poseer inteligencia.

Sostiene que pensar es un concepto general y que jugar al Juego de Imitación no es sino un ejemplo de lo que las entidades pensantes pueden hacer

Los dos puntos son claramente críticos con la validez del Juego de Imitación como una medida de la inteligencia.

  1. Réplicas de John G. Stevenson

Lanza varios argumentos contra Gunderson en su artículo “On The Imitation Game” (1976). Una de estas objeciones es que para Gunderson el hecho de ser capaz de jugar al Juego de Imitación es simplemente un ejemplo, cuando no es así, ya que una máquina buena en dicho juego es capaz de hacer cosas impresionantes, dice, aunque no las haga de forma tan exhaustiva como en pensamiento humano.

  1. El Test de Turing como Ciencia Ficción.

Richard Purtill publica en 1971 un artículo en Mind, “Beating The Imitation Game” donde critica ideas de Turing. Piensa que el juego es interesante, pero como parte de la ciencia ficción. Encuentra que es inimaginable construir en un futuro previsible una máquina que juegue al Juego de Imitación, que es un sueño humano. Manifiesta que si algún día las máquinas se comportan como en la ciencia ficción, asentirá que piensan. Los ordenadores no son capaces de “jugar” exitosamente porque, para él, el comportamiento de los seres pensantes no es determinista y no puede ser explicado en términos puramente mecánicos.

Geoffrey Sampson ataca brevemente los argumentos de Purtill en “In Defence Of Turing”. Cree que el comportamiento de los computadores es determinista porque están diseñados por humanos, quienes tienen herramientas que les permiten estudiar cómo se comportan.

AÑOS 1980 Y 1990.

La Habitación China

A principios de los 80 John Searle propone un ejemplo:

Una persona que no sabe ni una palabra de chino es encerrada en una habitación.

Hay una apertura en el cuarto a través de la cual pasamos hojas de papel que contienen frases en chino, que para la persona, son garabatos sin significado. Pero tiene en la habitación un “Libro de Chuletas para el Test de Turing Chino”, de manera que al enviarle un escrito, consulta el libro y puede dar como respuesta cierta secuencia de símbolos chinos, cuyo significado, por supuesto, desconoce. Para la gente de fuera de la habitación parecía que la persona encerrada en la habitación entiende chino perfectamente, pero no es así. Estaría pasando el Test de Turing Chino sin saber nada de dicho idioma. Esto es claramente una crítica al TT y a la visión computacional de la mente.

SOAPUI

soapUI-logo.pngSoapUI es una herramienta de gran alcance diseñada para ayudar en la prueba y el desarrollo de aplicaciones. Permite efectuar el testeo de la web, con docenas de características, incluyendo una interfaz simple, fácil e intuitiva. Permite la utilización de métodos de captura y repetición, siendo una herramienta de gran ayuda en la realización de pruebas de carga de gran alcance, informes detallados, gráficos, etc.

SoapUI trae embebido el navegador Internet Explorer de Microsoft, permitiendo la monitorización y el control de las acciones que en él se producen.

Esto permite:

  • Realizar capturas de los parámetros del cgi, las páginas y los framesets solicitados.
  • Modificar capturas y poder volverlas a ejecutar en cualquier momento sin necesidad de volver a ejecutarlas.
  • Grabar las capturas como scripts y poderlas compartir dentro del entorno de trabajo.
  • Capturar la estadística del funcionamiento mientras se ejecuta una prueba.
  • Realizar pruebas de regresión de áreas enteras de sitios web complejos en un solo clic.

Las principales funcionalidades que aporta la herramienta soapUI son:

  • Soporte a SOAP 1.1 y 1.2.
  • Incorpora un monitor SOAP para capturar y analizar el tráfico.
  • Inspecciona Web Services WSDL y REST (tanto WADL como WADLess) y los visualiza jerárquicamente.
  • Genera automáticamente los tests y las peticiones SOAP de las operaciones definidas en el descriptor WSDL o WADL.
  • Permite verificar la conformidad de un WSDL según los estándares WS-I*.
  • Opcionalmente, puede utilizarse el scripting de Groovy para que el comportamiento de los tests sea dinámico.
  • Soporta varios métodos de autentificación: Basic, Digest, WS-Security y NTLM Web Service.
  • Soporta diferentes tecnologías de ficheros adjuntos: MTOM, SOAP con Attachments, ficheros Inline para WSDL y MIME Attachments para REST.
  • Verificación del contenido de mensajes con Xpath y Xquery.
  • Versatilidad en la configuración del test de carga, pudiendo indicar el límite (en tiempo o peticiones), el número de threads de ataque, el método HTTP de la petición (POST, GET …).
  • Permite exponer Web Services de simulación (o mocking) con el contenido de respuesta personalizable.

Pruebas Funcionales

SoapUI soporta pruebas funcionales de Servicios Web suministrando un caso de prueba con un número de pasos que pueden ser ejecutados en secuencia. En la actualidad, hay seis tipos de pasos que proporcionan muchas posibilidades de prueba. Los casos de prueba están organizados en un grupo de pruebas y, en un mismo proyecto, se pueden crear varios grupos de pruebas.

Las pruebas funcionales, en soapUI, se pueden usar para una variedad de propósitos:

  • Unidad de prueba: valida que cada operación del Servicio Web funciona como se indica.
  • Pruebas de compatibilidad: valida que el resultado devuelto por el Servicio Web es compatible con su definición.
  • Prueba de procesos: valida que una secuencia de invocaciones de Servicios Web ejecuta un proceso de negocio requerido.
  • Pruebas guiadas por datos: valida que cualquiera de los anteriores funciona como requerimiento de datos de entrada procedentes de fuentes externas (por ejemplo, una base de datos u otro servicio Web)