Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
TEMA 2:
Resolucin de Problemas en IA
Resolucin de Problemas en IA pp. 2
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Tema 2: Resolucin de Problemas en IA
1.- Formulacin de problemas. Componentes.
2.- Bsqueda de soluciones.
3.- Bsqueda no informada.
3.1.- Bsqueda en Anchura
3.2.- Bsqueda por coste uniforme.
3.3.- Bsqueda en profundidad o backtracking
3.4.- Bsqueda por profundizacin iterativa
3.5.- Comparacin de estrategias
4.- Bsqueda informada.
4.1.- Algoritmo general de bsqueda en grafos.
4.2.- Algoritmo A*.
4.3.- Mtodos A*con memoria limitada
4.3.1.- Algoritmo A* de Profundizacin Iterativa (IDA*)
4.3.2.- Otros mtodos A*
4.4.- Desarrollo de funciones heursticas.
5.- Coste computacional de la resolucin de problemas.
6.- Caractersticas. Tipos de problemas.
Resolucin de Problemas en IA pp. 3
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Tema 2: Resolucin de Problemas en IA
Bibliografa Bsica:
S.Rusell, P. Norvig. Inteligencia Artificial: Un enfoque moderno. Prentice Hall, 2004.
Captulos 3, 4 y 5.
Nils J. Nilsson. Inteligencia Artificial: una nueva sntesis. McGraw Hill, 2000.
Inteligencia Artificial. Tcnicas, mtodos y aplicaciones. Palma, Marn. McGraw Hill, 2008.
M. Ginsberg Essentials of Artificial Intelligence. Morgan Kaufmann Publishers, 1993.
Bibliografa Complementaria:
E. Rich, K. Knight. Inteligencia Artificial. McGraw Hill , 1994, Captulo 2.
P.H. Winston. Inteligencia Artificial. Addison-Wesley Iberomaericana, 1994.
Resolucin de Problemas en IA pp. 4
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
1.- Formulacin de Problemas. Componentes.
El proceso general de un Sistema de Resolucin de Problemas en IA, se modela
generalmente como un proceso de bsqueda a travs de un espacio de estados.
Definicin del problema:
a) Definir una representacin de posibles estados del problema.
b) Determinacin estado inicial.
c) Determinacin explcita del estado final meta, o de las condiciones de un
estado meta.
d) Reglas de transicin o de movimiento: Permiten transformar un estado del
problema en otro.
Objetivo: Encontrar la secuencia de reglas (solucin) que aplicadas a una
descripcin del problema (estado inicial) lo transformen en otra (estado meta),
mediante un proceso de bsqueda en un espacio de estados.
Espacio de estados: Conjunto de estados del problema alcanzables a partir del
estado inicial, aplicando reglas de transicin.
Resolucin de Problemas en IA pp. 5
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
1.- Formulacin de Problemas. Componentes.
Proceso de resolucin de problemas
formular, buscar y ejecutar
fase de formulacin:
objetivos
Problema
fase de bsqueda
fase de ejecucin
Resolucin de Problemas en IA pp. 6
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
1.- Formulacin de Problemas. Componentes.
Estado-Inicial
Nivel-0
Nivel-1
Nivel-2
Reglas de
Transicin
La representacin como espacio de estados es la base de muchos
mtodos de IA.
Permite definir formalmente el problema.
Permite definir el proceso de resolucin de un problema como una
combinacin de tcnicas conocidas y bsqueda.
Resolucin de Problemas en IA pp. 7
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
1.- Formulacin de problemas. Componentes.
Formulacin de un problema
Estado Inicial
Conjunto de acciones
Operador descripcin de una accin en trminos del estado que se alcanza,
desde un estado concreto, al ejecutar la accin.
Funcin Subsecuente, dado un estado x, S(x) devuelve el conjunto de
estados alcanzables desde x mediante una accin.
Espacio de Estados = Estado Inicial + Conjunto Operadores
conjunto de todos los estados que pueden alcanzarse desde el estado inicial
mediante cualquier secuencia valida de acciones
Camino: secuencia de acciones que permite pasar de un estado a otro
Prueba de objetivo: se aplica a la descripcin de un solo estado para
saber si es un estado objetivo
Coste del camino(g): E coste de cada accin del camino
Eleccin de estados y acciones ABSTRACCIN
Resolucin de Problemas en IA pp. 8
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Problema de Jugar al Ajedrez (1)
Especificacin del problema
a) Estados del problema: matriz 8x8, Turno de jugada.
b) Posicin inicial del tablero.
c) Posicin final del tablero (situacin ventajosa).
d) Operadores de movimientos validos.
T
T
T
T
C C
C C
A A
A A
RA R
RA R
P P P P P P P P
P P P P P P P P
8
7
6
5
4
3
2
1
1 2 3 4 5 6 8 7
NEGRA
BLANCA
T
T
T
T
C C
C C
A A
A A
RA R
RA R
P P P P
P
P P P
P P P P P P P P
8
7
6
5
4
3
2
1
1 2 3 4 5 6 8 7
NEGRA
BLANCA
Resolucin de Problemas en IA pp. 9
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Problema de Jugar al Ajedrez (2)
Operadores de movimiento
Con constantes: Un operador por cada movimiento valido de cada pieza
Pen (5, f=2) ^ Vaca(5, f=3) ^ Vaca (5, f=4)
Mover-pen (5, f=2, 5, f=4)
2 jugadores x (40 movimientos), 30 alternativas = 30
80
10
118
operadores
Con variables (pattern-matching): generalizar patrones de movimientos
Pen (?c, f=2)^Vaca(?c, f=3)^Vaca (?c, f=4)
Mover-pen (?c, f=2, ?c, f=4)
Resolucin de Problemas en IA pp. 10
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
El Problema de las Jarras de Agua
Especificacin del problema:
a) Estados:
(x,y) / x e {0,1,2,3,4} ^ y e {0,1,2,3}
b) Estado inicial (0,0)
c) Estado final (2, N)
d)Operadores de movimiento vlidos:
R1- (x,y) ^ x<4 (4,y) llenar x.
R2- (x,y) ^ y<3 (x,3) llenar y.
R3- (x,y) ^ x>0 (0,y) vaciar x.
R4- (x,y) ^ y>0 (x,0) vaciar y
R5- (x,y) ^ x+y>4 ^y>0 ^x<4 (4,y-(4-x))
llenar x desde y
X Y
4 l. 3 l.
R6- (x,y)^ x+y > 3 ^ x>0 ^ y<3 (x-(3-y),3)
llenar y desde x
R7- (x,y)^x+ys4^y>0(x+y,0)
pasar agua de y a x
R8- (x,y)^x+y s 3^x>0(0,x+y)
pasar agua de x a y
R9- (x,y) ^ x>0 (x-d,y)
vaciar un poco x.
R10- (x,y) ^ y>0 (x,y-d)
vaciar un poco y
R11- (x,2) (0,2) vaciar x.
R12- (0,2) (2,0) vaciar y en x
Resolucin de Problemas en IA pp. 11
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
2.- Bsqueda de soluciones
Generacin de Secuencias de Acciones
expansin del estado: aplicar operadores al estado en un momento
determinado da lugar a que se genere un conjunto de estados
Estrategia de bsqueda: eleccin del estado que se desea expandir
en primer lugar
rbol de bsqueda
Nodo Raz
Nodos hoja
Espacio de estados = rbol de bsqueda
Criterios para medir la eficiencia:
Permite encontrar una solucin?
Es una buena solucin?
Coste de la bsqueda: tiempo y memoria
coste total = coste de la bsqueda + coste del camino
Resolucin de Problemas en IA pp. 12
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
2.- Bsqueda de soluciones
Funcin bsqueda (problema, estrategia) devuelve {solucin, fallo}
inicializa el rbol de bsqueda empleando el estado inicial de problema
bucle hacer
si no hay candidatos para la expansin devuelve fallo
si no escoger un nodo a expandir en funcin de la estrategia
si el nodo describe un estado objetivo devuelve solucin
si no expandir el nodo y aadir los nodos resultantes al rbol de
bsqueda y la accin correspondiente a la solucin
fin bucle
fin funcin
Resolucin de Problemas en IA pp. 13
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
2.- Bsqueda de soluciones
Funcin Bsqueda_General (problema, FN_Cola) devuelve {nodo, fallo}
nodos := Crear_Cola(Crear_Nodo(Estado_Inicial[problema]))
bucle hacer
si Est_Vaca(nodos) devolver fallo
nodo := eliminar_primero(nodos)
si Prueba_Objetivo[problema](Estado(nodo)) = xito devolver nodo
nodos := FN_Cola(nodos, Expandir(nodo, operadores[problema]))
fin bucle
fin funcin
Resolucin de Problemas en IA pp. 14
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
2.- Bsqueda de soluciones
Caracterizacin Estrategia de Bsqueda:
Completitud: garanta de encontrar una solucin si existe.
Complejidad temporal: tiempo necesario para encontrar una solucin.
Complejidad espacial: memoria necesaria para realizar la bsqueda.
Admisibilidad: garanta de encontrar la solucin de mayor calidad en el caso de
existir varias soluciones.
Tipos de Bsqueda:
sin informacin o bsqueda ciega (orden de expansin de nodos).
informada o bsqueda heurstica (expansin inteligente de nodos).
Estrategia de control: criterios para seleccionar operadores y para anotar aquellas
secuencias de operadores ya aplicados y los estados que stos han producido.
Estrategia de bsqueda: seleccin del operador siguiente nodo a expandir
(anchura, profundidad, heurstica)
Rgimen de control: criterios para determinar el conjunto de estados visitados
(irrevocable, tentativo)
Resolucin de Problemas en IA pp. 15
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
2.- Bsqueda de soluciones
Dependiendo de si el rgimen de control permite deshacer pasos
(desarrollar la bsqueda por otros nodos en caso de llegar a un nodo
donde no se puede progresar o poco prometedor) o no, las estrategias se
clasifican en:
Irrevocables
Tentativas
Los mtodos para registrar las secuencias de operadores aplicados y los
estados o nodos ya visitados dependern del rgimen de control.
Control de ciclos.
Resolucin de Problemas en IA pp. 16
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Regimen de Control Irrevocable
Cuando se decide aplicar un operador en un estado, no se vuelve a reconsiderar
la aplicacin de otro operador en ese estado.
Operador seleccionado
Estado o nodo a expandir
Estado o nodo a expandir
En todo momento, se mantiene un nico estado en la lista de nodos a expandir,
ya que el resto de nodos hermanos no se guardan en la lista.
Resolucin de Problemas en IA pp. 17
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Regimen de Control Irrevocable
Funcionamiento:
Definicin de una funcin de escalada (inteligente?) sobre cada estado del
problema que sea mxima/mnima en el estado final.
Seleccin en cada estado del operador que maximiza/minimiza dicha funcin
de escalada.
Criterio: a travs de mximos locales se obtiene un mximo global (meta).
Aplicabilidad:
Cuando el control de estrategia puede poseer suficiente informacin en cada
estado, para determinar, irrevocablemente, que operador aplicar.
Conocimiento local infalible, apto para ser usado como conocimiento global.
La aplicacin de un operador no debe impedir la aplicacin posterior de otro
operador que podra haberse aplicado en su lugar (monotona).
Control Ciclos
Resolucin de Problemas en IA pp. 18
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Regimen de Control Tentativo
Los regmenes de control tentativos seleccionan un operador a aplicar (seleccin
de un estado o nodo del problema) mediante la aplicacin de una estrategia de
bsqueda determinada, pero tomando las medidas precisas para poder retornar
a ese punto del proceso y aplicar entonces otra regla de la misma forma.
El rgimen de control tentativo ms comn es la exploracin en grafos, inde-
pendientemente de la estrategia de bsqueda a emplear en la seleccin del
nodo (anchura, profundidad, heurstica, )
Se guardan todos los estados producidos en la bsqueda, permitiendo estudiar
globalmente los efectos de la aplicacin de distintas secuencias de operadores.
Resolucin de Problemas en IA pp. 19
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Direccionamiento de la Bsqueda
Dirigida por los datos (Forward)
Aplicacin F-Operadores, No necesita estados meta explicitos
Dirigida por el objetivo (Backward)
Aplicacin B-Operadores, Necesita metas explicitas, Parecido conducta humana
Bidireccional
La EC decide si se aplican F o B-Operadores
x=0, y=0
x=4, y=3 x=0, y=3 x=1, y=0 x=4, y=0
x=4, y=0
x=1, y=3
x=0, y=3
R1 R2
R3
R2 R6
R1
R1 R3 R4 R5
* Ciclo
R1
+ Final
+ *
R6
x=0, y=0 x=3, y=0 x=4, y=3
R4
R7
+ *
*
x=4, y=0 x=1, y=3 x=0, y=0
*
R1 R2
* *
R3
x=0, y=1
R8
x=3, y=3
R2
x=0, y=3
R3
x=3, y=0
R4
*
x=4, y=2
R5
x=4, y=3
R1
* +
x=0, y=2
x=2, y=0
R3
R7
x=0, y=0
x=4, y=0
x=1, y=3
x=0, y=3
R1 R2
R3
R2 R6
R1
* Ciclo
+ Final
x=0, y=0 x=3, y=0 x=4, y=3
R4
R7
+ *
x=3, y=3
R2
x=4, y=2
R5
x=0, y=2
x=2, y=0
R3
R7
x=0, y=0
x=0, y=3
R2
x=3, y=0
R7
x=3, y=3
R2
x=4, y=2
R5
x=0, y=2
x=2, y=0
R3
R7
Resolucin de Problemas en IA pp. 20
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
2.- Bsqueda de soluciones
Problemas Acadmicos
ocho puzzle
ocho reinas
criptoaritmtica
el mundo de la aspiradora
misioneros y canbales
Problemas Reales
clculo de un camino
viajante de comercio
distribucin en un VLSI
robot ambulante
secuencia de un ensamblaje
Tipos de problemas
Resolucin de Problemas en IA pp. 21
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
3.- Bsqueda no informada
Bsqueda en anchura.
Bsqueda por coste uniforme.
Bsqueda en profundidad o backtracking
Bsqueda por profundizacin iterativa.
Resolucin de Problemas en IA pp. 22
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
3.1.- Bsqueda en anchura (BA)
Funcin Bsqueda_Primero_Amplitud (problema) devuelve {solucin, fallo}
devolver Bsqueda_General (problema, Aadir_Final_Cola)
Completa
Admisible (coste de operadores unitario y no negativo)
Coste:
factor de ramificacin: b, nivel: d
nodos expandidos 1 + b + b
2
+ b
3
+b
4
+ ...........+ b
d
O(b
d
)
nodos generados 1 + b + b
2
+ b
3
+b
4
+ ...........+ b
d
+ (b
d+1
b) O(b
d+1
)
coste espacial = coste temporal
coste espacial ms crtico que el temporal
coste temporal inviable para b| y d |
Resolucin de Problemas en IA pp. 23
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
3.1.- Bsqueda en anchura (BA)
Profundidad Nodos Tiempo Memoria
0 1 1 ms 100 b
2 111 .1 s 11 kb
4 11.111 11 s 1mb
6 10
6
18 m 111 mb
8 10
8
31 h 11 gb
10 10
10
128 d 1 tb
12 10
12
35 a 111 tb
14 10
14
3500 a 11.111 tb
b = 10 1000 nodos/segundo 100 b/nodo
Resolucin de Problemas en IA pp. 24
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Funcin Bsqueda_Coste_Uniforme (problema) devuelve {solucin, fallo}
devolver Bsqueda_General (problema, Aadir_Cola_Ordenado_Coste)
Se expande el nodo con menor g(n)
Completa
Admisible si se cumple siempre g(sucesor(n)) > g(n) (coste positivo)
3.2.- Bsqueda por coste uniforme (BCU)
S
A
B
C
G
1 10
5 5
15 5
S
0
S
A
B C
1 5 15
A B C
5 15
11
A B C
15
11 10
Resolucin de Problemas en IA pp. 25
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
3.3.- Bsqueda en profundidad o backtracking (BP)
Funcin Bsqueda_Primero_Profundidad (problema) devuelve {solucin, fallo}
devolver Bsqueda_General (problema, Aadir_Cabeza_Lista)
Vuelta atrs (nodo no meta sin hijos,
profundidad mxima.
Nuevos estados a la cabeza de la lista.
Coste espacial moderado (slo se
guarda camino desde nodo raz hasta
nodo hoja y nodos an no expandidos)
O(bm)
Coste temporal O(b
m
), en trmino
medio menos costosa que amplitud.
Puntos muertos (rboles muy
profundos o infinitos, bucles).
No completa.
No admisible.
Resolucin de Problemas en IA pp. 26
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
3.4.- Bsqueda por profundizacin iterativa (BPI)
Funcin Bsqueda_Profundizacin_Iterativa(problema )
devuelve (solucin, fallo)
entradas: problema /*un problema*/
para profundidad = 0 hasta hacer
resultado = Bsqueda_Limitada_Profundidad(problema, profundidad)
si resultado <> fallo devolver resultado
fin para
devolver fallo
fin funcin
+ Dificultad de eleccin de lmite adecuado para BLP.
+ Dimetro del espacio de estados.
+ Combina ventajas de bsqueda primero en amplitud y primero en profundidad.
+ Completa y admisible.
+ Complejidad temporal O(b
d
) complejidad espacial O(bd)
+ Idnea para espacios de bsqueda grandes y se ignora profundidad solucin.
Resolucin de Problemas en IA pp. 27
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
3.4.- Bsqueda por profundizacin iterativa (BPI)
Limite = 0 Limite = 1
Limite = 2
Limite = 3
Nodos generados: b = 10 y d=5
Anchura 1+ b + b
2
+ .............+ b
d-2
+ b
d-1
+ b
d
+ (b
d+1
b) 1.111.100
BPI (d+1)1 + d b + (d -1) b
2
+ .......... + 3 b
d-2
+ 2b
d-1
+ 1b
d
123.456