inteligencia artificial

117

Upload: edgar-paredes-basilio

Post on 02-Jul-2015

237 views

Category:

Documents


23 download

TRANSCRIPT

Page 1: Inteligencia Artificial

UNIDAD DIDACTICAINTELIGENCIA ARTIFICIALRicardo Aler MurDaniel Borrajo Mill�anAndr�es Silva V�azquez

Page 2: Inteligencia Artificial

Contents1 Objetivos docentes 42 Introducci�on 53 Introducci�on a la representaci�on 64 L�ogica de predicados 64.1 El lenguaje de la l�ogica de predicados : : : : : : : : : : : : : : : : : : : : : : : : : : 64.2 Inferencia en l�ogica de predicados : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 115 Sistemas de producci�on 165.1 Estructura y funcionamiento de un sistema de producci�on : : : : : : : : : : : : : : : 165.2 Ventajas y desventajas de los sistemas de producci�on : : : : : : : : : : : : : : : : : : 316 Marcos 326.1 De�nici�on y propiedades de los marcos : : : : : : : : : : : : : : : : : : : : : : : : : : 326.1.1 Herencia de propiedades : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 336.1.2 Valores por omisi�on y excepciones : : : : : : : : : : : : : : : : : : : : : : : : 346.1.3 Expresi�on de conjunciones, disyunciones y negaciones : : : : : : : : : : : : : 356.1.4 Referencias a otros marcos : : : : : : : : : : : : : : : : : : : : : : : : : : : : 366.1.5 Expresiones funcionales : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 366.1.6 Marcos tem�aticos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 376.1.7 Demonios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 376.2 Equiparaci�on (\pattern-matching") : : : : : : : : : : : : : : : : : : : : : : : : : : : : 386.3 Ejemplo de sistema de marcos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 406.4 Ejemplo de utilizaci�on de un sistema de marcos : : : : : : : : : : : : : : : : : : : : : 477 Redes sem�anticas 487.1 Herencia en redes sem�anticas : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 507.2 Expresi�on de conjunciones, disyunciones y negaciones : : : : : : : : : : : : : : : : : 507.3 El mecanismo de equiparaci�on en redes sem�anticas : : : : : : : : : : : : : : : : : : : 518 Otros sistemas de representaci�on 538.1 Guiones (\scripts") : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 538.2 Razonamiento con incertidumbre : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 559 Ejercicios de autocomprobacion 5710 Ejercicios propuestos no resueltos 6211 Introducci�on a la b�usqueda 6312 Espacio de estados 63

Page 3: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 313 B�usqueda no informada 6513.1 M�etodo de generar y comprobar : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6613.2 B�usqueda en amplitud : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6613.3 B�usqueda en profundidad : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6913.4 B�usqueda hacia atr�as : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7013.5 B�usqueda bidireccional : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7113.6 B�usqueda con islas : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7213.7 An�alisis de complejidad : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7314 B�usqueda heur��stica 7514.1 T�ecnica de escalada : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7514.2 T�ecnicas de mejor-primero. A� : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7715 B�usqueda en situaciones con contrincantes 8315.1 Arboles alternados : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8415.2 M�etodo minimax para arboles alternados : : : : : : : : : : : : : : : : : : : : : : : : 8615.3 M�etodo Alfa-Beta: un procedimiento de poda : : : : : : : : : : : : : : : : : : : : : : 9115.3.1 Introducci�on : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9115.3.2 El m�etodo de poda : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9315.3.3 Mejoras sobre el Alfa-Beta : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9515.4 Algoritmo sss� : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9915.5 Algoritmo B� : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10215.6 Algoritmo Maxn : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10516 Ejercicios de autocomprobacion 10617 Lecturas recomendadas 111

Page 4: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 41 Objetivos docentesAl �nalizar la lectura de la unidad did�actica y realizar los ejercicios propuestos, se espera que elalumno sea capaz de:� Comprender los elementos b�asicos de representaci�on de los distintos formalismos derepresentaci�on.� Representar un dominio eligiendo el formalismo m�as adecuado.� Realizar inferencia b�asica con cualquiera de los formalismos de representaci�on.� Comprender el funcionamiento de los diferentes algoritmos de b�usqueda.� Expandir te�oricamente �arboles de b�usqueda.� Codi�car los algoritmos en procedimientos ejecutables.� Analizar un problema y decidir si se puede o no aplicar b�usqueda y, en caso a�rmativo, qu�etipo de t�ecnica utilizar.

Page 5: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 52 Introducci�onDentro del campo de la Inform�atica, una de las �areas que m�as ha hecho evolucionar los problemasque se pueden resolver por la utilizaci�on de las computadoras ha sido la Inteligencia Arti�cial.El objetivo de la Inteligencia Arti�cial consiste en la construcci�on de sistemas, tanto hardwarecomo software, que sean capaces de replicar aspectos de lo que se suele considerar \inteligencia".Evidentemente, este objetivo est�a muy ligado a la de�nici�on de la propia palabra \inteligencia",de la que existe, aproximadamente, una de�nici�on por cada persona. Esto nos obliga a adoptar unpunto de vista pr�actico y de�nir la Inteligencia Arti�cial como el conjunto de t�ecnicas, m�etodos,herramientas, y metodolog��as que nos ayudan a construir sistemas que se comportan igual que unhumano en la resoluci�on de problemas concretos.Seg�un esta de�nici�on, la Inteligencia Arti�cial involucra a muchos campos de investigaci�on ydesarrollo diferentes, tales como la Rob�otica, la Vis�on Arti�cial, la Resoluci�on de Problemas, losSistemas Expertos, la Traducci�on Autom�atica, etc. Esta unidad did�actica se va a centrar en last�ecnicas b�asicas de realizaci�on de este tipo de sistemas, que son la representaci�on del conocimientoy la b�usqueda de soluciones. Dado que el tipo de conocimiento que poseemos las personas sobre undeterminado campo no est�a, normalmente, estructurado seg�un los mecanismos de representaci�onm�as com�unmente utilizados en programaci�on convencional, como pilas, listas, matrices, variables,etc., sino que est�an estructurados utilizando mecanismos de representaci�on m�as complejos, esnecesario ampliar el conjunto de t�ecnicas computacionales b�asicas con un conjunto de formalismosde representaci�on que permitan representar estas estructuras m�as complejas que empleamos loshumanos. Estos formalismos son los que se estudiar�an en el cap��tulo titulado Representaci�ondel Conocimiento.Una vez representado el conocimiento del humano, utilizando estos formalismos de representaci�on,es necesario resolver los mismos problemas que resuelve el humano (experto). En el cap��tuloB�usqueda Heur��stica se estudian una serie de m�etodos de selecci�on de las mejores alternativasde decisi�on para poder resolver problemas. Para ello, como se estudiar�a m�as adelante, sedesarrollar�an �arboles de b�usqueda que describen las posibles alternativas que tiene la resoluci�onde un determinado problema. Asimismo, se estudiar�a c�omo representar y manejar el conocimientoque hace que las personas expertas resuelvan directamente problemas complejos seleccionando, enla mayor parte de las ocasiones, las mejores alternativas. Esto se har�a de�niendo el concepto de\heur��stica", que consiste en el conocimiento que ayuda a los expertos en un campo a resolverproblemas de forma m�as e�ciente que los legos en el mismo campo.

Page 6: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 6Representaci�on del Conocimiento3 Introducci�on a la representaci�onImaginemos que nunca hemos estado antes en Madrid y queremos encontrar el camino m�as cortopara ir desde una estaci�on de metro a otra. Lo primero que se nos ocurrir��a es recurrir a un planode las l��neas de metro de Madrid, que no es sino una representaci�on de las l��neas de metro reales.Algunos de los motivos por los que recurrimos a una representaci�on en lugar de a las l��neas realesde metro son evidentes. Primero porque nos resulta imposible abarcar todas las l��neas de metro deun vistazo. Y segundo, porque un plano nos permite concentrarnos en los detalles que realmentenos interesan obviando detalles irrelevantes como si hay o no escaleras mec�anicas, o m�aquinasexpendedoras de billetes.Un plano es algo que los seres humanos usan como representaci�on simpli�cada del mundoexterno, con el objeto de realizar ciertas tareas. De la misma manera, los sistemas de inteligenciaarti�cial recurren a una representaci�on interna para resolver determinados problemas. Por ejemplo,un sistema de inteligencia arti�cial que encontrara los caminos m�as cortos entre estaciones demetro deber��a recurrir igualmente a una representaci�on semejante a un plano de metro. Porsupueto, una representaci�on no nos sirve de nada si no disponemos de unos m�etodos que nossirvan para manipularla y para resolver problemas usando esa representaci�on. En nuestro caso,ser��amos nosotros quienes aportar��amos el m�etodo para encontrar el camino m�as corto entre dosestaciones de metro, pero en el caso de un sistema inteligente deber��amos hacerle expl��cito esem�etodo.Normalmente, es el constructor del sistema el que decide qu�e tipo de representaci�on es la m�asadecuada para el problema a resolver. En muchas ocasiones la mera elecci�on de la representaci�onpuede hacer que un problema complejo sea m�as f�acil de resolver.Para que estos sistemas sean �utiles, deben ser capaces de dialogar con los seres humanos o conotros sistemas. Esto signi�ca que deben saber aceptar preguntas, resolver el problema que proponeny devolver una respuesta. Para ello, las preguntas deben convertirse a un formato adecuado a larepresentaci�on interna. Y de la misma manera, la soluci�on obtenida por el sistema debe convertirsedel formato interno a una forma comprensible por el ser humano (por ejemplo, a lenguaje escrito).En la �gura 1 vemos un resumen de este proceso:En los siguientes apartados se explicar�an las t�ecnicas de representaci�on b�asicas de inteligenciaarti�cial y se ver�an ejemplos sobre c�omo resolver problemas usando dichas t�ecnicas.4 L�ogica de predicados4.1 El lenguaje de la l�ogica de predicadosLa l�ogica de predicados consiste en: un lenguaje para expresar proposiciones; y reglas para inferirnuevas proposiciones a partir de las que ya conocemos. Veamos como podr��amos usarla pararepresentar la informaci�on contenida en el siguiente p�arrafo:D. Vito Corleone es el padrino de la principal ma�a neoyorquina y su hijo, MichaelCorleone, es su principal lugarteniente (o capo). Entre las a�ciones de Michael secuenta el tiro con colt 45. Aparte, se sabe que odia la pizza. Sonny Corleone es otro delos hijos del padrino. Por su parte, D. Vito tiene cierta alergia a que la polic��a se metaen sus negocios por lo que viene sobornando al capit�an Mc Cluskey desde hace cierto

Page 7: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 7

ORIGEN: A

DESTINO: M

RUTA: ?

RUTA: ESTACION-A

ESTACION-P

ESTACION-D

...

ESTACION-M

Para llegar de A a M?.

TRADUCCION A

REPRESENTACION INTERNA LENGUAJE NATURAL

TRADUCCION A

SALIDAENTRADA

Que camino es el mas corto

El camino mas corto empieza en

la estacion A, despues a la P,

, luego D ... y, por fin, M

BC

D

E

F

G

M

A

PROCESO INTERNOFigure 1: Esquema de representaci�on para el problema del metrotiempo. Pero, en un momento dado, el capit�an Mc Cluskey decide traicionar al padrino.Poco tiempo despu�es Mc Cluskey aparece muerto en una restaurante de Nueva Yorkcon dos disparos en la cabeza.Imaginemos que queremos trabajar en el problema del asesinato. Podr��amos empezar porrepresentar la informaci�on disponible de una manera m�as precisa que en el p�arrafo anterior:1. Vito Corleone es el Padrino2. Vito Corleone es el padre de Michael Corleone3. Vito Corleone es el padre de Sonny Corleone4. Michael Corleone es capo5. Michael Corleone usa un Colt-45)6. Un Colt 45 es una pistola7. Mc Cluskey es polic��a8. Vito Corleone paga a Mc Cluskey)9. Mc Cluskey traicion�o a Vito Corleone

Page 8: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 8Una traducci�on de lo anterior a l�ogica de predicados podr��a ser la siguiente:� Es-Padrino (Vito-Corleone)� Es-Padre (Vito-Corleone, Michael-Corleone)� Es-Padre (Vito-Corleone, Sonny-Corleone)� Es-Capo (Michael-Corleone)� Usa-Arma (Michael-Corleone, Colt-45)� Es-Pistola (Colt-45)� Es-Polic��a (Mc-Cluskey)� Paga-a (Vito-Corleone, Mc-Cluskey)� Traiciona (Mc-Cluskey, Vito-Corleone)Es-Padrino, Es-Padre, Es-Capo, Usa-Arma, Es-Pistola, Es-Polic��a y Paga-a se llamanpredicados. Para completar el signi�cado de un predicado, �este necesita de argumentos. Porejemplo, (VitoCorleone, Michael-Corleone) son los argumentos del predicado EsPadre. La funci�onde cada uno de los argumentos viene dada por el orden que ocupa. As��, en el caso del predicadoEs-Padre, el primer argumento ser�a el padre y el segundo ser�a el hijo. El signi�cado de Es-Padre(Michael-Corleone, Vito-Corleone) ser��a por tanto completamente distinto.La representaci�on en calculo de predicados de un conjunto de hechos no es inmediata sinoque hay que tomar una serie de decisiones. Por ejemplo, hay que decidir cuales van a ser lospredicados que vamos a usar en la representaci�on. Algunos de los hechos anteriores podr��an haberserepresentado tambi�en de la siguiente forma:� Es-Un (Vito-Corleone, padrino)� Es-Un (Michael-Corleone, capo)� Es-Un (Colt-45, pistola)� Es-Un (Mc-Cluskey, Polic��a)Queda claro que la representaci�on de un conjunto de hechos en l�ogica de predicados no es �unica.Todav��a no hemos representado el hecho de que Michael odia la pizza. Tal y como hemos venidohaciendo simplemente escribir��amos:� Odia (Michael-Corleone, pizza)Pero imaginemos que por alguna raz�on queremos usar el predicado Gusta en lugar de Odia. Enese caso escribir��amos:

Page 9: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 9� NOT Gusta (Michael-Corleone, pizza)cuyo signi�cado es que a Michael-Corleone no le gusta la pizza (NOT corresponde al NO enespa~nol) A partir de ahora, a un predicado con argumentos, precedido o no de NOT, le llamaremoscl�ausula.Hasta el momento, para representar que un conjunto de hechos es cierto , simplemente loshemos escrito uno debajo de otro. Sin embargo, la forma correcta de expresar que todos los hechosson ciertos al mismo tiempo es usando la palabra AND (que corresponde a la conjunci�on Y enespa~nol, y que llamaremos conectiva l�ogica):� Es-Padrino (Vito-Corleone) AND� Es-Padre (Vito-Corleone, Michael-Corleone) AND� Es-Padre (Vito-Corleone, Sonny-Corleone) AND� Es-Capo (Michael-Corleone) AND� Usa-Arma (Michael-Corleone, Colt-45) AND� Es-Pistola (Colt-45) AND� Es-Polic��a (Mc-Cluskey) AND� Paga-a (Vito-Corleone, Mc-Cluskey) AND� Traiciona (Mc-Cluskey, Vito-Corleone)En general, las conectivas l�ogicas son elementos que sirven para unir cl�ausulas o f�ormulasl�ogicas (siendo una f�ormula > l�ogica bien una cl�ausula, bien un conjunto de cl�ausulas o > �ormulasl�ogicas unidas por conectivas). Imaginemos ahora que se ha muerto D. Vito y que no sabemosqui�en es el nuevo padrino, aunque sabemos que s�olo uno de los dos hijos que aparecen en nuestrahistoria tienen alguna oportunidad de sucederle. Representar��amos este hecho con la conectiva OR(correspondiente a la conjunci�on espa~nola O) de la siguiente manera:� Es-Padrino (Michael-Corleone) OR Es-Padrino (Sonny-Corleone)La f�ormula anterior expresa que al menos uno de los dos hijos es el Padrino. Pero la conectivaOR no excluye que ambas cl�ausulas sean ciertas al mismo tiempo. As��, la f�ormula podr��a servirpara expresar que ambos hijos pueden ser padrinos a la vez (si cada uno de ellos encabezara unafacci�on rival, por ejemplo). Para expresar que uno de los dos hijos (pero solo uno) es el padrinopodr��amos escribir:� (Es-Padrino (Michael-Corleone) AND NOT Es-Padrino (Sonny-Corleone))OR(Es-Padrino (Sonny-Corleone) AND NOT Es-Padrino (Michael-Corleone))

Page 10: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 10Ahora imaginemos que queremos expresar que si a Michael no le gusta la pizza entonces no esitaliano. Para hacerlo introduciremos la conectiva l�ogica ! (correspondiente al SI ... ENTONCES... del espa~nol). Podr��amos expresarlo de la siguiente manera:� NOT Gusta (Michael-Corleone, Pizza) ! NOT Italiano (Michael-Corleone)A la conectiva H ! C se la denomina implicaci�on. A la parte H de la implicaci�on se la llamaantecedente o hip�otesis y a la parte C se la conoce como consecuente.Todav��a nos queda por representar un hecho de nuestra narraci�on: el que alguien ha asesinadoa Mc-Cluskey usando una pistola. Podr��a hacerse de la siguiente manera:� Asesina (x, Mc-Cluskey, pistola)Su signi�cado es que alguien (desconocido) ha asesinado a Mc Cluskey con una pistola. Parapoder referirnos a un individuo x que desconocemos (en principio podr��a ser cualquiera) ha sidonecesario introducir un nuevo elemento de la l�ogica de predicados: las variables. As�� pues unargumento de un predicado puede ser bien una variable o bien una constante (como Mc-Cluskey oColt45).Sin embargo a la cl�ausula anterior le falta alg�un elemento para que exprese lo que realmentequeremos decir. Para verlo m�as claramente supongamos que queremos representar la idea de quesi a alguien no le gusta la pizza entonces no es italiano. En l�ogica de predicados podr��a quedarnosde la siguiente manera:� NOT Gusta (x, pizza) ! NOT Italiano (x)En este �ultimo caso estamos intentando expresar que a todo aquel al que no le guste la pizzano es italiano. Sin embargo la idea tras la f�ormula sobre el asesinato era que alguien (<pero notodo el mundo!) hab��a asesinado a Mc Cluskey. Para completar el signi�cado de las dos f�ormulasanteriores necesitamos de otro elemento de la l�ogica de predicados: los cuanti�cadores. Se suelenusar dos tipos de cuanti�cadores: el existencial 9 (existe) y el universal 8 (todos). El cuanti�cadorexistencial expresa que existe al menos un valor de la variable que hace que la f�ormula que le siguesea cierta, mientras que el cuanti�cador universal expresa que todos los valores de la variable hacenque la f�ormula sea cierta. Veamos como se usar��an en las f�ormulas anteriores:� 9 x Asesina (x, Mc-Cluskey, pistola)� 8 x NOT Gusta (x, pizza) ! NOT Italiano (x)La primera f�ormula expresa que alguien asesin�o a Mc Cluskey con una pistola. N�otese que elcuanti�cador existencial tan solo a�rma que existe al menos un asesino, pero no limita su n�umero auno (podr��a haber varios). La segunda f�ormula a�rma que todos aquellos a qui�enes no les guste lapizza no son italianos. Si tan solo hubiera un italiano que odiara la pizza esta f�ormula ser��a falsa.

Page 11: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 11Para recapitular, el lenguaje de representaci�on de la l�ogica de predicados consta de predicados,variables, constantes, conectivas (NOT, OR, AND, ! ...) y cuanti�cadores (9 y 8).A continuaci�on se recuerda la tragedia completa de la familia Corleone representada en ellenguaje de la l�ogica de predicados:� Es-Padrino (Vito-Corleone)� Es-Padre (Vito-Corleone, Michael-Corleone)� Es-Padre (Vito-Corleone, Sonny-Corleone)� Es-Capo (Michael-Corleone)� Usa-Arma (Michael-Corleone, Colt-45)� Es-Pistola (Colt-45)� Es-Polic��a (Mc-Cluskey)� Paga-a (Vito-Corleone, Mc-Cluskey)� Traiciona (Mc-Cluskey, Vito-Corleone)� 9 x Asesina (x, Mc-Cluskey, pistola)4.2 Inferencia en l�ogica de predicadosHasta ahora todo lo que hemos hecho ha sido representar en l�ogica de predicados un conjunto dehechos sobre la familia Corleone y sus asociados. Pero para que esta representaci�on nos sea �util sedeber��an poder extraer nuevas a�rmaciones a partir de las antiguas y se deber��a poder respondera preguntas. Por ejemplo, estar��amos bastante interesados en saber quien fue el asesino de McCluskey.La l�ogica de predicados es una forma de representaci�on bastante general y sobre ella se puedenefectuar diversos tipos de inferencia. Como ejemplos de inferencia se pueden citar la inducci�on,la abducci�on y la deducci�on. La deducci�on es el m�etodo de inferencia m�as propio de la l�ogica depredicados. A continuaci�on se muestra un ejemplo de deducci�on bastante intuitivo llamado "modusponens": Proposiciones de partida:1. Si a alguien no le gusta la pizza entonces no es italiano.2. A Schwarzenegger no le gusta la pizza3. Deducci�on: Schwarzenegger no es italianoEn general, el modus ponens sigue la regla:

Page 12: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 121. Si P ! Q2. P3. Qlo que signi�ca que siempre que tengamos una implicaci�on entre dos proposiciones (la f�ormula1) y un hecho (la f�ormula 2) semejante al que aparece en el antecedente de la implicaci�on (P),podemos deducir el consecuente de la implicaci�on (Q)En l�ogica de predicados la deducci�on previa se escribir��a:Cl�ausulas de partida:1. 8 x NOT Gusta (x, pizza) ! NOT Italiano (x)2. NOT Gusta (Schwarzenegger, pizza)3. Cl�ausula deducida: NOT Italiano (Schwarzenegger)M�as en detalle, el proceso que se ha seguido ha consistido de dos pasos:A: Uni�caci�on y sustituci�on. Es necesario que el NOT Gusta (x, pizza) de la f�ormula 1 yel NOT Gusta (Schwarzenegger, pizza) de la f�ormula 2 sean id�enticas para poder aplicar el modusponens. La �unica diferencia entre ellas es que en la primera aparece una variable cuanti�cadauniversalmente (x) como primer argumento y en la segunda aparece la constante Schwarzenegger.Para que ambas f�ormulas sean id�enticas deberemos hacer que x sea igual a Schwarzenegger .Al proceso que hemos realizado para obtener que x = Schwarzenegger se le llama uni�caci�on.Ahora, para que ambas f�ormulas sean id�enticas debemos sustituir x por Schwarzenegger all�a dondeaparezca. A este segundo proceso se le denomina sustituci�on. As�� pues, tras la uni�caci�on y lasustituci�on, las f�ormulas de partida aparecer��an como:1. NOT Gusta (Schwarzenegger, pizza)! NOT Italiano (Schwarzenegger) 2. NOT Gusta (Schwarzenegger, pizza)B: Modus ponens. Y ahora ya podemos aplicar el modus ponens propiamente dicho:1. NOT Gusta (Schwarzenegger, pizza) ! NOT Italiano (Schwarzenegger)2. NOT Gusta (Schwarzenegger, pizza)3. NOT Italiano (Schwarzenegger)En general no basta con aplicar una vez el modus ponens para alcanzar una conclusi�on, sinoque hay que aplicar una cadena de razonamientos. Ahora volvamos al asunto del asesinato de McCluskey.Por el peri�odico ya sabemos que Mc Cluskey fue asesinado con una pistola (aunquela identidad del asesino sigue siendo desconocida). Pero lo cierto es que el h�abildetective Harry el sucio ya hab��a deducido que el asesinato tendr��a lugar e inclusoconoc��a la identidad del asesino. Harry hab��a llegado a la conclusi�on de que D. Vitotiene reservados dos tipos de asesinato para los que le traicionan. Si el traidor noest�a a sueldo de la familia entonces D. Vito le aplica la venganza conocida como beso

Page 13: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 13Calabr�es. Pero si el traidor est�a "�nanciado" por la familia, D. Vito considera queel castigo debe ser ejemplar, una muerte especialmente cruel que el denomina abrazoSiciliano. Obviando los detalles truculentos, el abrazo Siciliano debe ser llevado a cabopor alg�un hijo de D. Vito que sea capo. En cambio, el beso Calabr�es puede ser ejecutadopor cualquier mat�on a sueldo.Esta y alguna otra informaci�on relativa al caso podr��a representarse de la siguiente manera:1. Si alguien traiciona a D. Vito y est�a a sueldo suyo Entonces se le aplicar�a el Abrazo Siciliano.2. Si alguien traiciona a D. Vito pero no est�a a sueldo suyo Entonces se le aplicar�a un castigomenor, el Beso Calabr�es.3. El Abrazo Siciliano solo puede ser aplicado por un hijo de D. Vito que adem�as sea capo. Sise cumplen esas condiciones y adem�as el susodicho hijo sabe manejar un arma determinada,entonces se producir�a un asesinato del traidor con ese arma a manos del capo.4. El Beso calabr�es puede ser aplicado por cualquier sicario a sueldo de D. Vito. Siempre quetengamos un sicario tal que sepa manejar un arma determinada, se producir�a un asesinatodel traidor con ese arma a manos del sicario.5. Puesto que una Colt 45 es una pistola, siempre que se produzca un asesinato con una Colt45, tambi�en se podr�a decir que se ha producido un asesinato con una pistola.A continuaci�on se representa la informaci�on anterior en el lenguaje de la l�ogica de predicados:8 ?traidorTraiciona (?traidor, Vito-Corleone) ANDPaga-A (Vito-Corleone, ?traidor)! Abrazo-Siciliano (?traidor)8 ?traidor Traiciona (?traidor, Vito-Corleone) ANDNOT Paga-A (Vito-Corleone, ?traidor)! Beso-Calabres (?traidor)8 ?traidor, ?hijo, ?arma Abrazo-Siciliano (?traidor) ANDPadre (Vito-Corleone, ?hijo) ANDCapo (?hijo) ANDUsa-Arma (?hijo, ?arma)! Asesina (?hijo, ?traidor, ?arma)

Page 14: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 148 ?traidor, ?sicario, ?armaBeso-Calabres (?traidor) ANDEs-Maton (?sicario) ANDPaga-A (Vito-Corleone, ?sicario) ANDUsa-Arma (?sicario, ?arma)! Asesina (?sicario, ?traidor, ?arma)8 ?arma, ?gangster, ?victimaPistola (?arma) ANDAsesina (?gangster, ?victima, ?arma)! Asesina (?gangster, ?victima, Pistola)N�otese que en la anterior representaci�on, a las palabras que quer��amos usar como nombres devariable les hemos antepuesto un interrogante. Los nombres de las variables son tan solo ayudaspara que nos resulte sencillo entender las f�ormulas. Durante la deducci�on, una variable como?sicario ser��a tan poco signi�cativa para el proceso de deducci�on como otra llamada ?x.En los siguientes p�arrafos se muestra una cascada de deducciones por modus ponens sobre elasesinato de Mc Cluskey:8 ?traidorTraiciona (?traidor, Vito-Corleone) ANDPaga-A (Vito-Corleone, ?traidor)! Abrazo-Siciliano (?traidor)Traiciona (Mc-Cluskey, Vito-Corleone)Paga-A (Vito-Corleone, Mc-Cluskey)Abrazo-Siciliano (Mc-Cluskey) (Hemos sustituido ?traidor por Mc-Cluskey)

Page 15: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 158 ?hijo, ?arma, ?traidorAbrazo-Siciliano (?traidor) ANDPadre (Vito-Corleone, ?hijo) ANDCapo (?hijo) ANDUsa-Arma (?hijo, ?arma)! Asesina (?hijo, ?traidor, ?arma)Abrazo-Siciliano (Mc-Cluskey)aCapo (Michael-Corleone)Usa-Arma (Michael-Corleone, Colt-45)bAsesina (Michael-Corleone, Mc-Cluskey, Colt-45)(Hemos sustituido ?arma por Colt-45 e?hijo por Michael-Corleone)aSabemos que esto es cierto por la anterior deducci�onbSabemos que Capo(Michael-Corleone) y Usa-Arma(Michael-Corleone, Colt-45) son ciertos por larepresentaci�on que hicimos inicialmente8 ?gangster, ?victima, ?armaPistola (?arma) ANDAsesina (?gangster, ?victima, ?arma)! Asesina (?gangster, ?victima, Pistola)Pistola (Colt-45)Asesina (Michael-Corleone, Mc-Cluskey, Colt-45)Asesina (Michael-Corleone, Mc-Cluskey, Pistola)(hemos sustituido ?arma por Colt-45?gangster por Michael-Corleone y?victima por Mc-Cluskey)Se debe hacer notar que la representaci�on que hemos usado no expresa exactamente lo querealmente quer��amos expresar. En efecto, imaginemos que el otro hijo de D. Vito, Sonny Corleone,tambi�en es capo. En ese caso, y por el mismo proceso, podr��amos haber deducido Asesina(Sonny-Corleone, Mc-Cluskey, pistola) 1. Vemos que aunque lo que nosotros quer��amos expresarera que solo uno de los capos hijos de D. Vito deb��an cometer el asesinato, lo que hemos obtenidoes que todos los hijos capos de D. Vito cometer�an el asesinato. Se debe tener mucho cuidado a lahora de representar la realidad en l�ogica de predicados (y en otros formalismos tambi�en) para querealidad y representaci�on coincidan.Resumiendo, la l�ogica de predicados consta de:� Un lenguaje para representar problemas y1Siempre que Sonny Corleone supiera usar una pistola, claro est�a

Page 16: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 16� Procedimientos para obtener conclusiones sobre los hechos representados.Ya hemos visto uno de esos procedimientos (la deducci�on por modus ponens), pero existenotros (m�as abstractos y automatizados) como la resoluci�on. La resoluci�on sigue un proceso bastantecurioso para demostrar que algo es cierto: simplemente comienza por a�rmar que lo que se pretendedemostrar es falso e intenta alcanzar una contradicci�on aplicando repetidamente una regla dededucci�on (la de resoluci�on).La l�ogica de predicados es una representaci�on bastante general, pero tiene varias desventajas.En primer lugar, el m�etodo m�as usado para extraer conclusiones y responder preguntas en l�ogica depredicados es el m�etodo de resoluci�on. Desgraciadamente el m�etodo de resoluci�on sufre del llamadoproblema de explosi�on combinatoria: cuando hay muchas f�ormulas, el n�umero de inferencias(llamadas resoluciones) que se deben realizar para alcanzar alguna conclusi�on se vuelve demasiadogrande.Otra desventaja es que la l�ogica de predicados no impone una forma �unica de representar elconocimiento. Ya vimos que el hecho de que algo es una pistola pod��a representarse tanto comoPistola (Colt45) como Es-Un (pistola, Colt45). Mientras unas formas de representaci�on har�an queel problema se resuelva casi inmediatamente, otr�as lo har�an innecesariamente complicado. Por�ultimo, la l�ogica de predicados no permite estructurar el conocimiento. Por ejemplo, si queremosa�rmar varias propiedades acerca de una pistola, cada una de ellas se representar�a en una f�ormuladistinta (por ejemplo: Pistola (Colt45), Negra (Colt45), Pesada (Colt45), Posee (Michael-Corleone,Colt45), etc).5 Sistemas de producci�on5.1 Estructura y funcionamiento de un sistema de producci�onAunque no se hizo expl��cito, cuando ve��amos la inferencia por modus ponens se pod��a observar queexist��an dos tipos de f�ormulas: a�rmaciones o hechos (como Usa-Arma (Michael-Corleone, Colt-45))e implicaciones (como NOT Gusta(x, Pizza) ! NOT Italiano (x)). El proceso de deducci�onpor modus ponens consist��a simplemente en parear hechos con implicaciones para obtener nuevasconclusiones. Los sistemas de producci�on intentan generalizar la aproximaci�on anterior. As��, unsistema de producci�on consta de:� Una base de hechos� Una base de implicaciones (llamadas producciones o reglas)� Un mecanismo de control (o motor de inferencia)Al contrario que en l�ogica de predicados, en sistemas de producci�on se realiza la suposici�on deque si un hecho no est�a presente en la base de hechos, ese hecho es falso.En la �gura 2 se puede ver el asesinato de Mc Cluskey estructurado como un sistema deproducci�on:La base de reglas y la base de hechos son bastante intuitivas, por lo que no se entrar�a en m�asdetalle. El tercer elemento de un sistema de producci�on, el motor de inferencia sigue un ciclo que,de manera simpli�cada, consta de los siguientes pasos:1. Obtener el conjunto de posibles reglas que se puede combinar con alg�un hecho de la base dehechos. Esta fase se denomina equiparaci�on (o emparejamiento) de reglas con hechos. A lasreglas emparejadas se las denomina reglas activas.

Page 17: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 17Es-Padrino (Vito-Corleone)

Es-Padre (Vito-Corleone, Michael-Corleone)

Usa-Arma (Michael-Corleone, Colt-45)

...

IF Traiciona (x, Vito-Corleone) AND Paga-A (Vito-Corleone, x) THEN Abrazo-Siciliano (x)

IF Abrazo-Siciliano (x) AND Padre (Vito-Corleone, y) AND Capo (y) AND Usa-Arma (y, z) THEN Asesinato (y, x, z)

...

BASE DE HECHOS

BASE DE REGLAS

SISTEMA DE PRODUCCION

MOTOR DE INFERENCIA

Figure 2: Esquema de sistema de producci�on2. Seleccionar alguno (o algunos) de los emparejamientos obtenidos en el paso anterior. Estepaso se denomina resoluci�on de con ictos.3. Disparar los emparejamientos seleccionadasen la fase 2 y modi�car la base de hechos seg�undictan los consecuentes de las reglas activas disparadas.El ciclo termina cuando en la base de hechos aparece el hecho que resuelve el problema (en elcaso del asesinato de Mc Cluskey, cuando apareciera en la base de hechos Asesina (MichaelCorleone,Mc Cluskey, Pistola)).Pero como ya se ha dicho, los sistemas de producci�on son una generalizaci�on del proceso dededucci�on l�ogica. En deducci�on, el paso 3 consistir��a exclusivamente en a~nadir nuevos hechos ala base de hechos. Cuando trabajamos en l�ogica se supone que las f�ormulas de las que partimos(tambi�en llamadas xiomas) son consistentes, es decir, que no van a generar hechos que est�en encontradicci�on con los ya existentes. Pero en sistemas de producci�on los consecuentes de las reglasson acciones a ejecutar sobre la base de hechos. En particular esas acciones pueden ser a~nadirnuevos hechos (como en deducci�on) o borrar hechos de la base. Podr��a ocurrir que se dispararandos reglas, una de las cuales intentara a~nadir un hecho a la base y otra intentara borrarlo. Esdebido a casos como �este que es necesario el paso 2 del ciclo - seleccionar una o varias reglas deentre todas las activas - en lugar de disparar todas las reglas activas 2. En otras ocasiones convieneque la base de reglas pueda contener producciones inconsistentes y dejar al sistema de resoluci�onde con ictos que decida que regla se va a disparar. A veces, por cuestiones de e�ciencia o para2Una regla activa es aquella cuyos antecedentes se pueden emparejar a elementos presentes en la base de hechos

Page 18: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 18comprender mejor el comportamiento del sistema, se desea que tan solo se dispare una regla en cadaciclo de entre todas las posibles. Veamos un ejemplo demostrativo de la utilidad de la resoluci�onde con ictos.Supongamos que Don Vito ha decidido construir un robot ma�oso para que le solucione algunosasuntos rutinarios. Don Vito ha introducido la siguiente base de reglas en el robot3Regla 1IF Traiciona (?traidor, Vito-Corleone) ANDPaga-A (Vito-Corleone, ?traidor)THEN A~nade (Abrazo-Siciliano (?traidor))Regla 2IF Traiciona (?traidor, Vito-Corleone) ANDNOT Paga-A (Vito-Corleone, ?traidor)THEN A~nade (Beso-Calabres (?traidor))Regla 3IF Traiciona (?traidor, Vito-Corleone) ANDPaga-A (Vito-Corleone, ?traidor) ANDNOT Amigo-Personal (?traidor, Vito-Corleone)THEN A~nade (Estrujon-Siciliano (?traidor))Partamos de una base inicial de hechos como la siguiente:A Traiciona (Mc-Cluskey, Vito-Corleone)B Paga-A (Vito-Corleone, Mc-Cluskey)Siguiendo el ciclo de los sistemas de producci�on, primero emparejar��amos las condiciones de lasreglas con los hechos. Podr��amos encontrar las siguientes parejas 4:Regla 1. con hechos A y BIF Traiciona (Mc-Cluskey, Vito-Corleone) ANDPaga-A (VitoCorleone, Mc-Cluskey)THEN A~nade (Abrazo-Siciliano (McCluskey))3La implicaci�on l�ogica se representaba con el s��mbolo !, mientras que en sistemas de producci�on las reglas serepresentan por medio de las palabras IF ... THEN, correspondientes al SI ... ENTONCES en espa~nol. Adem�as,en sistemas de producci�on, todas las variables se suponen cuanti�cadas por 8, por lo que dicho cuanti�cador noaparece en la regla4N�otese que ya se han hecho las uni�caciones y sustituciones de variables necesarias

Page 19: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 19Regla 3 con hechos A y BIF Traiciona (Mc-Cluskey, Vito-Corleone) ANDPaga-A (VitoCorleone, Mc-Cluskey) ANDNOT Amigo-Personal (Vito-Corleone, Mc-Cluskey)THEN A~nade (Estrujon-Siciliano (Mc-Cluskey))En este momento se pueden hacer dos observaciones. Primero, al contrario que en l�ogica depredicados, en sistemas de producci�on se hace la suposici�on de que si un hecho no est�a presente enla base de hechos, ese hecho es falso. Como el hecho Amigo-Personal (Vito-Corleone, Mc-Cluskey)no aparece en la base de hechos, se supone que Mc-Cluskey no es amigo personal de Don Vito, porlo que se puede activar el segundo emparejamiento (la regla 3 con los hechos A y B).Ahora observemos qu�e suceder��a si aplicaramos las dos reglas activas (la 1 y la 3) al tiempo.Simplemente aparecer��an en la base de hechos dos nuevos hechos: Abrazo-Siciliano (Mc-Cluskey) yEstrujon-Siciliano (Mc-Cluskey). Si el robot usara los hechos Abrazo-Siciliano o Estrujon-Sicilianopara realizar sus acciones subsiguientes, es evidente que en este momento se encontrar��a hecho unlio. Es en este punto donde el paso 3 del ciclo, la resoluci�on de con ictos resolver��a el problema.Lo m�as inmediato ser��a decidirse por la regla m�as espec���ca, es decir, aquella que requiere m�ascondiciones. En nuestro caso, la regla 3 requiere las mismas condiciones que la 2 y adem�as requierela condici�on NOT Amigo-Personal (Vito-Corleone, Mc-Cluskey). Por ello decimos que es m�asespec���ca. Intuitivamente parece l�ogico destinar el castigo m�as desagradable (el estruj�on siciliano)a alguien que no es amigo personal, siendo iguales el resto de las condiciones.A continuaci�on se discuten otras estrategias de resoluci�on de con ictos:1. Seleccionar la primera regla que se equipare con la base de hechos. Esto presupone que lasreglas de la base de reglas han sido ordenadas de acuerdo a alg�un criterio.2. Seleccionar la regla de prioridad m�as alta. Es un criterio similar al anterior, salvo que a cadaregla se le asigna un n�umero que representa la prioridad.3. La regla m�as espec���ca, es decir, aquella que se pueda equiparar con un mayor n�umero dehechos en la base de hechos.4. La regla que concierne al hecho a~nadido m�as recientemente a la base de hechos.5. Seleccionar aquella regla que nunca se ha disparado (o lo contrario, seleccionar aqu�ella quese dispar�o m�as recientemente).6. Seleccionar una regla al azar.7. Explorar en paralelo los disparos de todas las reglas que equiparan con hechos de la base dehechos.En general estas estrategias se programan directamente en el motor de inferencia. Otraposibilidad m�as exible ser��a tener otro conjunto de reglas (llamadas meta-reglas o conocimientode control) que determinar�an qu�e reglas de la base de reglas deber��an dispararse en cada momento.Supongamos que Don Vito le quiere encargar un trabajo f�acil a su robot ma�oso. Le hadispuesto un escenario de tres habitaciones. En la habitaci�on C ha colocado una pistola y en lahabitaci�on A ha colocado un mu~neco con gran parecido a Mc Cluskey. El robot mismo comienza enla habitaci�on B (v�ease la �gura 3. En este caso, la base de hechos contendr�a el estado del mundo,

Page 20: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 20y las reglas contendr�an las formas de transformar el mundo (o lo que es lo mismo, de transformarla base de hechos). As�� pues, la base de hechos inicial podr��a contener lo siguiente:H1: Esta (pistola, C)H2: Esta (robot, B)H3: Esta (�gura-Mc-Cluskey, A)H4: Hay-Puerta (B, A)H5: Hay-Puerta (B, C)

Mc Cluskey

HABITACION C HABITACION A

HABITACION BFigure 3: Escena en la que se debe desenvolver el robot de Don VitoLa base de reglas podr��a ser:Regla 1.IF Esta (robot, ?sitio) ANDEsta (?objeto, ?sitio)THEN A~nadir (Tiene (robot, ?objeto)),Quitar (Esta (?objeto, ?sitio))Es decir, si el robot est�a en el mismo lugar que un objeto, entonces puede cogerlo

Page 21: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 21Regla 2IF Esta (robot, ?sitio1) ANDHay-Puerta (?sitio1, ?sitio2)THEN Quitar (Esta (robot, ?sitio1)),A~nadir (Esta(robot, ?sitio2))O lo que es lo mismo, si el robot est�a en una habitaci�on que tiene una puerta que comunica conotra habitaci�on, entonces el robot puede pasar a esa nueva habitaci�on.Regla 3.IF Hay-Puerta (?sitio1, ?sitio2)THEN A~nadir (HayPuerta (?sitio2, ?sitio1))Es decir, si se puede pasar de una habitaci�on a otra, entonces tambi�en se puede pasar desde esaotra habitaci�on a la primera.Regla 4IF Esta (�gura-Mc-Cluskey, ?sitio) ANDEsta (robot, ?sitio) ANDNOT Tiene (robot, pistola)THEN Quitar (Esta (robot, ?sitio))La regla n�umero 4 especi�ca que en caso de que el robot se presentara ante Mc-Cluskey sin lapistola, Mc-Cluskey matar��a al robot (lo quitar��a del mundo) y el problema ya no tendr��a soluci�on:el robot habr��a fracasado.Regla 5IF Esta (robot, ?sitio) ANDEsta (�gura-Mc-Cluskey, ?sitio) ANDTiene (robot, pistola)THEN Quitar (Esta (McCluskey, ?sitio))La regla n�umero 5 especi�ca que caso de que Mc Cluskey y el robot se encuentren en el mismositio y el robot tenga la pistola, el robot mata a Mc Cluskey (desaparece del mundo)El sistema de producci�on ejecutar�a sus ciclos repetidamente hasta que desaparezca de la basede hechos el hecho Esta (Mc-Cluskey, ?sitio) o Esta (robot, ?sitio) (donde sitio representa cualquierhabitaci�on). En el primer caso el robot habr��a triunfado y en el segundo habr��a fracasado.Y ahora veamos el comportamiento del sistema de producci�on ciclo a ciclo:Paso 1: Las reglas que se pueden emparejar con la base de hechos inicial son R2 y R3:Regla 2. con H2-H5IF Esta (robot, B) AND Hay-Puerta (B, C)THEN Quitar (Esta (robot, B)), A~nadir (Esta (robot, C))Regla 2. con H2-H4IF Esta (robot, B) AND Hay-Puerta (B, A)THEN Quitar (Esta (robot, B)), A~nadir (Esta (robot, A))

Page 22: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 22Regla 1. con H2-H2IF Esta (robot, C) AND Esta (robot, C)THEN A~nadir (Tiene (robot, robot)), Quitar (Esta (robot, robot))Regla 3. con H5IF Hay-Puerta (B, A)THEN A~nadir (Hay-Puerta (A, B))Regla 3. con H4IF Hay-Puerta (B, C)THEN A~nadir (Hay-Puerta (C, B))N�otese que una misma regla se puede emparejar con distintos conjuntos de hechos (R2 seemparejo dos veces y lo mismo le ocurre a R3)Paso 2: N�otese que en este sistema de producci�on si que se producir��an con ictos si sedisparasen todas las reglas al mismo tiempo. Si se disparasen los dos primeros emparejamientos(H2H4:R2 y H2-H5:R2) en la base de hechos aparecer��an los hechos Esta (robot, A) y Esta (robot,C) lo cual es claramente inconsistente. Por tanto deberemos establecer una estrategia de resoluci�onde con ictos. En principio nos limitaremos a escoger una sola regla al azar. Imaginemos que porcasualidad seleccionamos el emparejamiento H2-H4:R2.Paso 3: Ahora debemos disparar el emparejamiento seleccionado anteriormente (H2-H4:R2) yactualizar la base de hechos seg�un indique su consecuente. Nuestra base de hechos habr�a cambiadoa: H1: Esta (pistola, C)H2: Esta (robot, A)H3: Esta (�gura-Mc-Cluskey, A)H4: Hay-Puerta (B, A)H5: Hay-Puerta (B, C)Como tanto el robot como Mc Cluskey siguen existiendo (hechos H2 y H3), todav��a no hemoscumplido con la condici�on de �nalizaci�on y el ciclo deber��a volver a comenzar:Paso 1: Regla 4. con H2-H3IF Esta (�gura-Mc-Cluskey, A) ANDEsta (robot, A) ANDNOT Tiene (robot, pistola)THEN Quitar (Esta (robot, ?sitio))

Page 23: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 23Regla 3. con H5IF Hay-Puerta (B, A)THEN A~nadir (Hay-Puerta (A, B))Regla 3. con H4IF Hay-Puerta (B, C)THEN A~nadir (Hay-Puerta (C, B))Paso 2: Supongamos que se selecciona H2-H3:R4Paso 3: Al disparar H2-H3 desaparecer��a de la base de hechos el hecho Esta (robot, A). Como�esta era una de nuestras condiciones de terminaci�on con fracaso, el motor de inferencia simplementeindicar��a que hab��a sido incapaz de resolver el problema y terminar��a. Pero evidentemente elconjunto de reglas suministrado al robot era su�ciente para que �este llevara a cabo su tarea. Laraz�on del fracaso est�a en que la estrategia de resoluci�on de con ictos ha aplicado las reglas en unorden inapropiado y ha llegado a un callej�on sin salida. En un sistema con pocas reglas como �este,la intuici�on nos dice en que orden deber��amos aplicar las reglas. Pero imaginemos que tuvieramoscientos de reglas. En ese caso solo tendr��amos dos posibilidades: o bien nuestras estrategias deresoluci�on de con ictos son muy inteligentes o bien al sistema de producci�on se le permite volver aun punto donde tom�o una decisi�on fallida (una selecci�on de regla) y tomar otra decisi�on. De estamanera podr��amos ver la evoluci�on de un sistema de producci�on como la exploraci�on de un �arbolen la que las bases de hechos en cada instante de tiempo ser��an los nodos y los arcos indicar��an lasreglas que se hab��an disparado para pasar de una base de hechos a otra. En la �gura 4 se puedever el �arbol explorado hasta el momento por nuestro sistema de producci�on.En la �gura 4, el nodo hoja indica nuestra situaci�on actual, que como hab��amos visto es uncallej�on sin salida, por lo que habr��a que retroceder un nodo hacia atr�as. Una vez restaurada la basede hechos, volver��amos a ejecutar el ciclo (pero esta vez ya no seleccionar��amos la regla H2-H4:R2que nos hab��a conducido al fallo).Paso 1: Regla 2. con H2-H5IF Esta (robot, B) ANDHay-Puerta (B, C)THEN Quitar (Esta (robot, B)),A~nadir (Esta (robot, C))Regla 2. con H2-H4 (Fall�o)IF Esta (robot, B) ANDHay-Puerta (B, A)THEN Quitar (Esta (robot, B)),A~nadir (Esta (robot, A))

Page 24: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 24Esta (pistola, C)

Esta (robot, B)

Esta (figura-Mc-Clusky, A)

Hay-Puerta (B, A)

Hay-Puerta (B, C)

Hay-Puerta (B, C)

Esta (pistola, C)

Esta (robot, A)

Esta (figura-Mc-Clusky, A)

Hay-Puerta (B, A)

Figure 4: Arbol de b�usqueda parcialRegla 3. con H5IF Hay-Puerta (B, A)THEN A~nadir (Hay-Puerta (A, B))Regla 3. con H4IF Hay-Puerta (B, C)THEN A~nadir (Hay-Puerta (C, B))Paso 2: A partir de ahora (para ahorrar espacio) supondremos que nuestra estrategia deresoluci�on de con ictos siempre va a seleccionar la regla correcta en cada situaci�on. En la realidadser��a pr�acticamente imposible alcanzar esta perfecci�on, por lo que ser��an necesarias muchas vueltasatr�as en cuanto el motor de inferencia se encontrara en un callej�on sin salida. En este puntosupondremos que nuestro motor de inferencia seleccionar�a H2H5:R2).Paso 3: Nuestra base de hechos pasar��a a ser:H1: Esta (pistola, C)H2: Esta (robot, C)H3: Esta (�gura-Mc-Cluskey, A)H4: Hay-Puerta (B, A)H5: Hay-Puerta (B, C)

Page 25: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 25Y el ciclo volver��a a empezar:Paso 1: Reglas que se podr��an disparar:Regla 1IF Esta (robot, C) ANDEsta (pistola, C)THEN A~nadir (Tiene (robot, pistola)),Quitar (Esta (pistola, C))Regla 2IF Hay-Puerta (B, A)THEN Hay-Puerta (A, B)Regla 3IF Hay-Puerta (B, C)THEN Hay-Puerta (C, B)Paso 2: Supongamos que disparamos la regla 1Paso 3: La nueva base de hechos ser�a:H1: Tiene (robot, pistola)H2: Esta (robot, C)H3: Esta (�gura-Mc-Cluskey, A)H4: Hay-Puerta (B, A)H5: Hay-Puerta (B, C)Paso 1: Regla 1IF Hay-Puerta (B, A)THEN Hay-Puerta (A, B)Regla 2IF Hay-Puerta (B, C)THEN Hay-Puerta (C, B)Paso 2: Supongamos que se selecciona la regla 2.Paso 3:

Page 26: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 26H1: Tiene (robot, pistola)H2: Esta (robot, C)H3: Esta (�gura-Mc-Cluskey, A)H4: Hay-Puerta (B, A)H5: Hay-Puerta (B, C)H6: Hay-Puerta (C, B)Paso 1: Regla 1IF Esta (robot, C) ANDHay-Puerta (C, B)THEN Quitar (Esta (robot, C)),A~nadir (Esta (robot, B))Regla 2IF Hay-Puerta (B, A)THEN Hay-Puerta (A, B)Regla 3IF Hay-Puerta (B, C)THEN Hay-Puerta (C, B)Regla 4IF Hay-Puerta (C, B)THEN Hay-Puerta (B,Paso 2: Supongamos que se selecciona la regla 1Paso 3: H1: Tiene (robot, pistola)H2: Esta (robot, B)H3: Esta (�gura-Mc-Cluskey, A)H4: Hay-Puerta (B, A)H5: Hay-Puerta (B, C)H6: Hay-Puerta (C, B)Paso 1: Regla 1IF Esta (robot, B) ANDHay-Puerta (B, A)THEN Quitar (Esta (robot, A)),A~nadir (Esta (robot, A))

Page 27: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 27Regla 2IF Esta (robot, B) ANDHay-Puerta (B, C)THEN Quitar (Esta (robot, B)),A~nadir (Esta (robot, C))Regla 3IF Hay-Puerta (B, A)THEN Hay-Puerta (A, B)Regla 4IF Hay-Puerta (B, C)THEN Hay-Puerta (C, B)Regla 5IF Hay-Puerta (C, B)THEN Hay-Puerta (B, C)Paso 2: Supongamos que se dispara la regla 1Paso 3: H1: Tiene (robot, pistola)H2: Esta (robot, A)H3: Esta (�gura-Mc-Cluskey, A)H4: Hay-Puerta (B, A)H5: Hay-Puerta (B, C)H6: Hay-Puerta (C, B)Paso 1: Regla 1IF Esta (robot, A) ANDEsta (�gura-Mc-Cluskey, A) ANDTiene (robot, pistola)THEN Quitar (Esta (Mc-Cluskey, A))Regla 2IF Hay-Puerta (B, A)THEN Hay-Puerta (A, B)

Page 28: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 28Regla 3IF Hay-Puerta (B, C)THEN Hay-Puerta (C, B)Regla 4IF Hay-Puerta (C, B)THEN Hay-Puerta (B, C)Paso 2: Supongamos que se selecciona una vez m�as la regla que nos conviene (la 1)Paso 3: H1: Tiene (robot, pistola)H2: Esta (robot, A)H4: Hay-Puerta (B, A)H5: Hay-Puerta (B, C)H6: Hay-Puerta (C, B)Y en este momento se cumple una de las condiciones de terminaci�on con �exito: Mc Cluskey hadesaparecido de la base de hechos. El �arbol de b�usqueda de este sistema de producci�on aparece enla �gura 5. N�otese que no hemos necesitado usar la vuelta atr�as en ning�un otro momento puestoque hemos ido seleccionando las reglas que nos conven��an. Pero podr��a haber ocurrido que estandoel robot en C con la pistola a su alcance, se hubiera vuelto por donde hab��a venido antes de cogerel arma, y hubiera pasado de C a B y de ah�� a A encontr�andose de nuevo con Mc Cluskey. Comoel robot no llevar�� el arma, Mc Cluskey habr��a matado al robot, con lo que el motor de inferenciahabr��a dado por terminado el problema con un fracaso. En ese caso una vuelta atr�as hubiera sidonecesaria.Tambi�en podr��a haber ocurrido que el robot hubiera estado yendo y viniendo de la habitaci�onC a la B, sin cumplir nunca su objetivo de matar a Mc Cluskey. Para evitar que el sistema deproducci�on entre en ciclos in�nitos como el anterior, nuestra estrategia de resoluci�on de con ictospodr��a intentar disparar una regla que no se hubiera disparado antes, o disparar la regla que sedispar�o hace m�as tiempo. Observes�e que una cosa es la representaci�on del problema y otra muydiferente el conocimiento o el m�etodo necesario para resolver el problema.Del ejemplo anterior se dice que sigue un modo de inferencia con encadenamiento hacia adelanteporque intenta pasar desde una situaci�on inicial a una situaci�on �nal deseada (u objetivo) poraplicaci�on de reglas. La base de hechos contiene el estado del mundo en cada momento y las reglasindican c�omo hacer transiciones entre estados del mundo. Pero �esta no es la �unica posibilidad.Imaginemos que partimos del objetivo y que intentamos llegar a la situaci�on inicial aplicando lasreglas al rev�es. Este modo de inferencia se denomina de encadenamiento hacia atr�as. Veamos unejemplo:Para simpli�car, imaginemos que tan solo le ordenamos a nuestro robot que coja la pistola queest�a en la habitaci�on C . >Qu�e regla nos permite hacer esto?, o lo que es lo mismo, >Que reglatiene A~nadir (Tiene (robot, pistola)) en el consecuente?. La regla R1 tiene A~nadir (Tiene (robot,?objeto)) que se puede emparejar con Tiene (robot, pistola) haciendo la sustituci�on ?objeto=pistola:

Page 29: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 29Esta (pistola, C)

Esta (robot, C)

Esta (figura-Mc-Cluskey)

Hay-Puerta (B, A)

Hay-Puerta (B, C)

Esta (robot, C)

Esta (figura-Mc-Cluskey)

Hay-Puerta (B, A)

Hay-Puerta (B, C)

Tiene (robot, pistola)

Esta (robot, C)

Esta (figura-Mc-Cluskey)

Hay-Puerta (B, A)

Hay-Puerta (B, C)

Tiene (robot, pistola)

Hay-Puerta (C, B)

Esta (figura-Mc-Cluskey)

Hay-Puerta (B, A)

Hay-Puerta (B, C)

Tiene (robot, pistola)

Hay-Puerta (C, B)

Esta (robot, B)

Esta (pistola, C)

Esta (robot, B)

Esta (figura-Mc-Clusky, A)

Hay-Puerta (B, A)

Hay-Puerta (B, C)

Hay-Puerta (B, C)

Esta (pistola, C)

Esta (robot, A)

Esta (figura-Mc-Clusky, A)

Hay-Puerta (B, A)

Esta (figura-Mc-Cluskey)

Hay-Puerta (B, A)

Hay-Puerta (B, C)

Tiene (robot, pistola)

Hay-Puerta (C, B)

Esta (robot, A)Figure 5: Arbol de b�usqueda completoRegla 1/?objeto=pistola:IF Esta (robot, ?sitio) ANDEsta (pistola, ?sitio)THEN A~nadir (Tiene (robot, pistola)),Quitar (Esta (pistola,?sitio))Pero para poder a~nadir ese hecho se deben cumplir las dos condiciones que aparecen en elantecedente de R1: Esta (pistola, ?sitio) y Esta (robot, ?sitio). Si hacemos la sustituci�on ?sitio=C,la primera condici�on se cumple en nuestra base de hechos inicial puesto que tenemos Esta (pistola,C), pero no se cumple que Esta (robot, C). As�� pues, para poder a~nadir el hecho Tiene (robot,pistola) hemos llegado a la conclusi�on de que se debe a~nadir el hecho Esta (robot, C) a la base dehechos. >C�omo haremos para a~nadirlo?. Pues igual que antes, buscaremos una regla que tenga ensu consecuente A~nadir (Esta (robot, C)). La regla R2 podr��a servirnos:Regla 2IF Esta (robot, ?sitio1) ANDHay-Puerta (?sitio1, ?sitio2)THEN Quitar (Esta (robot, ?sitio1)),A~nadir ( Esta (robot, ?sitio2))Para ello debemos uni�car la variable ?sitio2 con C. As��, haciendo la substituci�on ?sitio2=Ctendr��amos:

Page 30: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 30Regla 2/?sitio2=CIF Esta (robot, ?sitio1) ANDHay-Puerta (?sitio1, C)THEN Quitar (Esta (robot, ?sitio1)),A~nadir ( Esta (robot, C))Ahora tendremos que satisfacer las condiciones de la regla anterior: Esta (robot, ?sitio1) yHay-Puerta (?sitio1, C). Ambas condiciones se satisfacen en la base de hechos si hacemos lasubstituci�on ?sitio1=B. As�� pues, por medio del encadenamiento hacia atr�as hemos llegado a laconclusi�on de que el robot puede coger la pistola. Todo el proceso de encadenamiento se puedeobservar con m�as claridad en la �gura 6.Tiene (robot, pistola)

Esta (pistola, ?sitio) Esta (robot, ?sitio)

Esta (pistola, C) Esta (robot, C)

?sitio = C

Esta (robot, ?sitio1) Hay-Puerta (?sitio1, C)

Esta (robot, B) Hay-Puerta (B, C)

?sitio1=B

Figure 6: Arbol de b�usqueda para el encadenamiento hacia atr�asHay que tener en cuenta que en el caso anterior siempre hemos elegido las sustituciones devariables adecuadas y hemos ordenado las metas a resolver de la manera m�as apropiada posible.Esa manera de ordenar las metas no es conocida por el motor de inferencia a priori, por lo quehabr��a que dotar al motor de inferencia de estrategias de control inteligentes o con mecanismos devuelta atr�as (al igual que hac��amos con el encadenamiento hacia delante).Resumiendo, el encadenamiento hacia atr�as consiste en partir de un objetivo principal y obtenerque objetivos parciales previos se deben satisfacer para que se pueda cumplir nuestro objetivoprincipal. Por supuesto, si un objetivo parcial aparece en nuestra base de hechos, ese objetivoqueda satisfecho autom�aticamente. En ocasiones se pueden combinar el encadenamiento haciaatr�as con el encadenamiento hacia adelante, con lo que en la base de hechos tendr��amos tantohechos como metas. A esos sistemas de producci�on se les denomina bidireccionales.

Page 31: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 31Cada uno de los dos modos de encadenamiento tiene sus ventajas e inconvenientes. Por ejemplo,si tenemos muchas posibles metas (u objetivos) ser�a mejor utilizar un sistema con encadenamientohacia adelante. Por otro lado, es mucho m�as sencillo seguir un sistema de producci�on conencadenamiento hacia atr�as que uno hacia adelante. Si queremos comprender c�omo el sistemade producci�on ha alcanzado una conclusi�on determinada, deberemos usar encadenamiento haciaatr�as.En otras ocasiones ser��a ventajoso usar encadenamiento bidireccional. La idea b�asica es acercarla meta al encadenamiento hacia adelante (por medio del encadenamiento hacia atr�as) y acercarlos hechos al encadenamiento hacia atr�as (por medio del encadenamiento hacia adelante) con elobjetivo de que ambos se crucen en alg�un punto. Pero podr��a ocurrir que ambos encadenamientosjam�as llegaran a cruzarse con lo que el sistema ser��a doblemente ine�ciente.5.2 Ventajas y desventajas de los sistemas de producci�onEntre las ventajas de un sistema de producci�on se pueden citar:� Idealmente cada regla es independiente de las dem�as, por lo que resulta sencillo modi�carlas,borrarlas o introducirlas sin afectar al resto del sistema. Desafortunadamente no siempre esposible mantener esta independencia.� Parecen un buen modelo de como los seres humanos representan y resuelven problemas.� Es bastante natural expresar el conocimiento humano en forma de reglas.� Es bastante sencillo incrementar el conocimiento de un sistema de producci�on a~nadiendolenuevas reglas.� Obligan a representar el conocimiento de una forma uniforme.� Son mucho m�as exibles que un programa de ordenador normal. En los programas deordenador, la secuencia que han de seguir las instrucciones est�a decidida desde el principio.Sin embargo, en un sistema de producci�on las reglas se disparan seg�un el contenido de la basede hechos, por lo que la reacci�on del sistema se adapta al momento.� Funcionan bien en entornos reales, como se ha comprobado repetidamente en los sistemasexpertos (que son b�asicamente sistemas de producci�on).Pero tambi�en tienen desventajas:� Debido a que los sistemas de producci�on reaccionan en todo momento al contenido de la basede hechos, es muy dif��cil imponer que las reglas se disparen en determinada secuencia (cosaque en ciertas ocasiones ser��a deseable).� Resulta dif��cil seguir el comportamiento de un sistema de producci�on. Aunque es muy sencillosaber qu�e es lo que cada regla est�a haciendo en cada momento, es muy dif��cil determinar quees lo que el conjunto de reglas est�a haciendo globalmente.

Page 32: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 326 MarcosUn modo de representaci�on que ayuda a resolver los problemas encontrados en la representaci�onmediante l�ogica de predicados es la representaci�on basada en marcos (frames, en ingl�es).Ideados por Marvin Minsky en la d�ecada de los setenta, en relaci�on con sistemas de visi�onpor computador, ofrecen una estructura mucho m�as compacta que la l�ogica de predicados pararepresentar conceptos y relaciones entre conceptos. En la mayor��a de los casos, lo expresable enl�ogica de predicados es tambi�en expresable en forma de marcos, y viceversa.Lo que hace que la preferencia del representador se incline hacia una u otra opci�on son criterioscomo modularidad, encapsulamiento de la informaci�on, concisi�on, facilidad de uso, representaci�onintuitiva, e�cacia y facilidad de recuperaci�on de informaci�on, posibilidades de implementaci�on encomputador, rendimiento, etc.Por otra parte, nunca esta de m�as recordar que los marcos, nacidos en el mundo de la InteligenciaArti�cial, son el origen de la orientaci�on a objetos. De hecho, marco y objeto son pr�acticamentesin�onimos.6.1 De�nici�on y propiedades de los marcosUn marco es una colecci�on de atributos (o slots, en ingl�es) que poseen determinados valores, y quedescriben una entidad del mundo. Los marcos se agrupan en sistemas de marcos, relacionados unoscon otros, modelizando as�i las relaciones que existen entre las entidades del mundo representado.Por ejemplo, un marco que represente la idea de POLICIA podr�ia ser el siguiente, que adem�ascontiene informaci�on sobre que tipo de arma utilizan los polic��as:POLICIAES-UN: PERSONASexo:Edad:Ciudad:Distrito:Pistola: Colt-45Comp�arese con una f�ormula equivalente del c�alculo de predicados, que expresa la misma idea:8 x, IF Policia (x) THEN usa-arma (x, Colt-45)Al igual que con el c�alculo de predicados, una representaci�on del mismo dominio puede realizarsede varias formas diferentes. Depende de cada caso concreto el elegir entre una forma u otra derepresentar los mismos contenidos.Obs�ervese que, segun la de�nici�on dada, los marcos re ejan un conocimiento est�atico deldominio, es decir, modelizan la situaci�on del mundo en un momento dado. Son como una fotogra�ade yun instante de la realidad. Pero esto no hay que tomarlo en sentido estricto: se pueden de�niruna serie de reglas y procesos que modi�quen los valores del sistema de marcos en el estado actual,pasando as�� a re ejar un nuevo estado del mundo.Como ejemplo, si un cierto d��a se decide que los polic��as deben cambiar su arma de un Colt-45a un Colt-90, entonces se cambiar��a el valor del slot 'Pistola' en el marco POLICIA para re ejar

Page 33: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 33esta nueva situaci�on o estado. Incluso a veces podr��a ser necesario crear nuevos marcos o nuevosslots, as�� como borrar algunos ya existentes.De todas las relaciones existentes entre entidades del mundo, son especialmente relevantes paralos sistemas de marcos las relaciones que expresan la pertenencia de un elemento a un conjunto(relaci�on INSTANCIA-DE) y las que expresan la relaci�on de subconjunto (relaci�on ES-UN). Estoconduce a una organizaci�on jer�arquica de los marcos, segun clases, subclases y elementos.As��, por ejemplo, se tiene que CAP-MC-CLUSKEY es un elemento del conjunto POLICIA, yPOLICIA es un subconjunto del conjunto m�as general PERSONA. Esto se representar��a medianteel siguiente sistema de marcos: PERSONAES-UN: MAMIFEROSexo:Edad:Ciudad:POLICIAES-UN: PERSONASexo:*Edad:*Ciudad:*Distrito:Pistola: Colt-45CAP-MC-CLUSKEYINSTANCIA-DE: POLICIASexo:* VEdad:* 55Ciudad:* New-YorkDistrito:* 23Pistola:* Colt-45En forma gr�a�ca, la jerarqu��a de marcos es la de la �gura 7.Bas�andonos en este ejemplo y extendi�endolo, pasaremos a explicar las ideas fundamentales quesubyacen a la representaci�on del conocimiento mediante marcos.6.1.1 Herencia de propiedadesEn una jerarqu��a de marcos, como en el ejemplo expuesto, queda claro que las propiedades o slotsde los marcos situados m�as arriba, y que corresponden por tanto a los conceptos m�as generales,se transmiten a los marcos que representan clases de objetos situadas m�as abajo en la jerarqu��a,as�� como a las instancias de dichas clases. Dicha transmisi�on de propiedades de un conjunto a sussubconjuntos, se denomina herencia. En el ejemplo visto, los slots heredados se han marcado con*.

Page 34: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 34

CAP-MC-CLUSKEY

POLICIA

PERSONA

ES-UN

INST-DE

Figure 7: Ejemplo de jerarqu��a de marcosAs��, por ejemplo, al ser POLICIA un subconjunto de la clase PERSONA, heredar�a laspropiedades de Sexo y Edad. Igualmente, la instancia CAP-MC-CLUSKEY, hereda los slotscorrespondientes a POLICIA, y por tanto, tambien los de PERSONA. Esto permite realizarinferencias sobre los conceptos representados. Por ejemplo, sabiendo que CAP-MAC-CLUSKEYes polic��a, subiendo por la jerarqu��a de marcos, se deduce que su arma es un Colt-45. Pero no sepodr��a asegurar nada sobre su ciudad o distrito, a menos que se disponga de informaci�on adicional.En este momento, deber��a quedar claro que esto es una forma de representar el hecho "Todos lospolicias tienen un Colt-45", pero de forma m�as concisa y m�as clara que la representaci�on equivalenteen l�ogica de predicados. Adem�as, la expresividad de los marcos permite tratar casos excepcionales,como se vera en el siguiente apartado.6.1.2 Valores por omisi�on y excepcionesApoy�andose en el mecanismo de herencia, se pueden proporcionar valores por omisi�on de losatributos que se desee. Un ejemplo es el que se ha comentado, respecto al valor del slot 'Arma' enel marco POLICIA. Pero, habitualmente, en muchos dominios de la vida real aparecen excepciones.Sobradamente conocido es el caso de que todas las aves pueden volar, pero no los ping�uinos, o quening�un mam��fero puede volar, salvo el murci�elago.En el ejemplo de los polic��as, se tiene que todos ellos utilizan como arma un Colt-45, pero puedehaber excepciones como la siguiente:

Page 35: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 35HARRY-EL-SUCIOINSTANCIA-DE: POLICIASexo: VEdad: 45Ciudad: San-FranciscoDistrito: 42Pistola: Magnum-70Los sistemas de marcos no tienen ningun problema en tratar correctamente estos casos. Anteuna consulta del tipo >Que arma utiliza HARRY-EL-SUCIO? primero se extrae el valor almacenadoen el slot 'Arma' de HARRY-EL-SUCIO, devolviendo 'Magnum-70' . En el supuesto de queno hubiese ningun valor, al ascender por la jerarqu��a de marcos se encuentra que en el marcocorrespondiente a POLICIA el valor por omisi�on de 'Arma' es 'Colt-45', y ser��a �este el valordevuelto. Siempre se recuperan los valores de abajo-arriba a traves de la jerarqu��a.6.1.3 Expresi�on de conjunciones, disyunciones y negacionesUn paso m�as en la expresividad de los marcos se da cuando se trata de representar disyuncionesy conjunciones de hechos. Por ejemplo, la proposici�on \Los policias tienen un Colt-45 o unMagnum-70" se expresar��a de la siguiente forma:POLICIAES-UN: PERSONASexo:Edad:Ciudad:Distrito:Pistola: (fColt-45g OR fMagnum-70g)An�alogamente, podr��a expresarse "Harry el sucio trabaja en los distritos 23, 35 y 42" as��:HARRY-EL-SUCIOINSTANCIA-DE: POLICIASexo: VEdad: 45Ciudad: San-FranciscoDistrito: (f23g AND f35g AND f42g)Pistola: Magnum-70Si adem�as se dispone de la negaci�on, podr��an expresarse en un solo marco proposicionescomplejas como "Harry el sucio no tiene un Colt-45, pero tiene una Magnum-70 o una Magnum-50":

Page 36: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 36HARRY-EL-SUCIOINSTANCIA-DE: POLICIASexo: VEdad: 45Ciudad: San-FranciscoDistrito: 42Pistola: (NOT (fColt-45g) AND (fMagnum-70g OR fMagnum-50g))6.1.4 Referencias a otros marcosNo s�olo se pueden relacionar unos marcos con otros a traves de las relaciones ES-UN eINSTANCIA-DE. En muchos casos, los valores de slot de un marco pueden apuntar a otro marco,para expresar un hecho que implica a ambos.Segun esto, si en el mundo que se pretende representar son relevantes las ciudades y suscaracteristicas, es posible que se disponga del marco CIUDAD, una de cuyas instancias podriaser el marco SAN-FRANCISCO. Entonces podr��a expresarse as�� el hecho de que Harry el Sucioviva en la ciudad San Francisco: SAN-FRANCISCOINSTANCIA-DE: CIUDADAlcalde: ...Habs: ......HARRY-EL-SUCIOINSTANCIA-DE: POLICIASexo: VEdad: 45Ciudad: SAN-FRANCISCODistrito: 42Pistola: Magnum-70Obs�ervese que esto ser��a �util para el caso de tener que responder a preguntas del tipo >Cu�antoshabitantes tiene la ciudad en la que habita Harry el Sucio?.6.1.5 Expresiones funcionalesAparte de las importantes relaciones de INSTANCIA-DE y ES-UN, que referencian a un marcodesde otro, puede haber otro tipo de expresiones que relacionen distintos marcos entre s��, a travesde un valor de slot. Como ejemplo, esta es la representaci�on de la proposici�on "Mc Cluskey trabajaen la misma ciudad y distrito que Harry el sucio", que relaciona ambos marcos:

Page 37: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 37CAP-MC-CLUSKEYINSTANCIA-DE: POLICIASexo: VEdad: 55Ciudad: Ciudad(HARRY-EL-SUCIO)Distrito: Distrito(HARRY-EL-SUCIO)Pistola: Colt-45La riqueza y concisi�on de la representaci�on mediante marcos es evidente. Posteriormente seexpondra un ejemplo de mayor complejidad que �este y en el que intervendr�an un mayor n�umero demarcos.6.1.6 Marcos tem�aticosNo s�olo se pueden expresar propiedades de individuos o de objetos. Tambi�en es importante larepresentaci�on del conocimiento implicado en las acciones, asi como los objetos implicados en ella.Tales marcos, que re ejan sucesos del mundo, se denominan marcos tem�aticos, e incluyen slots querepresentan al agente de la acci�on, al receptor de la acci�on, los instrumentos, etc. V�ease, comoejemplo, el siguiente marco tem�atico: ASESINATOES-UN: CRIMENCondena: 15Lugar:Hora:Autor:Victima:Arma:Este marco re eja un asesinato gen�erico. Un caso concreto de asesinato, como el que ocurre en"El Padrino", deber��a ser una instancia de la clase ASESINATO, como la siguiente:ASESINATO-1INSTANCIA-DE: ASESINATOCondena: 15Lugar: Restaurante-Fredo'sHora: 22:30Autor: Michael-CorleoneVictima: CAP-MC-CLUSKEYArma: Colt-456.1.7 DemoniosEs preciso, a veces, indicar un modo de obtenci�on de los valores de los slots por medio de unprocedimiento. Tales procedimientos se llaman demonios (daemons, en ingl�es). Un proceso

Page 38: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 38demonio es aquel que se encuentra a la espera de que ocurra un determinado evento, y entonces seejecuta.Hay dos tipos principales de procedimientos demonio: aquellos que se ejecutan cuando esnecesario llenar un slot, y aquellos que se ejecutan cuando ya se ha llenado un slot. Losprimeros se especi�can en el marco con la etiqueta PARA-LLENAR y los segundos, con la etiquetaCUANDO-LLENO.Por ejemplo, si se quiere expresar en un slot del marco ASESINATO la idea de que los a~nosde condena para el culpable son 15 multiplicado por el n�umero de veces que el autor cometi�o uncrimen parecido en el pasado (antecedentes penales), se emplear��a lo siguiente:ASESINATOES-UN: CRIMENCondena: PARA-LLENAR: Daemon-Calculo-de-penaLugar:Hora:Autor:Victima:Arma:Daemon-Calculo-de-pena = 15 + Antecedentes(Autor(CRIMEN))Como ejemplo de demonio del segundo tipo, se presenta una ampliaci�on del anterior marco,que re eja el hecho de que cuando se comete un asesinato, al autor se le debe incrementar en unoel n�umero de antecedentes: ASESINATOES-UN: CRIMENCondena: PARA-LLENAR: Daemon-Calculo-de-penaLugar:Hora:Autor: CUANDO-LLENO: Daemon-Incr-antecedentesVictima:Arma:Daemon-Incr-antecedentes = Registrar(Antecedentes(Autor(ASESINATO)) + 1)6.2 Equiparaci�on (\pattern-matching")Una vez representado un dominio del mundo real por medio de un sistema de marcos, la utilidadde tal sistema deriva de la posibilidad de que se pueda emplear para contestar preguntas y derivarnuevos hechos, y as�� prestar ayuda en la soluci�on de problemas relacionados con dicho dominio.Para ello se utiliza la confrontaci�on de patrones o equiparaci�on, que es un proceso an�alogo a launi�caci�on en c�alculo de predicados.El proceso es el siguiente: El sistema de marcos que re eja el conocimiento acerca de un dominiose denomina conjunto de MARCOS-HECHO. Si se quiere extraer una respuesta a una pregunta,se construir�a un MARCO-OBJETIVO, que represente la pregunta formulada. Este marco-objetivose compara con los marcos-hechos, hasta encontrar uno que coincida con �el slot por slot, teniendo

Page 39: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 39en cuenta adem�as el conocimiento heredado. Una vez encontrado, este marco-hecho proporcionala informaci�on deseada.Por ejemplo: Con la jerarqu��a de marcos vista anteriormente, se quiere conocer cual es la edaddel polic��a de San Francisco. Esta pregunta se puede expresar mediante el marco-objetivo:OBJETIVOINSTANCIA-DE: POLICIACiudad: San-FranciscoEdad: ?No importa en que orden se comparen los slots. Lo relevante es que coincidan todos los delmarco-objetivo con un subconjunto de los slots de alg�un marco-hecho. De acuerdo con esto, elmarco-objetivo confronta con el marco-hecho siguiente:HARRY-EL-SUCIOINSTANCIA-DE: POLICIASexo: VEdad: 45Ciudad: San-FranciscoDistrito: 42Pistola: Magnum-70Por tanto, se obtiene la respuesta de que la edad buscada es 45 a~nos. Obs�ervese que se podr��ahaber preguntado >Cu�al es la edad del polic��a de San Francisco que trabaja en el distrito 21? Estapregunta corresponde al marco-objetivo: OBJETIVOINSTANCIA-DE: POLICIACiudad: San-FranciscoDistrito: 21Edad: ?En este caso, no se produce ninguna confrontaci�on valida dentro del conjunto de marcos-hechosde los que se dispone. La respuesta ser��a un mensaje de error, informando que no se conoce ningunpolic��a que cumpla con las caracter��sticas dadas.En aquellos casos en los que un slot de un marco referencie a otro marco, bien directamenteo a trav�es de expresiones funcionales, el proceso de confrontaci�on se encuentra con complejidadesadicionales, debido a la "navegaci�on" necesaria a traves del sistema de marcos.Por ejemplo, el sistema dispone, adem�as de los marcos-hechos anteriores, del siguientemarco-hecho: CAP-MC-CLUSKEYINSTANCIA-DE: POLICIASexo: VEdad: 55Ciudad: Ciudad(HARRY-EL-SUCIO)Distrito: 23Pistola: Colt-45

Page 40: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 40Ahora se trata de contestar a la pregunta >Cual es la ciudad en la que habita el policia de 55a~nos?. Esta pregunta se traslada a su representaci�on en la forma de marco-objetivo siguiente:OBJETIVOINSTANCIA-DE: POLICIAEdad: 55Ciudad: ?El proceso de equiparaci�on encuentra una coincidencia cuando equipara el anterior marco-objetivocon el marco-hecho correspondiente a CAP-MC-CLUSKEY. La respuesta a la pregunta, en unaprimera aproximaci�on, ser��a: Ciudad: Ciudad(HARRY-EL-SUCIO)Pero esta respuesta no puede satisfacer a nadie. Por tanto, el proceso de equiparaci�ondebe acceder al marco-hecho correspondiente a HARRY-EL-SUCIO y extraer el valor del slotcorrespondiente a 'Ciudad'. Se obtiene as�� la respuesta correcta:Ciudad: San-FranciscoSe pueden imaginar niveles adicionales de complejidad. Por ejemplo, antes se propuso unproblema en el que SAN-FRANCISCO era un marco instancia del marco CIUDAD. En unasituaci�on as�� podr��a preguntarse >Cual es el numero de habitantes de la ciudad en la que habita elpolic��a de 55 a~nos?. Esto requerir��a un acceso adicional al slot 'Habs' del marco SAN-FRANCISCO,con el consiguiente coste.Otras cuestiones que plantean complicaciones son las del tipo >Qu�e polic��as trabajan enSan-Francisco? o incluso >Qu�e personas habitan en San Francisco? Habr��a que acceder a todosy cada uno de los marcos-hecho representando a personas, incluyendo a todas las subclases depersona, y ver que valor contiene el slot 'ciudad'.En sistemas reales, el n�umero de marcos y relaciones entre ellos es in�nitamente mayor queen este ejemplo, y las preguntas que un usuario formula a tales sistemas son tambi�en mucho m�ascomplejas. Puede ser necesario organizar el conocimiento de alguna otra forma, para facilitar estosprocesos, que de otra forma ser��an inabordables. Esta idea se desarrollar�a posteriormente, cuandose introduzcan las redes sem�anticas.6.3 Ejemplo de sistema de marcosSe trata de representar en este sistema el dominio del ejemplo, basado en los personajes ycircunstancias de la pel��cula "El Padrino". Evidentemente, para realizar aplicaciones que resuelvanproblemas del mundo real, tales como el diagn�ostico m�edico, o la detecci�on de posibles causas deproblemas en una planta industrial, los conceptos e ideas que aqu�� se tratan son perfectamenteextrapolables.Se manejar�a la jerarqu��a de marcos representada en la �gura 8.

Page 41: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 41

CUCHIlLLO-1

ARMA-BLANCA

ARMA

ARMA-DE-FUEGO

MAGNUM-70 COLT-45

COLT-45-9191 COLT-45-3131

ES-UN

INST-DE

ES-UN ES-UN

INST-DE

INST-DE

ES-UN

PERSONA

ES-UN ES-UN

ES-UN ES-UN

INST-DEINST-DE

MATON

LUCA-BRASI

CAPOPADRINO

DON-VITO-CORL MICHAEL-CORLCAP-MC-CLUSKEY

POLICIA

INST-DE

ES-UN

INST-DE

MAFIOSO

Figure 8: Jerarqu��a de marcos

Page 42: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 42Sup�ongase que, antes de nada, se necesita representar conocimiento acerca de las armas queutilizan los personajes de la pel��cula. Para ello se dispondr�a del marco ARMA, del cual descender�anlos marcos ARMA-BLANCA y ARMA-DE-FUEGO:ARMAES-UN: OBJETOPrecio:Alcance:ARMA-BLANCAES-UN: ARMAPrecio:Alcance: CortoLongitud:ARMA-DE-FUEGOES-UN: ARMAPrecio:Alcance: LargoCalibre:Disparos:Numero-serie:COLT-45ES-UN: ARMA-DE-FUEGOPrecio: 1500Alcance: LargoCalibre: 45Disparos: 6Numero-serie:MAGNUM-70ES-UN: ARMA-DE-FUEGOPrecio: 9000Alcance: Muy-LargoCalibre: 70Disparos: 10Numero-serie:

Page 43: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 43Se necesitar�an armas concretas, que seran la que utiliza Michael Corleone y la que utiliza elcapita McCluskey, as�� como el cuchillo de Luca Brasi. Por tanto, se instancian de la siguienteforma: COLT-45-9191INSTANCIA-DE: COLT-45Precio: 1500Alcance: LargoCalibre: 45Disparos: 6Numero-serie: 9191COLT-45-3131INSTANCIA-DE: COLT-45Precio: 1500Alcance: LargoCalibre: 45Disparos: 6Numero-serie: 3131CUCHILLO-1INSTANCIA-DE: ARMA-BLANCAPrecio: 2000Alcance: CortoLongitud: 30A continuaci�on, y siguiendo un orden de arriba a abajo a traves de la jerarqu��a de clases, sedispone del marco PERSONA, visto anteriormente:PERSONAES-UN: MAMIFEROSexo:Edad:Ciudad:Evidentemente, podr��a mostrarse tambien el marco MAMIFERO, y por encima de �este, elmarco ANIMAL-VERTEBRADO, etc. Pero se considera que no es necesario llegar a ese nivel paramodelizar el ejemplo tratado. En otras palabras, las propiedades de los mamiferos o de los animalesvertebrados no se consideran relevantes para tratarlas en este dominio concreto.Posteriormente, es necesario representar qu�e clases de personas del dominio son las que interesare ejar en el sistema. De entrada, parece claro que hay, por un lado, polic��as, y por el otro, ma�osos:

Page 44: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 44POLICIAES-UN: PERSONASexo:Edad:Ciudad:Distrito:Pistola: COLT-45MAFIOSOES-UN: PERSONASexo:Edad:Ciudad:Familia:Rango:En principio, dentro de los ma�osos se distinguir�an tres grandes grupos, los matones, los caposy los padrinos, que tendr�an distintos rangos y distintas propiedades, segun se ve a continuaci�on:PADRINOES-UN: MAFIOSOSexo: VEdad:Ciudad:Familia:Rango: 1Padre-de:Paga-a:CAPOES-UN: MAFIOSOSexo:Edad:Ciudad:Familia:Rango: 2Territorio:Arma: COLT-45

Page 45: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 45MATONES-UN: MAFIOSOSexo:Edad:Ciudad:Familia:Rango: 3Arma:En este momento, se podr��an representar algunos de los personajes de la pel��cula, por mediode instancias de la clase correspondiente. As��, se tiene:CAP-MC-CLUSKEYINSTANCIA-DE: POLICIASexo: VEdad: 55Ciudad: New-YorkDistrito: 23Pistola: COLT-45-3131LUCA-BRASIINSTANCIA-DE: MATONSexo: VEdad: 40Ciudad: ChicagoFamilia: CorleoneRango: 3Arma: CUCHILLO-1MICHAEL-CORLEONEINSTANCIA-DE: CAPOSexo: VEdad: 33Ciudad: New-YorkFamilia: CorleoneRango: 2Territorio: BrooklynArma: COLT-45-9191

Page 46: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 46DON-VITO-CORLEONEINSTANCIA-DE: PADRINOSexo: VEdad: 70Ciudad: New-YorkFamilia: CorleoneRango: 1Padre-de: MICHAEL-CORLEONEPaga-a: fMC-CLUSKEYg AND fLUCA-BRASIgEn un momento de la pel��cula, Michael Corleone mata al Capit�an McCluskey con un Colt-45.Este tipo de hechos tambi�en pueden expresase perfectamente con un modelo de representaci�onbasado en marcos. Se tiene un asesin�ato, que es una subclase de crimen, y que implica a dospersonas, as�� como a un arma homicida. Por tanto:CRIMENES-UN: ACTOCondena:Lugar:Fecha:Hora:Autor:ASESINATOES-UN: CRIMENCondena: 15Lugar:Fecha:Hora:Autor:Victima:Arma:ASESINATO-1INSTANCIA-DE: ASESINATOCondena: 15Lugar: Restaurante-Fredo'sFecha: 15/6/54Hora: 22:30Autor: MICHAEL-CORLEONEVictima: CAP-MC-CLUSKEYArma: COLT-45-9191

Page 47: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 476.4 Ejemplo de utilizaci�on de un sistema de marcosLa obtenci�on de respuestas a preguntas por medio de la equiparaci�on es la principal de las tareasque se pueden realizar sobre los marcos. Otra tarea importante ser��a la modi�caci�on de los valoresexpresados en el sistema de marcos con el objeto de re ejar cambios de estado en el mundo.Como ejemplo de equiparaci�on, se mostrar�a el proceso de obtenci�on de respuesta a la pregunta>Cual era el calibre del arma de fuego utilizada en el asesinato cometido en el Restaurante Fredo's?En primer lugar, esta pregunta debe representarse en un modo que permita realizar laequiparaci�on. Expresado como marcos-objetivo seria:OBJETIVO-1INSTANCIA-DE: ASESINATOLugar: Restaurante-Fredo'sArma: OBJETIVO-2OBJETIVO-2INSTANCIA-DE: ARMA-DE-FUEGOCalibre: ?Primero se resuelve el OBJETIVO-1. Se busca una posible equiparaci�on con alg�un marco-hecho,resultando que ASESINATO-1 es el marco buscado. En dicho marco el slot 'Arma' tiene el valorCOLT-45-9191.El siguiente paso es veri�car que el marco-objetivo OBJETIVO-2 es equiparable con elmarco-hecho correspondiente a COLT-45-9191. El primero es una instancia de un ARMA-DE-FUEGO,y el segundo es una instancia de COLT-45. Por tanto, el mecanismo de equiparaci�on deberesolver esta aparente discrepancia recurriendo a la herencia, encontr�andose que, efectivamente,un COLT-45 es un subconjunto de ARMA-DE-FUEGO. Por tanto, la equiparaci�on tiene �exito yse obtiene el valor de 'Calibre' de COLT-45-9191, que es la respuesta a la pregunta inicialmenteformulada: Calibre(COLT-45-9191) = 45Un ejemplo sencillo de modi�caci�on de los valores del sistema de marcos para re ejarcambios en el estado del mundo, podr��a ser el siguiente: Sup�ongase que, una vez muertoDON-VITO-CORLEONE, para elegir un sucesor se decide que MICHAEL-CORLEONE ser�a elproximo PADRINO de la familia Corleone. Para relejar esto en el sistema, se producir��an lossiguientes cambios:1. Borrado del marco DON-VITO-CORLEONE.2. Cambio en el slot 'INSTANCIA-DE' de MICHAEL-CORLEONE. Pasa de contener el valorCAPO a tener el valor PADRINO. Como consecuencia de esto, automaticamente el slot'Rango' deja de tener valor 2 y pasa a tener valor 1.Gr�a�camente, este cambio de situaci�on situaci�on podr��a expresarse como en la �gura 9.

Page 48: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 48

DON-VITO-CORL

POLICIA

PERSONA

MAFIOSO

PADRINO CAPO MATON

CAP-MC-CLUSKEY MICHAEL-CORL LUCA-BRASI

ES-UN

ES-UN ES-UN ES-UN

ES-UN

INST-DE

INST-DE INST-DE

Figure 9: Ejemplo de cambio de situaci�on7 Redes sem�anticasEn la representaci�on del conocimiento por medio de redes sem�anticas, los conceptos serepresentan como un conjunto de nodos conectados unos a otros por medio de un conjunto dearcos etiquetados, que expresan las relaciones existentes entre los nodos.La representaci�on del conocimiento por medio de sistemas de marcos puede conducirdirectamente al formalismo gr�a�co de redes sem�anticas: Se debe convertir cada nombre de marcoen un nodo, cada valor de slot en otro nodo y el arco que los une ir�a etiquetado con el nombre delslot.Por ejemplo, sea el siguiente sistema de marcos:ARMA-DE-FUEGOES-UN: ARMAPrecio:Alcance:COLT-45ES-UN: ARMA-DE-FUEGOPrecio: 1500Alcance: LargoMAGNUM-70ES-UN: ARMA-DE-FUEGOPrecio: 9000Alcance: Muy-Largo

Page 49: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 49COLT-45-9191INSTANCIA-DE: COLT-45Precio: 1500Alcance: LargoSu representaci�on como red sem�antica puede verse en la �gura 10.

COLT-45

COLT-45-9191

9000

ARMA-DE-FUEGO

Largo

1500

MAGNUM-70

Muy-largo

INST-DE

ES-UN

ES-UN

ARMA

Alcance

Precio

Alcance

Precio

ES-UN

Figure 10: Ejemplo de Red Sem�anticaEsta peque~na red sem�antica es �util para realizar inferencias con el objeto de obtener respuestasa preguntas como >Cual es el precio de una Magnum-70? >Cual es su alcance?.Pero es importante destacar que los apuntadores pueden recorrerse tambien en sentido inverso,aunque en el gr�a�co aparenten ser unidireccionales. Esto permite responder f�acil y r�apidamentea preguntas como >Cual es el arma de fuego que vale 9000$ ? >Qu�e tipos de armas de fuego seconocen?. En este sentido pueden ser m�as e�cientes que los sistemas de marcos, aunque estos�ultimos presenten una mayor modularidad y encapsulamiento de la informaci�on.Puede constatarse que en la representaci�on por medio de redes sem�anticas, aparte de las ventajasque derivan de su caracter gr�a�co, es evidente que la representaci�on de las referencias entre marcos,expuestas en el tema anterior, aqu�� cobran un caracter m�as expresivo e intuitivo, tanto si dichasrelaciones son de caracter hereditario como si son de otro tipo.Las redes sem�anticas, as�� de�nidas, ofrecen un nuevo modo de representaci�on del conocimiento.Y de nuevo se observa el hecho de que lo representable mediante una red sem�antica es representablemediante marcos y mediante la l�ogica de predicados. Todos estos m�etodos basan la representaciondel conocimiento en las categor��as de Objetos, Atributos y Valores, fundamentalmente.La elecci�on de una representaci�on frente a otra depende, por tanto, de cada caso concreto,intentando siempre elegir la que pueda ser m�as e�caz y sencilla para cada aplicaci�on particular.

Page 50: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 507.1 Herencia en redes sem�anticasEn la representaci�on basada en redes sem�anticas existe tambi�en el mecanismo de herencia, atrav�es de los apuntadores etiquetados con ES-UN e INST-DE. Como se ve en el ejemplo, lainstancia COLT-45-9191 hereda las propiedades de COLT-45 y por eso no es necesario que �gurenexpl��citamente en el dibujo.7.2 Expresi�on de conjunciones, disyunciones y negacionesLa representaci�on en redes sem�anticas no se encuentra en desventaja, respecto a los sistemas yavistos, en cuanto a la representaci�on de las conectivas proposicionales OR y NOT.Para ello se utilizan l��neas cerradas discontinuas, como en el ejemplo de la �gura 11, quecorresponde al hecho "Una Magnum-70 tiene un alcance largo o muy largo y su precio no es 1500$":MAGNUM-70

LargoMuy-largo

1500

NOT

OR

Figure 11: Conjunciones y Disyunciones

Page 51: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 517.3 El mecanismo de equiparaci�on en redes sem�anticasEste mecanismo, que es el que permite realizar inferencias sobre la red, es an�alogo al mecanismode la uni�caci�on en l�ogica de predicados y a la equiparaci�on en sistemas de marcos.En general, se tendr�a un objeto meta que se quiere equiparar a uno de los objetos-hecho queconstituyen la red sem�antica. La forma de actuar es la siguiente:Se construye un fragmento de red, que representa un objeto o pregunta a realizar, y se cotejacon la red de hechos, para ver si tal objeto existe. Los nodos que en la pregunta tengan valordesconocido se ligan en el proceso de equiparaci�on a los valores que debian tener para que laequiparaci�on fuera perfecta. Estos valores proporcionan as�� una respuesta a la pregunta formulada.Es importante que el mecanismo de equiparaci�on trate corr�ectamente los valores heredados.Como ejemplo, sea la red de hechos de la �gura 12, basada en el sistema de marcos anteriormenteexpuesto :

Page 52: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 52MAFIOSO

Michael-Corl.

Colt-45-3131A1

COLT-45

Magnum-70-2121

Luca-Brasi

CRIMEN

CAPOMATON PADRINO

D.Vito-Corl.

ASESINATO

Colt-45-9191

Cap-McCluskey

PERSONA

POLICIA

Harry-el-sucio

ES-UN

INST-DE

ES-UN

Pistola

MAGNUM-70

INST-DE

Arma

Arma

Autor VictimaPistola

INST-DE

Paga-aPaga-aINST-DE

INST-DE

ES-UNES-UN

ES-UNPistola

INST-DE

INST-DE

ES-UN

INST-DEFigure 12: Red de HechosSe desea saber si hay algun polic��a corrupto en la ciudad, entendiendo por tal a aquel polic��aque es pagado por un ma�oso. Es decir, se necesita encontrar valores que se equiparen con X? enla red-pregunta representada en la �gura 13.MAFIOSO

Mafioso-1 X?

POLICIA

INST-DE INST-DE

Paga-aFigure 13: Red-PreguntaEn la �gura 14, la subred de hechos equiparada con la red-pregunta se muestra mediante unal��nea de puntos.El proceso de equiparaci�on puede empezar por uni�car el nodo ?X con una instancia de polic��aconcreto, y ver si algun arco 'PAGA-A' incide en el. El nodo correspondiente al otro extremo dedicho arco es necesario que corresponda a una instancia de MAFIOSO. Se precisa del mecanismode herencia para resolver esto, pues a traves de PADRINO llega a MAFIOSO mediante el arcoES-UN. Se obtiene as�� la �unica respuesta posible, que uni�ca a X? con Cap-Mc-Cluskey.Otra pregunta posible ser��a: >A quien paga Don Vito Corleone?. Se trata de obtener valoresque se uni�quen con el nodo etiquetado con X? en la red sem�antica que traduce dicha pregunta,que aparece representada en la �gura 15. En este caso, hay dos posibilidades v�alidas para X?. Laspersonas pagadas por Don Vito Corleone son Luca-Brasi y Cap-Mc-Cluskey, como se puede ver enla �gura 16.

Page 53: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 53MAFIOSO

Michael-Corl.

Colt-45-3131A1

COLT-45

Magnum-70-2121

Luca-Brasi

CRIMEN

CAPOMATON PADRINO

D.Vito-Corl.

ASESINATO

Colt-45-9191

Cap-McCluskey

PERSONA

POLICIA

Harry-el-sucio

ES-UN

INST-DE

ES-UN

Pistola

MAGNUM-70

INST-DE

Arma

Arma

Autor VictimaPistola

INST-DE

Paga-aPaga-aINST-DE

INST-DE

ES-UNES-UN

ES-UNPistola

INST-DE

INST-DE

ES-UN

INST-DEFigure 14: Equiparaci�on de Red-Hecho y Red-PreguntaDon-Vito-Corl.

X?

Paga-aFigure 15: Red-Pregunta8 Otros sistemas de representaci�onEn esta secci�on se introducir�an brevemente m�etodos de representaci�on alternativos y, a veces,complementarios, de los sistemas vistos. Cada uno de ellos enfatiza en mayor o menor gradociertos aspectos del conocimiento que se consideran relevantes para el problema considerado. Asi,por ejemplo, los Scripts muestran la secuencia de los eventos a lo largo del tiempo, y los sistemasde razonamiento bajo incertidumbre tienen en cuenta valores num�ericos que indican el grado deevidencia de una proposici�on.8.1 Guiones (\scripts")Un script o gui�on es una estructura que describe una secuencia �ja de los eventos que ocurren enun determinado contexto. Tiene una estructura muy similar a la de los marcos, pero ampliada parare ejar la sucesi�on de hechos en el tiempo, as�� como los cambios que tales hechos producen. Lamejor forma de verlo es a traves de un ejemplo. Se construir�a el gui�on RESTAURANTE, referenteal hecho de ir a cenar a un restaurante.Todo gui�on consta, principalmente, de las siguientes partes:

Page 54: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 54MAFIOSO

Michael-Corl.

Colt-45-3131A1

COLT-45

Magnum-70-2121

Luca-Brasi

CRIMEN

CAPOMATON PADRINO

D.Vito-Corl.

ASESINATO

Colt-45-9191

Cap-McCluskey

PERSONA

POLICIA

Harry-el-sucio

ES-UN

INST-DE

ES-UN

Pistola

MAGNUM-70

INST-DE

Arma

Arma

Autor VictimaPistola

INST-DE

Paga-aPaga-aINST-DE

INST-DE

ES-UNES-UN

ES-UNPistola

INST-DE

INST-DE

ES-UN

INST-DEFigure 16: Ejemplo de Equiparaci�on� CONDICIONES-DE-ENTRADA: Son una serie de condiciones que deben ser verdaderas parapoder ejecutarse el gui�on.� RESULTADOS: Condiciones que obligatoriamente ser�an ciertas una vez que se realicen loseventos del gui�on.� OBJS: Es un conjunto de slots que representan los objetos involucrados en los eventos delgui�on.� ROLES: Conjunto de slots que representan a los agentes (personas, robots, etc) queintervienen en el gui�on.� ESCENAS: Son los eventos que realmente ocurren, dispuestos secuencialmente. Puedenrepresentarse mediante alg�un formalismo (como el de dependencias conceptuales), pero seutilizar�a el lenguaje natural.En de�nitiva, este es el script del restaurante:

Page 55: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 55GUION: RESTAURANTECONDICIONES-DE-ENTRADA:tiene-hambre(C) AND tiene-dinero(C)RESULTADOS:NO tiene-hambre(C) AND tiene-menos-dinero(C) AND tiene-mas-dinero(P)OBJS:Mesas, Menu, Comida, Cuenta, Dinero, Caja.ROLES:C=Cliente, CA=Camarero, P=PropietarioESCENA-1: ENTRARC entra en el restaurante, busca una mesa libre. Si la encuentra, se sienta.Si no, se va.ESCENA-2: PEDIRCA trae el menu a C. Este elige los platos y se los dice a CA,que toma nota de ello.ESCENA-3: COMERC come los platos pedidos. Si sigue con hambre, llama al camarero yvuelve a la ESCENA-2.ESCENA-4: SALIRCA le da la cuenta a C, que la paga. CA ingresa el dinero en la caja de P.C se levanta y sale del restaurante. FIN.Los eventos que forman parte de un gui�on se encuentran encadenados unos a otros en relacioncausa-efecto. A su vez, los guiones pueden encadenarse tambi�en unos a otros, cuando las condicionesde salida de un gui�on son las condiciones de entrada de otro. Por ejemplo, es posible quepara ejecutar el gui�on RESTAURANTE sea necesario ejecutar antes un gui�on que haga cierta lacondicion de entrada Tiene-dinero(C). Este gui�on podr��a ser, por ejemplo, el gui�on IR-AL-BANCO.Por tanto, al igual que se hablaba de sistemas de marcos y no de un marco individualizado,parece m�as correcto hablar de sistemas de guiones. Se tiene as�� una representaci�on adecuada paragrandes cadenas causales de hechos y tareas, que re ejan los patrones de ocurrencia de los eventosen el mundo real. Esto permite tambi�en responder a preguntas relacionadas con las causas o losefectos, dada una situaci�on. Por ejemplo: >Qu�e se debe hacer si se tiene hambre?, >Qu�e sucedecon el dinero que se paga al camarero?, etc.8.2 Razonamiento con incertidumbreEn muchos casos, es necesario que los modelos de representaci�on que se han visto, se adapten, enel sentido de que permitan tratar un cierto grado de incertidumbre, ya que, a veces, es obligadorepresentar un mundo en el que no se dispone de conocimiento completo, consistente y constante.Un caso t��pico lo constituye el diagn�ostico m�edico, que realiza inferencias bas�andose en la abducci�on,que no es una regla de inferencia legal, como pueda serlo el Modus Ponens, pero, a pesar de ello,puede resultar �util.B�asicamente, la abducci�on se basa en que, partiendo de la proposici�on (IF A THEN B) y de laproposici�on B, se deduce A. Evidentemente, esto puede conducir a conclusiones incorrectas. V�easeun ejemplo:

Page 56: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 568 x, IF es-ma�oso(x) THEN usa-pistola(x)usa-pistola(Pepe)es-ma�oso(Pepe) ???Es por esto por lo que la abducci�on no se considera una regla de inferencia de pleno derecho.Pero esto no implica que no sirva, pues bien utilizada puede ser de gran ayuda en muchos casos. Dehecho, es ampliamente utilizada en la construcci�on de sistemas expertos de ayuda al diagn�ostico,fundamentalmente m�edico.En el ejemplo, se ve que es atrevido concluir que Pepe es un ma�oso simplemente por el hechode portar pistola. Pero imaginemos que posteriormente se conoce que Pepe tiene en su casa unafoto en la que aparece con Don Vito Corleone en la Opera. Parece que aumenta la evidencia afavor de que Pepe es un ma�oso. Si adem�as, un testigo reconoce a Pepe como conductor del cochede Michael Corleone en la noche que este cometi�o el crimen, ya la evidencia es casi total a favor deque es un ma�oso.Pero el valor de evidencia tambien puede descender si, por ejemplo, posteriormente, alguiendemuestra que el susodicho testigo es, en realidad, un mentiroso profesional y adem�as, en la nochedel crimen, el tal testigo se encontraba borracho.Debe quedar claro, en este momento, que el uso cuidadoso de la abducci�on permite llegar adescubrir la verdad. No otra cosa es lo que hace un m�edico cuando observa los s��ntomas del pacientepara concluir cual es su enfermedad. A su vez, la conclusi�on alcanzada ayuda, a su vez, a explicarlos s��ntomas. La abducci�on no es m�as que una forma muy controlada de explicaci�on.Para ponderar correctamente la evidencia a favor o en contra de algun hecho deben conocersedos cosas:1. Cual es el peso de un hecho en favor o en contra de una conclusi�on.2. Como combinar distintos valores de evidencia en una conclusi�on �nal.Existe toda una profunda base matem�atica para tratar con valores num�ericos que re ejenla incertidumbre. Se basa en la estad��stica y el c�alculo de probabilidades. En particular, esfundamental la idea de probabilidad condicional, asociando un valor de probabilidad a cada reglaIF-THEN. Por ejemplo:IF fumador(x) THEN cancer-de-pulmon(x) CON Prob=0.35Esto es lo mismo que expresar, en t�erminos de probabilidad condicional:P(Cancer-de-pulmonjFumador) = 0.35Los sistemas de razonamiento basado en la incertidumbre, generalmente disponen de una grancantidad de valores de probabilidad condicional de la forma:P(EnfermedadjSintoma) = pY el mecanismo de inferencia trabaja con estos valores, combin�andolos adecuadamente (seg�unel Teorema de Bayes), hasta obtener �nalmente un resultado que permita realizar un diagn�ostico (opermita rechazar un diagn�ostico previo). Los detalles de todo este proceso son demasiado complejospara este curso introductorio.

Page 57: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 579 Ejercicios de autocomprobacionProblema 1.Se pide modelizar todos los componentes de un sistema de producci�on, que, de la forma m�as generalposible, pueda resolver integrales comoZ 6x(3x2 + 1)2 + 3x2senx3 + 2xx2 dxteniendo en cuenta Z (u+ v)dx = Z udx+ Z vdxZ (f(x))af 0(x)dx = (a+ 1) f(x)a+ 1 + c (a 6= �1)Z f 0(x)f(x) dx = lnf(x) + cZ f 0(x)senf(x)dx = �cosf(x) + cZ audx = a Z udxy la siguiente tabla de derivadas: Funci�on Derivaday=a y'=0y=x y'=1y=ua y'=aua�1u'y=u+v y'=u'+v'y=au y'=au'donde u; v, y f(x) son funciones de x, y a es una constante,Soluci�on al problema 1.La siguiente es una posible soluci�on al problema. Otras soluciones ser��an igualmente v�alidas. LaBase de Hechos inicial ser��a:BH=f(der x 1 x) (cte 3 x) (cte 6 x) (cte 1 x) (cte 2 x)gdonde (der x y z) representa el hecho de que y es la derivada de x respecto de z, y (cte x y)representa el hecho de que x es una constante respecto a la variable y. La meta es conseguir en laBase de Hechos:

Page 58: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 58(int (+ (+ (* (elev (+ (* 3 (elev x 2)) 1) 2)(* 6 x))(* 3 (* (elev x 2) (sen (elev x 3)))))(/ (* 2 x) (elev x 2)))$1x)donde (int x y z) representa el hecho de que la integral de x respecto de z es y, y $1 representala soluci�on al problema. Las variables se van a representar precedidas de un $. La Base de Reglasestar��a formada por las reglas:R1. (int $f1 $i1 $v)^(int $f2 $i2 $v)!(int (+ $f1 $f2) (+ $i1 $i2) $v)R2. (der $f $d $v)^(cte $c $v)!(int (* (elev $f $c) $d) (+ (/ (elev $f (+ $c 1)) (+ $c 1)) c) $v)R3. (der $f1 $d1 $v)!(int (/ $d1 $f1) (+ (ln $f1) c) $v)R4. (der $f1 $d1 $v)!(int (* $d1 (sen $f1)) (- c (cos $f1)) $v)R5. (int $f1 $i1 $v)^(cte $c $v)!(int (* $c $f1) (* $c $i1) $v)R6. (cte $c $v)!(der $c 0 $v)R7. (der $f1 $d1 $v)^(cte $c $v)!(der (* $c $f1) (* $c $d1) $v)R8. (der $f1 $d1 $v)^(cte $c $v)!(der (elev $f1 $c) (* $c (* (elev $f1 (- $c 1)) $d1)) $v)R9. (der $f1 $d1 $v)^(der $f2 $d2 $v)!(der (+ $f1 $f2) (+ $d1 $d2) $v)donde (elev x y) es la funci�on elevar a x a y. La estrategia de control ser��a un motor deinferencias hacia atr�as, ya que se tiene un gran factor de rami�caci�on hacia adelante y peque~nohacia atr�as.Problema 2.Sup�ongase un mundo de los bloques, como el visto en clase, con las siguientes caracter��sticasadicionales:� Cada bloque tiene un color en cada cara, que puede ser blanco, negro, azul o rojo.� Hay dos brazos de robot.� Cada brazo de robot puede levantar un bloque por una cara C si la cara C est�a hacia arriba,libre, y el otro brazo est�a libre o tiene cogido un bloque por una cara C 0 tal que C y C 0 tienenel mismo color.� Un bloque s�olo puede estar encima de otro si las dos caras en contacto tienen el mismo color.� Cualquiera de los dos brazos de robot que est�e libre puede empujar por una cara a un bloqueque est�e encima de la mesa y libre, de forma que el bloque girar�a y la cara empujada pasar�aa estar hacia arriba.� Cualquiera de los dos brazos de robot que est�e libre puede pintar un bloque de cualquiera delos cuatro colores.

Page 59: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 59� Puede haber muchos brazos de robot.� El color rojo es incompatible con el azul y con el negro, y el color negro es el opuesto delblanco.� Hay dos tipos de brazo de robot: los que levantan y los que empujan. Los que levantan est�ancolgados de poleas, que deben resistir el peso del robot y el bloque. Los que empujan debentener la fuerza necesaria para empujar el bloque.Representar mediante marcos el conocimiento que se dispone del dominio anterior. Se debemostrar al menos un m�etodo o demonio asociado a las restricciones mencionadas arriba.Soluci�on al problema 2.Una posible jerarqu��a de marcos es la que se muestra en la siguiente tabla.Marco Atributo Posibles valoresSoporte Nombre Identi�cadorBloque Subclase-de SoportePeso N�umeroEncima-de Instancia de Soporte o NadaLibre Verdadero o FalsoSujeto-por Instancia de Robot o NadaCara-superior Instancia de CaraCara-inferior Instancia de CaraCara-lateral-1 Instancia de CaraCara-lateral-2 Instancia de CaraCara-lateral-3 Instancia de CaraCara-lateral-4 Instancia de CaraMesa Subclase-de SoporteNombre mesaCara Nombre Identi�cadorColor Instancia de ColorOpuesta-a Instancia de CaraColor Nombre Identi�cadorIncompatible-con Instancia de ColorOpuesto-a Instancia de ColorRobot Nombre Identi�cadorSujeta-a Instancia de Bloque o NadaLevantador Subclase-de RobotPeso N�umeroColgado-de Instancia de PoleaEmpujador Subclase-de RobotFuerza N�umeroPolea Nombre Identi�cadorPeso-m�aximo N�umeroSujeta-a Instancia de Levantador

Page 60: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 60Podr��amos plantear muchos m�etodos posibles, as�� como demonios. Como ejemplos, vamos adescribir c�omo implementar la acci�on Dejar y el demonio que comprueba si un robot levantadorpuede resistir el peso de un objeto. En el examen no era necesario llegar a este nivel de detalle,sino especi�car qu�e har��a cada uno.M�etodo robot.Levantar-Otro-Libre (self,bloque)(* self es una instancia de robot levantador y bloque es una instancia de bloque *)if robot.sujeta-a(self)=Nada ANDbloque.libre(bloque)=Verdadero ANDsoporte.identi�cador(bloque.encima-de(bloque))=mesa AND9 R' instancia de Robot jR0 6= self AND(robot.sujeta-a(R')=Nada ORcara.color(bloque.cara-superior(robot.sujeta-a(R')))=cara.color(bloque.cara-superior(bloque)))then robot.sujeta-a(self):=bloquebloque.sujeto-por(bloque):=selfbloque.libre(bloque):=Falsobloque.encima-de(bloque):=NadaDemonio levantador.sujeta-a.si-cambio (self,nuevo-valor)(* se dispara cuando se intenta cambiar el valor del atributo sujeta-ade cualquier robot levantador *)if polea.peso-m�aximo(levantador.colgado-de(self))<levantador.peso(self) + bloque.peso(nuevo-valor)then return levantador.sujeta-a(self):=nuevo-valorelse write('Error: robot no puede con objeto')return levantador.sujeta-a(self)Problema 3.Los gatos y el rat�on es un juego que se juega en un tablero de ajedrez (8x8) sobre las casillasnegras. Un jugador mueve los gatos, que son cuatro �chas negras situadas inicialmente en lascasillas negras de la primera �la. El otro jugador mueve el rat�on, que es una �cha blanca que,inicialmente, est�a en cualquiera de las casillas negras de la �ultima �la (�la 8). Los jugadores se vanturnando en sus movimientos. El jugador de los gatos solo puede mover un gato en cada turno,ocupando una de las posibles dos casillas negras contiguas que se situan en diagonal hacia adelantecon respecto a la que ocupa. El jugador del rat�on puede mover en cada turno el rat�on a una de lasposibles cuatro casillas negras contiguas en diagonal a la que ocupa. Los gatos ganan la partidasi consiguen impedir el movimiento del rat�on, acorralando al rat�on. El rat�on gana si se encuentraen una �la con menor n�umero que la del gato m�as atrasado, debido a que los gatos solo pueden irhacia adelante y llegar�a un momento en el que no puedan mover.Se pide formalizar este dominio por medio de un sistema de producci�on, que, dependiendodel papel con el que juegue el ordenador (gatos o rat�on), efect�ue los movimientos. El sistemade producci�on deber�a tambi�en detectar la situaci�on de �n de partida. Especif��quense todos loscomponentes del sistema de producci�on.

Page 61: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 61Soluci�on al problema 3.Base de Hechos inicial=f(Ordenador-Juega-con,$Papel), (1,1,Gato,Gato1),(1,3,Gato,Gato2),(1,5,Gato,Gato3),(1,7,Gato,Gato4),(8,$r,Rat�on), (2,$x,Vac��o),(3,$y,Vac��o),(4,$x,Vac��o),...,(8,$z,Vac��o), (0,$p,Gato,Gato-Falso),(9,$q,Gato,Gato-Falso),($q,9,Gato,Gato-Falso),($p,0,Gato,Gato-Falso)gdonde $Papel=Gatos o Rat�on; $r=2,4,6 u 8; $x=2,4,6 y 8; $y=1,3,5, y 7; $z=2,4,6, y 8 menosla posici�on donde se sit�ue inicialmente el rat�on; $p=0,2,4,6, y 8; y $q=1,3,5,7, y 9;. Cuando seestudien las reglas de �n, se estudiar�a por qu�e se han introducido las casillas �cticias �ultimasreferentes a los gatos.La Base de Hechos �nal es la dada por alguna de las situaciones de �n, especi�cadas por lasreglas de �n.La Base de Reglas:Reglas de los GatosR1. (Ordenador-Juega-con,Gatos),($i,$j,Gato,$Gato),($k,$l,Vac��o),$i=$k+1, $j=$l-1,$i<8,$j>1! -($i,$j,Gato,$Gato) -($k,$l,Vac��o) +($k,$l,Gato,$Gato) +($i,$j,Vac��o)R2. (Ordenador-Juega-con,Gatos),($i,$j,Gato,$Gato),($k,$l,Vac��o),$i=$k+1, $j=$l+1,$i<8,$j<8! -($i,$j,Gato,$Gato) -($k,$l,Vac��o) +($k,$l,Gato,$Gato) +($i,$j,Vac��o)Reglas del Rat�onR3. (Ordenador-Juega-con,Rat�on),($i,$j,Rat�on),($k,$l,Vac��o),$i=$k+1, $j=$l-1,$i<8,$j>1! -($i,$j,Rat�on) -($k,$l,Vac��o) +($k,$l,Rat�on) +($i,$j,Vac��o)R4. (Ordenador-Juega-con,Rat�on),($i,$j,Rat�on),($k,$l,Vac��o),$i=$k+1, $j=$l+1,$i<8,$j<8 !-($i,$j,Rat�on) -($k,$l,Vac��o) +($k,$l,Rat�on) +($i,$j,Vac��o)R5. (Ordenador-Juega-con,Rat�on),($i,$j,Rat�on),($k,$l,Vac��o),$i=$k-1, $j=$l-1,$i>1,$j>1 !-($i,$j,Rat�on) -($k,$l,Vac��o) +($k,$l,Rat�on) +($i,$j,Vac��o)R6. (Ordenador-Juega-con,Rat�on),($i,$j,Rat�on),($k,$l,Vac��o),$i=$k-1, $j=$l+1,$i>1,$j<8 !-($i,$j,Rat�on) -($k,$l,Vac��o) +($k,$l,Rat�on) +($i,$j,Vac��o)Reglas de control de �n cuando ganan GatosEn esta regla se comprueba que todo lo que rodea al Rat�on son gatos. Por esto, se pon��an en laBase de Hechos Inicial todas las ternas correspondientes a las casillas negras que rodean al tableropor fuera.R7. ($i,$j,Rat�on),($g1,$g2,Gato,$Gato1),($g3,$g4,Gato,$Gato2),($g5,$g6,Gato,$Gato3),($g7,$g8,Gato,$Gato4),$i=$g1-1,$j=$g2-1,$i=$g3-1,$j=$g4+1,$i=$g5+1,$j=$g6-1,$i=$g7+1,$j=$g8+1 ! FIN (ganan Gatos)Reglas de control de �n cuando gana el Rat�onR8. ($i,$j,Rat�on),($g1,$g2,Gato,$Gato1),($g3,$g4,Gato,$Gato2),($g5,$g6,Gato,$Gato3),($g7,$g8,Gato,$Gato4),$i<$g1,$i<$g2,

Page 62: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 62$i<$g3,$i<$g4,$Gato1 6=$Gato2 6=$Gato36=$Gato46=Gato-Falso! FIN (gana Rat�on)10 Ejercicios propuestos no resueltos1. Intentar modelizar en un sistema de marcos un dominio compuesto por las �guras geom�etricas(circulo, cuadrado, tri�angulo, etc). T�engase en cuenta el mecanismo de herencia, e intenteutilizar otras caracter��sticas de los marcos, como los demonios.2. Observe la red sem�antica de la �gura 12. Comp�are el proceso de equiparaci�on necesario paradeducir cu�al es el tipo de pistola que utiliza McCluskey, con el mismo proceso referido a lapistola de Harry el Sucio. Intente aclarar la cuesti�on de por qu�e existe un arco INST-DEque relaciona el arma de Michael Corleone con COLT-45 y por qu�e no es necesario un arcosemejante para la pistola de McCluskey.3. Representar mediante marcos el conocimiento que se dispone de la asignatura InteligenciaArti�cial. Se deber�an describir, al menos, veinte marcos (entre clases, subclases e instancias)y una profundidad de cuatro niveles en alguna rama. Se deben especi�car algunos atributos.

Page 63: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 63B�usqueda Heur��stica11 Introducci�on a la b�usquedaEn esta secci�on se van a tratar las t�ecnicas b�asicas de b�usqueda, partiendo de una forma derepresentar todos los problemas, el espacio de estados, tratado en la secci�on 12, pasando por last�ecnicas de b�usqueda cuando no se dispone de informaci�on que gu��e la soluci�on de los problemas,b�usqueda no informada, tratada en la secci�on 13, y �nalizando en las t�ecnicas de resoluci�on deproblemas que se pueden utilizar cuando se dispone de conocimiento que puede guiar la b�usqueda,b�usqueda informada o heur��stica, descritas en las secciones 14 y 15.12 Espacio de estadosEl espacio de estados es una t�ecnica que permite formalizar problemas. Un espacio de estados sede�ne en funci�on de los dos elementos:� Conjunto de estados. Representa el mundo por el que la t�ecnica de b�usqueda va a moverse paraintentar resolver los problemas. Sup�ongase, por ejemplo, que se desea construir un sistema deintegraci�on simb�olica, que sea capaz de, dada como entrada una integral inde�nida, obtenersu funci�on primitiva. En este caso, los elementos de ese conjunto, los estados, ser��an todaslas posibles integrales que se podr��an formar, junto a f�ormulas matem�aticas intermedias. As��,R 3x2dx, R sen(4x)dx, o x3 + c ser��an estados del conjunto de estados.� Conjunto de operadores. Representan la forma de moverse en ese conjunto de estados. Cadaoperador va a poder representarse como un arco que va de un estado a otro del conjunto deestados, con el signi�cado de: si el m�etodo de resoluci�on de problemas est�a en alg�un momentoen un determinado estado, y se ejecuta un operador, entonces se puede pasar a otro estado.En el caso del dominio anterior, los operadores podr��an ser todas las acciones que se puedenrealizar en ese dominio, de forma que se puede pasar de una f�ormula matem�atica a otra (deun estado a otro). Por ejemplo, podr��a haber un operador:OP1. R 3xdx! 3 R xdxque permite pasar del estado que aparece en su izquierda, R 3xdx, al estado que aparece ensu derecha, 3 R xdx.Los operadores tienen dos partes diferenciadas: la parte izquierda o precondiciones, que sonlas condiciones que se tienen que cumplir en un determinado estado para poder ser ejecutadoel operador; y la parte derecha o postcondiciones, que representan la descripci�on del estado alque se puede transitar. Por ejemplo, se podr��an tener, entre otros, los siguientes operadores:

Page 64: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 64OP2. R (u+ v)dx! R udx+ R vdxOP3. R (f(x))af 0(x)dx! (a+ 1)f(x)a+1 + c (a 6= �1)OP4. R f 0(x)f(x) dx! lnf(x) + cOP5. R f 0(x)senf(x)dx! �cosf(x) + cOP6. R audx! a R udxOP7. y=a!y'=0OP8. y=x!y'=1OP9. y=ua!y'=aua�1u'OP10. y=u+v!y'=u'+v'OP11. y=au!y'=au'donde a es una constante, y f(x), u, y v son funciones de x. Como se puede observar, el primeroperador, OP1, es un operador muy particular, ya que permite transitar de un �unico estado,R 3xdx, a otro �unico estado, 3 R xdx. En el caso de los dem�as operadores, son operadoresgenerales, ya que permiten pasar de un estado a otro, sin especi�car exactamente los estadosinicial y �nal, sino especi�cando condiciones que se tienen que dar en un estado para pasara otro estado. As��, el operador OP6, que es el caso m�as general del operador OP1, permitepasar de estados que equiparen con la descripci�on de su parte izquierda, como, por ejemplo:R 3x2dx o R 4(x3 + x2)dx, a los estados correspondientes de acuerdo a lo que dicte la partederecha. En los dos casos mencionados, el operador OP6 permitir��a pasar, respectivamente,a los estados 3 R x2dx o 4 R (x3 + x2)dx, donde, en un caso, fu=x2,a = 3g y, en el otro,fu=(x3 + x2),a = 4g. Es decir, hay una asignaci�on a las variables del operador, u y a.Un espacio de estados se puede representar, pues, por un grafo dirigido en el que los nodosson los estados y los arcos son los operadores instanciados (asignando valores a las variables deloperador) que permiten pasar de un estado a otro. En el caso del ejemplo de las integrales, la�gura 17 muestra una porci�on del espacio de estados.2

3x cosxdx

OP2 OP2

3x senx-3 senx dx

3x senx+3cosx+C

23 xcosx-3 x senxdx

OP6

OP5

OP6

3 xcosx- 3 x senxdx2 2

3x senx- 3senx dx2

2 2

2

u=3xdv=cosxdx

dv=3xdxu=cosx

Figure 17: Parte del espacio de estados de las integrales.Una vez descrito el espacio de estados, un problema se de�ne como la tripleta: < EE;EI;EF >,donde EE es el espacio de estados, EI es el estado inicial del problema, y EF es el estado �nal. Enel caso del integrador simb�olico, un estado inicial ser��a una determinada integral, como, por ejemplo,R 6x(3x2 + 1)2 + 3x2senx3 + 2xx2 dx y un estado �nal ser��a su soluci�on, (3x2+13 )3 � cosx3 + lnx2 + c.

Page 65: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 65En muchos casos, no se conoce el estado �nal, pero s�� una descripci�on del mismo, como el caso delintegrador, en el que no se conoce \a priori" la soluci�on, pero s�� se sabe cu�ando se ha llegado a ella:cuando la f�ormula que representa el estado no contiene el s��mbolo de integral.Por tanto, la resoluci�on de problemas bajo la formalizaci�on de espacio de estados consisteen recorrer el grafo que lo representa, partiendo del nodo inicial (estado inicial), hasta que sealcanza un nodo que, o bien es el estado �nal, o bien cumple la descripci�on del estado �naldeseado. Normalmente, se desarrolla un �arbol de b�usqueda para resolver el problema. Debido aque puede haber muchas formas de realizar esa b�usqueda, y puede haber muchos arcos (operadoresinstanciados) que partan de un determinado nodo (estado), la di�cultad de los problemas va aconsistir en encontrar el camino que conecta los dos nodos que representan el estado inicial y �nalen grafos grandes. Sup�ongase, por ejemplo, que el espacio de estados es el del ajedrez. El conjuntode estados ser��a el formado por todas las posibles situaciones de juego, el conjunto de operadoresser��an las reglas del juego, el estado inicial es el tablero inicial, y el estado �nal es uno en quese haya ganado la partida. En este caso, la b�usqueda consistir��a en encontrar una estrategia que,dada cualquier jugada del contrario, nos haga ganar la partida. Dado que el conjunto de estadoses inmenso, y el n�umero de arcos que salen de cada nodo es muy grande, entonces la soluci�on delproblema del ajedrez es considerado como muy dif��cil, y, hasta ahora, no se ha podido generardicha estrategia.Se van a de�nir dos par�ametros que van a servir para caracterizar num�ericamente la complejidaddel espacio de b�usqueda: factor de rami�caci�on (fr) y profundidad del �arbol (p). El factor derami�caci�on de un nodo se de�ne como el n�umero de nodos sucesores que tiene. Como los sucesoresde un nodo en el �arbol de b�usqueda son los nodos accesibles desde ese en el grafo del conjuntode estados, y los accesibles desde un nodo corresponden al n�umero de operadores instanciadosaplicables en ese nodo, el factor de rami�caci�on se puede de�nir tambi�en como el n�umero deoperadores instanciados que se pueden aplicar en un determinado estado. Normalmente, se sueleutilizar el factor de rami�caci�on medio de todo el �arbol para calcular la complejidad del problema.Este par�ametro se obtiene de: frmedio = Pni=1 fr(i)ndonde n es el n�umero de nodos del �arbol y fr(i) es el factor de rami�caci�on del nodo i. Por otraparte, la profundidad de un nodo en el �arbol representa el n�umero de niveles que se han recorridopara llegar a �el desde el nodo ra��z del �arbol, o bien por el n�umero de operadores aplicados. Elfactor de rami�caci�on da una idea de lo ancho del �arbol de b�usqueda, mientras que la profundidadda una idea de la altura del �arbol.13 B�usqueda no informadaExisten muchos espacios de estados donde no se dispone de informaci�on de por d�onde se deberealizar la b�usqueda. Es decir, para cada decisi�on de por qu�e arco ir desde cada nodo, no se conoceel mejor camino a la soluci�on. En estos casos, existen algunos m�etodos conocidos de la teor��a degrafos que permiten recorrer el espacio de estados para encontrar la soluci�on. En esta secci�on sevan a tratar el m�etodo de generar y comprobar, la b�usqueda en amplitud, en profundidad, haciaatr�as, bidireccional, y con islas.

Page 66: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 6613.1 M�etodo de generar y comprobarCuando el espacio de estados no es muy grande, la t�ecnica m�as sencilla para recorrerlo consisteen generar todos los posibles caminos desde el estado inicial y comprobar, para cada uno, si esel estado �nal o no. Sup�ongase, por ejemplo, en el dominio de las integrales que se de�ne unsubespacio de estados, en el que se enumeran todos los posibles caminos desde el estado inicialR 3x5xxdx, teniendo s�olo en cuenta los operadores OP6 y OP3. Entonces, la t�ecnica de generary comprobar, enumerar��a todos los posibles caminos alcanzables desde el estado inicial en trespasos (n�umero de pasos de la soluci�on) y, para cada uno, comprobar��a si el estado correspondientetiene el s��mbolo de integral o no. Podr��a generar, por ejemplo, las secuencias OP3-OP3-OP3,OP3-OP3-OP6, OP3-OP6-OP3, ..., OP6-OP6-OP6. Luego, comprobar��a que la OP3-OP3-OP3 nollega a la soluci�on, la siguiente tampoco, y as�� sucesivamente, hasta llegar a la OP6-OP6-OP3, ques�� llega a la soluci�on. Evidentemente, este tipo de t�ecnica puede llegar a ser totalmente ine�cazen grandes espacios de estados, ya que podr��a tardar mucho tiempo en estudiar todos los posiblescaminos hacia la soluci�on.13.2 B�usqueda en amplitudLa b�usqueda en amplitud es una forma ordenada de recorrer los posibles caminos desde el estadoinicial. Consiste en recorrer primero todos los nodos accesibles directamente desde el estado inicial,atravesando s�olo un arco, que constituyen los sucesores del primer nivel. Si ninguno de ellos es lasoluci�on, se estudian, por orden, los nodos accesibles desde los nodos sucesores del primer nivel,siendo estos los nodos que con�guran el segundo nivel. As��, se ir��a creando un �arbol de b�usquedapor niveles; no se estudiar�a un nodo de un determinado nivel, hasta que no se estudien los nodosde niveles anteriores. El algoritmo de este tipo de b�usqueda se muestra en la tabla adjunta. Lalista ABIERTA representa el conjunto de nodos generados en el �arbol de b�usqueda, pero de los queno se han generado sus sucesores. Funciona como el concepto inform�atico de cola, en la que losprimeros nodos generados ser�an los primeros en salir (FIFO, \�rst-in �rst-out"), al introducirse losnuevos nodos siempre al �nal de ABIERTA.

Page 67: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 67Procedimiento Amplitud (Estado-inicial Estado-Final)1. Crear lista ABIERTA con el nodo inicial, I,que representa el Estado-inicial2. EXITO=Falso3. Hasta que ABIERTA est�e vac��a O EXITOQuitar de ABIERTA el primer nodo. Lo llamaremos NSi N tiene sucesoresEntonces� Generar los sucesores de N� Crear punteros desde los sucesores hacia N� A~nadir los sucesores al �nal de ABIERTASi el primer nodo de ABIERTA es el Estado-FinalEntonces EXITO=VerdaderoFin de bucle4. Si EXITOEntonces Soluci�on=camino desde I a N por los punterosSi no, Soluci�on=fracasoVeamos el funcionamiento con un ejemplo en el 8-puzzle. El 8-puzzle es un dominio sencilloque permite describir f�acilmente las t�ecnicas de b�usqueda. Consiste en una matriz de 3x3, en laque cada casilla tiene un n�umero diferente del 1 al 8, habiendo una casilla vac��a. El conjunto deestados est�a formado por todas las combinaciones posibles de n�umeros en casillas. El conjunto deoperadores son las formas de transformar un estado en otro. En concreto, se pueden realizar lossiguientes movimientos:OP1. Abajo. Mueve la casilla vac��a a la casilla inferior.OP2. Arriba. Mueve la casilla vac��a a la casilla superior.OP3. Derecha: Mueve la casilla vac��a a la casilla de la derecha.OP4. Izquierda: Mueve la casilla vac��a a la casilla de la izquierda.La �gura 18 muestra un ejemplo de problema (estado inicial y �nal) del 8-puzzle. La �gura 19muestra el �arbol de b�usqueda generado por la b�usqueda en amplitud para ese problema. En la�gura, los n�umeros representan el orden de expansi�on de los nodos, las echas son los apuntadoresdesde cada nodo hasta su nodo padre, las x representan los nodos de fallo, que corresponden abucles de estado (nodos repetidos en el �arbol de b�usqueda en el camino que lleva a ese nodo desde elnodo ra��z), la p representa el estado �nal, y, �nalmente, los apuntadores en negrita son la soluci�ondel problema (la secuencia de operadores que hay que aplicar para resolverlo). La generaci�on de los

Page 68: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 68sucesores de los nodos se realiza de acuerdo al orden en el que se han especi�cado los operadores.As��, el primer operador que se intenta aplicar es el OP1, luego OP2, OP3 y OP4.1 2 3

4 5 6

7 8

a b

1 2 3

5 6

4 7 8Figure 18: Estados inicial (a) y �nal (b) de un problema en el 8-puzzle.1 2 3

5 6

4 7 8

1 2 3

5 6

7 8

4

2 3

5 6

4 7 8

1

1 2 3

6

4 7 8

5

1 2 3

5 6

8

4

7

3

5 6

4 7 8

1

2 1 2 3

6

4 8

5 7

1 3

6

4 7 8

5 2

1 2 3

4 7 8

5 6

1

2 3 4

5 6 7 8 9 10 11 12

1 2 3

5 64

7 8

13 14

15

16 17

18 19

20

1 2 3

5 6

7 84

2 3

5 6

4 7 8

1 1 2 3

6

4 7 8

5

...3

6

4 7 8

1

2

5 6

4 7 8

1

2 1 2 3

65 7

1 2 3

65 7

1 2 3

4 7 8

5

x

x x

x x

844 8

6

1 2 3

6

8

4

7 5

x 5 3

x

21 27

Figure 19: �Arbol de b�usqueda generado por amplitud en el problema de la �gura 18.Las ventajas que tiene la b�usqueda en amplitud son:� Si existe una soluci�on y el factor de rami�caci�on es �nito, la encontrar�a.� Si todos los arcos tienen igual coste (el coste de aplicar los operadores es el mismo), amplitudencuentra la soluci�on �optima, si la hubiera.� Es �util cuando las metas del problema son escasas y est�an cerca del estado inicial. En esecaso, como amplitud busca en la vecindad del estado inicial, las encontrar��a pronto.Sin embargo, tiene el problema de que ocupa mucha memoria, ya que en cada paso almacenatodos los sucesores de los nodos de un nivel, con lo que si se est�a en el nivel de profundidad p, y elfactor de rami�caci�on medio es fr, se tendr��an almacenados frp nodos.

Page 69: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 6913.3 B�usqueda en profundidadLa b�usqueda en profundidad elige el primer camino siempre, en lugar de expandir todos los sucesoresde cada nivel. As��, el algoritmo, que se muestra en la tabla adjunta, explora el primer sucesor decada nodo, realizando una b�usqueda primero por la rama de la izquierda. Como podr��a generarinde�nidamente nodos por la rama de la izquierda, se suele poner un tope de profundidad a partirdel cual no se sigue estudiando. Cuando la b�usqueda llega a un nodo con la profundidad m�aximapre�jada y no se ha llegado a la soluci�on, se da marcha atr�as, volviendo al nodo padre e intentandola b�usqueda por otro camino. Esto es lo que se denomina la t�ecnica de retroceso, fundamentalpara realizar una b�usqueda en profundidad efectiva. Como se puede observar en el procedimiento,la lista ABIERTA se comporta como una pila, a diferencia del m�etodo de amplitud, ya que los�ultimos nodos generados ser�an los que se estudien primero, al introducirse al principio de ABIERTA(estrategia LIFO \last-in �rst-out").Procedimiento Profundidad (Estado-inicial Estado-Final)1. Crear lista ABIERTA con el nodo inicial, I, y su profundidad=02. EXITO=Falso3. Hasta que ABIERTA est�e vac��a O EXITOQuitar de ABIERTA el primer nodo.Lo llamaremos N y a su profundidad PSi P < Profundidad-m�axima Y N tiene sucesoresEntonces� Generar los sucesores de N� Crear punteros desde los sucesores hacia N� A~nadir los sucesores al principio deABIERTA con profundidad P+1� Si alg�un sucesor es el Estado-FinalEntonces EXITO=VerdaderoFin de bucle4. Si EXITOEntonces Soluci�on=camino desde I a N por los punterosSi no, Soluci�on=fracasoVeamos el comportamiento con el mismo problema de la �gura 18. En este caso, el �arbol deb�usqueda generado es el mostrado en la �gura 20, donde tambi�en se ha especi�cado el orden degeneraci�on de los nodos. En este caso la b�usqueda utilizando profundidad ha resuelto mejor elproblema (ha expandido menor n�umero de nodos). Sin embargo, esto no tiene por qu�e ser as�� entodos los casos. Las situaciones en las que funciona bien son:� Las metas est�an alejadas del estado inicial y son numerosas. En ese caso, como amplitud varecorriendo poco a poco la vecindad del estado inicial tardar��a mucho tiempo en llegar a la

Page 70: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 701 2 3

5 6

4 7 8

2 3

5 6

4 7 8

1

1

3

1 2 3

6

4 7 8

5

4

1 2 3

5 6

7 8

4

1 2 3

5 6

8

4

7

2

5 6

7

1 2 3

5 64

7 8

1 2 3

5 6

7 84

x

1 2 3

6

8

4

7 5

xProfundidad maxima=3

8

x

Figure 20: �Arbol de b�usqueda generado por profundidad en el problema de la �gura 18.soluci�on, mientras que profundidad ir��a directo hacia la zona donde est�an las metas (lejos).� Se dispone de poca memoria. Como profundidad almacena s�olo los nodos del camino desde elnodo ra��z hasta el �ultimo generado, requiere de media fr�p nodos en ABIERTA, que es muchamenor memoria que el de amplitud. Por ejemplo, si fr=10 y p = 5, el m�etodo de b�usquedaen amplitud guardar��a 105 = 10:000 nodos, frente a los 10 � 5 = 50 nodos que guardar��aprofundidad.Sin embargo, la t�ecnica de profundidad no asegura encontrar la soluci�on �optima.La t�ecnica de b�usqueda en profundidad requiere disponer de la t�ecnica de retroceso(\backtracking" en ingl�es). Las razones por las cuales se debe realizar retroceso son:� Se ha llegado al l��mite de profundidad.� Se han estudiado todos los sucesores de un nodo y no se ha llegado a la soluci�on.� Se sabe que el estado no conduce a la soluci�on. Por ejemplo, cuando se genera un estadorepetido (nodo 5).13.4 B�usqueda hacia atr�asHasta ahora se han estudiado procedimientos para, partiendo desde el estado inicial del problema,aplicando operadores, intentar llegar a las metas del mismo. Una forma alternativa de resolver elproblema consiste en empezar la b�usqueda en el estado �nal y, aplicando el inverso de los operadores,intentar llegar al estado inicial. En el caso del problema de la �gura 18, el �arbol generado por lab�usqueda hacia atr�as (o desde las metas) es el mostrado en la �gura 21, en el que, como se puedeobservar, se ha comenzado desde el estado �nal y se han aplicado los operadores inversos de losque se emplean en la b�usqueda hacia adelante. En este caso, los operadores inversos ser��an, por

Page 71: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 71ejemplo, el operador inverso arriba en lugar del operador abajo, o el operador inverso izquierda enlugar del operador derecha. En la b�usqueda hacia atr�as se puede elegir la t�ecnica de b�usquedaque se pre�era: generar y veri�car, amplitud o profundidad. En el ejemplo se ha mostrado la deprofundidad con una profundidad m�axima de 3.14

x1 2 3

6

8

4

7 5

13

1 2 3

5 6

7 8

4

15

16

1

1 2 3

5 64

7 8

3

1 2 3

54

7 8 6

1 2

54

7 8 6

3

2

4

5

1 2 3

4

7 8 6

5

6

7x

21

1 2 3

5 6

8

4

7

x

2019

1 2 3

6

87 5

4

x

1 2 3

5 6

874

17

1 3

6

8

4

7 5

2

x

1 2 3

87 5

4 6

188

1

54

7 8 6

3

2

x

9

1 2 3

4

7 6

58

x

1 2 3

7 8 6

54

12

x

11

x

10

x

1 2 3

5 64

7 8

x

xProfundidad-maxima=3

1 3

4

7 8 6

52

xFigure 21: �Arbol generado por b�usqueda desde las metas en el problema de la �gura 18.13.5 B�usqueda bidireccionalTodas las t�ecnicas estudiadas hasta el momento s�olo tienen un sentido de b�usqueda, que puede serhacia adelante o hacia atr�as. La b�usqueda bidireccional permite realizar una b�usqueda en los dossentidos: hacia adelante y hacia atr�as. Cada una de estas b�usquedas se podr�a realizar por mediode generar-y-comprobar, amplitud o profundidad. La tabla adjunta muestra el procedimiento deb�usqueda bidireccional.

Page 72: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 72Procedimiento Bidireccional (Estado-inicial Estado-�nal)1. ABIERTA-I=Estado-inicial; ABIERTA-M=Estado-�nalEXITO=Falso2. Hasta que EXITO� Quitar de ABIERTA-I el primer nodo, N� Generar sucesores de N, introducirlos en ABIERTA-I, y compararlos contodos los estados de ABIERTA-M� SI alg�un sucesor de N equipara con alg�un elemento de ABIERTA-MENTONCES EXITO=VerdaderoSI NO- Quitar de ABIERTA-M el primer nodo M- Generar sucesores de M, introducirlos en ABIERTA-M, ycompararlos con todos los estados de ABIERTA-I- SI alg�un sucesor de M equipara con alg�un elemento de ABIERTA-IENTONCES EXITO=Verdadero3. SI EXITOENTONCES Soluci�on=camino desde nodo del Estado-inicial al nodo delEstado-�nal por los punterosSI NO, Soluci�on=fracasoSupongamos que se desea resolver el problema de la �gura 18 mediante una b�usquedabidireccional en la que la b�usqueda hacia adelante se va a realizar por medio de la t�ecnica deprofundidad, y la b�usqueda hacia atr�as mediante la t�ecnica de amplitud. La �gura 22 muestra el�arbol generado en el que los nodos est�an numerados de acuerdo al orden de generaci�on. En la �gurase observa que encuentra que dos nodos, uno perteneciente al �arbol de b�usqueda hacia adelante(nodo 9), y el otro perteneciente al �arbol de b�usqueda hacia atr�as (nodo 7), son iguales, por lo quetermina la b�usqueda.13.6 B�usqueda con islasSi se dispone de informaci�on de estados intermedios del espacio de estados por los cuales debepasar la b�usqueda, entonces se puede utilizar la b�usqueda con islas. Como se necesitan conocerestos estados intermedios, o islas, este tipo de b�usqueda se puede tambi�en considerar dentro de lab�usqueda informada. En el caso de que se conozcan las islas, se puede realizar una b�usqueda entre elestado inicial y la primera isla, otra b�usqueda entre la primera isla y la segunda, y as�� sucesivamentehasta la b�usqueda entre la �ultima isla y el estado �nal, tal como muestra esquem�aticamente la�gura 23.En la �gura 24 se muestra los dos �arboles de b�usqueda generados por la b�usqueda con islascuando se conoce que la b�usqueda debe pasar por el estado representado por el nodo 6. Las dosb�usquedas han sido en profundidad, aunque la b�usqueda con islas permite realizar cualquier tipode b�usqueda entre dos estados tanto bidireccional como unidireccional.

Page 73: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 731 2 3

5 6

4 7 8

2 3

5 6

4 7 8

1

1

1 2 3

5 6

7 8

4

1 2 3

5 6

7 84

1 2 3

6

4 7 8

5

3 4 5

1 2 3

5 6

8

4

7

8 9

1 2 3

5 64

7 8

1 2 3

54

7 8 6

1 2 3

5 6

8

4

7

2

6 7

x

Figure 22: �Arbol generado por b�usqueda bidireccional en el problema de la �gura 18.13.7 An�alisis de complejidadEn este apartado se va a estudiar la complejidad de cada uno de los tipos de b�usqueda teniendocomo par�ametros de comparaci�on el factor de rami�caci�on, fr, y la profundidad, p. En la tabla 1 semuestra un resumen del m�aximo n�umero de nodos de los �arboles de b�usqueda generados con cadat�ecnica.Las t�ecnicas unidireccionales exploran, en el peor de los casos, frp nodos en cada nivel. Comohay p niveles de profundidad, para conocer el n�umero m�aximo de nodos, se debe realizar elsumatorio para cada nivel. La t�ecnica bidireccional realiza dos b�usquedas unidireccionales que,si se encuentran en el medio, ser�an, cada una de profundidad p2 . Por tanto, el n�umero de nodosm�aximo se calcula como la suma de dos b�usquedas unidireccionales con la mitad de profundidad.Como el n�umero de nodos crece exponencialmente con la profundidad, cuanta menos profundidadEstado iniciallIsla 1lIsla2: : :IslaNlEstado �nalFigure 23: �Arboles de b�usqueda generados cuando se conocen estados intermedios por los que debepasar la soluci�on del problema.

Page 74: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 741 2 3

5 6

4 7 8

2 3

5 6

4 7 8

1

1

1 2 3

5 6

7 8

4

1 2 3

6

4 7 8

5

1 2 3

5 6

8

4

7

1 2 3

5 6

7 84

1 2 3

5 6

8

4

7

1 2 3

5 64

7 8

2

65

3 4

1

2 3 4

1 2 3

5 6

8

4

7

1 2 3

4

7

6

85

x

Figure 24: �Arboles de b�usqueda generados por la t�ecnica de b�usqueda con islas conociendo unestado intermedio (nodo 6).T�ecnica de B�usqueda N�umero m�aximo de nodosUnidireccional Ppi=0 friBidireccional 2P p2i=0 friUnidireccional (1 isla) 2P p2i=0 friUnidireccional (k islas) (k + 1)P pk+1i=0 friBidireccional (k islas) 2(k + 1)P p2(k+1)i=0 friTable 1: An�alisis de complejidad de las t�ecnicas de b�usqueda.tenga el �arbol de b�usqueda, se generar�an muchos menos nodos, por lo que la t�ecnica de b�usquedabidireccional explorar��a muchos menos nodos que la unidireccional. En el caso de realizar unab�usqueda unidireccional con 1 isla, se realizan 2 b�usquedas unidireccionales con profundidad p2 sila isla se situa en medio del camino de soluci�on. Se tendr�a otro resultado si la isla no se situa enmedio. Por tanto, el n�umero de nodos es el mismo que en la b�usqueda bidireccional. En el casode disponer de k islas, y hacer b�usquedas unidireccionales entre cada par de nodos, se realizank + 1 b�usquedas, cada una de las cuales va a tener pk+1 de profundidad si las islas est�an situadasuniformemente en el camino de soluci�on. Por �ultimo, si se hace b�usqueda bidireccional con k islas,se tendr�an 2(k + 1) b�usquedas cada una de las cuales ser�a de profundidad p2(k+1) con las mismassuposiciones anteriores.

Page 75: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 7514 B�usqueda heur��sticaEn casi todos los espacios de estados existe informaci�on que permite guiar los procesos de b�usqueda.Normalmente, esa informaci�on no es perfecta, es decir, no es un algoritmo que permita conocerde forma precisa cu�al es el mejor camino para obtener la soluci�on. Este tipo de informaci�on noperfecta que ayuda a resolver problemas en un espacio de estados, pero que no siempre aciertacon el mejor camino se denomina heur��stica. Cuando se dispone de este tipo de informaci�on, last�ecnicas de b�usqueda se pueden ver muy bene�ciadas de su utilizaci�on. Para ello, en esta secci�ony en la siguiente se estudiar�an t�ecnicas de b�usqueda heur��stica divididas en dos clases: t�ecnicas endominios en los que existe un �unico agente que toma decisiones, como, por ejemplo, el 8-puzzle;y t�ecnicas que se utilizan cuando existen al menos dos agentes que toman decisiones en el mismoespacio de estados, como, por ejemplo, todos los juegos.14.1 T�ecnica de escaladaLa t�ecnica de escalada es la evoluci�on de la t�ecnica de profundidad, en la que, en cada nodo, sedispone de una forma de evaluar c�omo est�a de cerca o lejos de la soluci�on. La forma m�as com�un deevaluar es la funci�on de evaluaci�on. Como ejemplo, en el 8-puzzle se podr��a de�nir una funci�onde evaluaci�on que fuera:f(nodo)=n�umero de casillas bien colocadas(nodo)que devuelve un n�umero que representa c�omo est�a de cerca un determinado estado de la soluci�on.Cuanto mayor sea el n�umero, m�as cerca se estar�a de la soluci�on. Por tanto, si se tiene que elegirentre varios estados, se deber��a escoger aqu�el que tuviera un mayor valor de esta funci�on. Es decir,es una funci�on que se debe maximizar. Tambi�en se podr��a haber de�nido la funci�on complementariade la anterior, que ser��a:f 0(nodo)=n�umero de casillas mal colocadas(nodo)En este caso, la funci�on se debe minimizar, puesto que cuantas menos casillas est�en malcolocadas, m�as cerca se estar�a de la soluci�on. Habiendo de�nido estas dos funciones, se va presentarel procedimiento b�asico de escalada, mostrado en la tabla adjunta, con el mismo ejemplo del 8-puzzleque se ha presentado en las anteriores secciones y mostrado en la �gura 18.

Page 76: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 76Procedimiento escalada (Estado-inicial Estado-�nal)1. N=Estado-inicial; EXITO=Falso2. Hasta que EXITO� Generar los sucesores de N� SI alg�un sucesor es Estado-�nalENTONCES EXITO=VerdaderoSI NO,- Evaluar cada nodo con la funci�on de evaluaci�on- N=mejor sucesor3. SI EXITOENTONCES Soluci�on=camino desde nodo del Estado-inicial al nodo N porlos punterosSI NO, Soluci�on=fracasoSe va a utilizar la funci�on f , y, por tanto, el mejor sucesor se va a calcular como el que tengavalor m�aximo de la funci�on f . El �arbol que la t�ecnica de escalada generar��a ser��a el que aparece enla �gura 25. Los nodos aparecen numerados seg�un dos criterios. Dentro de los c��rculos aparece elorden de generaci�on del nodo, y en los cuadrados aparece el valor de la funci�on de evaluaci�on paracada nodo.1 2 3

5 6

4 7 8

2 3

5 6

4 7 8

1

1 2 3

5 6

7 8

4

1 2 3

6

4 7 8

5

1 2 3

5 6

8

4

7

1 2 3

5 6

7 84

2

65

3 4

1 2 3

5 64

7 8

1 2 3

5 6

8

4

7

1 2 3

4

7

6

85

7 8 9

6 4

6 9 6

4

1

5

7

x

Figure 25: �Arbol de b�usqueda generado por la t�ecnica de escalada para el problema de la �gura 18.La t�ecnica de escalada exagera los problemas de la profundidad en el sentido de que no aseguraque se alcance la soluci�on �optima. Relacionado con esto, existen dos problemas que ocurren amenudo cuando se utiliza escalada:

Page 77: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 77� Puede haber m�aximos o m��nimos locales. Esto ocurre, por ejemplo, cuando la funci�on deevaluaci�on elegida es maximizante y todos los sucesores de un determinado nodo tienen menorvalor que el valor del nodo.� Altiplanicies. Es un caso parecido al anterior y sucede cuando los mejores sucesores de unnodo tienen igual valor que el nodo.Las soluciones que se suelen adoptar son:� Retroceder. A la lista de razones por las que se debe retroceder, que provienen de la t�ecnicade profundidad, se le a~nade que debe retroceder cuando ocurra cualquiera de los dos casosanteriores.� Dar m�as de un paso. En lugar de retroceder, se generan todos los sucesores de los sucesoresdel nodo en cuesti�on. Si, a�un as��, no hay ning�un sucesor de los sucesores que sea mejor queel nodo, se puede expandir un nivel m�as, hasta que se obtenga un valor mayor/menor que elnodo.Una generalizaci�on de la t�ecnica de escalada, denominada b�usqueda en haz (en ingl�es\beam-search"), consiste en la selecci�on en cada paso de m�as de un sucesor para expandir. Eneste caso, existe un par�ametro k, que es el n�umero �jo de nodos que se expanden en cada nivel.En el caso de escalada, k = 1. A continuaci�on, se muestra el algoritmo de b�usqueda en haz.Procedimiento B�usqueda en haz (Estado-inicial Estado-�nal K)1. ABIERTA=(Estado-inicial); EXITO=Falso2. Hasta que EXITO� ABIERTA=Todos los sucesores de los nodos de ABIERTA� SI alg�un nodo de ABIERTA es Estado-�nalENTONCES EXITO=VerdaderoSI NO,- Evaluar cada nodo con la funci�on de evaluaci�on- ABIERTA=K mejores nodos de ABIERTA3.Si EXITOEntonces Soluci�on=camino desde nodo del Estado-inicialal nodo N por los punterosSi no, Soluci�on=fracasoEn la �gura 26 se muestra c�omo expandir��a este procedimiento un problema del 8-puzzle.14.2 T�ecnicas de mejor-primero. A�La t�ecnica de escalada es una t�ecnica local, ya que, cuando tiene que tomar una decisi�on de qu�enodo estudiar a continuaci�on, s�olo toma en cuenta los nodos sucesores del nodo activo, sin tener en

Page 78: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 781 2 3

5 6

4 7 8

2 3

5 6

4 7 8

1

1 2 3

5 6

7 8

4

1 2 3

6

8

4

7 5

1 2 3

5 64

7 8

1 2 3

5 6

7 84

1 2 3

6

4 7 8

5

3

5 6

4 7 8

1 21 2 3

5 6

8

4

7

3

5 6

4 7 8

1

2

1 2 3

5 6

7 8

4

3

6

4 7 8

1

2 5

5 6

4 7 8

1

2 3 3

5 6

4 7 8

1

2

x

4

3 5 5

K=2

4 2 4 6x

x x4 0 3 7 7 5Figure 26: Ejemplo de soluci�on del 8-puzzle utilizando la t�ecnica de b�usqueda en haz.cuenta los otros nodos del �arbol, generados pero no expandidos. Las t�ecnicas de mejor-primero sont�ecnicas globales en el sentido de que s�� tienen en cuenta todos los nodos generados no expandidosdel �arbol a la hora de tomar la decisi�on de qu�e nodo expandir en cada momento. Para ello,mantienen dos listas de nodos: ABIERTA, que contiene los nodos generados, pero no estudiados(expandidos); y CERRADA, que contiene los nodos generados y estudiados. En cada decisi�on,tiene en cuenta todos los nodos de ABIERTA. La tabla adjunta presenta el procedimiento generalde b�usqueda mejor-primero.

Page 79: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 79Procedimiento Mejor-primero (Estado-inicial Estado-�nal)1. Crear grafo de b�usqueda G, con el nodo inicial, I, que representa elEstado-inicial2. ABIERTA=I; CERRADA=Vac��o; EXITO=Falso3. Hasta que ABIERTA est�e vac��a O EXITO� Quitar el primer nodo de ABIERTA, N� Introducir N en CERRADA� SI N es Estado-�nalENTONCES EXITO=VerdaderoSI NO1. Expandir N , generando el conjunto S de sucesores de N , que no sonantecesores de N en el grafo2. Generar un nodo en G por cada s de S3. Establecer un puntero a N desde aquellos s de S que no estuvieranya en G, a~nadi�endolos a ABIERTA4. Para cada s de S que estuviera ya en ABIERTA o CERRADA decidirsi redirigir o no sus punteros hacia N5. Para cada s de S que estuviera ya en CERRADA decidir si redirigiro no los punteros de sus sucesores hacia s6. Reordenar ABIERTA7. SI EXITOENTONCES Soluci�on=camino desde I a N a trav�es de los punterosSI NO Soluci�on=FracasoAntes de pasar a explicar paso por paso el funcionamiento del algoritmo mediante un ejemplo,estudiaremos en m�as detalle el paso 5f. En este paso, se reordena la lista ABIERTA y, para ello, seutiliza otra vez el concepto de funci�on heur��stica visto en la subsecci�on anterior. Es precisamenteen ese paso en el que se diferencian los procedimientos de Mejor-primero. El ejemplo m�as conocidode procedimiento de este tipo es el algoritmo A�. En este algoritmo, se supone que la ejecuci�on decada operador lleva asociado un coste. Se trata, pues, de obtener la soluci�on con el menor coste,es decir, el camino menos costoso que conecte el estado inicial y el estado �nal. La funci�on deevaluaci�on que se intenta minimizar tiene la forma general:f(n) = g(n) + h(n)donde f(n) es la funci�on de evaluaci�on aplicada al nodo n, g(n) es el coste estimado de ir desdeel nodo ra��z del grafo de b�usqueda al nodo n, y h(n) es el coste estimado para ir desde el nodo nal Estado-�nal. La funci�on g(n) re eja el coste que, hasta el momento, se ha seguido para pasardel nodo ra��z al nodo n. Se calcula como la suma de los costes de los operadores utilizados enel camino menos costoso encontrado hasta el momento entre el nodo ra��z y el nodo n. Como sever�a m�as adelante, conforme se van estudiando otros nodos, se pueden encontrar caminos menoscostosos para ir desde el nodo ra��z hasta el n, por lo que este coste es estimado. Llamaremos g�(n)al coste real del camino menos costoso que hay entre el nodo ra��z y el nodo n. Este valor s�olo se

Page 80: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 80conocer�a al �nal de la ejecuci�on del algoritmo para los nodos que est�en en el camino soluci�on. Si seest�a, por ejemplo, en un espacio de estados con�gurado por estaciones de metro de una ciudad, yse desea conocer cu�al es el recorrido de metro m�as corto (o por el que se tarda menos tiempo) parair desde una estaci�on a otra, g�(n) representa el camino m�as corto (o por el que se tarda menostiempo) para llegar desde la estaci�on origen a la �nal.Por otra parte, h(n) representa el conocimiento heur��stico, ya que es una estimaci�on de qu�ecoste estimado se piensa va a tener el camino menos costoso desde el nodo n hasta el nodo meta.Al igual que en el caso anterior, h�(n) es el coste real m��nimo desde el nodo n hasta el nodo meta,y que s�olo se conocer�a al �nal de la ejecuci�on para los nodos situados en el camino de la soluci�on(camino m�as corto entre estado inicial, nodo ra��z, y estado �nal, nodo meta). En el ejemplo de lasestaciones de metro, una posible h(n) podr��a ser la distancia en l��nea recta entre las dos estaciones,puesto que da una idea de la distancia real que hay por metro. En el caso de que se desee trabajarcon tiempos, se podr��a utilizar la siguiente funci�on de evaluaci�on:h(n) = d(n;m)vmaxdonde d(n;m) es la distancia en l��nea recta entre el nodo n y el nodo meta m, y vmax es lavelocidad m�axima que puede alcanzar el metro.El algoritmo A� tiene dos propiedades muy importantes: es completo, es decir, si existe unasoluci�on al problema la encontrar�a; y es admisible, es decir, si hay una soluci�on �optima la encontrar�a.Esta �ultima propiedad depende de una restricci�on: h(n) deber ser menor o igual que h�(n) en todoslos nodos del �arbol de b�usqueda. En el caso del metro, se cumple en las dos funciones de�nidas,por distancia o por tiempo. En el caso de la distancia, la l��nea recta siempre va a ser menor oigual que la distancia por l��nea de metro. En el caso del tiempo, como la distancia es la m��nimatambi�en y la velocidad es la m�axima y est�a en el denominador y hace, por tanto, que la fracci�onsea la m��nima, entonces tambi�en est�a asegurado.Para ver el funcionamiento del procedimiento A�, se va a mostrar con el grafo de la �gura 27,que puede representar conexiones entre varias ciudades, un trozo del mapa del metro, o cualquierotro dominio en el que se pueda de�nir un coste asociado a cada operador (arcos del grafo). Enconcreto, se va a suponer que el grafo es dirigido y se puede ir desde el nodo 1 al 2, pero no del2 al 1. El problema consiste en hallar el camino de coste m��nimo entre el nodo 1 y el nodo 5. Elcoste estimado h(n) est�a representado dentro de los cuadrados al lado de cada nodo, mientras queel coste de utilizar cada operador viene representado en el grafo por los costes en los arcos.Las �guras 28, 29, 30, y 31 muestran los sucesivos pasos del algoritmo y el grafo que se vagenerando. Los nodos en gris son los que est�an en CERRADA, los nodos en blanco los que est�anen ABIERTA, los valores de g(n) para cada nodo est�an arriba a la derecha de cada nodo, los valoresde h(n) aparecen abajo a la derecha, y, por �ultimo, los valores de f(n) est�an a la izquierda de cadanodo. En la �gura 28, el algoritmo selecciona el nodo 1, que es el �unico de ABIERTA, lo mete enCERRADA y lo expande, generando los sucesores, 2, 3, y 4, que no estaban en el grafo de b�usqueda(pasos 5a y 5b). Desde cada uno establece un puntero (paso 5c), que servir�a para conocer, en cadamomento, cu�al es el camino m�as corto desde cada nodo al nodo ra��z, y los mete en ABIERTA. Lospasos 5d y 5e no son aplicables, pues ning�un nodo estaba ya en el grafo de b�usqueda. Por �ultimo,el paso 5f reordena ABIERTA de mejor nodo a peor nodo. Para ello, necesita saber cu�al es el valorde la f(n) de cada nodo:� g(n) es el coste del mejor camino encontrado hasta el momento desde el nodo ra��z a cada nodo.Como todos los caminos van directos al nodo ra��z, es f�acil de calcular y g(2) = 200; g(3) = 60,y g(4) = 40.

Page 81: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 811

2

3

4

5

6

30

35

0

4040

50

200

150

60

200

40 5

10

30

200

Figure 27: Grafo de entrada para el algoritmo A�.� h(n) viene dada en la descripci�on inicial y es h(2) = 30; h(3) = 10, y h(4) = 35. Con estosvalores, se calculan las f(n) como:f(2)=g(2)+h(2)=200+30=230f(3)=g(3)+h(3)=60+10=70f(4)=g(4)+h(4)=40+35=75Por tanto, ABIERTA quedar��a ordenada como (3 4 2). Con esto termina el ciclo 1, y se pasaal ciclo 2.El ciclo 2, cuyo resultado es mostrado en la �gura 29, expande el nodo 3, genera sus sucesores,nodos 2 y 5, mete en ABIERTA al nodo 5, que no estaba en el grafo, y establece punteros desde elnodo 5 al nodo 3 (pasos 5a, 5b, y 5c). No se crea un puntero desde el nodo 2 porque ya estaba enel grafo. A continuaci�on, se estudia si redirigir el puntero desde el nodo 2 (que era el �unico sucesorque estaba en ABIERTA, seg�un el paso 5d) al nodo 3. Se redirecciona el puntero si el caminodesde el nodo ra��z al nodo 2 pasando por el nodo 3 es m�as corto que el camino desde el nodo ra��zal nodo 2 directamente. Es decir, se tiene que estudiar si el nuevo camino abierto hacia el nodo 2,por el nodo 3, es mejor que el que ya ten��a. Esta decisi�on se toma mirando la suma de los costesde los caminos. Desde el nodo 2 al nodo 1 directamente el coste es de 200, mientras que a trav�esdel nodo 3 es de 60+150=210. Por tanto, no interesa redirigir el puntero hacia el nodo 3. El paso5e no es aplicable, ya que ning�un sucesor del nodo 3 estaba en CERRADA, y se va al paso 5f,en el que se reordena ABIERTA. Como se hace conociendo el valor de g(n) y h(n) de cada nodode ABIERTA, se recalculan los valores. Los nodos 2 y 4 no han cambiado de valores, con lo que

Page 82: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 82

230

3 410 35

200 60 40

20060 40

1

230 70 75Figure 28: Primer ciclo del funcionamiento del A� para el ejemplo de la �gura 27.f(2) = 230 y f(4) = 75. El nodo 5 es nuevo y f(5) = g(5) + h(5). g(5) se calcula como la suma delos costes de los caminos al nodo 1 siguiendo los punteros (que indican el camino m�as corto). Eneste caso, g(5) = 200+60 = 260. Por otra parte, h(5) = 0 puesto que es el nodo meta, y, entonces,f(5) = 260+0 = 260. Al reordenar ABIERTA en el paso 5f, quedar��a como (4 2 5). Como se puedeobservar, se ha introducido el nodo meta en el grafo de b�usqueda, pero, sin embargo, todav��a no seha terminado el algoritmo, puesto que no es el mejor nodo de ABIERTA. Esto realmente signi�caque todav��a no se ha encontrado el camino m�as corto desde el nodo inicial al nodo meta.En el tercer ciclo, mostrado en la �gura 30, se repiten los procesos anteriores, quitando el nodo4 de ABIERTA, meti�endolo en CERRADA, generando sus sucesores (nodos 3 y 5). No establecening�un puntero, puesto que ya estaban en ABIERTA o CERRADA. En el paso 5d estudia si redirigeo no los punteros de sus sucesores hacia �el. En el caso del nodo 3, g(3) = 60, mientras que ahorapuede ir por un camino de coste 40+5=45. Por tanto, le conviene redirigir el puntero hacia el nodo4. Igualmente ocurre en el nodo 5. Antes g(5) = 260, mientras que ahora puede ser 200+40=240a trav�es del nodo 4. En el paso 5e, se estudia si redirigir o no el puntero de los sucesores de losnodos sucesores del nodo 4 que estuvieran en CERRADA (nodo 3), en este caso, el nodo 2 y el5. Antes, g(2) = 200 mientras que, a trav�es del nodo 3, ser��a 150+5+40=195, por lo que s�� leinteresa redirigir el puntero hacia el nodo 3. El nuevo g(5) = 240 y, a trav�es del nodo 3, ser��a200+5+40=245, por lo que no le interesa redirigir el puntero al nodo 3. Al �nal del ciclo, en elpaso 5f, se reordena ABIERTA, donde f(2) = 225 y f(5) = 240. Por tanto, ABIERTA quedar��a (25). En el siguiente ciclo (�gura 31), se quita el nodo 2 de ABIERTA, se mete en CERRADA, seexpanden sus sucesores, nodos 5 y 6, y se crea un puntero desde el nodo 6 (�unico que no estaba en elgrafo), pasos 5a, 5b, y 5c. En el paso 5d se estudia si redirigir o no el puntero desde el nodo 5 (que

Page 83: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 832

303

10

435

200 60 40

20060 40

230 70 75

1

5

150

200

0

260

260Figure 29: Segundo ciclo del funcionamiento del A� para el ejemplo de la �gura 27.estaba en ABIERTA) al nodo 2. Antes g(5) = 240 y, ahora ser��a 30+150+5+40=225, por lo que s��le interesar��a redirigir el puntero. El paso 5e no es aplicable, y en el paso 5f se reordena ABIERTA,sabiendo que f(6) = g(6)+h(6) = (40+150+5+40)+40 = 275 y f(5) = g(5)+h(5) = 225+0 = 225.Por tanto, al reordenar ABIERTA, quedar��a (5 6). En el siguiente ciclo, al preguntar si el mejornodo de ABIERTA, el nodo 5, es nodo meta, se terminar��a el algoritmo, devolviendo como soluci�onel camino desde el nodo ra��z al nodo meta siguiendo los punteros: 1-4-3-2-5, que es el camino decoste m��nimo. Se puede ver que h(n) � h�(n)8n, y, por tanto, se cumple que el algoritmo es el A�.15 B�usqueda en situaciones con contrincantesAl tratar cierto tipo de problemas, cuyo paradigma son los juegos de antagonismo, es necesarioutilizar unos procedimientos de representaci�on y, posteriormente, b�usqueda un poco distintos a losempleados hasta ahora. El desarrollo de este tipo de problemas se lleva a cabo por dos antagonistasque efect�uan su acci�on cada uno alternativamente por turno. Este tema se va a centrar sobreaquellos problemas en los que todos los antagonistas conocen en cada momento perfectamente elestado de los otros antagonistas. A este tipo de problemas se les denomina de informaci�on completa.Ejemplos de este tipo son el ajedrez y las damas, mientras que el domin�o y las cartas no lo son,debido a que se desconoce cu�ales son las �chas/cartas del(os) contrario(s). Por tanto, se van aeliminar de esta unidad did�actica aquellos problemas cuyo resultado est�a determinado, aunquesea parcialmente, mediante el azar. Aunque las t�ecnicas aqu�� descritas podr��an generalizarse paraincluirlas dentro de un esquema de soluci�on de juegos de azar.M�as espec���camente, se van a tratar problemas de suma nula; es decir, aquellos en los que lo

Page 84: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 842

303

10 35

200 60 40

60 40

70 75

1

5

150

0

45

200200

225

195

240

240Figure 30: Tercer ciclo del funcionamiento del A� para el ejemplo de la �gura 27.que gana uno de los antagonistas, es justamente lo que pierde el otro, pudiendo darse una situaci�onde equilibrio o empate entre ambos antagonistas. Juegos como las damas, el ajedrez, el \tres enraya", el GO, el NIM y muchos otros, son ejemplos de este tipo de problema.Para analizar y modelizar este tipo de problemas, se pueden utilizar sistemas que son, en elpeor de los casos, muy similares a los sistemas de producci�on. Por ejemplo, en el ajedrez, la base dehechos global contendr��a una representaci�on de la posici�on de todas las piezas sobre el tablero. Lasreglas de producci�on modelizar��an los movimientos legales del juego. La aplicaci�on de estas reglasa la base de hechos inicial, y a sus sucesores, y a los sucesores de los sucesores, y as�� sucesivamente,genera lo que se denomina el grafo total de todas las posibles partidas, o el �arbol concreto de unapartida concreta.15.1 Arboles alternadosLa mejor forma de representar este tipo de problemas es mediante los, as�� denominados, �arbolesalternados. En efecto, las situaciones competitivas entre dos antagonistas, se caracterizan porun conjunto de posiciones y un conjunto de reglas para pasar de una posici�on a otra, \moviendo"alternativamente los adversarios. Estas situaciones, pueden representarse adecuadamente, medianteun �arbol en el que cada nodo representa una posici�on. Los sucesores de un nodo proporcionan lasposiciones a las que se puede acceder, usando el conjunto de reglas permitido, a partir de la posici�onque representa ese nodo. Este acceso se representa por arcos que unen ese nodo con sus sucesores.Cada nivel del �arbol contiene las acciones posibles para uno de los antagonistas. As��, el antagonistaA \mover�a" desde posiciones de los niveles pares 0 (nodo ra��z), 2, 4, ..., y el antagonista B lo har�adesde posiciones correspondientes a niveles impares 1, 3, 5, .... Un �arbol de este tipo es un �arbol

Page 85: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 8530

310 35

200 60 40

60 40

70 75

1

5

150

0

45

200200

225

1952

640

40

30

235

275

225

225Figure 31: Cuarto ciclo del funcionamiento del A� para el ejemplo de la �gura 27.cuyos nodos son las distintas posiciones y los arcos o aristas las acciones posibles.Obviamente, los �arboles alternados presentan los defectos de los �arboles libres y en particular laaparici�on de ciclos en forma de desarrollos peri�odicos ilimitados. Aunque en el caso de los juegos dedos personas los ciclos no s�olo son raros, sino que est�an limitados de hecho por reglas \ad hoc". Deeste modo, los �arboles alternados se consideran el procedimiento id�oneo para representar �arbolesde juegos.La mayor��a de los juegos sencillos, as�� como las secuencias �nales de juegos complejos, se puedenrepresentar mediante este tipo de �arboles alternados habida cuenta de que en este contexto, laprueba de la ganancia, o empate, se puede hallar sin tener que generar un �arbol de b�usqueda muyprofundo. El �arbol soluci�on que da la ganancia o el empate, proporciona entonces una estrategiade juego para uno de los dos jugadores.Para juegos complejos, tales como el ajedrez o las damas, el �arbol alternado de b�usqueda, est�aabsolutamente fuera de lugar. Si el juego de damas tiene alrededor de 1040 nodos, el de ajedrez esde 10120 nodos, lo que supondr��a tardar unos 1021 siglos para generar completamente el �arbol, en elsupuesto de que se tardara s�olo 13 de nanosegundo en generar cada sucesor, lo que, por otra parte,es mucho suponer. Por consiguiente, para juegos complejos se tiene que aceptar la imposibilidadde �nalizar la b�usqueda; es decir, se debe desechar la idea de demostrar que es posible obtener unavictoria o tablas en el juego, excepto quiz�a para los �nales de partida.Para solucionar este problema se toman dos decisiones:� Explorar s�olo hasta una determinada profundidad, denominada profundidad m�axima, pmax.� Evaluar por medio de una funci�on heur��stica, los nodos hoja del �arbol obtenido, de modo queproporcione un valor estimativo que especi�que la distancia desde el nodo correspondiente a

Page 86: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 86la meta, que es la victoria de la computadora.A continuaci�on, se presentan t�ecnicas que permiten determinar cu�al es la mejor decisi�on a tomar(mejor \jugada") cuando se emplea esta t�ecnica mixta de b�usqueda y evaluaci�on. Se estudiar�a elalgoritmo b�asico, minimax, seguido de un m�etodo m�as e�ciente de encontrar la misma soluci�on queel minimax, el m�etodo de poda Alfa-Beta.15.2 M�etodo minimax para arboles alternadosEl objetivo de la b�usqueda en el �arbol del juego, debe ser encontrar un \buen" primer movimiento,haciendo dicho movimiento \in mente" sin que el contrincante d�e la r�eplica, y buscar de nuevoun buen primer movimiento desde esta nueva situaci�on. Para cada una de estas b�usquedas, sepuede utilizar cualquiera de los procedimientos ya vistos como profundidad, amplitud, o escalada,teniendo en cuenta que ahora las condiciones de �nalizaci�on deben ser modi�cadas. Entre estascondiciones de �nalizaci�on, se pueden introducir algunas arti�ciales; es decir, ajenas al juego comotal. Estas condiciones arti�ciales pueden basarse en factores tales como l��mite de tiempo, espacio dealmacenamiento en memoria, profundidad del nodo terminal m�as profundo del �arbol de b�usqueda,y otros por el estilo. Por otra parte, es habitual no concluir, por ejemplo en ajedrez, si cualquierade los nodos es una posici�on \viva"; esto es, posiciones en las cuales no se vislumbra una ventajainmediata de alguno de los antagonistas, como se estudiar�a m�as adelante.Una vez concluido el �arbol de b�usqueda (subarbol del �arbol total de juego) se debe extraer unestimado del \mejor" primer movimiento. Este estimado puede obtenerse aplicando una funci�on deevaluaci�on est�atica, a las \hojas" del �arbol de b�usqueda. La funci�on de evaluaci�on mide el valor dela posici�on del nodo terminal, y se basa en ciertas caracter��sticas que racionalmente se presume quein uyen en dicho valor. Es habitual convenir que las situaciones favorables a A tengan un valorpositivo de la funci�on de evaluaci�on, mientras que las favorables a B tengan un valor negativo.Valores pr�oximos a cero se reservan para las posiciones dudosas.Una vez dicho lo anterior, un buen primer movimiento, puede obtenerse por un procedimientollamado del Minimax. Se expande el �arbol de b�usqueda hasta llegar a los nodos que est�en en unaprofundidad �jada como m�axima, pmax. En ese momento, se eval�uan todos los nodos \hoja" deese �arbol. Si se supone que es A quien elige entre los nodos terminales, se inclinar�a ante variasalternativas por el nodo mejor para �el/ella, es decir, aqu�el de mayor evaluaci�on. Por lo tanto, alnodo antecedente de las hojas se le asignar��a un valor igual al mayor valor de las evaluaciones delas hojas. Si fue B el que eligi�o entre los terminales, y se supone que el contrario eligir�a su mejormovimiento, �este ser�a el de menor evaluaci�on. Por consiguiente, al nodo antecedente de nodosterminales, se le asignar��a un valor igual al m��nimo de las evaluaciones de los terminales.Una vez que a todos los predecesores de los nodos terminales se le han asignado esos valores \deretroceso", se contin�ua hacia la ra��z del �arbol, dando valores \de retroceso" a otro nivel, suponiendoque A elegir��a el nodo con menor valor, y as�� sucesivamente, nivel a nivel, hasta que �nalmente,en el nodo inicial, A elegir�a como mejor primer movimiento el correspondiente al sucesor de mayorvalor. La utilidad de este m�etodo se basa en la presunci�on de que los valores de retroceso asignadosal nodo inicial son medidas de m�as garant��a del �ultimo valor relativo de esas situaciones, que losvalores que se obtendr��an aplicando directamente la funci�on de evaluaci�on est�atica a esas posiciones.Los \valores de retroceso" est�an, despu�es de todo, basados, por una parte, en una visi�on de futurodel �arbol del juego y, consiguientemente, dependen de circunstancias o caracter��sticas que s�olo seponen en evidencia al �nal del juego. Por otra parte, est�an basados en la suposici�on \Radzesky"quien dec��a: \no consideres a tu enemigo m�as est�upido de lo que t�u te creas".

Page 87: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 87El adversario de n�umeros positivos (que hemos llamado A) se denomina \maximizante" o MAX.Su contrincante, el de n�umeros negativos, \minimizante" o MIN. El maximizante buscar�a caminosque le lleven a n�umeros positivos altos, sabiendo que su adversario intentar�a forzar el juego asituaciones con evaluaciones est�aticas muy negativas.En el �arbol de la �gura 32, el maximizante intentar�a alcanzar una posici�on con un valor est�aticode 8. Pero el maximizador sabe que el minimizador no se lo permitir�a, ya que el minimizadorpuede escoger un movimiento que desv��e su acci�on hacia la posici�on con un valor de 1 (�gura 33).Por lo general, la decisi�on del maximizador debe tener en cuenta la actitud del minimizador enel nivel siguiente. Si se adelanta la b�usqueda un paso m�as, el minimizador act�ua entonces, contoda seguridad, de acuerdo con las opciones del maximizador en el nivel siguiente. Esto contin�uahasta que se alcanza el l��mite de la exploraci�on y el evaluador est�atico provee una base directapara seleccionar entre las distintas alternativas. En el ejemplo, las evaluaciones est�aticas en laparte inferior determinan que las opciones disponibles para el jugador minimizante conducen avalores efectivos de 2 y 1 en el nivel justo encima (�gura 33). Conociendo estos valores efectivos,el maximizador puede determinar la mejor acci�on en el siguiente nivel superior. Claramente, elmaximizador se mueve hacia el nodo desde el cual el minimizador no puede hacer nada mejor quemantener el valor esperado de 2 (�gura 34). De nuevo, los valores en un nivel determinan la acci�ony el valor efectivo en el siguiente nivel superior.Nivel MAX

Nivel MIN

Nivel MAX

2 87 1Figure 32: Niveles maximizante y minimizante en un �arbol de representaci�on de un problemacompetitivo.Nivel MAX

Nivel MIN

Nivel MAX

2 87 1

2 1

Figure 33: Niveles maximizante y minimizante en un �arbol de representaci�on de un problemacompetitivo.Para ilustrar este procedimiento de minimax, se va a utilizar el juego conocido por los nombresde \Tres en raya" o \Cruces y c��rculos" o \Tic-tac-toe" en diferentes versiones. La descripci�on deljuego, tal y como se va a usar aqu��, puesto que hay muchas variantes, es la siguiente. El juego sedesarrolla en un tablero de 3x3 casillas en las que los jugadores, por turno, van depositando sus�chas. Uno juega con cruces (x) y el otro con c��rculos (o). Gana el primero que consigue colocartres de sus �chas en l��nea ya sea horizontal, vertical o diagonalmente. Si se han colocado todas las

Page 88: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 88Nivel MAX

Nivel MIN

Nivel MAX

2 87 1

2 1

2

Figure 34: Niveles maximizante y minimizante en un �arbol de representaci�on de un problemacompetitivo.�chas, llenando el tablero, y no hay ning�un ganador, han empatado. Sup�ongase que A juega conx y B con o. Se desarrolla una b�usqueda por niveles hasta que se generan los nodos de nivel p y,entonces, se aplica una funci�on de evaluaci�on est�atica a las posiciones de esos nodos. En lo quesigue se utilizar�a una funci�on de evaluaci�on, fev(s), para una situaci�on s, que viene dada por lastres posibilidades siguientes:1. Si s es ganadora para A,fev(s) = 1 (1 denota el mayor n�umero positivo posible).2. Si s es ganadora para B,fev(s) = -1.3. Si s no es ganadora para cualquiera de los jugadores,fev(s) = abiertas(A) - abiertas(B)donde abiertas(X) es el n�umero de �las, columnas o diagonales en las que el jugador X puedeganar; es decir, el n�umero de l��neas que no contienen una �cha del contrario.As��, si s es la mostrada en la �gura 35, se tiene que fev(s) = 6 - 4 = 2. XFigure 35: Ejemplo de situaci�on en el juego del \tic-tac-toe".El procedimiento mediante el cual la informaci�on del valor atraviesa de abajo a arriba el �arboldel problema se denomina MINIMAX, ya que la puntuaci�on de cada nodo es o bien la m�axima, ola m��nima de los valores en los nodos inmediatamente inferiores. Este procedimiento se muestra enla tabla adjunta.

Page 89: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 89Procedimiento Minimax (Situaci�on Profundidad)SI Profundidad = pmaxENTONCES devolver evaluaci�on (Situaci�on)SI NO SI ganadora (Situaci�on)ENTONCES devolver + 1SI NO SI perdedora (Situaci�on)ENTONCES devolver - 1SI NO SI empate (Situaci�on)ENTONCES devolver 0SI NOS = sucesores (Situaci�on)L = lista de llamadas al MINIMAX (Si 2 S, Profundidad + 1)SI nivel-max (Profundidad)ENTONCES devolver max (L)SI NO devolver min (L)Puesto de otra manera, el valor num�erico de cada nodo del �arbol o valor minimax de un nodoes: f(n) = 8>>>>>>><>>>>>>>: +1 si n es una situaci�on ganadora para computadora�1 si n es una situaci�on perdedora para computadora0 si n es una situaci�on de empatefev(n) si p = Profundidad m�aximamaxSi2S(n) f(Si) si n es nodo max y p < pmaxminSi2S(n) f(Si) si n es nodo min y p < pmaxHay que tener en cuenta que toda la idea de minimaximizaci�on se basa en la traducci�on dela situaci�on del problema en un s�olo n�umero, el valor est�atico. Esto lleva aparejado un graveproblema: un n�umero no dice nada sobre c�omo fue determinado. Adem�as, la minimaximizaci�onpuede resultar cara, dependiendo del evaluador est�atico y del generador de movimientos utilizados.En las �guras 36, 37, y 38, se muestra el �arbol generado por una b�usqueda a nivel 2 (pmax = 2).Las evaluaciones est�aticas se dan debajo de los nodos hoja y los \valores de retroceso" se presentana la izquierda de los nodos. N�otese que no aparecen todos los sucesores del nodo ra��z, ya que los quefaltan son sim�etricos respecto a los que se han expandido, y, por tanto, daevolver��an el mismo valorque su sim�etrico devuelve. Si estuviera ejecut�andose en una computadora, se deber��an expandirestos nodos, a no ser que el algoritmo de generaci�on de nodos no generara nodos correspondientesa situaciones sim�etricas. El algoritmo minimax devolver��a, en este caso, la primera jugada comomejor jugada a realizar de acuerdo a la profundidad m�axima seleccionada y al orden en el que sehan generado los sucesores de cada nodo.Si s es una situaci�on desde la cual hay d movimientos legales s1, ..., sd (d > 1), el problema eselegir la mejor acci�on. Se supone que la mejor acci�on es la que logre el valor m�as grande posiblecuando la situaci�on competitiva �nalice, si el oponente tambi�en elige acciones que son las mejores

Page 90: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 90X

X

X

XX XX

X

X

X

X

X

X

X

X

X

X

X

X

4-2=2 4-2=2 4-2=2 3-2=1 5-2=3 3-2=1

1

Figure 36: Ejemplo del Minimax aplicado al Tres en raya. Expansi�on del primer nodo sucesor delnodo ra��z.para �el. Sup�ongase que E(s) es el mayor valor posible que puede conseguirse desde la situaci�on scontra la estrategia defensiva �optima. Dado que el valor, para el individuo que est�a en turno deacci�on desde s, despu�es de mover a la posici�on s ser�a �E(s), se tieneE(s) = ( e(s) sid = 0max(�E(s1); :::;�E(sd)) sid > 0Este formalismo es equivalente al minimax y se denomina negamax.Ambas formulaciones, \negamax" y \minimax", son equivalentes, pero, en ocasiones, es m�asf�acil razonar sobre el juego usando el esqueleto de trabajo \minimax". La raz�on es que, a veces, esm�as dif��cil confundirse si continuamente se eval�uan las posiciones del modelo competitivo desde elpunto de vista de un participante. Por otra parte, la formulaci�on \negamax" tiene ventajas cuandose intenta probar cosas acerca de las situaciones competitivas, porque no se tiene que trabajar condos casos separados.La funci�on E(s) es el valor m�aximo �nal que puede conseguirse si ambos adversarios act�uan�optimamente, pero hay que se~nalar que esto re eja una estrategia bastante conservadora que nosiempre ser�a la mejor contra adversarios malos o no �optimos que se pueden encontrar en el mundoreal. Por ejemplo, sup�ongase que hay dos acciones, posiciones s1 y s2, donde s1 asegura un empate(valor 0) pero no puede ganar, mientras s2 da una oportunidad de victoria o derrota dependiendode si el oponente juega o no �optimamente. Puede estar mejor realizada la acci�on s2, que es la�unica oportunidad de ganar, a menos que se est�e convencido de la competencia del oponente. En laterminolog��a de situaciones competitivas, una acci�on s2 puede ser \refutada" si el oponente puedehacer una r�eplica a s2 que es al menos tan buena como su mejor r�eplica a s1. Esta t�ecnica de

Page 91: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 91X

X

X

XX XX

XX XX XX XX XX XX

4-3=1 4-3=1 4-3=1 3-3=0 4-3=1 3-3=0

01

Figure 37: Ejemplo del Minimax aplicado al Tres en raya. Expansi�on del segundo sucesor del nodora��z.razonamiento lleva a una t�ecnica computacional que evita mucha de la computaci�on hecha por elminimax.Aunque el minimax resuelve el problema de encontrar cu�al es la mejor decisi�on a tomar dadoun conjunto de posibles acciones y contracciones del contrario, realiza una b�usqueda denominadade \fuerza bruta", debido a que expande y estudia todos los sucesores de cada nodo hasta los nodosde la profundidad m�axima �jada. Es posible mejorar esta \b�usqueda" de \fuerza bruta" usando lat�ecnica Alfa-Beta, ignorando acciones que son incapaces de ser mejores que otras que ya se conocen.15.3 M�etodo Alfa-Beta: un procedimiento de poda15.3.1 Introducci�onEl primer estudio publicado de un m�etodo de poda de �arboles representando problemascompetitivos, lo hicieron Newel, Shaw y Simon; pero, no estaba muy claro que emplearan los\atajos". McCarthy fue el primero en darse cuenta de la potencialidad de esta poda, quien acu~n�oel nombre de Alfa-Beta, debido a los l��mites que usa el algoritmo, y el primero que escribi�o unprograma en LISP que conten��a esta t�ecnica, llegando a pensar que era un dispositivo heur��sticoposiblemente inexacto. Esto no era as�� en absoluto, puesto que se trata de un sencillo procedimientoalgor��tmico, basado en el m�etodo de separaci�on y evaluaci�on progresiva, \branch-and-bound", queproduce los mismos valores que el minimax.La t�ecnica Alfa-Beta presenta tres caracter��sticas que lo hacen imprescindible en InteligenciaArti�cial.

Page 92: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 92X

X

X

XX XX

01

XX

XX

XX

XX

XX

XX

4-2=2 4-2=2 4-2=2 4-2=2 4-2=2 3-2=1

1

Figure 38: Ejemplo del Minimax aplicado al Tres en raya. Expansi�on del tercer sucesor del nodora��z, y selecci�on de la jugada a realizar.� En primer lugar, complementa y suple el m�etodo de \minimax", puesto que permite a lacomputadora soslayar la generaci�on de secuencias irrelevantes de movimientos en la b�usqueda\minimax". M�as en concreto, Alfa-Beta le indica al \minimax" d�onde debe detener lainvestigaci�on de los sucesores de una acci�on o de una secuencia de acciones dadas, siempre ycuando uno de los sucesores que se encuentre, sea una acci�on de \refutaci�on".� En segundo t�ermino, como se sabe, la inmensa mayor��a de los m�etodos de b�usqueda, separancompletamente el proceso de generaci�on del �arbol de b�usqueda, del proceso de evaluaci�on decada posici�on, de tal forma que �unicamente una vez que se completa la generaci�on del �arbol, escuando se inicia la evaluaci�on de los nodos. Esta dicotom��a da como resultado una estrategiamuy poco e�ciente. Esta ine�ciencia se obvia si se ejecuta la evaluaci�on de las hojas del�arbol, calculando, simult�aneamente, hacia atr�as, los valores de los nodos, con la generaci�ondel �arbol, obteni�endose una reducci�on notable, a veces de varios �ordenes de magnitud, en eltotal de la b�usqueda necesaria para conseguir el mismo mejor movimiento.� Por �ultimo, esta t�ecnica parece bastante dif��cil de comunicar verbalmente o en lenguajematem�atico convencional. Adem�as, parece necesitarse bastante pensamiento para convencersede que el m�etodo es correcto, en especial para justi�car en lenguaje corriente los \atajos".Sin embargo, el m�etodo es f�acilmente comprensible y se demuestra correcto en lenguajealgor��tmico. De este modo, es un buen ejemplo de c�omo, a veces, un enfoque \din�amico"de la descripci�on de un m�etodo es conceptualmente superior al enfoque \est�atico" de lasmatem�aticas convencionales.

Page 93: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 9315.3.2 El m�etodo de podaLa poda Alfa-Beta se basa en la idea de disponer de dos valores que conformen una ventana ala cual deben pertenecer los valores de fev(n) para que sean considerados. En los nodos n MAX,seg�un el algoritmo minimax, se debe maximizar el valor de los nodos sucesores. En estos nodos, seutiliza el par�ametro �(n) que determina el m�aximo de los valores de los nodos sucesores encontradohasta el momento. Asimismo, como los nodos n MIN tratan de minimizar el valor de los nodos,utilizan el par�ametro �(n) que va a ser, en cada momento, el m��nimo de los valores encontrados delos nodos sucesores de ese nodo.Existen dos formas de podar, dependiendo del nodo en el que se est�e estudiando. En los nodosMAX, la condici�on de poda es: �p � �p�1es decir, si el � de un nodo MAX de profundidad p es mayor o igual que el � del nodo MINpadre (profundidad p � 1) se pueden podar los sucesores del nodo MAX no estudiados todav��a.Esto es debido a que, como valor inferior, el nodo MAX va a devolver ese valor de � (�p). Ya queel nodo superior trata de minimizar, va a calcular:�p�1 = ( �p�1 si�p � �p�1�p si�p < �p�1con lo que siempre va a elegir el �p�1. Por lo tanto, los nodos no estudiados todav��a en el nodoMAX no es necesario estudiarlos, porque no cambian el valor � del nodo padre.Sim�etricamente, la condici�on de poda en los nodos MIN es:�p � �p�1La explicaci�on es an�aloga al caso anterior. El algoritmo recursivo del Alfa-Beta podr��aespeci�carse de la forma expresada en la tabla adjunta, donde la llamada inicial es de la forma:Alfa-Beta (Situaci�on-Inicial Menor-N�umero Mayor-N�umero 0)Procedimiento Alfa-Beta (Situaci�on Alfa Beta Profundidad)SI Situaci�on est�a considerada como empate, Devolver 0SI Situaci�on es ganadora, Devolver mayor-numeroSI Situaci�on es perdedora, Devolver menor-numeroSI Profundidad = Profundidad-maxima, Devolver evaluacion (Situaci�on)SI nivel-max-ppara todo si sucesor de Situaci�on y Alfa < BetaAlfa-beta = ALFA-BETA(si,Alfa,Beta,Profundidad+1)Alfa = max(Alfa,Alfa-beta)Devolver AlfaSI NOpara todo si sucesor de Situaci�on y Beta > AlfaAlfa-beta = ALFA-BETA(si,Alfa,Beta,Profundidad+1)Beta = min(Beta,Alfa-beta)Devolver Beta

Page 94: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 94Ejemplo:Con el �arbol de la �gura 39, va a realizarse una b�usqueda minimax con la poda alfa-beta. Eneste �arbol los nodos c��rculo son nodos de nivel MAX, y, por tanto, se les denomina nodos MAX,y los nodos cuadrado pertenecen a niveles MIN, y, por tanto, se les denomina nodos MIN. Dentrode cada nodo aparece su identi�cador y debajo de los nodos hoja aparece el valor que devolver��ala funci�on de evaluaci�on si se evaluara dicho nodo.

3 5 4 6 9 6 7 4 20 1 -3 10 8 5 10 1 -5

1

2 3 4

5 7 8 9 10 11

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

6

Figure 39: Arbol completo hasta la profundidad m�axima. Este �arbol muestra los valores de lashojas.El algoritmo se inicia con el nodo inicial y los valores para � y � siguientes, teniendo en cuentaque no se puede representar el 1 en las computadoras:� = menor n�umero posible (m); � = mayor n�umero posible (M)Los valores de m y M dependen del lenguaje de programaci�on, y de la computadora utilizada,normalmente. Como puede observarse en la �gura 40, se produce una poda en el nodo 6 ya que el� en ese nodo (6) es mayor que el valor de � (5) en el nodo padre. En la �gura 41, puede observarsec�omo se produce una poda en el nodo 3 debido a que el valor de � (5) es igual al de a (5) del nivelsuperior, con lo que, por mucho que se estudien los hijos del nodo 3 no se va a cambiar el valor delnodo 1. Por �ultimo, en la �gura 42, vuelve a producirse una poda debido a que, en el nodo 11 elvalor de � (10) es mayor que el valor de � (8) en el nodo padre.La t�ecnica Alfa-Beta es completamente general, pudiendo utilizarse tanto para �arboles decualquier profundidad �nita, como para �arboles de profundidad irregular. Las interrupciones que

Page 95: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 95α=β=

m

M

α=β=

m

M

α=β=

m

M

α=β=

m

M

3

12

α=β= M

m / 3 / 5

5

13

6

15

α=β=

m

M / 5

α=β=

m

5

α=β=

α=β=

6m

5 M

m / 6

α=β=

α=β=

α=β=

4

14

1

2 3 4

5

35

5

6

α >= β6 2

Poda

5

M

m / 5

6

M

3

M

5

4

Figure 40: Estudio de la parte izquierda del �arbol de la �gura 39.se producen en los nodos conjuntivos se llaman \alfa-interrupciones", diciendose tambi�en que existeun \alfa-atajo" en tanto que las interrupciones que se producen en los nodos disyuntivos se llaman\beta-interrupciones", o tambi�en se dice que existe un \beta-atajo".15.3.3 Mejoras sobre el Alfa-BetaDesde que se dio a conocer el Alfa-Beta como m�etodo de poda han surgido muchos estudios, cr��ticas,mejoras, e innovaciones a dicho m�etodo. Algunas son:Efecto horizonte: El descubrimiento de este problema se debe a Berliner y radica en el estudiodel Alfa-Beta hasta una profundidad �ja. Sup�ongase, en ajedrez, que se captura con la reina dela computadora, en una jugada que da lugar a un nodo hoja (profundidad m�axima), a la reinaenemiga, que estaba defendida por un pe�on. La situaci�on expresada por el nodo hoja devolver�a unvalor minimax muy alto puesto que se dispone de una reina y el contrario no. Sin embargo, estasituaci�on es �cticia ya que, en la siguiente jugada, el pe�on enemigo capturar�a la reina.El efecto horizonte est�a provocado, pues, por el estudio a profundidad �ja, debido a que no se\ve" qu�e es lo que ocurre m�as all�a del horizonte establecido. La soluci�on que se da normalmente aeste problema consiste en realizar un estudio de profundidad variable o b�usqueda secundaria comose tratar�a m�as adelante.Equilibrio: Este problema est�a relacionado con el anterior puesto que el efecto horizonte

Page 96: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 96α=β=

m

M

α=β= M

m / 5

α=β= M

5

7α=β= M

5

6

17α=β= M

5

α=β=

7

18α=β=

α=β=

8α=β=

5

7

4

19α=β=

5

7

1

2 3

5

1

2 3 44

M

5 / 6 / 7

M

6

67

7

5

M / 7 / 5

4

5

1β <= α3

Poda

5

Figure 41: Continuaci�on de b�usqueda de la �gura 40.provoca falta de equilibrio. Supongamos que se tiene el �arbol de la �gura 43. Puede observarseque el nodo de la izquierda devuelve un valor de 8. Si se siguiera explorando un nivel m�as, seencontrar��a que devolver��a un valor de -20 (�gura 44). Por lo tanto, este valor no es estable ya que uct�ua mucho. La soluci�on a la falta de equilibrio es tambi�en la b�usqueda secundaria.B�usqueda secundaria o de profundidad variable: En este tipo de b�usqueda, no se estudiael �arbol hasta una profundidad �ja sino que se var��a la profundidad de b�usqueda. A los nodos enlos que se estudia a m�as profundidad que a la profundidad m�axima se les denomina \extensionesselectivas" y representan casos forzados. La forma de saber cu�ando una situaci�on es un casoforzado suele ser dependiente del dominio. Por ejemplo, en el ajedrez se puede estudiar por debajode aquellos nodos en los que se capture una pieza. Esto presenta problemas como la di�cultadpara proporcionar todos o casi todos los casos interesantes, o representar informaci�on est�atica y nodin�amica.Otra soluci�on consiste en utilizar informaci�on independiente del dominio como son las\extensiones singulares". Una jugada es singular si devuelve un valor mucho mayor que sus jugadashermanas (con el mismo padre). Es decir, si n2suc(n') yf(n)� maxn002fsuc(n0)�ngf(n00)se dice que n es un nodo singular. En esos nodos es donde se realizar�a una b�usqueda secundaria.La b�usqueda secundaria s�olo expande aquellos nodos por debajo del nodo interesante que comporten

Page 97: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 97α=β=

m

M

10

α=β= M

5

α=β= M

5

α=β= M

5

8

24

α=β=

5

25α=β=

11

α=β=

α=β=

5

8

α=β=

5

8

10

26

α=β=

α=β=1

2 3

5

1

2 3 44

5

1

2 3 4

M

5 / 8

M

8

85

8

5

M / 8

8

5 / 10

8

10

10

α >= β11 4

M

m / 5 / 8

Figure 42: Continuaci�on de b�usqueda de la �gura 41.algo importante a la partida como, en ajedrez, nodos relacionados con capturas y, o, jaques.Profundizamiento iterativo o progresivo: Slate y Atkin proponen este m�etodo que es muyutilizado en juegos en los que el tiempo tiene un papel importante de restricci�on, como en ajedrez,o cuando interesa que el programa determine qu�e jugada hacer en un determinado tiempo. Elm�etodo consiste en estudiar hasta una determinada profundidad p. Si todav��a queda tiempo, seestudian k niveles m�as (profundidad p+ k). As�� sucesivamente hasta que ya no quede m�as tiempo.Aunque pueda parecer que se pierde mucho tiempo cada vez que se baja un nivel, por tener querecalcular el �arbol, se ha demostrado que no hay tal p�erdida de tiempo debido a la ordenaci�on delos nodos resultante de las iteraciones anteriores. El tema de la ordenaci�on de los nodos aparecetratado m�as adelante.Movimiento nulo: Goetsch y Campbell lo plantean como un m�etodo para ayudar a la podadel �arbol Alfa-Beta. En los nodos MAX, se eval�ua la situaci�on de ese nodo o, lo que es lo mismo,se eval�ua la situaci�on correspondiente a no mover. Si esa situaci�on pertenece al grupo de lassituaciones en las que no mover representa la mejor jugada, entonces representa un l��mite inferiorde lo que va a devolver ese nodo, puesto que va a ser la peor jugada. Por tanto, si ese valor es mayoro igual que el � del nodo padre, se puede podar sin estudiar ninguno de sus hermanos. Al tipo de

Page 98: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 981

5

1

3

5 3

8

8

8Figure 43: Ejemplo de �arbol de b�usquedasituaciones en las que mover es la peor jugada se les denomina, en el argot, posiciones \zugzwang".Movimiento asesino: Este m�etodo es muy utilizado para podar m�as nodos. Si en undeterminado nodo si, se han estudiado sus sucesores y el mejor sucesor ha sido sik, en el siguientenodo hermano de si, si+1, se intenta estudiar primero la jugada correspondiente a la sik. Si fue lamejor en el nodo hermano, la heur��stica dice que es muy posible que tambi�en sea la mejor en elnodo si + 1. Este m�etodo fue planteado por Huberman.Ventana: En lugar de empezar con la ventana inicial (a=-1, b=+1), puede comenzarse conuna ventana m�as peque~na (a, b). Esto hace que se produzca mayor n�umero de podas, con lo queel sistema puede profundizar m�as. Hay que tener cuidado, sin embargo, puesto que si la ventanaes demasiado peque~na se pueden estar desechando ramas importantes para el resultado �nal.Ordenaci�on de nodos en el Alfa-Beta: Slagel y Dixon, en un trabajo publicado en 1969introdujeron el concepto de orden de generaci�on=estudio de nodos que puede mejorar la e�cienciade la t�ecnica Alfa-Beta. Esta idea sugiere la posibilidad de mejorar la e�ciencia del procedimientoAlfa-Beta mediante la ordenaci�on de los sucesores de una posici�on por su valor est�atico, paraproducir el mayor n�umero de cortes \alfa" y \beta". As��, si los sucesores de mayor valor, en unaposici�on \MAX", y los peores sucesores, en una posici�on \MIN", se ponen delante de los dem�as,se conseguir�an cuanto antes todas las podas posibles. Esto est�a basado en el hecho de que laspodas se conseguir�an cuanto antes se alcancen valores altos=bajos para los �=�. Para ordenar lossucesores de mejor a peor se puede utilizar una funci�on de evaluaci�on m�as sencilla que la que seutiliza normalmente en los nodos hojas que proporcione una primera indicaci�on de c�omo son debuenos=malos los nodos sucesores de cada nodo.Se puede demostrar que el n�umero de hojas de un �arbol de profundidad p generado por unab�usqueda �optima Alfa-Beta es aproximadamente igual al n�umero de hojas que se habr��an generado,sin el m�etodo Alfa-Beta, a la profundidad p=2. Por consiguiente, para la misma capacidad dealmacenamiento, el m�etodo Alfa-Beta con sucesores en el orden perfecto permitir��a doblar laprofundidad de b�usqueda. Como es l�ogico, el orden perfecto es imposible de lograr, dado quesi fuera posible, la b�usqueda ser��a absolutamente innecesaria; sin embargo, se debe buscar la mejor

Page 99: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 991

5

1

3

4-203

-20

5

3-20 4

-20

5 3

Figure 44: Ejemplo de falta de equilibrio producido por el efecto horizonte.aproximaci�on con miras a reducir el alto coste.15.4 Algoritmo sss�Stockman en 1979 propuso el algoritmo sss� (\State Space Search"), de b�usqueda en espacio deestados, como oposici�on al car�acter secuencial del algoritmo Alfa-Beta. Este algoritmo hace unab�usqueda mejor-primero sobre un espacio de estados que constituye el �arbol de b�usqueda.Antes de describir el algoritmo, conviene de�nir dos conceptos:� G es �arbol de juego si:> G es no vac��o> Todos los sucesores de un nodo MAX son nodos MIN> Todos los sucesores de un nodo MIN son nodos MAX.� T es un �arbol soluci�on de un �arbol de juego G si:> La ra��z de T, RT , es la ra��z de G, RG.> Si n es un nodo MAX, no terminal y pertenece a T, entonces uno solo de sus sucesoresdebe estar en T. Ser�a, adem�as, aqu�el que tenga mayor valor.> Si n es un nodo MIN, no terminal y pertenece a T, entonces todos sus sucesores debenpertenecer a T.

Page 100: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 100En la �gura 45, pueden observarse los tres sub�arboles soluci�on (T1; T2, y T3) del �arbol de juegomostrado en la �gura 39.

5 9 7 4 20 8 10

1

2 3 4

5 7 8 9 10 11

13 16 18 19 20 24 26

6

TTT

12

3

Figure 45: Ejemplos de �arboles soluci�on del �arbol de la �gura 39.De la anterior de�nici�on se extraen las siguientes consecuencias:� f(RT ) = minn2H(RT ) f(n)siendo H(RT ) el conjunto de nodos hoja del �arbol T. Puesto que los nodos MAX s�olo tienenun sucesor, desde la ra��z del �arbol se contemplan s�olo decisiones MIN, con lo que el valor dela ra��z ser�a el m��nimo de los valores de sus hojas.� f(RG) = maxn2suc(RG) f(n) = maxT2S(G) f(RT )siendo S(G) el conjunto de �arboles soluci�on de G. Esto es debido a que, para cada decisi�onsuya, s�olo existe un sucesor (la jugada a realizar) y para cada decisi�on del contrario est�antodas las posibles respuestas.� Cada T representa una estrategia para MAX, puesto que para cada posible alternativa deMAX, conserva s�olo la mejor alternativa (la que tiene que seleccionar), mientras que paracada alternativa del contrario, conserva todas (no sabe cu�al escoger�a).Un estado del sss� tiene la estructura (n; e; h), donde n es el nodo correspondiente del �arbol deb�usqueda, e es el estado de ese nodo que puede ser activo o estudiado y h es el valor de la funci�onheur��stica para ese nodo.El algoritmo retira de la lista ABIERTA (que contiene todos aquellos estados no expandidos)aquel estado que tenga la mayor h. Despu�es de comprobar si es el estado �nal, se va a una tabla

Page 101: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 101donde est�an contemplados todos los posibles casos y las acciones correspondientes. Seg�un el caso,se ejecutan las acciones especi�cadas para el mismo y se vuelve al principio. Formalmente, elalgoritmo ser��a el mostrado en la tabla adjunta.Procedimiento sss�Introducir en ABIERTA el estado inicial:(n = �(ra��z del �arbol), e=activo, h = +1)Terminado = FALSORepetir hasta que Terminado = VERDADEROEliminar el primer estado de ABIERTA (p = (n; e; h))SI n = � (ra��z del �arbol) y e=estudiado,ENTONCES Terminado = VERDADEROSI NO, expandir el nodo p, aplicando el operador � (Tablas 2 y 3).Devolver jugada que introdujo el h (valor minimax del juego)La tabla 2 muestra el operador � que rige el comportamiento del algoritmo sss� en el caso deque el estado del nodo en cuesti�on est�e ACTIVO. En el paso 3, los empates se resuelven pre�riendolos nodos que est�en situados m�as a la izquierda en el �arbol de b�usqueda. La tabla 3 muestra eloperador � en el caso de que el estado sea ESTUDIADO.Caso Condiciones satisfechas por Acci�onel estado (n,s,h)1 s=Activotipo(n)=MAXn es no-terminal 8n0 2 suc(n),A~nadir los estados (n0,Activo,h), alprincipio de Abierta2 s=Activotipo(n)=MINn es no-terminal A~nadir (n0,Activo,h) al principiode Abierta, donde n0 es el primersucesor de n3 s=Activon es terminal Introducir(n,Estudiado,minfh,f(n)g) delantede los estados de Abierta con menorhTable 2: El Operador � (tres primeros casos).Seg�un Stockman, sss� no estudia nodos que no estudie el Alfa-Beta. Sin embargo, Roizen yPearl reforman la tabla puesto que, sino, habr��a casos en los que no se cumplir��a esta propiedad.Por otra parte, el sss� tiene el gran problema de requerir mucha memoria para la lista ABIERTA, yha habido intentos de reducir esta ocupaci�on de memoria, estableciendo un m�aximo M de ocupaci�onde memoria (n�umero de estados en ABIERTA), y dando lugar al algoritmo itersss�. Tambi�en seha intentado proporcionar, durante la b�usqueda, al Alfa-Beta informaci�on para guiar la b�usquedaposterior.

Page 102: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 102Caso Condiciones satisfechas por Acci�onel estado (n,s,h)4 s=Estudiadotipo(n)=MAXn tiene hermanos sin estudiar A~nadir (n0,Activo,h) al principiode Abierta, donde n0 es el primerhermano sin estudiar de n5 s=Estudiadotipo(n)=MAXn no tiene hermanos sin estudiar A~nadir (padre(n),Estudiado,h) alprincipio de Abierta6 s=Estudiadotipo(n)=MIN A~nadir (padre(n),Estudiado,h) alprincipio de Abierta. Eliminar deAbierta todos los nodos sucesores enel �arbol del nodo padre(n)Table 3: El Operador � (tres �ultimos casos).En las tablas 4 y 5, se muestra una traza de la ejecuci�on del algoritmo sss� para el ejemplode la �gura 39. En la primera columna est�a el n�umero de ciclo; en la segunda el caso seg�un lastablas 2 y 3; y en la tercera, la lista ABIERTA en cada ciclo. La jugada seleccionada es la queintrodujo el nodo ra��z en el pen�ultimo ciclo: la representada por el nodo 4, que es la misma jugadaseleccionada por el Alfa-Beta.Ciclo Caso Abierta1 1 (1,A,1)2 2 (2,A,1) (3,A,1) (4,A,1)3 1 (5,A,1) (3,A,1) (4,A,1)4 3 (12,A,1) (13,A,1) (14,A,1) (3,A,1) (4,A,1)5 3 (13,A,1) (14,A,1) (3,A,1) (4,A,1) (12,E,3)6 3 (14,A,1) (3,A,1) (4,A,1) (13,E,5) (12,E,3)7 2 (3,A,1) (4,A,1) (13,E,5) (14,E,4) (12,E,3)8 1 (7,A,1) (4,A,1) (13,E,5) (14,E,4) (12,E,3)9 3 (17,A,1) (18,A,1) (4,A,1) (13,E,5) (14,E,4) (12,E,3)10 3 (18,A,1) (4,A,1) (17,E,6) (13,E,5) (14,E,4) (12,E,3)11 2 (4,A,1) (18,E,7) (17,E,6) (13,E,5) (14,E,4) (12,E,3)12 1 (10,A,1) (18,E,7) (17,E,6) (13,E,5) (14,E,4) (12,E,3)Table 4: Ejemplo de resoluci�on del �arbol de la �gura 39 utilizando el algoritmo sss� (primeraparte).15.5 Algoritmo B�Tanto en el Alfa-Beta como en el sss�, la h(n) devolv��a un s�olo valor y era �unica. Berliner expuso unalgoritmo de b�usqueda, v�alido para juegos de una persona (juegos contra la naturaleza o solitarios)y de dos personas, que utiliza dos funciones de evaluaci�on: una que suministra un umbral inferioro valor pesimista, p(n), y otra que devuelve un umbral superior u optimista, o(n). Cada nodo

Page 103: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 103Ciclo Caso Abierta13 3 (24,A,1) (25,A,1) (18,E,7) (17,E,6) (13,E,5) (14,E,4) (12,E,3)14 3 (25,A,1) (24,E,8) (18,E,7) (17,E,6) (13,E,5) (14,E,4) (12,E,3)15 6 (24,E,8) (18,E,7) (17,E,6) (13,E,5) (25,E,5) (14,E,4) (12,E,3)16 4 (10,E,8) (18,E,7) (17,E,6) (13,E,5) (14,E,4) (12,E,3)17 1 (11,A,8) (18,E,7) (17,E,6) (13,E,5) (14,E,4) (12,E,3)18 3 (26,E,8) (27,E,8) (28,E,8) (18,E,7) (17,E,6) (13,E,5) (14,E,4) (12,E,3)19 6 (26,E,8) (27,E,8) (28,E,8) (18,E,7) (17,E,6) (13,E,5) (14,E,4) (12,E,3)20 5 (4,E,8) (18,E,7) (17,E,6) (13,E,5) (14,E,4) (12,E,3)21 6 (1,E,8)Table 5: Ejemplo de resoluci�on del �arbol de la �gura 39 utilizando el algoritmo sss� (segundaparte).tendr�a, por tanto, una ventana que ser�an los valores superior e inferior entre los que debe estarcomprendido el valor. La condici�on de �n del algoritmo es que8n 2 suc(RG) j p(n) � maxn02HE(n) o(n0)donde RG es la ra��z del �arbol de juego, HE(n) es el conjunto de los hermanos de n, p(n) es elvalor pesimista del nodo n, o umbral inferior, y o(n') es el valor optimista del nodo n', o umbralsuperior, o, lo que es lo mismo, se trata de que el valor pesimista del mejor sucesor del nodo ra��zsea mayor o igual que el valor optimista de sus hermanos.Para conseguir esto, existen dos tipos de estrategias:� PROVEBEST, que intenta incrementar el p(n) del mejor sucesor del nodo ra��z.� DISPROVEREST, que intenta decrementar el o(n) del segundo sucesor del nodo ra��z.Por otra parte, las reglas de \backup" son:p(n) = maxn02suc(n) o(n0)o(n) = maxn02suc(n) p(n0)Berliner describe el algoritmo de forma no estructurada, mientras que Palay lo hace de formaestructurada. La descripci�on de este �ultimo consta de dos procedimientos. El primero act�ua sobrelos nodos sucesores de la ra��z del �arbol de b�usqueda y el segundo act�ua sobre los niveles inferioresdel �arbol. El algoritmo queda de la forma especi�cada por los procedimientos B�-NIVEL-ALTO yB�-NIVEL-BAJO.

Page 104: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 104Procedimiento B�-NIVEL-ALTO (Situaci�on)1. Expandir el nivel alto del �arbol desde Situaci�on2. Mientras p(Mejor-nodo) < maxn02HE(Mejor-nodo) o(n0)(a) Seleccionar estrategia PROVEBEST o DISPROVEBEST(b) B�-NIVEL-BAJO (nodo-a-explorar-seg�un-estrategia)3. Devolver Mejor-nodoProcedimiento B�-NIVEL-BAJO (Nodo)1. SI Nodo no expandido ENTONCES EXPANDIR-NODO (Nodo)2. O = �maxn02suc(Nodo) p(n0)3. P = �maxn02suc(Nodo) o(n0)4. Mientras O = o(Nodo) Y P = p(Nodo)(a) Siguiente-nodo = siguiente nodo a explorar del conjunto suc(Nodo)(b) B�-NIVEL-BAJO (Siguiente-Nodo)(c) O = �maxn02suc(Nodo) p(n0)(d) P = �maxn02suc(Nodo) o(n0)5. o(Nodo) = O6. p(Nodo) = P7. Devolver o(Nodo) y p(Nodo)

Palay tambi�en describe una serie de pautas para utilizar una u otra estrategia (PROVEBEST/DISPROVEREST)dependiendo del caso en el que se encuentre la b�usqueda. Demuestra tambi�en que, pese a lo quepueda parecer, existen casos en los que el mejor nodo no se expande, porque se utiliza siempre laestrategia DISPROVEREST.Pese a poder utilizarse para juegos de una y dos personas, se ha demostrado que no es adecuadopara el primer tipo con lo que, normalmente, se utiliza para juegos de adversarios.

Page 105: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 10515.6 Algoritmo MaxnCuando el n�umero de jugadores es mayor que dos, hay que realizar modi�caciones para losalgoritmos anteriores. Luckhardt e Irani, en 1986, plantearon un algoritmo v�alido para juegosde n personas, no cooperativo y de informaci�on perfecta (completa). M�as tarde, Luckhardt ampli�oel mismo algoritmo, Maxn, para juegos cooperativos (dos o m�as jugadores forman grupos conintereses comunes).La principal idea del algoritmo consiste en que en lugar de devolver un s�olo valor (Alfa-Beta ysss�) o dos valores (B�), la funci�on de evaluaci�on devuelva un vector con tantos componentes comojugadores haya. Cada componente i del vector representa la estimaci�on de la victoria del jugadori. En cada nivel del �arbol, se escoge, de los vectores de los nodos sucesores, aqu�el que maximize lacomponente del vector correspondiente al jugador que tiene la decisi�on en ese nivel.As��, por ejemplo, en el �arbol de la �gura 46 se observa que en el nivel de profundidad 2 le tocadecidir al jugador n�umero 3 ya que son sus jugadas, por lo que maximiza la tercera componentedel vector. As��, entre los nodos 11 y 12 pre�ere el 12, ya que maximiza la tercera componente delvector. An�alogamente, deciden el jugador dos y uno en los niveles superiores respectivos, tal comomuestran las �guras 47, 48, y 49.Tambi�en plantean una optimizaci�on de este algoritmo que consiste en retrasar la evaluaci�on delas componentes del vector hasta el momento en el que sean necesarias para decidir. As��, en el nivel3 s�olo se obtendr��an las terceras componentes del vector, en el nivel 2 las segundas de los vectoreselegidos, y en el nivel 1 las primeras componentes.65 7 8

11 12 13 14 1615 17 18 19 20 21 22 23

10

1

2 3 4

9

(1,1,0) (0,1,2) (3,2,1) (3,3,3) (2,4,1) (2,3,5) (5,6,3) (4,4,5) (5,2,1) (4,6,0) (3,2,5) (3,4,5) (2,1,1)Figure 46: Ejemplo de funcionamiento del Maxn.Ultimamente, McAllester ha presentado otro m�etodo de estudio de �arboles de juego basado enlos \n�umeros conspiratorios". Dichos n�umeros representan, para cada nodo, el n�umeros de nodoscuyo valor habr�a que cambiar para lograr cambiar el valor de ese nodo.

Page 106: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 106

65 7 8

11 12 13 14 1615 17 18 19 20 21 22 23

10

1

2 3 4

9

(1,1,0) (0,1,2) (3,2,1)

(3,2,1)(0,1,2)

(3,3,3) (2,4,1) (2,3,5) (5,6,3)

(2,3,5)

(4,4,5)

(4,4,5)

(5,2,1) (4,6,0) (3,2,5) (3,4,5) (2,1,1)

(5,2,1) (3,2,5)

Figure 47: Ejemplo de funcionamiento del Maxn.16 Ejercicios de autocomprobacionProblema 1.Sup�ongase que se tiene un dominio en el que se tiene un veh��culo que debe ir de un punto a otrode una ciudad. Se de�nen los puntos como las intersecciones entre tramos de calles. El objetivo esque el veh��culo vaya del punto origen al punto destino por el camino por el que menos se tarde.Se conocen, adem�as, los siguientes datos:� Si el n�umero de coches en un tramo es menor que 10, el tr�a�co es disperso. La velocidad,entonces, ser�a de 50 km/h, a no ser que llueva, que ser�a de 30 km/h, haya niebla, 20 km/h,o nieve, 15 km/h.� Si el n�umero de coches en un tramo est�a entre 10 y 100, el tr�a�co es medio. La velocidad,entonces, ser�a de 40 km/h, a no ser que llueva o nieve que ser�a de 25 km/h, o haya hielo enel suelo, que ser�a de 10 km/h. Si hay hielo en un tramo, �este ser�a poco recomendable.� Si el n�umero de coches en un tramo es mayor que 100, el tr�a�co ser�a alto, y la velocidad ser�ade 30 km/h. Si hay obras, la velocidad ser�a de 15 km/h y si llueve 10 km/h.Sup�ongase que existe un sistema de producci�on que describe este dominio, en el que la resoluci�ondel conjunto con icto se realiza por medio del A�. Dada la ciudad de la �gura 50, donde los paresde n�umeros representan coordenadas, descr��base el comportamiento de la b�usqueda utilizando losalgoritmos A� y escalada para ir desde el punto I al punto M por el camino por el que tarde menostiempo, donde la informaci�on relativa a los tramos es la especi�cada en la tabla adjunta.

Page 107: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 107

65 7 8

11 12 13 14 1615 17 18 19 20 21 22 23

10

1

2 3 4

9

(1,1,0) (0,1,2) (3,2,1)

(3,2,1)

(3,2,1)

(0,1,2)

(3,3,3) (2,4,1) (2,3,5) (5,6,3)

(2,3,5)

(4,4,5)

(4,4,5)

(4,4,5)

(5,2,1) (4,6,0) (3,2,5) (3,4,5) (2,1,1)

(5,2,1) (3,2,5)

(5,2,1)

Figure 48: Ejemplo de funcionamiento del Maxn.Atributo T1 T2 T3 T4 T5 T6 T7 T8 T9 T10Coches 9 15 9 150 25 5 50 200 5 60Lluvia x xNieve x xObras x xNiebla x xHielo x xSoluci�on al problema 1.Debido a que se pide obtener el camino por el que se tarde menos tiempo, la funci�on de evaluaci�onf(n) ser�a f(n) = g(n)+h(n), donde g(n) se calcular�a como la suma de los tiempos en los trayectosobtenidos hasta el momento desde el nodo ra��z del �arbol de b�usqueda hasta el nodo n, y h(n) secalcula como el tiempo estimado para llegar al nodo meta desde el nodo n. M�as concretamente, elcoste para ir de un nodo n a otro m se calcula como:e(n;m)v(n;m)donde v(n;m) es la velocidad por la que se puede circular por el tramo correspondiente, ye(n;m) es la distancia eucl��dea de n a m, y se calcula como:e(n;m) = q(x1 � x2)2 + (y1 � y2)2Por otra parte, h(n) debe ser siempre menor o igual que la real, con lo que se puede de�nircomo h(n) = e(n;meta)50 , ya que 50 es la mayor velocidad por la que se puede circular. Por tanto, lash(n) de cada nodo ser�an:

Page 108: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 108

65 7 8

11 12 13 14 1615 17 18 19 20 21 22 23

10

1

2 3 4

9

(1,1,0) (0,1,2) (3,2,1)

(3,2,1)

(3,2,1)

(0,1,2)

(3,3,3) (2,4,1) (2,3,5) (5,6,3)

(2,3,5)

(4,4,5)

(4,4,5)

(4,4,5)

(5,2,1) (4,6,0) (3,2,5) (3,4,5) (2,1,1)

(5,2,1) (3,2,5)

(5,2,1)

(5,2,1)

Figure 49: Ejemplo de funcionamiento del Maxn.I

(0,10) (30,10)

(20,0)T1

M

(0,0)

(0,20) T10 (15,20) T9 (30,20)

(20,10)

T7

T4T2

T3

(10,10)

T5

T6

6

3

1

4 5

7

2T8Figure 50: Ejemplo de ciudadNodos1 2 3 4h(nodo) 20p250 = 0:56 1050 = 0:2 10p250 = 0:28 p30050 = 0:35Nodos5 6 7 Metah(nodo) p80050 = 0:56 3050 = 0:6 1550 = 0:3 050 = 0Las velocidades se calculan mediante las reglas descritas y ser�an las siguientes (puede habervariaciones, seg�un se entiendan las reglas):

Page 109: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 109TramosT1 T2 T3 T4 T5Velocidad 20 25 20 15 10Tiempo 2020 = 1 1025 = 0:4 1020 = 0:5 10p215 = 0:95 1010 = 1TramosT6 T7 T8 T9 T10Velocidad 15 40 30 50 25Tiempo 1015 = 0:67 1040 = 0:25 p12530 = 0:37 1550 = 0:3 1525 = 0:6Los sucesivos �arboles expandidos aparecen en las �gura 51, 52, 53, 54, 55, y 56. En la derechade los nodos se han representado la g(n) y, debajo, la h(n). En la izquierda se han representadolas f(n).1 2

I

1

10.561.56

0.4

0.4

0.20.6Figure 51: Paso 1 del algoritmo A� sobre el ejemplo de la �gura 50.1

3

2

I

1

10.561.56

0.4

0.20.6

0.5

0.90.281.18

0.4

Figure 52: Paso 2 del algoritmo A� sobre el ejemplo de la �gura 50.Problema 2.Dado el juego del "tic-tac-toe" descrito en el texto, suponiendo que la m�aquina juega con 0, a partirde la con�guraci�on inicial dada por la �gura 57, determinar la mejor jugada mediante la utilizaci�on

Page 110: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 1101 2

I

1

10.561.56

0.4

0.20.6

0.5

0.90.281.18

0.4

4 3

0.95

1

1.9

0.352.25Figure 53: Paso 3 del algoritmo A� sobre el ejemplo de la �gura 50.del algoritmo Alfa-Beta una b�usqueda 3-ply (profundidad del �arbol de b�usqueda = 4). La funci�onde evaluaci�on es: fev(n) = nolineas libres para O� nol��neas libres para Xsiendo l��nea = �la o columna o diagonal. A continuaci�on, obtener la mejor jugada mediante elalgoritmo sss�.Soluci�on al problema 2.Las �guras adjuntas (58, 58, y 58) muestran los diferentes estados de soluci�on de acuerdo alprocedimiento Alfa-Beta. En la �gura 58 se muestra la expansi�on por el procedimiento de larama de la izquierda. En la �gura 59, se estudia la rama del centro, realiz�andose una poda. Por�ultimo, la �gura 60 muestra el estudio de la rama de la derecha. La soluci�on del ejercicio con elsss� se deja al lector.Problema 3.Dado el juego de los gatos y el rat�on descrito en el cap��tulo de Representaci�on delConocimiento, si la estrategia de control fuera el alfa-beta, describir una posible funci�on deevaluaci�on, y el �arbol de b�usqueda que el alfa-beta generar��a en el caso de la �gura 61 cuando letoca mover al rat�on, y la profundidad de b�usqueda es tres (tres niveles por debajo del nodo ra��z).Soluci�on al problema 3.Vamos a utilizar una posible funci�on de evaluaci�on:

Page 111: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 1112

I

1

10.561.56

0.4

0.20.6

0.90.281.18

0.4

4 3

0.95

10.35

1

0.67 0.5

1.67

2.02Figure 54: Paso 4 del algoritmo A� sobre el ejemplo de la �gura 50.f(situaci�on)=n�umero-jugadas-rat�on(situaci�on)-n�umero-jugadas-gatos(situaci�on)El �arbol resultante est�a representado en las �guras 62 y 63.17 Lecturas recomendadasExisten muchos y buenos textos en donde se tratan con diferentes niveles de profundidad lasdistintas t�ecnicas que aqu�� se expusieron. As��, los libros de [Rich and Knight, 1994, Winston, 1984,Nilsson, 1987, Borrajo et al., 1993] contienen descripciones de la mayor parte de los algoritmostratados.References[Borrajo et al., 1993] Daniel Borrajo, Natalia Juristo, Vicente Mart��nez, and Juan Pazos.Inteligencia Arti�cial. M�etodos y T�ecnicas. Centro de Estudios Ram�on Areces, Madrid, 1993.[Nilsson, 1987] Nils Nilsson. Principios de Inteligencia Arti�cial. Ediciones D��az de Santos, Madrid,1987.[Rich and Knight, 1994] Elaine Rich and Kevin Knight. Inteligencia Arti�cial. McGraw-Hill, Inc.,1994. Segunda edici�on.[Winston, 1984] Patrick H. Winston. Arti�cial Intelligence. Second Edition. Addison-Wesley,Reading, Mass., 1984.

Page 112: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 112

5

2

I

1

10.561.56

0.4

0.20.6

0.90.281.18

0.4

4 3

0.95

10.35

1

0.67 0.5

1.67

2.02

7

0.250.37

2.04

0.560.32.34 2.48

1.92Figure 55: Paso 5 del algoritmo A� sobre el ejemplo de la �gura 50.

Page 113: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 113

5

2

I

1

10.561.56

0.4

0.20.6

0.90.281.18

0.4

4 3

0.95

10.35

1

0.67 0.5

1.67

2.02

7

0.250.37

2.04

0.560.32.34 2.48

1.92

M 6

0.30.6

2.342.64

02.64 0.62.94Figure 56: Paso 6 del algoritmo A� sobre el ejemplo de la �gura 50.

X X X Figure 57: Ejemplo de situaci�on en el juego del \tic-tac-toe".

Page 114: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 114

X XX

X XX

X XX

X XX

X XX

X

X XX

X

X XX

X

X XX

X

α=β= M

m

α=β= M

m

α=β= M

m

α=β=

α=β= M

m

α=β= M

m

α=β=

α=β=

α=β=

α=β= M

m

M 0

M 0

M

m / M

M

M

m / 0

0

m

M / 0

0

M

m / 0

Poda

Figure 58: Estudio de la rama izquierda con el Alfa-Beta.

Page 115: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 115X X

X

X XX

X XX

α=β=

α=β= M

m

X XXα=

β=0

M

α=β=

0

M

α=β=

0

M

m / 0

X XX

X

m

m

0

M / m

Poda

m

Figure 59: Estudio de la rama central con el Alfa-Beta.X X

X

X XX

X XX

α=β=

α=β= M

m

X XX

α=β=

0

M

α=β=

0

M

α=β= M / m

0

0

M

m / 0

X XX

m

m

Poda

m

m

X

Figure 60: Estudio de la rama derecha con el Alfa-Beta.

Page 116: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 116

1 2 3 4 5 6 7 8

5

8

7

6

1

2

3

4

Figure 61: Ejemplo de tablero en el juego de los gatos y el rat�on.8

7

6

8

7

6

8

7

6

8

7

6

8

7

6

8

7

6

88

8

8

8

88

88

8

88α=

β=

88α=

β=

88

8

8

7

6

+

α=β=

α=

α=β=

β=α=

8

7

6

1-3=-2

-2

/ -2

-2

α=β=

β= -2

α=

8

7

6

1-4=-3

-3

β=-2α= α= -3

-3

/ -3

-3

-3

Figure 62: Ejemplo de funcionamiento del Alfa-Beta con el juego de los gatos y el rat�on (ramaizquierda del �arbol).

Page 117: Inteligencia Artificial

Ricardo Aler, Daniel Borrajo, Andr�es Silva 117

8

7

6

8

7

6

8

8

7

6

8

7

6

8

7

6

α= -3

8β=

α= -3

8β=

8

8

8

8

α= -3

8β=

α= -3

8β=

α= -3

8β=

α=

-3

8

7

6

/

8

7

6

2-4=-2

-2

-2/

-2

-2/

-2

α= -3 / -2

Figure 63: Ejemplo de funcionamiento del Alfa-Beta con el juego de los gatos y el rat�on (ramaderecha del �arbol).