You are on page 1of 8

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS

UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

INTELIGENCIA ARTIFICIAL:

Un enfoque práctico

UNIDAD IV BUSQUEDA Y ESPACIO DE ESTADO 4.1 Problemas
Después de una breve introducción en las aplicaciones de la IA, no es difícil observar que el objetivo de la IA se concentra en la solución de problemas, y sobre este particular se centrará nuestra próxima unidad. Sin embargo antes de abordar los métodos y técnicas para la solución de problemas, es útil conocer algunos conceptos sobre los cuales la IA se soporta. Inicialmente definiremos lo que es un problema y las características asociados a este. Podemos definir un problema como una situación (Estado inicial), cuyos efectos no corresponden con lo esperado por el observador del problema. Para resolver el problema, debemos cambiar las circunstancias iniciales a una situación final deseable (Estado final), lo cual se constituye en la solución del mismo. Exploraremos las tres etapas requeridas para construir un sistema enfocado a la solución de un problema en particular. 1. Definir el problema de manera precisa. Esta definición debe incluir especificaciones precisas de la situación inicial así como la situación final, es decir lo que se considera es una solución aceptable para el problema. 2. Analizar el problema. Algunas características importantes que puedan tener impacto en la selección de la técnica para la solución del problema. 3. Seleccionar la mejor técnica Aplicarla al problema en particular.

4.2 Espacio de estado

Supongamos que partimos de un problema denominado “Juega Ajedrez”. Para construir un programa que pudiera “jugar ajedrez”, sería necesario especificar la posición inicial del tablero junto con las reglas que definen cuales son los movimientos legales, así como las posiciones que representan el triunfo para cada uno de

los contendientes. Además debemos de alguna manera explícita indicar que solamente estamos dispuestos a hacer movimientos legales, así como de ganar, en caso de ser posible. Para el problema “juega ajedrez”, es relativamente simple proveer una descripción completa y formal para el mismo. La posición inicial 

Pag 4-1

Gustavo León 2009

Ellos pueden ser descritos fácilmente como un conjunto de reglas consistente de dos partes: La parte izquierda sirve como un patrón que debe coincidir con la posición actual del tablero. que describe el cambio o la posición final después de que se efectúe el movimiento.2. aún cuando pudiera diseñarse un esquema para determinar un subconjunto de reglas relevantes para cada regla. el sólo hecho de tener que almacenarlas ya representa una dificultad. dado que será necesario tener una regla separada para las aproximadamente 10120 posibles posiciones del tablero. La utilización de tantas reglas deriva en dos serias dificultades prácticas: * Ninguna persona podría suministrar un conjunto completo de Un enfoque práctico reglas. la regla descrita para pasar de la posición en la figura 4. Existen diversas maneras en las cuales estas reglas pueden ser escritas. Para hacer esto. donde cada posición contiene un símbolo colocado en el lugar que oficialmente se designa como válido para la posición de apertura.1. Por ejemplo . En general. resulta útil introducir alguna notación conveniente para describir patrones y substituciones. entonces peón blanco a la posición e4. Los movimientos legales proporcionan los medios para desplazarse desde el estado inicial hasta el estado meta. Para eliminar tales problemas. Por ejemplo. necesitaríamos un numero muy grande de ellas. se debe buscar una manera para escribir las reglas de la manera más general posible. si lo hacemos de esta manera. sin embargo. también podría escribirse de la siguiente manera: Textualmente esta representación literal se interpretaría de la siguiente manera: Si el peón blanco en la posición e2 del tablero y además se encuentra un vacío en la posición e3 y hay un vacío en la posición e4. Podemos definir como nuestra meta. pudiéramos escribir una regla tal como se muestra en la figura 4. Tomaría demasiado tiempo y no estaría exento de errores.2  Pag 4-2 Gustavo León 2009 . cualquier posición en la cual el oponente no tiene oportunidad de hacer un movimiento legal mientras su rey es atacado.UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE INTELIGENCIA ARTIFICIAL: puede ser escrita como un arreglo de 8 por 8.1 para la posición en la figura 4. entre más sintética sea la forma en que describimos las Fig 4. y la parte derecha. Ningún programa podría * manejar todas estas reglas.1 Fig 4.

. utilizando un conjunto de reglas para desplazarse de un estado a otro.Especificar uno o más estados. * Nos permite definir el proceso de solución a un problema en particular. . 2. para mover el problema a través del espacio desde le estado inicial hasta que se llegue al estado meta. lo cual provee de una estructura ordenada naturalmente. El primer paso hacia el diseño de una solución. podría comenzar. Se puede decir que los pasos hacia la descripción formal del problema son: 1.Especificar un conjunto de reglas que describan las acciones. a partir de un estado inicial. utilizando un conjunto de operaciones permisibles. La representación de espacio de estado forma las bases de prácticamente todos los métodos de IA que se tratarán aquí posteriormente. en combinación con una apropiada estrategia de control. como una combinación de técnicas conocidas (cada una representada como una regla que define cada paso en el espacio) y una búsqueda. para aquellos en que el proceso de solución del problema. Podemos jugar ajedrez entonces.Definir un espacio de estado que contiene todas las configuraciones y algunas imposibles. de alguna manera. Cuando queremos definir el universo. por supuesto. como el universo cerrado en Un enfoque práctico el cual el problema tiene su campo de acción y el estado. esto organizará las variables y creará una estructura que facilitará el uso de algoritmos o métodos recursivos (recurrentes) se repite ó está en ciclo. El problema puede ser resuelto entonces usando las reglas. De esta manera el proceso de búsqueda es fundamental  Pag 4-3 Gustavo León 2009 . son denominados ‘estados iniciales’. definimos esta área como el espacio de estado de nuestro problema. . sea planteado sin enumerar explícitamente todos los estados que contiene. dentro del cual se desarrolla la búsqueda de la solución de un problema específico. 4. 3.UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE INTELIGENCIA ARTIFICIAL: reglas necesarias. (Operadores disponibles). Estos estados. . Sin embargo para otro tipo de problemas en los cuales no se tenga una bien definida estructura será necesario el establecimiento de estructura más complejas que definan los estados individuales. con el fin de encontrar algún camino desde el estado actual hasta el estado meta. menor será el trabajo que tendremos que hacer y más eficiente el programa que las utilice. Su estructura corresponde a las estructuras de la solución de problemas en dos importantes maneras: * Permite una definición formal de un problema como una necesidad de convertir una situación dada en una situación deseada. Como síntesis podríamos definir el espacio. Esta representación de espacio de estado parece natural para el ajedrez debido a que los estados son propiamente las posiciones a través del desarrollo del juego. dentro del espacio descrito. Es probable. todas y cada una de las circunstancias en los cuales se encuentra el problema en un momento determinado. Estos estados son llamados estados meta. así como la técnica de exploración del espacio. e intentar finalizarlo e uno de los estados finales. que este espacio de estado. En el problema que acabamos de describir podemos observar un movimiento alrededor de un espacio de estado.Especificar uno o más estados que serían aceptables como solución del problema. donde cada estado corresponde a cada una de las posiciones legales del tablero. debe ser la creación de una descripción formal y manipulable del problema en sí.

entonces la regla es potencialmente aplicable. El hecho de que la búsqueda provea las bases para el proceso de la solución de problemas. Regla Si el reporte de balance de la empresa muestra números rojos. estos pueden ser incluidos como pasos en la búsqueda codificándolos como reglas. que otras Un enfoque práctico técnicas más directas no deban ser exploradas. Regla Comprobar que B esté presente y no hay nada sobre B Regla situación-acción De acuerdo al reporte meteorológico Depresión tropical en el Golfo de México Regla Vientos dirección NW Llevar el impermeable Todas estas reglas guardan algo en común. El vehículo no tiene aceite Regla deductiva-operativa Supongamos que estamos preparando el reporte financiero de alguna empresa Si la proporción de rentabilidad neta con el movimiento de caja es bajo. Regla: Si la temperatura del agua pasa de 90 grados. no significa sin embargo. Reglas A continuación expondremos algunos ejemplos de situaciones y reglas asociadas: Regla tipo deductiva Asumir que estamos conduciendo un vehículo Si la lámpara roja.UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE INTELIGENCIA ARTIFICIAL: para el proceso de solución de problemas. la parte superior define las condiciones que deben quedar satisfechas. a la izquierda del tablero se ha encendido. Si dado un estado base de datos se satisface la precondición. cuando es Gustavo León 2009 . Cuando sea posible. 4.1.3. llamadas  Pag 4-4 precondiciones. Solicitar una auditoría contable Regla de validación Asumir que se está programando un robot Para colocar la pieza A sobre la B.

utilizando el siguiente formato: Regla tipo: ____________ Regla: 4. para que de alguna manera se resuelvan los conflictos que pudieran presentarse en alguno casos en  Pag 4-5 Gustavo León 2009 . es útil estructurar los programas de inteligencia artificial de tal manera que se facilite el proceso de búsqueda. En las reglas deductivas. La información de estas bases puede estructurarse de tal forma que resulten útiles para la solución del problema en un momento dado. La definición de lo que es un sistema de producción se da a continuación. Un sistema de producción consiste de : 1. La conclusión de la regla modifica la base de datos. Sin embargo se pueden imaginar otras posibilidades. 3. Un conjunto de reglas. supresión de un hecho o la combinación de la supresión de un dato seguida de la adición de nuevos hechos. la aplicación de la Un enfoque práctico regla conduce en general. La segunda describe la acción que habrá de aplicarse si la regla es aplicada.UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE INTELIGENCIA ARTIFICIAL: efectivamente aplicada su conclusión es válida: por tanto llamamos conclusión a la parte inferior de la regla. mientras otras partes de ella pueden pertenecer solamente a la solución del problema actual. cada una consistiendo de dos partes. Ejercicio 4. algunas partes de la base de datos pueden ser permanentes. a añadir un nuevo dato a la base de datos. Los sistemas de producción nos proveen de dichas estructuras. Una estrategia de control que especifica el orden en el cual las reglas serán comparadas con las bases de datos. No confundir la palabra producción con el significado que este tiene en los procesos industriales. 2.3 Sistemas de producción Dado que las formas de búsqueda son el alma de un proceso inteligente. la primera determina la aplicabilidad de la regla. Una o mas bases de datos que contiene la información apropiada para la tarea en particular.a Cite ejemplos de reglas en cada una de las categorías anteriormente descritas.

de tal forma que x=0. son descritos en la figura 4. no existe programa de IA que esté completamente terminado. utilicemos un Un enfoque práctico problema diferente al problema del ajedrez. Posteriormente habremos de seleccionar la estrategia de control apropiada para el sistema de producción.3 Se tienen dos botellas. sin embargo esto es menos severo que el hecho de modificar líneas directas de código. Esta definición de un sistema de producción es muy general.1. Esto puede llevarse a cabo definiendo el espacio de estado del problema y un conjunto de operadores para moverlo dentro del espacio buscando la trayectoria entre el estado inicial y el estado meta. Ninguna de las dos presenta marcas de capacidad.y). Algunas veces puede existir cierta confusión debido a la interacción entre reglas.  Pag 4-6 Gustavo León 2009 . Para resolver un problema será necesario reducirlo a un planteamiento preciso. y representa la cantidad de agua en la botella de tres litros. * Nuevas reglas son fácilmente integradas para contar con nuevas situaciones sin perturbar el resto del sistema. El estado inicial es (0.0). Tan pronto como se meten más datos al sistema.3. El proceso de solución del problema puede ser prácticamente moldeado como un sistema de producción. existen algunas otras ventajas que podemos anotar * Es una buena manera de modelar sistemas con un fuerte manejo de datos.4. ó 4 y y=0.UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE INTELIGENCIA ARTIFICIAL: que aplique mas de una regla a la vez. El problema de la botella con agua: 3 4 Fig 4. Existe una bomba que puede ser utilizada para llenar las botellas con agua.n) para cualquier valor de n (dado que problema no especifica cuantos litros se necesitan en la botella de tres litros). Para dar una mejor idea de lo anteriormente descrito. de tal forma que la búsqueda sea lo más eficiente posible. una de cuatro litros y otra de tres. Los operadores que se van a utilizar para resolver el problema.2.1. ¿ Cómo se pueden obtener dos litros exactamente en la botella de cuatro ? El espacio de estado para este problema puede ser descrito como un conjunto de pares ordenados de enteros (x. x representa el número de galones de agua en la botella de cuatro litros.2. éste cambia su comportamiento. ó 3. Adicionalmente podemos agregar que independientemente de su utilidad para describir la búsqueda. El estado meta es (2. Esto es importante dado que en teoría.

y-(4-x)) Un enfoque práctico Llenar la botella de cuatro litros Llenar la botella de tres litros Derramar agua de la botella de cuatro litros Derramar agua de la botella de tres litros Vaciar la botella de cuatro litros Vaciar la botella de tres litros Derramar agua de la botella de 3 litros en la botella de 4 litros hasta llenar la botella de 4 litros Derramar agua de la botella de 4 litros en la botella de 3 litros hasta llenar la botella de 3 litros Derramar toda el agua de la botella de 3 litros en la botella de 4 litros Derramar toda el agua de la botella de 4 litros en la botella de 3 litros Fig 4.y) (x. se hacen los cambios apropiados de acuerdo a lo que describe la parte derecha.y | y>0)→ (x.y) (x.x+y) Como puede observarse. Para resolver el problema de la botella.y | x+y>=3 ∧ x>0)→ (x-(3-y).0) (x. Hemos asumido que podemos llenar una botella con la bomba. el problema es descrito en una tabla cuya parte izquierda representa el estado actual y la parte derecha describe el nuevo estado que resulta de la aplicación de la regla. Una solución al problema de la botella Litros en la botella de 4 litros 0 0 3 3 4 0 2 Litros en la botella de 3 litros 0 3 0 3 2 2 0 Regla aplicada 2 9 2 7 5 9  Pag 4-7 Gustavo León 2009 .0) (x. y que podemos derramar un contenido en la “tierra”. todo lo que necesitamos en adición a la descripción del problema que se plantea. fue necesario ser más explícito en ciertas suposiciones no mencionadas en el enunciado del problema.5. Advierta que para describir los operadores completamente.y | x+y>=4 ∧ y>0)→ (4. una de las cuales se muestra a continuación.y | x>0)→ (x-d. Tan pronto como se determina que aún no.3) (x.y | x<4)→ (4. que podemos vaciar el líquido desde una botella hasta otra y que no existe ningún medio de medición disponible.4.y | x+y<=3 ∧ x>0)→ (0.3) 9 10 (x.y | y<3)→ (x.y | x+y<=4 ∧ y>0)→ (x+y. el ciclo continúa. Fig 4. Claramente.y | x>0)→ (0.UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE INTELIGENCIA ARTIFICIAL: 1 2 3 4 5 6 7 (x.y | y>0)→ (x. y el estado resultante se verifica para ver si corresponde con el estado meta. es una estructura de control que se cicla a través de un simple lazo en el cual alguna regla que pertenece al estado actual es seleccionada.y-d) (x. existen varias secuencias de operación. la velocidad con la cual el problema se resuelve depende del mecanismo que se utilice para seleccionar la siguiente operación a ejecutarse. Reglas de producción para el problema de la botella 8 (x.y) (x. Para este problema en particular.

1)  Pag 4-8 Gustavo León 2009 . sólo puede transportarse a si mismo y a solamente alguno de los siguientes elementos que están con él: una zorra(z).z.z.0.0.1.z.0. Determine un sistema de producción (reglas y estrategia) que produzca una solución aceptable para que el campesino cruce seguro con todas sus pertenencias de un lado al otro del río.m) c=0^m=0^z⊕g)→ (1.1.g.0.1.0.0) Zorra Zorra Ganso Ganso con con con con Ganso Ganso Maíz Maíz sin sin sin sin Campesino Campesino Campesino Campesino en en en en lado lado lado lado final inicial final inicial Reglas de producción para el problema 4b 1 2 3 4 5 6 7 8 (c.g.1.z.1) (1.1.1) Estado después de la regla (1. Solución c.0) (1. Debido a limitaciones de su bote.g.1.0.m (c.g.z.1) (0.z.g.1) (1.1.1. pues el ganso se comería el maíz.UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE INTELIGENCIA ARTIFICIAL: Un enfoque práctico Ejercicio 4.m) (1.z.g.0.1.1) Estados no permitidos (0.m representan valores binarios de presencia en el lado destino del río posición inicial Ei(0.1) (1.0) posición final Ef(1.1) (0. Tampoco puede dejar solos al ganso y el maíz.1.1.b Existe un campesino (c) que intenta cruzar en una embarcación al otro lado del río.0.g.0.0.z.m (c.0) (0.z.m (c.z.1.0.m (c.m) c=0^g=0)→ (1.z.0.z.m) (0.0) c=0^g⊕m^z⊕g)→ (1.g.1.0.1) (0. un ganso (g)y un costal de maíz(m).m (c.1) (1.z.0.0.m | | | | | | | | c=0^z=0^g⊕m)→ (1.1) (0.0.m) c=1^g⊕m^z⊕g)→ (0.0.0.0.0.0) (0.g.1.0) (1.z.1. Existe una limitación adicional consistente en que no puede dejar a la zorra y al ganso solos pues la zorra se comería al ganso.g.m (c.g.z.g.z.z.0) (1.0.1.m) Cruzar zorra al otro lado Regresar zorra del otro lado Cruzar ganso al otro lado Regresar ganso del otro lado Cruzar maíz al otro lado Regresar maíz del otro lado Cruza campesino solo al otro lado Regresa campesino solo del otro lado Estrategia de Control Una solución al problema del campesino Regla Aplicada 3 8 5 4 1 8 3 Estado antes de la regla (0.1.g.m) c=1^g=1)→ (0.1.1.m (c.0.m) c=1^z=1^g⊕m)→ (0.g.0.g.1) c=1^m=1^z⊕g)→ (0.