Antes de seguir no me resisto a incluir aquí una de las frases lapidarias atribuidas a Dijkstra (no verificada) y sacada de las Wikicitas a propósito de nuestro debate:
«La pregunta de si un computador puede pensar no es más interesante que la pregunta de si un submarino puede nadar.»Pero sigamos. Quería desarrollar uno de los párrafos de Pedro en los comentarios al post anterior:
Lo que él [Turing] propone es análogo a la confrontación de un modelo con la realidad en el método científico: diseñar experimentos para comparar lo que hace el modelo con lo que hace la realidad, y si no somos capaces de falsar la hipótesis de que el modelo reproduce el comportamiento real, nos quedamos con el modelo.No me gusta demasiado la última frase porque creo que se refiere a situaciones conceptualmente irreales y que cuando usamos modelos en la investigación no procedemos así. A ver si me explico comentando algo sobre objetivos y métodos de modelado (RAE dixit) aunque es difícil sintetizar esto en dos páginas.
Usamos los modelos como recurso para simplificar la forma, estructura o funcionamiento de objetos y procesos reales y, así, poder deducir o conocer algunas de sus propiedades con más comodidad: la complejidad de la realidad hace incómodo (o imposible) someterla a experimentación directa y usamos una simplificación. Para que este método funcione es necesario suponer que la simplificación de la realidad no penaliza excesivamente la exactitud del resultado. Lógicamente, esta suposición no puede hacerse sin más y debe comprobarse y valorarse cuantitativamente siempre.
Aceptamos por tanto que lo que genera el modelo (resultados) será similar a lo que generaría el objeto real en las mismas condiciones de experimentación (escenario) y utilizamos los resultados dándoles un valor de verosimilitud. Pero esta suposición debe tomarse con pinzas y tener en cuenta:
- Que el escenario es a su vez un modelo de las condiciones reales, simplificado y truncado, por lo que no puede ser asumido directamente como “real”.
- Que, consecuentemente, los resultados se generan condicionados por la calidad del escenario, de los modelos de los objetos (a través de datos) y de los modelos de los procesos (a través de ecuaciones o algoritmos que las traducen al lenguaje informático).
Para saber si podemos usar un modelo es necesario estimar la similitud del resultado modelado respecto al resultado real y valorar si ese resultado nos es útil y para qué.
Esto puede realizar de dos formas:
- Cuando es posible, contrastando una pequeña parte de los resultados modelados con resultados reales (muestra de contraste).
- Cuando no es posible, realizando un análisis de sensibilidad (aunque éste debe hacerse siempre).
Este modelo tiene la bondad de ser contrastable: iríamos a varios lugares de características diferentes, pondríamos termómetros a varias profundidades y contrastaríamos las temperaturas reales con las predichas. Las divergencias nos permitirían dar valores de incertidumbre a los resultados mediante, por ejemplo, un intervalo de confianza al 95%. Los resultados adoptarían la forma, por ejemplo, de 13.2±1.5 ºC (I.C.: 95%). Lógicamente, el valor de incertidumbre puede no ser constante sino función de la temperatura y de los valores de conductividad o de sus combinaciones…
La idea fundamental es que conocemos hasta dónde llega la exactitud de los resultados modelados. Si nos vale o no es otra cuestión y depende de nuestros objetivos: habrá trabajos que soporten esa incertidumbre y otros que no.
Segundo ejemplo, más de moda que el anterior: predicciones de cambio climático. Resulta que aplicamos el modelo X de predicción de cambio climático y encontramos que en una zona determinada X predice una subida de 3.0 ºC en los próximos 80 años. ¿Cómo puedo saber si este resultado es fiable? Pues lamentablemente este modelo no es contrastable y no podemos, en principio, saber hasta qué punto es fiable. ¿Estamos perdidos? No del todo, podemos hacer una prueba que nos va a dar información indirecta sobre el asunto. Sería la siguiente: si el modelo X usa n variables xi (i=1..n) como entrada, vamos a hacer mil réplicas del proceso de modelado. Lógicamente, esos mil valores de temperatura que resultan serían iguales pero en estas réplicas vamos a cambiar esos valores originales añadiéndoles una desviación aleatoria: xi + ei . Esa desviación ei estará dentro del rango de incertidumbre de la medida xi. ¿Y cómo sabemos esa incertidumbre? Midiendo repetidas veces el valor xi en la realidad. Es decir, asignamos una incertidumbre a cada uno de los datos de entrada. En nuestro caso, si una de las entradas es la transparencia de la atmósfera habrá que medirla unos cientos de veces y calcular el valor medio y la incertidumbre asociada. Los modelos de cambio no se harán introduciendo repetidamente el valor medio sino muchos valores posibles calculados a partir de la incertidumbre de la medida. Y todo esto para cada variable y valor de entrada en el modelo X.
Este procedimiento nos permitirá ver, analizando los resultados, varias cosas. Entre ellas cuál es la variación en esos resultados. Cabe que esa subida de 3.0 sea, en realidad 3.0±0.3 ºC o cabe que sea 3.0±5.3 ºC. En este segundo caso el modelo no nos vale para nada que se me ocurra.
Otra cosa que podemos ver es si hay variables críticas, es decir, variables cuyas variaciones implican cambios relativamente mayores en los resultados que otras. Esas variables deben ser medidas con mayor exactitud que el resto (o dicho de otra forma, los otros pueden ser medidos con menos exactitud) lo que facilita la eficaz distribución de recursos a la hora de planificar la toma de datos.
Este análisis debe hacerse siempre, no sólo cuando el modelo no es contrastable, porque la información que nos proporciona es enormemente útil.
Dado que los modelos imitan el comportamiento de los sistemas reales sólo aproximadamente debemos analizar cuidadosamente qué modelo es adecuado para el objetivo que perseguimos y hasta que punto los resultados son de suficiente calidad.
Enlazando con el asunto del test de Turing, que un modelo haga buenas predicciones o proporcione buenos resultados no significa que funcione igual que la realidad. Por eso, la frase de Pedro mencionada al principio “si no somos capaces de falsar la hipótesis de que el modelo reproduce el comportamiento real, nos quedamos con el modelo” yo la entiendo como “si no encontramos diferencias entre los resultados del modelo y los resultados reales, aceptamos el modelo como buen generador de resultados”. Pero no podemos ir más allá y suponer que los mecanismos que generan resultados en el modelo y en la realidad son los mismos. De hecho, por la propia definición de modelo, nunca lo son. No lo sería ni siquera si el ordenador fuera inteligente porque suponer que su inteligencia fuera humana es de un antropocentrismo insostenible. De ahí mi objeción de ET al test de Turing que propuse días atrás y que hasta el momento no ha sido criticada :-)
Nota: más cosas sobre este tema han sido tratadas hace poco en CPI y en Malaciencia donde Remo y Alf han presentado aspectos distintos del asunto con ejemplos que van desde sistemas planetarios hasta el cambio climático.