Está en la página 1de 38

Resolucin de Problemas en IA pp.

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

Resolucin de Problemas en IA pp. 28


Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
3.5.- Comparacin de Estrategias
Criterio BA BCU BP BPI
Tiempo b
d
b
d
b
m
b
d
Espacio b
d
b
d
bm bd
ptima? si si no si
Completa? si si no si
Resolucin de Problemas en IA pp. 29
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Cmo evitar estados repetidos
Visitar estados ya visitados y expandidos anteriormente en algn otro camino.
Operadores reversibles
Bsqueda infructuosa
Ciclos infinitos
Problemas sin ciclos (depende formulacin).
Eliminar repeticin de estados reduccin exponencial coste bsqueda
Mtodos de evitar estados repetidos (de ms a menos eficientes y coste
temporal):
No regresar al estado del que se acaba de llegar (no generar un sucesor
que sea su propio padre). Requiere guardar solo el padre.
No crear caminos con ciclos (no generar nodo que sea su propio
antecesor): Requiere guardar solo la senda actual.
No generar un estado que se haya generado previamente (coste espacial
O(b
d
)). Requiere guardar todos los estados alcanzados.
Resolucin de Problemas en IA pp. 30
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.- Bsqueda Informada
Generacin y prueba (generate-and-test).
Escalada (hill climbing).
Simple, mxima pendiente.
Bsqueda primero el mejor (best-first search).
A*, agenda.
Reduccin del problema (problem reduction).
AO*
Anlisis de medios y fines (means-ends analysis).
Resolucin de Problemas en IA pp. 31
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.- Bsqueda Informada
El Problema del Viajante de Comercio
Nmero de rutas diferentes N!.
Explosin Combinatoria Problema computacionalmente intratable.
Posible solucin Ramificacin y Poda (Coste exponencial)
Solucin a este tipo de problemas Bsqueda Heurstica
Guiado Inteligente del Proceso de Bsqueda
Gran cantidad de poda
Resolucin de Problemas en IA pp. 32
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.- Bsqueda Informada
Para resolver problemas complicados con eficiencia, es frecuentemente
necesario comprometer los requisitos de movilidad y sistematicidad, y
utilizar una estrategia de control que posiblemente no garantice la mejor
solucin pero que casi siempre encuentre una buena solucin.
Heurstica aumenta eficiencia proceso de bsqueda sacrificando
completitud (sin heurstica explosin combinatoria).
Por qu son adecuadas las heursticas?:
normalmente una buena solucin es suficiente
la solucin de la heurstica para el caso peor puede no ser muy
buena, pero en el mundo real el caso peor es poco frecuente.
comprender el por qu y cmo funciona una heurstica ayuda a
profundizar en la compresin del problema
Resolucin de Problemas en IA pp. 33
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.- Bsqueda Informada
Hay dos formas de incorporar conocimiento heurstico especfico del
dominio en un proceso de bsqueda basado en operadores de transicin:
en los propios operadores,
mediante una funcin heurstica que evala los estados y
determina el grado de deseabilidad de los mismos.
La funcin heurstica (h: ESTADOS R) aplicada a un nodo del proceso
de bsqueda proporciona una estimacin sobre la pertenencia del nodo al
camino solucin.
Funcin Heurstica Gua eficiente del proceso de bsqueda.
Ejemplos de Heursticas:
Ajedrez: la ventaja de piezas sobre el oponente
Viajante de comercio: la suma de las distancias recorridas hasta el
momento
Resolucin de Problemas en IA pp. 34
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.1.- Algoritmo general de bsqueda en grafos [Nilsson 98, Cap. 9].
ALGORITMO GRAPHSEARCH (Se parte de un grafo conocido implcitamente: nodo
llamado inicial y un conjunto finito de operadores)
1. Crear un rbol de bsqueda, TR, consistente nicamente de un estado inicial, n0.
Poner n0 en una lista ordenada llamada OPEN
2. Crear una lista llamada CLOSED que est inicialmente vaca.
3. Si la lista OPEN est vaca, salir devolviendo FALLO.
4. Seleccionar el primer nodo de OPEN (n), borrarlo de dicha lista e insertarlo en la lista
CLOSED.
5. Si n es un nodo objetivo, salir devolviendo XITO con el camino obtenido a travs de
los arcos de TR desde n hasta n0. (los arcos se crean en el paso 6).
6. Expandir el nodo n y generar un conjunto M de sucesores. Crear los arcos
correspondientes desde el nodo n hasta cada nodo miembro de M.
7. Introducir los nodos de M en OPEN y reordenar la lista OPEN de acuerdo a un criterio
arbitrario o algn valor heurstico.
8. Ir al paso 3.
Resolucin de Problemas en IA pp. 35
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.1.- Algoritmo general de bsqueda en grafos
Si en el algoritmo GRAPHSEARCH se incluye para cada nodo n un valor h(n),
donde h es la FUNCIN HEURSTICA de EVALUACIN que mide lo prometedor
que es el nodo para continuar la bsqueda, la estrategia general se llama best-first
(BF) o bsqueda por el mejor primero.
La funcin heurstica devuelve un valor que es una estimacin del coste del
camino desde un estado al estado objetivo ms prximo.
h(n) = coste estimado del camino ms econmico desde el estado n hasta
un estado objetivo.
Resolucin de Problemas en IA pp. 36
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.1.- Algoritmo general de bsqueda en grafos
Distancia en lnea recta a Bucarest:
Arad 366 Bucarest 0 Craiova 160 Dobreta 242
Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151
Iasi 226 Lugoj 244 Mehadia 241 Neamt 234
Oradea 380 Pitesti 98 Rimnicu V 193 Sibiu 253
Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374
Ejemplo: [Russell 96]
Oradea
Zerind
Timisoara
Sibiu
Lugoj
Mehadia
Dobreta
Craiova
Rimnicu Vilcea
Fagaras
Giurgiu
Pitesti
Bucarest
Urziceni
Hirsova
Eforie
Vaslui
Iasi
Arad
Neamt
140
75
118
99
80
97
101
211
151
71
146
Resolucin de Problemas en IA pp. 37
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.1.- Algoritmo general de bsqueda en grafos
h(n) = distancia en lnea recta entre la ubicacin y la meta
Arad
h =366
Sibiu Timisoara Zerind
h = 253 h = 329 h = 374
Arad
Arad
Sibiu Timisoara Zerind
h = 329 h = 374
Arad Fagaras Oradea Rimnicu
h = 366 h = 178 h = 380 h = 193
Sibiu Timisoara Zerind
Arad
h = 329 h = 374
Arad Fagaras Oradea Rimnicu
h = 366 h = 380 h = 193
Sibiu Bucarest
h = 253 h = 0
Resolucin de Problemas en IA pp. 38
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A*
ALGORITMOS A:
Un algoritmo de bsqueda es de tipo A, cuando emplea una
funcin heurstica de la forma: f(n) = g(n) + h(n)
g(n) : coste del camino de coste mnimo entre el nodo inicial S y el nodo n
(este valor se puede determinar).
h(n) : estimacin del coste del camino de coste mnimo entre el nodo n y
un nodo meta (informacin heurstica).
ALGORITMOS A*:
Un algoritmo es del tipo A* cuando: n: { h(n) s h*(n)}
siendo:
h*(n): coste del camino de coste mnimo entre el nodo n y un nodo meta.
Resolucin de Problemas en IA pp. 39
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A*
h(n) = distancia en lnea recta entre la ubicacin y la meta
Arad
f =0+366
Sibiu Timisoara Zerind
f = 140+253=393 f = 118+329=447 f = 75+374=449
Arad
Arad
Sibiu Timisoara Zerind
Arad Fagaras Oradea Rimnicu
Sibiu Timisoara Zerind
Arad
Arad Fagaras Oradea Rimnicu
f = 118+329=447 f = 75+374=449
Craiova Pitesti Sibiu
f =366+160=526 f =317+98=415 f =300+253=523
f = 118+329=447 f = 75+374=449
f =280+366=646 f =239+178=417 f =291+380=671 f =220+193=413
f =280+366=646 f =239+178=417 f =291+380=671
Resolucin de Problemas en IA pp. 40
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A*: admisibilidad
Admisibilidad de un algoritmo A*:
El procedimiento de bsqueda en grafos utilizando algoritmos A* es admisible:
Si existe al menos una solucin, A* encuentra la solucin ptima.
- El procedimiento siempre termina para grafos finitos.
- En cualquier estado del algoritmo A*, existe al menos en la lista OPEN un
nodo n que est en el camino ptimo desde el estado inicial a un estado meta.
- Si existe un camino desde el nodo inicial s a la meta, el algoritmo A* termina.
- Si existe ms de un camino desde el nodo inicial a un nodo meta, A* encuentra
el camino de coste mnimo.
Tipos de Algoritmos y Admisibilidad:
- Bsqueda en amplitud (h(n)=0): A* (admisible).
- Bsqueda en profundidad: no es A*.
- Coste uniforme: A* (admisible).
Resolucin de Problemas en IA pp. 41
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A*: admisibilidad
Comparacin de algoritmos A*: poder heurstico
El conocimiento heurstico sobre el problema queda reflejado en la funcin h(n):
h(n) = 0 ausencia de conocimiento
h(n) = h*(n) conocimiento mximo
Un algoritmo A1 est ms informado que un algoritmo A2, si h1(n) > h2(n): en este caso
A2 expande al menos tantos nodos como A1.
Informacin
Algoritmos A
h*(n)
h(n)
h(n)=0
Algoritmos A*
prdida admisibilidad
mayor informacin
mayor coste clculo h(n)
menos bsqueda
Resolucin de Problemas en IA pp. 42
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A*: admisibilidad
h(n) = 0: coste clculo de h(n) nulo. (Bsqueda lenta. Admisible.)
h(n) = h*(n): coste clculo de h(n) grande (Bsqueda rpida. Admisible).
h(n)> h*(n): coste clculo de h(n) muy grande. (Bsqueda muy rpida.
No admisible)
h*, en general, no se conoce, pero, en general, puede determinarse si un
h es minorante de h*
Resolucin de Problemas en IA pp. 43
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A*: admisibilidad
Coste Exploracin y Prdida de
Admisibilidad
Cuanto mayor es h(n), menos
bsqueda se efecta.
Cuanto mayor es h(n), mas in-
formada es la funcin, pero
tambin es ms costosa de cal-
cular.
El lmite de la admisibilidad est
en h*(n):
Mnima bsqueda para
garantizar la admisibilidad.
Ante ciertos problemas muy difciles, es
necesario reducir mucho el espacio de
bsqueda, planteando un h(n)>h*(n), para
poder encontrar, eventualmente, una solucin,
an a costa de perder admisibilidad.
S
h(n)=0
h(n)=h*(n)
Lmite Admisibilidad
h(n) >> h*(n)
Espacio de
Bsqueda
Resolucin de Problemas en IA pp. 44
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A*: admisibilidad
Un procedimiento admisible, necesita un
mnimo de exploracin, a fin de poder
encontrar la senda ptima: Si h(n)sh*(n), el
proceso de exploracin expande todos los
nodos que pueden estar en la senda
ptima.
Un proceso no admisible h(n)>h*(n), que
reduzca la exploracin, puede perder la
senda ptima: Si h(n)>h*(n), entonces el
proceso puede no guiarse por la
exploracin de nodos que pueden dar lugar
a la senda ptima, y podemos no
encontrarla, aunque se efecta una
bsqueda ms focalizada.
0+10
1+9
1+9 1+12
2+8
2+10 2+8 2+11
3+7 3+9 3+9 3+7
Senda-ptima
0+35
1+25
1+24
1+12
Senda-ptima
Resolucin de Problemas en IA pp. 45
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A* : ejemplo 1
Operadores de transicin: R1: R2: R3:| R4: +
Aunque podran plantearse otro conjunto de operadores:
8-fichas x 4-mov= 32 operadores.
Heurstica: nmero de piezas descolocadas
2
5
3 8
1 6 4
7
2 8 3
1 4
7 6 5
2 3
1 8 4
7 6 5
1 2 3
8 4
7 6 5
1 2 3
8 4
7 6 5
2 3
1 8 4
7 6 5
-4 -3 -3
-2 -1
0
Resolucin de Problemas en IA pp. 46
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A*: ejemplo 1
f(n) = d(n) + w(n)
d(n) = profundidad del nodo en el rbol
w(n) = nmero de piezas descolocadas (estimacin del coste a la meta)
2
5 3
8
1
6
4
7
2
8
3
1
4
7 6
5
2
3
1
8
4
7
6
5
2
3
1
8
4
7
65
4
6
4
6
2
8
3
1
4
7
6
5
2
8
3
1
4
7
6
5
2
8
3
1
4
7
6
5
2
8
3
1
4
7
6
5
2
8
3
1
4
7
6
5
5
5
6
7
28
3
1
4
7
6
5
5
2
8 3
1
4
7
6
5
7
28
3
1
4
7
6
5
2
8
3
1
4
7
6
5
28
3
1
4
7
6
5
5
5
7
6
Resolucin de Problemas en IA pp. 47
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A*: ejemplo 2
Viajante de Comercio
A B C D E F
A 21 12 15 113 92
B 7 25 32 9
C 5 18 20
D 180 39
E 17
6 ciudades: A,B,C,D,E,F
Estados: secuencias de ciudades que empiezan por A y representan
recorridos parciales
Inicial: A
Finales: secuencias que contengan todas las ciudades y que empiecen
y terminen con A
Reglas: a cada estado aadirle al final el smbolo de una ciudad que no
figure en el recorrido actual
Coste de aplicacin de las reglas: distancia entre la ltima ciudad y la que
se aadi al final (ver tabla)
Resolucin de Problemas en IA pp. 48
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A*: ejemplo 2
Viajante de Comercio: heursticas
h1(n)=0 en todos los casos (coste uniforme)
h2(n)= nmero de arcos que faltan multiplicado por el coste del arco mnimo
[h2(ABE)=4*5=20]
h3(n)= suma de los p arcos ms cortos si faltan p arcos
[h3(ABE)=5+5+7+7=24]
h4(n)= suma de los arcos ms cortos que parten de las ciudades que faltan por
abandonar
[h4(ABE)=17{abandonar E}+5 {abandonar C}+5 {abandonar D}+9 {abandonar F}=36]
h5(n)= suma de los arcos ms cortos que salen de las ciudades que quedan por
alcanzar
[h5(ABE)= 5 {alcanzar C}+5 {alcanzar D}+9 {alcanzar F} + 12 {alcanzar A } =31]
h6(n)= distancia ms corta entre la ltima ciudad de n y la ciudad de partida
h7(n)= nmero de arcos que faltan multiplicado por el coste medio de los arcos
h8(n)= suma de los p arcos ms grandes si faltan p arcos
Las heursticas 7 y 8 no son admisibles.
Resolucin de Problemas en IA pp. 49
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A*: monotona.
A* montonos
Si n2 es sucesor de n1 y se cumple h(n2) > h(n1) - Coste(n1n2) entonces
la funcin h es localmente consistente con los costes.
La condicin de consistencia tambin implica que los valores de la funcin f aplicada
a los nodos del rbol sean montonicamente no decrecientes a medida que se
desciende en el rbol a partir del nodo inicial.
a) Cuando un A* montono selecciona un nodo 'n' para su expansin, ha encontrado con
seguridad una senda ptima para ese nodo desde n0: cualquier otra senda que se
encuentre desde n0 hasta ese nodo, no la optimizar: g(n)=g*(n).
Un A* montono, cuando obtiene la senda a un nodo que ya ha sido expandido, no
necesita rehacer el rbol de bsqueda para los sucesores de dicho nodo.
b) En la secuencia de nodos expandidos, f(n) es no decreciente.
Ejemplo 8-puzzle: f(n)=g(n) + W(n) es montona, donde W(n): Piezas descolocadas)
Resolucin de Problemas en IA pp. 50
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.2.- Algoritmo A*: variantes.
Un algoritmo no A*, encuentra una solucin de coste
C-ptimo + V siendo V la sobre estimacin de h*(n): h(n) s h*(n) + V
Tipos de Algoritmos A*
Las siguientes familias de algoritmos sacrifican la obtencin de una solucin
ptima frente a la ventaja de obtener alguna mejora en el rendimiento del
proceso.
Tipo Ae* : Un algoritmo de bsqueda es e-admisible si cuando existe solucin
devuelve una cuyo costo no excede el valor de la suma de una constante e ms el
coste de la solucin ptima, e+C-ptimo. h(n) s h*(n) + e, e= cte.
Tipo A
o
: Un algoritmo de bsqueda es o-admisible si cuando existe solucin
devuelve una cuyo costo no excede el valor del producto del factor (1+ o) por el
coste de la solucin ptima, (1+o)*C-ptimo. h(n) s (1+o) * h*(n)
Resolucin de Problemas en IA pp. 51
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.3.- Mtodos A* con memoria limitada
Motivacin: alto coste en memoria de la bsqueda A* O(b
d
)
Alternativas:
Algoritmo A* de profundidad iterativa (A*PI)
Iterative Deepening A* (IDA*)
Bsqueda Recursiva de primero el mejor (BRPM)
Recursive best-first search (RBFS)
Algoritmo A* con Memoria Acotada Simplificada (A*MS)
Simplified Memory-bounded A* (SMA*)
Resolucin de Problemas en IA pp. 52
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.3.1.- Algoritmo A* de profundidad iterativa (IDA*) (1)
Profundizacin Iterativa (ID- Iterative Deepening) utiliza el nivel de profundidad
para establecer el lmite en cada iteracin de bsqueda
IDA* utiliza la informacin de la funcin de evaluacin (f(n)) para determinar el
lmite de bsqueda de la siguiente iteracin.
Utiliza el coste-f (g+h) ms pequeo de los nodos que fueron cortados
(que excedieron el valor del corte) de la iteracin anterior
CLAVES:
(a) Se realiza una serie de bsquedas en PROFUNDIDAD. Cada iteracin
de bsqueda se ejecuta hasta donde lo permita el valor lmite de coste
(lim-coste-f) de la iteracin anterior. Cuando el valor f(n) de un sucesor
n de un nodo expandido supera el valor lm-coste-f, se aplica
backtracking.
(b) En cada iteracin de bsqueda en PROFUNDIDAD, el lmite de coste
(lim-coste-f) ser igual al menor valor de los nodos que tenan un valor
f(n) > lim-coste-f en la iteracin anterior, es decir al menor valor de los
nodos que fueron cortados en la iteracin de bsqueda anterior.
Resolucin de Problemas en IA pp. 53
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.3.1.- Algoritmo A* de profundidad iterativa (IDA*) (2)
ALGORITMO:
1. Lmite de coste lim-coste-f = f(nodo_raiz)
2. Lista OPEN ={nodo_raz}, lim-coste-f-sig =
3. Si OPEN vaca y lim-coste-f-sig = , devolver FALLO.
Si OPEN vaca y lim-coste-f-sig , lim-coste-f = lim-coste-f-sig. Ir a 2.
Sino, n = extrae-primero (OPEN).
4. Si f(n) > lim-coste-f, lim-coste-f-sig = min(lim-coste-f-sig, f(n)) (punto
backtracking). Ir a 3.
5. Si n es objetivo, devolver XITO.
Sino expander n (generar sucesores de n e insertarlos en OPEN en
PROFUNDIDAD). Ir a 3.
Resolucin de Problemas en IA pp. 54
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.3.1.- Ejemplo IDA* (1)
f=0+2
f=1+1 f=1+2
f=2+1
f=2+1
f=4+1
f=3+1
f=3+1
f=4+0
f=5+0 goal
goal
Resolucin de Problemas en IA pp. 55
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.3.1.- Ejemplo IDA* (2)
f=0+2
lim-coste-f=2
lim-coste-f-sig=
lim-coste-f-sig=3
f=0+2
f=1+1 f=1+2
f=2+1
(1)
(2)
(3)
f=0+2
f=1+1 f=1+2
f=2+1
f=2+1
f=3+1
f=3+1
(4)
(5)
(6)
(7)
(8)
lim-coste-f=3
lim-coste-f-sig=
lim-coste-f-sig=4
Resolucin de Problemas en IA pp. 56
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.3.1.- Ejemplo IDA* (3)
f=0+2
f=1+1 f=1+2
f=2+1
f=2+1
f=4+1
f=3+1
f=3+1
f=4+0 goal
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
lim-coste-f=4
lim-coste-f-sig=
lim-coste-f-sig=5
Resolucin de Problemas en IA pp. 57
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.3.1.- Costes IDA*
Si h(n) h*(n) IDA* es admisible
Complejidad Espacial: O(b.d)
utiliza poca memoria el camino actual y las cotas de lim-coste-f y lim-coste-f-sig
Complejidad Temporal: O(b
2d
)
A* requiere k nodos. Complejidad k O(b
d
)
IDA* (el caso peor): si los k nodos tienen distinta f, se visita un nuevo nodo en
cada iteracin
1+2+3+ .+ k-1 + k = k(k-1)/2 O(k
2
)
IDA* requiere visitar O(b
2d
) nodos mucho ms lento que A*
Para pocos valores distintos de f IDA* funciona bien
Muchos valores distintos de f IDA* muy lento
Resolucin de Problemas en IA pp. 58
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.3.1.- Propiedades IDA*
VENTAJAS:
1. Memoria lineal en funcin de la profundidad del nodo
2. Expande solo los nodos expandidos por A*
3. Encuentra una solucin ptima si se usa una heurstica admisible
4. Prctico para muchos problemas con costes unitarios
5. Evita el extra coste de mantener una lista de nodos ordenados
INCONVENIENTES:
1. Mayor bsqueda si no se cumple la propiedad de monotona
2. No comprueban estados repetidos (solo guardan la ruta actual), por lo
que pueden explorar el mismo estado muchas veces
3. Si todos los valores f(n) de los nodos del espacio de bsqueda son
distintos, cada iteracin aadir solo un nuevo nodo. En este caso, el
nmero de iteraciones puede ser igual al nmero de nodos con valores
f(n) menores que el coste del camino ptimo.
Resolucin de Problemas en IA pp. 59
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.3.2.- Otros algoritmos A*: RBFS
Similar a la bsqueda primero en profundidad, pero en lugar de profundizar
indefinidamente en el camino actual, se recuerda el f-valor del mejor camino
alternativo disponible desde cualquier antepasado del nodo actual. Si el nodo actual
excede dicho limite se produce un corte y se vuelve atrs al camino alternativo.
Coste de la mejor solucin encontrada g(n) + h(n), no habr solucin de
menor coste que la ya encontrada podar subrbol.
Si h(n) h*(n) RBFS es admisible
IDA* y RBFS no pueden comprobar si hay estados repetidos, salvo los
contenidos en la ruta actual. Por tanto, pueden explorar el mismo estado muchas
veces complejidad exponencial
IDA* y RBFS utilizan poca memoria (mtodos en profundidad)
Resolucin de Problemas en IA pp. 60
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.3.2.- Otros algoritmos A*: SMA*
Expande nodos hasta que se llena la memoria (el nmero de nodos de abiertos
y cerrados alcanza un valor prefijado).
Cuando se llena la memoria ya no se puede aadir un nuevo nodo a abiertos si
antes no se elimina un nodo de abiertos, el peor nodo hoja (el de f(n) mayor).
Es completo si hay alguna solucin alcanzable, es decir si d, la profundidad del
nodo meta de menor profundidad es menor que el tamao de la memoria
expresado en nodos (b
d
).
Es admisible si dispone de suficiente memoria para guardar la ruta de la solucin
ptima de menor profundidad. En caso contrario encontrar la mejor solucin que
pueda encontrar con la memoria disponible.
SMA* puede ser el mejor algoritmo de uso general para encontrar soluciones
ptimas, especialmente cuando el espacio de estados es un grafo, los costes no
son uniformes, la memoria es limitada y la generacin de un nodo es costosa
comparado con el coste adicional de mantener las listas de abiertos y cerrados.
Resolucin de Problemas en IA pp. 61
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.4.- Desarrollo de funciones heursticas
Dado un problema a resolver se plantea como desarrollar funciones heursticas
para ese problema. Por ejemplo, en el caso de que se utilice el algoritmo A*, se
trata de responder satisfactoriamente a la pregunta: cmo se puede definir una
funcin heurstica que mejore la eficiencia de la bsqueda?
Tcnica ms comn: Relajacin de restricciones del problema
Considerar el problema con menos restricciones, obteniendo as otro problema
que se resuelve con una complejidad menor que la del problema inicial.
El coste de la solucin del problema relajado se utiliza como una estimacin del
coste del problema original.
Resolucin de Problemas en IA pp. 62
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
4.4.- Desarrollo de funciones heursticas
Ejemplo: problemas de navegacin con mapas de carreteras
h1(n)= nmero de piezas descolocadas.
La relajacin del problema consiste en permitir cualquier movimiento de una ficha
hasta su posicin objetivo
h2(n)= distancias Manhattan.
La relajacin del problema consiste en permitir cualquier movimiento de una ficha
a un cuadro adyacente aunque ste est ocupado por otra ficha.
Ejemplo: 8-puzzle
Relajacin del modelo: considerar distancias en lnea recta entre ciudades
Resolucin de Problemas en IA pp. 63
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
5.- Coste computacional de la resolucin de problemas
Dificultad de un anlisis matemtico.
Se aplican mtodos estadstico / experimentales.
Coste computacional de la resolucin de un problema:
Coste del Control de Estrategia: Seleccin del operador a aplicar
(Clculo h(n))
+
Coste de la bsqueda (n de estados generados u operadores aplicados).
Cos te to ta l del SP
Cos te EC Cos te Aplicacin RP
Cos te
Tempo ra l
Nivel Informacin
h(n)=0 Incremento h(n)
Coste total de la
resolucin del problema
Resolucin de Problemas en IA pp. 64
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
5.- Coste computacional de la resolucin de
problemas: medidas de eficiencia
Penetrabilidad
P= L / T
L: longitud del camino desde el estado inicial a la meta.
T: N total de nodos generados durante la bsqueda
(incluyendo el nodo meta, pero no el INICIAL)
P<<1 bsqueda uniforme P=1 bsqueda ptima
Este factor depende mucho de la dificultad del problema
L | T || P +
Da un valor de P menor ante un problema ms complejo y empleando la misma
f(n).
S
meta
P = 3/14
T =14
L=3
Resolucin de Problemas en IA pp. 65
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
5.- Coste computacional de la resolucin de
problemas: medidas de eficiencia
Factor efectivo de Ramaje
Es el n de sucesores de los nodos de un rbol uniforme de profundidad L y T
nodos generados, habindose generado en el proceso de bsqueda T nodos y
una longitud del camino L.
Es una medida ms independiente de la dificultad del problema (longitud de L).
Existe una relacin B/T parametrizada para varios valores de L, que permite,
ante un determinado mtodo de bsqueda (B) y un problema dado (L), predecir
los nodos (T) que se generarn en la bsqueda.
S
meta
S
B
1
+B
2
+B
3
+ ... +B
L
=T
B = 2
Resolucin de Problemas en IA pp. 66
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
5.- Coste computacional de la resolucin de
problemas: medidas de eficiencia
Representacin de B/T para diversos valores de L
Resolucin de Problemas en IA pp. 67
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
6.- Caractersticas. Tipos de Problemas
Se puede descomponer el problema en un conjunto de subproblemas
independientes ms pequeos o ms fciles?.
Se pueden deshacer o ignorar pasos de la solucin?:
- Ignorables (Demostracin de teoremas/Control irrevocable)
- Recuperables( 8-puzzle/Backtracking)
- Irrecuperables (Ajedrez/Bsqueda en grafo)
Es predecible el universo del problema?
- Limitacin del nivel de backtracking
- Estimacin del espacio de bsqueda
Es una buena solucin absoluta o relativa?
- Obtencin de todas/una solucin.
Es la solucin deseada un estado del mundo o un camino a un estado?.
Se requiere una gran cantidad de conocimiento para resolver el problema, o
slo es importante para restringir la bsqueda?
Puede el computador resolver por si slo el problema, o requiere interaccin
con una persona?.
Resolucin de Problemas en IA pp. 68
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Problemas Descomponibles
x
2
}
+ 3x + sen
2
x cos
2
x dx
}
3x dx x
2
}
dx
}
sen
2
x cos
2
x dx
x
3
3
3
x2
2
}
(1 cos
2
x)cos
2
x dx
}
cos
2
x dx

}
cos
4
x dx
1
2
}
(1+ cos2x)dx
1
2
}
dx
1
2
}
cos2xdx
1
2
x
1
4
sen2x
Resolucin de Problemas en IA pp. 69
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Problemas Descomponibles-2
C
A B
sobre (C,A)
A
B
C
sobre(B,C) y sobre(A,B)
estado
inicial
objetivo
sobre(B,C) y sobre(A,B)
sobre(B,C) sobre(A,B)
sobre(B,C)
despejar(A) sobre (A,B)
despejar(A) sobre(A,B)
poner B sobre C
poner C sobre
la mesa
poner A sobre B
Resolucin de Problemas en IA pp. 70
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Grafos Y/O
Un grafo ( rbol) Y-O es til para la representacin de la solucin de problemas
que pueden resolverse descomponindolos en un conjunto de problemas ms
pequeos, cada uno de los cuales debe, a su vez, resolverse.
La descomposicin de un problema en subproblemas genera arcos Y. Un arco Y
puede apuntar a cualquier nmero de nodos sucesores, de forma que todos ellos
deben resolverse para que el arco apunte a una solucin.
Para encontrar soluciones en un grafo Y/O, se necesita un algoritmo similar a una
bsqueda primero el mejor, pero con la capacidad de manipulacin apropiada
de los arcos Y.
Resolucin de Problemas en IA pp. 71
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Grafos Y/O
E
F
J I H G
A
B C D
A
B C D
(9)
(5) (3) (4)
(38)
(17)
(9)
(27)
(5) (10) (3) (4) (15) (10)
Resolucin de Problemas en IA pp. 72
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Pueden deshacerse o ignorarse los pasos a una
solucin?
Problemas Recuperables 8-puzzle
2
5
3 8
1 6 4
7
2 8 3
1 4
7 6 5
2 3
1 8 4
7 6 5
1 2 3
8 4
7 6 5
1 2 3
8 4
7 6 5
2 3
1 8 4
7 6 5
-4 -3 -3
-2 -1
0
Es predecible el Universo?
Bridge, Control de un brazo de robot,
Ayudar a un abogado a defender a un cliente de asesinato
Problemas
Irrecuperables
Resolucin de Problemas en IA pp. 73
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Un solucin adecuada es absoluta o relativa?
1. Marco fue un hombre
2. Marco era pompeyano
3. Marco naci en el ao 40 dc
4. Todos los hombres son mortales
5. Todos los pompeyanos murieron con la erupcin del volcn en el ao 70 dc
6. Ningn mortal vive ms de 150 aos
7. Estamos en el ao 1995 dc
8. Marco es Mortal (1,4) 11. Todos los Pompeyanos estn muertos (7,5)
9. Marco tiene 1955 (3,7) 12. Marco est muerto (11,2)
10. Marco est muerto (8,6,9)
Resolucin de Problemas en IA pp. 74
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
Un solucin adecuada es absoluta o relativa?-2
Boston New York Miami Dallas S.F.
Boston 250 1450 1700 3000
New York 250 1200 1500 2900
Miami 1450 1200 1600 3300
Dallas 1700 1500 1600 1700
S.F. 3000 2900 3300 1700
Boston
S. F. New York
Dallas
Miami
New York
Dallas
Miami
Boston
S.F.
Boston
3000 250
1700
1500
1200
1450
Total: 8850
1200
1600
1700
3000
Total: 7750
Resolucin de Problemas en IA pp. 75
Inteligencia Artificial /Escuela Tcnica Superior de Ingeniera Informtica/ UPV
La Solucin es un Estado o una Ruta?
Cul es el Papel del Conocimiento?
Necesita la Tarea Interaccionar con una Persona?
La Clasificacin del Problema

También podría gustarte