Sei sulla pagina 1di 29

Resolucin de problemas Introduccin

Resolucin de Problemas
Deseamos denir cualquier tipo de problema de manera que se pueda
resolver automticamente
Necesitamos:
Una representacin comn para todos los problemas
Algoritmos que usen alguna estrategia para resolver problemas
denidos en esa representacin comn
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 1 / 29
Resolucin de problemas Introduccin
Denicin de un Problema
Si abstraemos los elementos de un problema podemos identicar:
Un punto de partida
Un objetivo a alcanzar
Acciones a nuestra disposicin para resolver el problema
Restricciones sobre el objetivo
Elementos que son relevantes en el problema denidos por el tipo de
dominio
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 2 / 29
Resolucin de problemas Introduccin
Representacin de problemas
Existen diferentes formas de representar problemas para resolverlos de
manera automtica
Representaciones generales
Espacio de estados: un problema se divide en un conjunto de pasos
de resolucin desde el inicio hasta el objetivo
Reduccin a subproblemas: un problema se puede descomponer en
una jerarqua de subproblemas
Representaciones para problemas especcos
Resolucin de juegos
Satisfaccin de restricciones
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 3 / 29
Resolucin de problemas Introduccin
Representacin de problemas: Estados
Podemos denir un problema por los elementos que intervienen y sus
relaciones
En cada instante de la resolucin de un problema esos elementos
tendrn unas caractersticas y relaciones especcas
Denominaremos Estado a la representacin de los elementos que
describen el problema en un momento
Distinguiremos dos estado especiales el Estado Inicial (punto de
partida) y el Estado Final (objetivo del problema)
Que incluir en el estado?
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 4 / 29
Resolucin de problemas Introduccin
Modicacin del estado: operadores
Para poder movernos entre los diferentes estados necesitamos
operadores de transformacin
Operador: Funcin de transformacin sobre la representacin de un
estado que lo convierte en otro estado
Los operadores denen una relacin de accesibilidad entre estados
Representacin de un operador:
Condiciones de aplicabilidad
Funcin de transformacin
Que operadores? Cuantos? Que granularidad?
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 5 / 29
Resolucin de problemas Espacio de estados
Espacio de estados
Los estados y su relacin de accesibilidad conforman lo que se
denomina espacio de estados
Representa todos los caminos que hay entre todos los estados posibles
de un problema
Podra asimilarse con un mapa de carreteras de un problema
La solucin de nuestro problema esta dentro de ese mapa
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 6 / 29
Resolucin de problemas Espacio de estados
Solucin de un problema en Espacio de Estados
Solucin: Secuencia de pasos que llevan del estado inicial al nal
(secuencia de operadores) o tambin el estado nal
Tipos de solucin: una cualquiera, la mejor, todas
Coste de una solucin: Gasto en recursos de la aplicacin de los
operadores a los estados. Puede ser importante o no segn el
problema y que tipo de solucin busquemos
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 7 / 29
Resolucin de problemas Espacio de estados
Descripcin de un problema en Espacio de Estados
Denir el conjunto de estados del problema (explcita o
implcitamente)
Especicar el estado inicial
Especicar el estado nal o las condiciones que cumple
Especicar los operadores de cambio de estado (condiciones de
aplicabilidad y funcin de transformacin)
Especicar el tipo de solucin:
La secuencia de operadores o el estado nal
Una solucin cualquiera, la mejor (denicin de coste), . . .
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 8 / 29
Resolucin de problemas Espacio de estados
Ejemplo: 8 puzzle
7 8
6 5
3 2 1
4
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 9 / 29
Resolucin de problemas Espacio de estados
Ejemplo: 8 puzzle
Espacio de estados: Conguraciones de 8 chas en el tablero
Estado inicial: Cualquier conguracin
Estado nal: Fichas en orden especco
Operadores: Mover hueco
Condiciones: El movimiento est dentro del tablero
Transformacin: Intercambio entre el hueco y la cha en la posicin del
movimiento
Solucin: Que pasos + El menor nmero
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 10 / 29
Resolucin de problemas Espacio de estados
Ejemplo: N reinas
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 11 / 29
Resolucin de problemas Espacio de estados
Ejemplo: N reinas
Espacio de estados: Conguraciones de 0 a n reinas en el tablero con
slo una por la y columna
Estado inicial: Conguracin sin reinas en el tablero
Estado nal: Conguracin en la que ninguna reina se mata entre si
Operadores: Colocar una reina en una la y columna
Condiciones: La reina no es matada por ninguna ya colocada
Transformacin: Colocar una reina mas en el tablero en una la y
columna determinada
Solucin: Una solucin, pero no nos importan los pasos
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 12 / 29
Resolucin de problemas Bsqueda en el espacio de estados
Bsqueda en el espacio de estados
La resolucin de un problema con esta representacin pasa por
explorar el espacio de estados
Partimos del estado inicial evaluando cada paso hasta encontrar un
estado nal
En el caso peor exploraremos todos los posibles caminos entre el
estado inicial del problema hasta llegar al estado nal
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 13 / 29
Resolucin de problemas Bsqueda en el espacio de estados
Estructura del espacio de estados
Primero deniremos una representacin del espacio de estados para
poder implementar algoritmos que busquen soluciones
Estructuras de datos: rboles y Grafos
Estados = Nodos
Operadores = Arcos entre nodos (dirigidos)
rboles: Solo un camino lleva a un nodo
Grafos: Varios caminos pueden llevar a un nodo
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 14 / 29
Resolucin de problemas Bsqueda en el espacio de estados
Algoritmo Bsico
Basado en bsqueda y recorrido en rboles y grafos
La estructura la construimos a medida que hacemos la bsqueda (la
estructura puede ser innita)
Algoritmo para una solucin:
funcion Busqueda_en_espacio_de_estados retorna solucion
Seleccionar el primer estado como el estado actual
mientras estado actual = estado nal hacer
Generar y guardar sucesores del estado actual (expansin)
Escoger el siguiente estado entre los pendientes (seleccin)
ewhile
retorna solucion
uncion
La seleccin del siguiente nodo determinar el tipo de bsqueda (orden de
seleccin o expansin)
Es necesario denir un orden entre los sucesores de un nodo (orden de
generacin)
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 15 / 29
Resolucin de problemas Bsqueda en el espacio de estados
Algoritmo Bsico
Nodos abiertos: Estados generados pero an no visitados
Nodos cerrados: Estados visitados y que ya se han expandido
Tendremos una estructura para almacenar los nodos abiertos
Las diferentes polticas de insercin en la estructura determinarn el
tipo de bsqueda
Si exploramos un grafo puede ser necesario tener en cuenta los
estados repetidos (esto signica tener una estructura para los nodos
cerrados). Merece la pena si el nmero de nodos diferentes es
pequeo respecto al nmero de caminos
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 16 / 29
Resolucin de problemas Bsqueda en el espacio de estados
Caractersticas de los algoritmos
Caractersticas:
Completitud: Encontrar una solucin?
Complejidad temporal: Cuanto tardar?
Complejidad espacial: Cuanta memoria gastar?
Optimalidad: Encontrar la solucin ptima?
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 17 / 29
Resolucin de problemas Bsqueda en el espacio de estados
Algoritmo General de Bsqueda
Al gori tmo Busqueda Ge ne r al
Es t _a bi e r t os . i n s e r t a r ( Est ado i n i c i a l )
Act ual= Es t _a bi e r t os . pr i mer o ( )
mi entras no e s _f i n a l ?( Act ual ) y no Es t _a bi e r t os . v a c i a ?( ) hacer
Es t _a bi e r t os . bor r ar _pr i me r o ( )
Es t _c e r r ados . i n s e r t a r ( Act ual )
Hi j o s= ge ne r a r _s uc e s or e s ( Act ual )
Hi j o s= t r a t a r _r e p e t i d o s ( Hi j os , Es t _cer r ados , Es t _a bi e r t os )
Es t _a bi e r t os . i n s e r t a r ( Hi j os )
Act ual= Es t _a bi e r t os . pr i mer o ( )
f mi entr as
f Al gori tmo
Variando la estructura de abiertos variamos el comportamiento del algoritmo
(orden de visita de los nodos)
La funcin generar_sucesores seguir el orden de generacin de sucesores
denido en el problema
El tratamiento de repetidos depender de cmo se visiten los nodos
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 18 / 29
Resolucin de problemas Bsqueda en el espacio de estados
Tipos de algoritmos
Algoritmos de bsqueda ciega
No tienen en cuenta el coste de la solucin en la bsqueda
Su funcionamiento es sistemtico, siguen un orden de visitas y
generacin de nodos establecido por la estructura del espacio de
bsqueda
Anchura prioritaria, Profundidad prioritaria, Profundidad iterativa
Algoritmos de bsqueda heurstica
Utilizan una estimacin del coste de la solucin para guiar la bsqueda
No siempre garantizan el ptimo, ni una solucin
Hill-climbing, Branch and Bound, A

, IDA

cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 19 / 29


Bsqueda ciega Bsqueda en anchura y profundidad
Bsqueda en Anchura Prioritaria
Los nodos se visitan y generan por niveles
La estructura para los nodos abiertos es una cola (FIFO)
Un nodo es visitado cuando todos los nodos de los niveles superiores y
sus hermanos precedentes han sido visitados
Caractersticas:
Completitud: El algoritmo siempre encuentra una solucin
Complejidad temporal: Exponencial respecto al factor de ramicacin y
la profundidad de la solucin O(r
p
)
Complejidad espacial: Exponencial respecto al factor de ramicacin y
la profundidad de la solucin O(r
p
)
Optimalidad: La solucin que se encuentra es ptima en nmero de
niveles desde la raz
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 20 / 29
Bsqueda ciega Bsqueda en anchura y profundidad
Bsqueda en Profundidad Prioritaria
Los nodos se visitan y generan buscando los nodos a mayor
profundidad y retrocediendo cuando no se encuentran nodos sucesores
La estructura para los nodos abiertos es una pila (LIFO)
Para garantizar que el algoritmo acaba debe imponerse un lmite en la
profundidad de exploracin
Caractersticas
Completitud: El algoritmo encuentra una solucin si se impone un
lmite de profundidad y existe una solucin dentro de ese lmite
Complejidad temporal: Exponencial respecto al factor de ramicacin y
la profundidad del lmite de exploracin O(r
p
)
Complejidad espacial: En el caso de no controlar los nodos repetidos el
coste es lineal respecto al factor de ramicacin y el lmite de
profundidad O(rp). Si tratamos repetidos el coste es igual que en
anchura. Si la implementacin es recursiva el coste es O(p)
Optimalidad: No se garantiza que la solucin sea ptima
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 21 / 29
Bsqueda ciega Bsqueda en anchura y profundidad
Bsqueda en Profundidad Limitada
Al gori tmo Busqueda en pr of undi dad l i mi t a d a ( l i mi t e : e nt e r o )
Es t _a bi e r t os . i n s e r t a r ( Est ado i n i c i a l )
Act ual= Es t _a bi e r t os . pr i mer o ( )
mi entras no e s _f i n a l ?( Act ual ) y no Es t _a bi e r t os . v a c i a ?( ) hacer
Es t _a bi e r t os . bor r ar _pr i me r o ( )
Es t _c e r r ados . i n s e r t a r ( Act ual )
s i pr of undi dad ( Act ual ) <= l i mi t e entonces
Hi j o s= ge ne r a r _s uc e s or e s ( Act ual )
Hi j o s= t r a t a r _r e p e t i d o s ( Hi j os , Es t _cer r ados , Es t _a bi e r t os )
Es t _a bi e r t os . i n s e r t a r ( Hi j os )
f s i
Act ual= Es t _a bi e r t os . pr i mer o ( )
f mi entr as
f Al gori tmo
La estructura de abiertos es ahora una pila
Se dejan de generar sucesores cuando se llega al lmite de profundidad
Esta modicacin garantiza que el algoritmo acaba
Si tratamos repetidos el ahorro en espacio es nulo
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 22 / 29
Bsqueda ciega Bsqueda en anchura y profundidad
Tratamiento de nodos repetidos
En anchura
Si el repetido est en la estructura de nodos cerrados podemos
olvidarlo. Tendr una profundidad igual o mayor al repetido cerrado
Si el repetido est en la estructura de nodos abiertos podemos
olvidarlo. Tendr una profundidad igual o mayor al repetido abierto
En profundidad
Si el repetido est en la estructura de nodos cerrados lo dejaremos si
tiene una profundidad menor
Si el repetido est en la estructura de nodos abiertos podemos
olvidarlo, seguro que tiene una profundidad mayor
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 23 / 29
Bsqueda ciega Bsqueda en anchura y profundidad
Repetidos en anchura
Nodo Cerrado
Nodo Abierto
Nodo Nuevo
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 24 / 29
Bsqueda ciega Bsqueda en anchura y profundidad
Repetidos en profundidad
Nodo Cerrado
Nodo Abierto
Nodo Nuevo
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 25 / 29
Bsqueda ciega Bsqueda en profundidad iterativa
ID (iterative deepening): profundidad iterativa
Intenta combinar el comportamiento espacial del DFS con la
optimalidad del BFS
El algoritmo consiste en realizar bsquedas en profundidad sucesivas
con un nivel de profundidad mximo acotado y creciente en cada
iteracin
As se consigue el comportamiento de BFS pero sin su coste espacial,
ya que la exploracin es en profundidad, y adems los nodos se
regeneran a cada iteracin
Adems esto permite evitar los casos en que DFS no acaba (existen
ramas innitas)
En la primera iteracin la profundidad mxima ser 1 y este valor ir
aumentando en sucesivas iteraciones hasta llegar a la solucin
Para garantizar que el algoritmo acaba si no hay solucin, se puede
denir una cota mxima de profundidad en la exploracin
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 26 / 29
Bsqueda ciega Bsqueda en profundidad iterativa
ID (iterative deepening)
Iteracion 1: 1
Iteracion 2: 2,3,4,5
1,2,6
3,7
8 9 10 11
4,12
13 14 15 16
5,17
18 19 20 21
Iteracion 3: 6,7,8,9,...21
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 27 / 29
Bsqueda ciega Bsqueda en profundidad iterativa
Bsqueda en profundidad iterativa
Al gori tmo Busqueda en pr of undi dad i t e r a t i v a ( l i mi t e : e nt e r o )
pr of =1;
Es t _a bi e r t os . i n i c i a l i z a r ( )
mi entras ( no e s _f i n a l ?( Act ual ) ) y pr of <l i mi t e hacer
Es t _a bi e r t os . i n s e r t a r ( Est ado i n i c i a l )
Act ual= Es t _a bi e r t os . pr i mer o ( )
mi entras ( no e s _f i n a l ?( Act ual ) ) y no Es t _a bi e r t os . v a c i a ?( ) hacer
Es t _a bi e r t os . bor r ar _pr i me r o ( )
Es t _c e r r ados . i n s e r t a r ( Act ual )
s i pr of undi dad ( Act ual ) <= pr of entonces
Hi j o s= ge ne r a r _s uc e s or e s ( Act ual )
Hi j o s= t r a t a r _r e p e t i d o s ( Hi j os , Es t _cer r ados , Es t _a bi e r t os )
Es t _a bi e r t os . i n s e r t a r ( Hi j o s )
f s i
Act ual= Es t _a bi e r t os . pr i mer o ( )
f mi entr as
pr of=pr of +1
Es t _a bi e r t os . i n i c i a l i z a r ( )
f mi entr as
f Al gori tmo
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 28 / 29
Bsqueda ciega Bsqueda en profundidad iterativa
Profundidad Iterativa
Completitud: El algoritmo siempre encontrar la solucin
Complejidad temporal: La misma que la bsqueda en anchura. El
regenerar el rbol en cada iteracin solo aade un factor constante a
la funcin de coste O(r
p
)
Complejidad espacial: Igual que en la bsqueda en profundidad
Optimalidad: La solucin es ptima igual que en la bsqueda en
anchura
cbea (LSI-FIB-UPC) Introduccin a la Inteligencia Articial Curso Curso 2005/2006 29 / 29

Potrebbero piacerti anche