Posts etiquetados ‘Razonamiento por defecto’

Dan Dennett escribió en 1984 un ensayo titulado “Cognitive wheels: the frame problem of AI”, en donde expone de forma muy simpática una versión del frame problem.

Tenemos un robot (R1) al que le encomendamos una misión: tiene que entrar en una habitación para encontrar una batería con la que recargarse. Dicha batería está situada sobre una mesa con ruedas, pero en la misma mesa hay una bomba programada para explotar en pocos segundos. La misión sería un éxito si R1 sale de la habitación solo con la batería, dejando que la bomba explote dentro.

R1 no es todavía muy sofisticado. Con su software infiere que sacando la mesa, también se saca la batería, por lo que con su brazo mecánico arrastra la mesa fuera de la habitación. Desgraciadamente, al hacerlo también saca fuera la bomba que explota, haciendo saltar a R1 por los aires. Los ingenieros entonces desarrollan a R1D1, quien es capaz de inferir también las consecuencias secundarias de sus acciones. Entonces, el nuevo el robot se para delante de la mesa y se queda parado procesando todas las consecuencias de su acción. De nuevo, cuando acababa de inferir que sacar la mesa de la habitación no va a cambiar el color de las paredes y se estaba embarcando en la siguiente inferencia, la bomba explota.

Los ingenieros se dieron cuenta de que procesar todas las consecuencias secundarias de una acción es una tarea prácticamente infinita, no resoluble, desde luego, en los pocos segundos que nos deja la cuenta atrás de la bomba. Había que diseñar un nuevo robot que no se pare a sopesar todas y cada una de las consecuencias de sus acciones, sino solo las que son relevantes para solucionar la tarea encomendada. El color de las paredes es algo completamente intrascendente para sacar una batería sin que explote una bomba. Fabrican R2D1 y lo ponen en funcionamiento. El robot entra en la habitación, la observa un rato, sale y se queda parado procesando información. Los segundos pasan y los ingenieros le gritan desesperados que haga algo. R2D1 responde que ya lo está haciendo: se está dedicando a ir descartando todas y cada una de las consecuencias irrelevantes de todas y cada una de las acciones que pueden hacerse… La bomba vuelve a explotar.

¿Qué está pasando aquí? ¿Por qué los ingenieros fracasan una y otra vez? Los seres humanos tenemos una fantástica habilidad que todavía no se ha conseguido computar: saber diferenciar el grano de la paja, es decir, saber diferenciar lo relevante de lo irrelevante entre una inmensa cantidad de información recibida. Para Jerry Fodor esta es la pregunta clave de la psicología cognitiva. Si el mundo es una inmensa red causal en la que millones de procesos se causan unos a otros simultáneamente… ¿cómo hace nuestra mente para saber cuáles son los procesos relevantes para lo que quiere hacer? Y es que ese sigue siendo el gran problema para el diseño de máquinas inteligentes, por ejemplo, en el procesamiento de lenguaje natural.

Hay soluciones (o más bien intentos de solución), muy interesantes (e ingeniosos). Desde la perspectiva lógica, se han intentado realizar acotaciones para que el manejo de la información comience a ser manejable computacionalmente. La base está en pensar que no hay por qué saberlo todo ni con plena certeza. Nosotros, cuando nos movemos competentemente en nuestro entorno, rara vez sabemos con total seguridad lo que va a pasar aunque acertemos en un número razonable de ocasiones. Además, corregimos constantemente nuestras creencias en función de la nueva información que vamos recibiendo (es lo que va a llamarse razonamiento revisable o no monótono). Así, por ejemplo, a McCarthy se le ocurrió lo que denominó circunscripción: minimizar las extensiones de los predicados tanto como sea posible. Dicho de otro modo y con un ejemplo: lo normal, lo que pasaría en la mayor parte de los casos, es que si yo me encuentro con un cisne, éste sea de color blanco. Entonces yo partiré dando como verdadera la afirmación de que “todos los cisnes son blancos” y voy a pasar olímpicamente de las excepciones, porque aunque me arriesgue a fallar, acertaré en la mayoría de las veces. A esta idea puede unirse lo que también se ha llamado razonamiento prototípico no monótono, desarrollado por Tversky y Kahenman en 1983. Se trata de proponer un concepto prototípico, un ideal o arquetipo de cualquier objeto o suceso que queramos representar. La computadora ponderará si un nuevo objeto o suceso que se encuentra es una instancia del prototipo en función de lo que se le parezca. De este modo ahorramos mucha información, centralizando todo en un conjunto de patrones y siendo ciegos a todo lo demás. Se pierde realismo pero se acota muchísima información. Tengamos muy en cuenta esta paradoja: para ser competente el trabajo duro no está en saberlo todo, sino en ignorar todo menos lo estrictamente necesario.

Otra propuesta es la del razonamiento autoepistémico de Robert C. Moore (1983): consiste en que el computador opere como si supiera toda la información que hay que tener, aunque ésta sea incompleta. Es obrar del modo: “Dado lo que sé y no teniendo noticia de que esto no sea así, opero en consecuencia”. Esto se complementa muy bien con la famosa hipótesis del mundo cerrado (muy usada en bases de datos), que consiste además en sostener como falso todo lo que no se da implícitamente en la información disponible. Por ejemplo si tengo un horario de llegada de trenes y se me pregunta si va a venir un tren de Madrid a las 10:00 y en mi horario compruebo que no aparece ningún tren de Madrid a esa hora, concluyo que no, presuponiendo que mi horario es toda la información que existe acerca de la llegada de trenes a esa estación.

También tenemos la compleción definida por Clark en 1978: obrar como si las implicaciones fueran equivalencias. Lo explicamos: cuando tenemos un condicional (una estructura de la forma si A entones B), el antecedente (A) es condición suficiente para el consecuente (B), es decir, solo del hecho de que se de A, y sin que ocurra nada más, se dará B; pero el antecedente (A) no es condición necesaria para que se de el consecuente (B), es decir, B podría darse por otras causas diferentes a A. Por el contrario cuando hablamos de un bicondicional (una equivalencia), antecedente y consecuente son ambos causas necesarias y suficientes el uno del otro.  Por ejemplo si yo digo:

“Si llegas después de las siete estarás llegando tarde”

estaré enunciando una implicación pero, en el fondo, la puedo convertir en un bicondicional sin que pase, realmente, nada. Podría decir:

“Si y sólo si llegas después de las siete estarás llegando tarde”

es decir, que llegar después de las siete y llegar tarde es, exactamente lo mismo. Con ello nos estamos ahorrando computacionalmente una regla crucial en el razonamiento. La compleción es interesante además porque confundir implicaciones con equivalencias es un error común en nuestra forma ordinaria de razonar, tal como ya vimos hace algunos años con el experimento de Wason.

Y una nueva forma, de nuevo estipulada por McCarthy, es el llamado Axioma del Marco. Uno de los problemas que tenía el robot de Dennett era que cuando modificaba algo, tenía que verificar todo el entorno completo para ver si esa modificación había modificado algo más. El Axioma del Marco o también denominado Ley de Sentido Común de la Inercia, diría que lo normal es que nada cambie más que lo que que uno ha modificado, por lo que es buena estrategia obrar como si eso fuera siempre así, de modo que nos ahorramos analizar toda la realidad cada vez que modificamos una sola cosa.

Pero todavía hay más: estaría el denominado razonamiento sin riesgo, que consiste en que si tenemos dos opciones y aceptar una de ellas nos llevaría a consecuencias fatales, escogemos la otra. El claro ejemplo está en el término jurídico in dubio pro reo: ante la duda a favor del acusado. Encarcelar a un inocente nos parece algo muy injusto, por lo que, a falta de pruebas suficientes en su contra, sentenciamos su no culpabilidad.

Y, por supuesto, nos queda la forma más estudiada de razonamiento sin certezas ni información suficiente: el cálculo de probabilidades expresado en lógica mediante la lógica borrosa.  Ante varias opciones elijo la que, según mis cálculos, tenga más probabilidades de cumplirse, aceptando tanto que la probabilidad puede hacer que mi apuesta falle aún teniendo los datos a mi favor (los sucesos de cisne negro se dan por doquier), como que mis cálculos tampoco sean fiables dada la información disponible (el también llamado razonamiento por conjetura).

Entonces, con tantas estrategias diferentes, ¿se ha solucionado el frame problem? De ninguna manera. Todas ellas tienen serias limitaciones y defectos que solo las hacen válidas para casos muy concretos, de modo que lo difícil sigue siendo lo de siempre: generalizar. Todavía no hay estrategias que sirvan para más de un contexto específico. La Inteligencia Artificial General, por mucho que nos cuenten milongas, sigue muy lejos. Y es que, por lo menos a mí, me resulta muy llamativo lo terriblemente complejo que es hacer todo lo que nosotros hacemos ordinariamente con suma facilidad. La evolución, desde luego, hizo un buen trabajo con nuestra especie.

 

Anuncios