General Problem Solver (GPS)

Marvin Minsky dice que la mejor forma de comprender la mente es construyendo una. En 1957, Simon, Shaw y Newell, diseñaron uno de los grandes hitos de la historia de la Inteligencia Artificial: el General Problem Solver.

Bahamas

Era un programa creado para solucionar cualquier problema de tipo general, rompiendo con la preconcepción de que las máquinas solo podían resolver problemas muy específicos. Su estructura, muy simplificada, venía a ser la siguiente:

El GPS funcionaba realizando una analogía entre su situación actual y el objetivo a cumplir, efectuaba un análisis de las diferencias entre ambos estados, utilizaba métodos para reducir las diferencias, y luego volvía a realizar la analogía inicial hasta que no existiesen diferencias entre el estado actual y el estado deseable. El diseño es muy interesante, sobre todo, por las similitudes que parece reflejar con respecto a la forma que tenemos los seres humanos de solucionar problemas, manteniendo una estructura muy simple:


  1. Al realizar una comparación entre su situación y sus objetivos, tiene una cierta representación de sí mismo. Si quiero irme de viaje a las Bahamas, lo primero que tengo que saber es que YO no estoy en las Bahamas. Estaríamos todavía a años luz de la autoconsciencia, pero ya es un paso.
  2. Para reducir las diferencias, el GPS podía suspender momentáneamente su objetivo principal para resolver sub-objetivos. Esto es una característica plenamente humana: suspender las urgencias del presente en pro de un objetivo futuro, es decir, planificar una acción en pasos. Si quiero irme a las Bahamas tengo que solucionar sub-problemas como pagar los billetes de avión, hacer las maletas, coger un taxi al aeropuerto, etc. Cuando queremos solucionar un gran problema, una buena forma de hacerlo es dividirlo en problemas más pequeños.
  3. El GPS razonaba por analogía, quizá la forma humana más habitual de razonar. ¿Cómo sé que hay que hacer para viajar a las Bahamas? Porque antes he realizado otros viajes o porque he visto a otros hacerlos. Realizo analogías entre ese conocimiento previo y el problema al que me enfrento. Si yo viajé antes a Hawai, también hice las maletas y cogí un taxi al aeropuerto, pero a la hora de comprar los billetes de avión ahora tendré que comprarlos para Bahamas y no para Hawai y, probablemente, el precio será diferente. Hay similitudes que utilizaré sin problemas y diferencias que tendré que solucionar.
Sin embargo (ah, el siempre triste sin embargo), el GPS tenía el defecto que, hasta la fecha, no ha podido solucionarse (y del que ya hemos hablado en muchas entradas). Si realizar una analogía entre como estoy y lo que quiero hacer no parece presentar demasiados problemas, encontrar métodos de reducción de diferencias sí. Cuando nuestra máquina se encuentra en el aeropuerto y comprueba que “comprar un billete para Hawai” no le llevará a las Bahamas tiene que saber, de algún modo, que “en un aeropuerto pueden comprarse billetes a muchos sitios diferentes”. Si no sabe eso, es imposible que pueda solucionar tan simple problema. Y es que el GPS solo funcionaba en entornos muy formalizados, no en el mundo real. Estamos ante el enigma del sentido común: si el GPS podía resolver teoremas matemáticos de gran complejidad, no podría comprar un billete de avión.

Una forma de entender este dilema se ha formulado afirmando que cuando realizamos cualquier acción existe un montón de conocimiento implícito que excede el conocimiento de una simple descripción simbólica como la que maneja un computador. Douglas Lenat nos ofrece un magnífico ejemplo de ello: analicemos la frase “Fred le dijo al camarero que él quería patatas fritas a la inglesa”. ¿Qué tenemos que saber para entender esta afirmación?:
La palabra él se refiere a Fred, y no al camarero. Eso sucedía en un restaurante. Fred era un cliente que estaba cenando allí. Fred y el camarero se encontraban más o menos a un metro de distancia. El camarero trabajaba allí y en aquel momento estaba atendiendo a Fred.

Fred quiere patatas en rodajas finas, no en tiras. Fred no desea unas patatas determinadas, sino solo un tipo determinado de patatas.

Fred indica esto mediante las palabras habladas que dirige al camarero. Tanto Fred como el camarero son seres humanos. Ambos hablan el mismo idioma. Ambos tienen edad suficiente para poder expresarse, y el camarero tiene edad suficiente para trabajar.

Fred tiene hambre. Desea y espera que en unos minutos el camarero le traiga una ración normal, que Fred empezará a comer en cuanto le sirvan.

Asimismo podemos suponer que Fred supone que el camarero también supone todas esas cosas.


No hay más que decir: o el GPS sabe o puede deducir todo este conocimiento implícito, o jamás podrá resolver problemas que ocurran cuando tenga que pedir una ración de patatas en un restaurante. La solución que se dio fue la de crear sistemas expertos. Podríamos dotar al GPS de un montón de conocimiento sobre todos los pasos que hay que dar para realizar un viaje o comer en un restaurante. No obstante, al hacerlo, estamos incumpliendo nuestro propósito inicial, a saber, que nuestra máquina solucione cualquier tipo de problemas y no únicamente problemas específicos. Este es el asunto en el que la Inteligencia Artificial lleva estancada durante las últimas décadas y que no tiene demasiados visos de resolverse a corto plazo.