Está en la página 1de 23

UNIVERSIDAD NACIONAL

DE HURLINGHAM
Introducción a la Inteligencia Artificial
PROBLEMAS. ESPACIOS PROBLEMA Y
BÚSQUEDA. PARTE 1.
 Para construir sistemas que resuelvan un problema específico, es necesario
realizar estas cuatro acciones:
 Definir el problema con precisión. Definición que debe incluir especificaciones
precisas sobre la/las situación/es inicial/es, como sobre las situaciones finales
aceptables como soluciones al problema;
 Analizar el problema. Algunas características de gran importancia pueden tener
un gran efecto sobre la conveniencia o no, de utilizar las diversas técnicas que
resuelven el problema;
 Aislar y representar el conocimiento necesario para resolver el problema.
 Elegir la/s mejor/es técnica/s que resuelva el problema y aplicarla/s a dicho
problema particular.
DEFINICIÓN DEL PROBLEMA: BÚSQUEDA EN
UN ESPACIO DE ESTADOS

Se considera a los juegos en general, como problemas de movimientos a través
de un espacio de estados.

Se comienza siempre desde un estado inicial, para luego mediante un conjunto
de reglas de movimientos que trasladan de un estado a otro, se trata de alcanzar
algún estado final.

La representación como espacio de estados surge naturalmente en los juegos, ya
que el conjunto de estados se corresponde (por ejemplo) con el conjunto de
posiciones de un tablero, que es artificial y bien estructurado.

Esta representación también es adecuada para problemas menos estructurados,
aunque posiblemente se deban usar estructuras más complejas para la
descripción de estados individuales.
DEFINICIÓN DEL PROBLEMA: BÚSQUEDA EN
UN ESPACIO DE ESTADOS


La representación como espacio de estados forma la base de la mayoría de los
métodos de la IA. Su estructura se corresponde con la estructura de la resolución
de problemas debido a:

Permite la definición formal del problema, mediante la necesidad de convertir
alguna situación dada usando un conjunto de operaciones permitidas;

Permite definir el proceso de resolución de problemas como una combinación
de técnicas conocidas (representadas por una regla que define un movimiento
en el espacio) y búsqueda.
LA BÚSQUEDA


Es la técnica general de exploración en el espacio de estados, que intenta
encontrar alguna ruta desde el estado actual hasta un estado objetivo.

Es un proceso de la más alta importancia en la resolución de problemas
complejos, para los que no se dispone de técnicas más directas.
UNA DEFINICIÓN FORMAL
PARA EL EJEMPLO DEL PUZZLE
SIMPLIFICADO:
ESPACIO DE PRÁCTICA: ÁRBOL DE BÚSQUEDA
PARA EL PROBLEMA DEL PUZZLE SIMPLIFICADO
EL PROBLEMA DE LAS JARRAS DE AGUA


El espacio de estados se puede representar como un conjunto de pares ordenados de
números enteros (x, y), con x = {0, 1, 2, 3, 4}, y = {0, 1, 2, 3}.

El Estado Inicial es (0, 0)

El Estado Objetivo es (2, 0)

Los operadores (acciones) se pueden representar por medio de reglas en las que la parte
izquierda se compara con el estado actual, y la parte derecha describe el nuevo estado que
se alcanza con la aplicación de la regla. Ejemplos:
 Si x = 0  (4, y) (Llenar jarra de 4 litros)
 Si y = 0  (x, 3) (Llenar jarra de 3 litros)
 Si x > 0  (0, y) (Vaciar jarra de 4 litros)
 Si y > 0  (x, 0) (Vaciar jarra de 3 litros)
OBSERVACIONES IMPORTANTES

• Al convertir la definición informal de un problema a una descripción formal, surgen con


frecuencia aspectos como los que tiene el problema de los baldes de agua:
• ¡El rol de las condiciones (parte izquierda o antecedentes) de las reglas! Por ejemplo: Si x
= 0  (4, y)(Llenar jarra de 4 litros)
• ¡La aplicación de las reglas debe producir modificaciones de los estados!
• La incorporación de restricciones en los antecedentes de las reglas, no siempre son
estrictamente necesarias, pero restringen su aplicación a ciertos estados concretos, en que
su uso es más adecuado.
• Estas restricciones incrementan la eficacia de los programas que resuelven problemas
basados en reglas.
RESUMEN

• Para producir una Descripción Formal de un problema, debe hacerse lo siguiente:


• Definir un Espacio de Estados que contenga todas las configuraciones posibles de los
objetos relevantes.
• Identificar uno o más estados que describan situaciones en las que comience el proceso de
resolución del problema. Estos se denominan Estados Iniciales.
• Especificar uno o más estados que pudieran ser soluciones aceptables del problema. Estos
estados se denominan Estados Objetivo.
• Especificar un conjunto de reglas que describan las acciones (operadores) disponibles.
LOS SISTEMAS DE PRODUCCIÓN

• La búsqueda es el núcleo de los sistemas inteligentes en general, y los Sistemas de Producción


proporcionan esas estructuras. La arquitectura básica de estos sistemas consiste en:
• Un conjunto de reglas. Sus antecedentes (patrones o condiciones) determinan la
aplicabilidad de la regla. Y sus consecuentes describen la operación que se realiza si se
aplica la regla.
• Una o más bases de datos/conocimiento que contengan cualquier tipo de información
apropiada para la tarea en particular.
• Una estrategia de control que especifique el orden en que las reglas se comparan en la BD,
y la forma de resolver los conflictos que surjan cundo varias reglas puedan ser aplicadas a
la vez.
• Un aplicador de reglas.
ESTRATEGIAS DE CONTROL

• ¿Cómo se decide qué regla hay que aplicar durante el proceso de búsqueda de la solución de
un problema?

• ¿Qué pasa cuando es posible aplicar más de una regla, cuando sus antecedentes casan con el
estado actual?

• Estas cuestiones tienen crucial impacto en la rapidez para la resolución de un problema, o


incluso, en la posibilidad misma de dicha resolución.

• ¿REQUISITOS PARA UNA BUENA ESTRATEGIA DE CONTROL?...


¡QUE CAUSE ALGÚN CAMBIO!

• Para el problema de las jarras de agua se puede implementar una sencilla estrategia de
control que consista en empezar por la primera regla de la lista, y que elija la primera
aplicable: Si x = 0  (4, y) (Llenar jarra de 4 litros)… ¿Qué ocurriría en este caso?...

• ESTRATEGIAS DE CONTROL QUE NO CAUSAN CAMBIOS DE ESTADO NUNCA ALCANZAN


UNA SOLUCIÓN
UNA BUENA ESTRATEGIA DE CONTROL DEBE SER SISTEMÁTICA

• Otra simple estrategia de control para el problema, podría ser: en cada ciclo, elegir al azar una
de entre todas las reglas aplicables.
• Es mejor que la primera: produce cambios y eventualmente puede encontrar la solución.
• ¿Desventaja?
• ¡Puede volver varias veces al mismo estado, usando más pasos de los necesarios!

• El requisito de que una estrategia de control sea sistemática se corresponde con una
necesidad de cambio global (en el curso de varios pasos) y de cambio local (en el caso de
un paso sencillo.)
UNA ESTRATEGIA DE CONTROL SISTEMÁTICA PARA EL
PROBLEMA DE LAS JARRAS CON AGUA (1)
• Se construye un árbol cuya raíz sea el estado inicial;

• Todas las ramificaciones de la raíz se generan al aplicar las reglas que son aplicables al estado
inicial
UNA ESTRATEGIA DE CONTROL SISTEMÁTICA PARA EL
PROBLEMA DE LAS JARRAS CON AGUA (2)
• Ahora, para cada nodo, se generan todas las posibles situaciones resultantes de la aplicación
de las reglas adecuadas.
• Se continúa con este proceso hasta que alguna regla produce algún estado objetivo.
• Este proceso descrito, se denomina Búsqueda Primero en Anchura.
• La imagen muestra dos niveles del árbol de búsqueda primero en anchura
• ALGORITMO: BÚSQUEDA PRIMERO EN ANCHURA

• 1) Crear una variable LISTANODOS y asignarle el Estado Inicial.


• 2) Hasta que se encuentre un Estado Objetivo o LISTANODOS esté vacía, hacer:

a) Eliminar el primer elemento de LISTANODOS y llamarlo E. Si LISTANODOS está vacía
terminar.

b) Para que cada regla se empareje con el estado descrito en E hacer:

i) Aplicar la regla para generar un nuevo estado.

ii) Si el nuevo estado es un estado objetivo, terminar y devolver este estado.

Iii) En caso contrario, añadir el nuevo estado
• También pueden servir otras estrategias de control sistemáticas. Por ejemplo, se podría
continuar por una sola rama del árbol hasta encontrar una solución o hasta que se tome
la decisión de terminar la búsqueda por esa dirección.

• Terminar la búsqueda por una ruta tiene sentido cuando se llega a un callejón sin salida, se
produce un estado ya alcanzado, o la ruta se alarga más de lo especificado en algún límite de
“inutilidad”.

Si esto ocurre, debe producirse una vuelta-atrás (backtracking)

Se revisita el estado más recientemente creado desde el que sea posible algún movimiento
alternativo más, y se crea así un nuevo estado.

Está forma de vuelta-atrás se llama vuelta-atrás cronológica, debido a que el orden en que
se deshacen los pasos, depende únicamente de la secuencia temporal en que se hicieron
originalmente esos pasos.
• El procedimiento de búsqueda descrito se denomina Búsqueda Primero en Profundidad.
Cuyo algoritmo preciso es:

• Si el Estado Inicial es un Estado Objetivo, terminar y devolver un éxito.


• En caso contrario, hacer lo siguiente hasta que se marque un éxito o un fracaso:

a) Generar un sucesor E, del estado inicial. Si no existen más sucesores, marcar un fracaso.

b) Llamar a la búsqueda primero en profundidad con E como Estado Inicial.

c) Si se devuelve un éxito, marcar un éxito. En caso contrario, continuar con el ciclo.
• VENTAJAS DE LA BÚSQUEDA PRIMERO EN PROFUNDIDAD

• Necesita menos memoria. Sólo almacena los nodos del camino que se explora en ese instante.
En la búsqueda Primero en Anchura se debe almacenar todo el árbol generado hasta ese
momento.
• Si se tiene suerte, o el cuidado de ordenar los estados alternativos sucesores, primero en
profundidad puede encontrar una solución sin tener que examinar gran parte del espacio de
estados.
• En el caso de primero en anchura deben examinarse todas las partes del árbol de nivel n,
antes de comenzar con los nodos de nivel n + 1.
• La última observación es importante en el caso de que existan varias soluciones aceptables. En
esta caso primero en profundidad finaliza al encontrar una de ellas.
• VENTAJAS DE LA BÚSQUEDA PRIMERO EN ANCHURA

• No queda atrapada explorando callejones sin salida. Mientras que primero en profundidad
puede seguir una ruta infructuosa por mucho tiempo, antes de terminar en un estado sin
sucesores.
• Este hecho es crítico para primero en profundidad, si existen ciclos. Se forma un ciclo cuando
un estado tiene como sucesor a un estado que también es uno de sus antecesores.. Por
supuesto este problema se anula si se tiene el cuidado especial de verificar estas situaciones.
• Si existe una solución, la búsqueda primero en anchura garantiza que se logre hallarla.
• Si además existen múltiples soluciones, es posible encontrar la solución mínima.
• Esto último es posible porque no se explora una ruta larga hasta que se hayan examinado
todas las rutas más cortas que ella.
• En primero en profundidad es posible encontrar una ruta larga en alguna parte del árbol,
cuando puede existir otra mucho más corta en alguna parte no explorada del mismo.

También podría gustarte