solución de problemas por búsqueda inteligente-heurísticas ana lilia laureano cruces uam-a

45
problemas por problemas por búsqueda búsqueda Inteligente- Inteligente- Heurísticas Heurísticas Ana Lilia Laureano Cruces Ana Lilia Laureano Cruces UAM-A UAM-A

Upload: antonello-joaquin

Post on 16-Apr-2015

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Solución de problemas Solución de problemas por búsqueda por búsqueda

Inteligente-HeurísticasInteligente-Heurísticas

Ana Lilia Laureano CrucesAna Lilia Laureano Cruces

UAM-AUAM-A

Page 2: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

El término heurística…El término heurística… Un método heurístico es un procedimiento para resolver un Un método heurístico es un procedimiento para resolver un

problema de optimización bien definido, mediante una aproximación problema de optimización bien definido, mediante una aproximación intuitiva en la que la estructura del problema se utiliza en forma intuitiva en la que la estructura del problema se utiliza en forma inteligente para obtener una buena solución.inteligente para obtener una buena solución.

es un procedimiento de resolución de problemas para el que se es un procedimiento de resolución de problemas para el que se tiene un alto grado de confianza en que se encuentren soluciones tiene un alto grado de confianza en que se encuentren soluciones de alta calidad con un costo computacional razonable, aunque no de alta calidad con un costo computacional razonable, aunque no se garantice la optimalidad y en algunos casos ni la factibilidad. Se se garantice la optimalidad y en algunos casos ni la factibilidad. Se usa en contraposición a exacto.usa en contraposición a exacto.

la más común en IA:la más común en IA: heurísticas son los procedimientos que empleando conocimiento heurísticas son los procedimientos que empleando conocimiento

acerca de un problema y de las técnicas aplicables, tratan de acerca de un problema y de las técnicas aplicables, tratan de aportar soluciones o acercarse a  ellas usando una cantidad de aportar soluciones o acercarse a  ellas usando una cantidad de recursos (generalmente tiempo) razonable. recursos (generalmente tiempo) razonable.

Page 3: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Búsqueda heurística …Búsqueda heurística …

Se refiere a reglas ‘tipo suerte’, reglas que Se refiere a reglas ‘tipo suerte’, reglas que trabajan éxistosamente en muchos casos, pero trabajan éxistosamente en muchos casos, pero su éxito no esta garantizado.su éxito no esta garantizado.

De suyo se pueden expander los nodos, De suyo se pueden expander los nodos, seleccionado los nodos más prometedores.seleccionado los nodos más prometedores.

Esto se hace mediante una medida de fuerza Esto se hace mediante una medida de fuerza (fittness) que se compara con los competidores.(fittness) que se compara con los competidores.

Lo anterior con la ayuda de funciones intuitivas Lo anterior con la ayuda de funciones intuitivas especiales, llamadas heurísticas.especiales, llamadas heurísticas.

Page 4: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Para que se utiliza la Para que se utiliza la búsqueda heurística …búsqueda heurística …

Se emplea generalmente para dos Se emplea generalmente para dos distintos tipos de problemas:distintos tipos de problemas: Razonamiento hacia delante:Razonamiento hacia delante: Se parte de un Se parte de un

estado en curso y se trata de alcanzar el estado en curso y se trata de alcanzar el estado objetivoestado objetivo

Razonamiento hacia atrás:Razonamiento hacia atrás: se mueve del se mueve del estado objetivo hacia el estado inicial, estado objetivo hacia el estado inicial, predefinido.predefinido.

Page 5: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Hill ClimbingHill Climbing

Un aspecto alternativo para resolver el Un aspecto alternativo para resolver el problema de buscar en un espacio dado problema de buscar en un espacio dado es hacer una búsqueda dirigida es hacer una búsqueda dirigida empleando una función f (x).empleando una función f (x).

Dicha Dicha función nos da una medida función nos da una medida estimada de la distancia a la que se estimada de la distancia a la que se encuentra el nodo objetivoencuentra el nodo objetivo dado un nodo. dado un nodo.

Page 6: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Después de que f (x) es evaluada:Después de que f (x) es evaluada: Los nodos son ordenados en forma ascendente y Los nodos son ordenados en forma ascendente y

colocados (push) dentro de la PILA, de esta forma el colocados (push) dentro de la PILA, de esta forma el elemento en el tope de la PILA, se encuentra el valor elemento en el tope de la PILA, se encuentra el valor menor de f (x).menor de f (x).

Se saca el valor (PopElem) de la PILA , y se compara Se saca el valor (PopElem) de la PILA , y se compara con el nodo objetivo si no es el objetivo entonces se con el nodo objetivo si no es el objetivo entonces se expanden sus hijos se estima su función f(x) y de expanden sus hijos se estima su función f(x) y de acuerdo a este valor se colocan en la PILA de forma acuerdo a este valor se colocan en la PILA de forma ascendente.ascendente.

Si el valor que se saca de la PILA es el objetivo se Si el valor que se saca de la PILA es el objetivo se para y si no continúa hasta que la PILA esta vacía.para y si no continúa hasta que la PILA esta vacía.

Page 7: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Procedire Hill_ClimbingProcedire Hill_Climbing

BEGINBEGIN Identifique posibles estados iniciales y calcule f(x) de Identifique posibles estados iniciales y calcule f(x) de

cada uno. ARRAY OF elem.cada uno. ARRAY OF elem. Ordene los nodos en forma ascendente de acuerdo al Ordene los nodos en forma ascendente de acuerdo al

f(x) y colóquelos en la PILA (push).f(x) y colóquelos en la PILA (push). REPEATREPEAT

• Encontre = FALSE;Encontre = FALSE;• POP (PILA, elem);POP (PILA, elem);• IF (elem IF (elem objetivo) THEN objetivo) THEN

PUSH (Hijos en la PILA)PUSH (Hijos en la PILA)

• ELSEELSE encontre = TRUE; encontre = TRUE;

UNTIL (encontre) OR PilaVaciaUNTIL (encontre) OR PilaVacia

Page 8: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Recocido SimuladoRecocido Simulado

Este algoritmo es emula el enfriamiento de un Este algoritmo es emula el enfriamiento de un metal.metal.

Cuando un material se enfría lentamente pierde Cuando un material se enfría lentamente pierde su energía y finalmente en un punto del tiempo su energía y finalmente en un punto del tiempo llega al estado de mínima energía.llega al estado de mínima energía.

De la observación del fenómeno se obtiene la De la observación del fenómeno se obtiene la siguiente información:siguiente información: Los procesos físicos tienen transiciones entre Los procesos físicos tienen transiciones entre

estados altos y bajos de energía, pero existe una estados altos y bajos de energía, pero existe una pequeña probabilidad de moverse hacia estados de pequeña probabilidad de moverse hacia estados de energía más altos (cruzar el valle) de donde habían energía más altos (cruzar el valle) de donde habían llegado.llegado.

Page 9: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Una pelota entre vallesUna pelota entre valles

El mínimo estado de energía

Page 10: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Descripción del métodoDescripción del método

La probabilidad de que eso suceda es muy La probabilidad de que eso suceda es muy pequeña y esta dada por:pequeña y esta dada por:

Para un Para un E pequeño, la probabilidad es alta, y E pequeño, la probabilidad es alta, y biceversa.biceversa. E denota un cambio positivo de la energíaE denota un cambio positivo de la energía p = exp (- p = exp (- E/KT)E/KT) Donde p es la probabilidad de transición de un bajo a Donde p es la probabilidad de transición de un bajo a

un alto estado de energía.un alto estado de energía. K es la constante de BoltzamanK es la constante de Boltzaman T es la temperatura en el estado en curso.T es la temperatura en el estado en curso.

Page 11: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Esto se puede ver de forma intuitiva con la Esto se puede ver de forma intuitiva con la pelota, es más fácil de visualizar un pelota, es más fácil de visualizar un cambio pequeño, a uno alto desde el cambio pequeño, a uno alto desde el valle.valle.

Page 12: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Una pregunta obvia…Una pregunta obvia…

Y cuándo utilizar este método.Y cuándo utilizar este método. Este método se utiliza para identificar la dirección de Este método se utiliza para identificar la dirección de

una búsqueda, cuando la función f (x) no lleva a una búsqueda, cuando la función f (x) no lleva a mejores estados.mejores estados.

Ante estas circunstancias Ante estas circunstancias E, se calcula para todos E, se calcula para todos los posibles estados y p’ es evaluada para cada uno los posibles estados y p’ es evaluada para cada uno de ellos; utilizando la siguiente fórmula:de ellos; utilizando la siguiente fórmula:

• p` p` exp (- exp (- E / T)E / T)• Un número aleatorio es calculado en el intervalo cerrado Un número aleatorio es calculado en el intervalo cerrado

[0,1] y p’ es comparada con este valor.[0,1] y p’ es comparada con este valor.• Si p’ es mayor entonces es seleccionada para la siguiente Si p’ es mayor entonces es seleccionada para la siguiente

transición.transición.

Page 13: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

El parámetro T, también llamado El parámetro T, también llamado temperatura es gradualmente temperatura es gradualmente decrementado en el programa de decrementado en el programa de búsqueda. La lógica detrás de esto es que búsqueda. La lógica detrás de esto es que mientras T decrementa p’ también lo hace, mientras T decrementa p’ también lo hace, permitiendo de esta forma que el permitiendo de esta forma que el algoritmo termine en un estado estable.algoritmo termine en un estado estable.

Page 14: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Este algoritmo es similar al algoritmo Hill Climbing, Este algoritmo es similar al algoritmo Hill Climbing, en el sentido de que siempre existe al menos un en el sentido de que siempre existe al menos un estado mejor que el estado en curso, localizado estado mejor que el estado en curso, localizado en la PILA.en la PILA.

Si la situación anterior falla entonces se invoca al Si la situación anterior falla entonces se invoca al algoritmo de algoritmo de recocido simuladorecocido simulado..

El cual revisa cada estado siguiente y si su El cual revisa cada estado siguiente y si su probabilidad de ocurrencia es mayor que la probabilidad de ocurrencia es mayor que la probabilidad random [0,1], y en el caso que se probabilidad random [0,1], y en el caso que se mayor se selecciona ese estado. Caso contrario mayor se selecciona ese estado. Caso contrario se pasa al siguiente. De forma optimista siempre se pasa al siguiente. De forma optimista siempre se cumplirá esta condición. se cumplirá esta condición.

Page 15: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Otro punto importante que no se incluyó en el Otro punto importante que no se incluyó en el algoritmo es el cálculo de algoritmo es el cálculo de E. El cual es E. El cual es calculado tomando la diferencia entre el valor de calculado tomando la diferencia entre el valor de f(x) del estado en curso (PopElem) con la f(x) f(x) del estado en curso (PopElem) con la f(x) del siguiente estado.del siguiente estado.

Otro punto es que T debe ser decrementada Otro punto es que T debe ser decrementada cada vez que se selecciona el estado menos cada vez que se selecciona el estado menos prometedor. T siempre debe mantenerse prometedor. T siempre debe mantenerse positiva, ya que cuando llega a cero, la positiva, ya que cuando llega a cero, la probabilidad p’ se vuelve cero.probabilidad p’ se vuelve cero.

Page 16: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Procedure RecSimulProcedure RecSimul BEGINBEGIN

Identifique posibles estados iniciales y calcule f(x) de cada uno. ARRAY OF elem;Identifique posibles estados iniciales y calcule f(x) de cada uno. ARRAY OF elem; Ordene los nodos en forma ascendente de acuerdo al f(x) y colóquelos en la PILA Ordene los nodos en forma ascendente de acuerdo al f(x) y colóquelos en la PILA

(push);(push); REPEATREPEAT

• Encontre = FALSE;Encontre = FALSE;• POP (PILA, elem);POP (PILA, elem);• IF (elem = objetivo) THENIF (elem = objetivo) THEN

encontre = TRUE; encontre = TRUE;

• ELSEELSE BEGINBEGIN

• Genera los Hijos de ese elem y calcula la f para cada nodo.Genera los Hijos de ese elem y calcula la f para cada nodo.• IF (la f de almenos uno es mejor THENIF (la f de almenos uno es mejor THEN• PUSH (Hijos en la PILA) {en orden ascendente de acuerdo a f }PUSH (Hijos en la PILA) {en orden ascendente de acuerdo a f }• IF ninguno de los hijos de N tiene una f (x) mejor; ENTONCESIF ninguno de los hijos de N tiene una f (x) mejor; ENTONCES• BEGINBEGIN• Procedure RecSimul_I • END;END;

UNTIL (encontre) OR PilaVaciaUNTIL (encontre) OR PilaVacia END.END.

Page 17: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Procedure RecSimul_IProcedure RecSimul_I

BEGINBEGIN Seleccione aleatoriamente cualquieraSeleccione aleatoriamente cualquiera Calcule su p’ y verifique si excede la calculada de Calcule su p’ y verifique si excede la calculada de

forma random entre [0,1]. En caso afirmativo forma random entre [0,1]. En caso afirmativo seleccione ese estado.seleccione ese estado.

Si no genere otro estado alternativo, hasta que uno Si no genere otro estado alternativo, hasta que uno pueda ser seleccionado pueda ser seleccionado

y coloque los estados nuevos en la PILA.y coloque los estados nuevos en la PILA. Decremente el valor de T. Si este es negativo Decremente el valor de T. Si este es negativo

póngala a cero.póngala a cero.

END;END;

Page 18: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Best-FirstBest-First

Se comienza con un estado prometedor y Se comienza con un estado prometedor y generamos todos sus nuevos estados.generamos todos sus nuevos estados.

Evaluamos su fitness y el mejor es seleccionado Evaluamos su fitness y el mejor es seleccionado para su expansión. para su expansión.

Una vez hecho el paso anterior se evalúa todas Una vez hecho el paso anterior se evalúa todas las funciones de fitness de los hijos.las funciones de fitness de los hijos.

Se elige el mejor de todos los nodos hijos y los Se elige el mejor de todos los nodos hijos y los anteriores. anteriores.

Lo anterior con el fin de que se hubiera Lo anterior con el fin de que se hubiera cometido un error en los pasos anteriores. cometido un error en los pasos anteriores.

Page 19: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Procedure Best_FirstProcedure Best_First

BEGINBEGIN Identifique posibles estados iniciales y calcule f(x) de cada uno. ARRAY OF Identifique posibles estados iniciales y calcule f(x) de cada uno. ARRAY OF

elem;elem; Colóquelos en LISTA;Colóquelos en LISTA; MIENTRAS MIENTRAS (VaciaLista) AND (VaciaLista) AND (encontre) DO (encontre) DO Encontre = FALSE;Encontre = FALSE;

• Identifica el nodo n de LISTA que tiene el mínimo f, si existe más de uno selecciónalo Identifica el nodo n de LISTA que tiene el mínimo f, si existe más de uno selecciónalo de forma aleatoria;de forma aleatoria;

• SI n = objetivo ENTONCESSI n = objetivo ENTONCES Regresa n y su camino desde el nodo inicial; Regresa n y su camino desde el nodo inicial; Encontre = TRUE;Encontre = TRUE;

• ELSEELSE Retira n de LISTA Retira n de LISTA Agrega todos los hijos de n que no estén en LISTA, con sus caminos desde el nodo inicial;Agrega todos los hijos de n que no estén en LISTA, con sus caminos desde el nodo inicial;

• FIN_SIFIN_SI FIN_MIENTRAS;FIN_MIENTRAS;

END.END.

Page 20: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Algoritmo A*…Algoritmo A*…

A un nodo se le conoce como A un nodo se le conoce como OPENOPEN, si el nodo , si el nodo ha sido generado y el h’ (x) ha sido calculada, ha sido generado y el h’ (x) ha sido calculada, pero aún no se expande.pero aún no se expande.

A un nodo se le conoce como A un nodo se le conoce como CLOSECLOSE, si ha sido , si ha sido expandido y creada su descendencia.expandido y creada su descendencia.

Para conocer la bondad de un nodo en A* se Para conocer la bondad de un nodo en A* se requieren dos funciones de costo: el costo requieren dos funciones de costo: el costo heurístico y el costo generado.heurístico y el costo generado.

Page 21: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

El costo El costo heurísticoheurístico: es la medida de la : es la medida de la distancia del nodo actual (x) al nodo distancia del nodo actual (x) al nodo objetivo y es denotada como objetivo y es denotada como h(x).h(x).

El costo El costo generadogenerado:: es la medida de la es la medida de la distancia del nodo actual (x) al nodo de distancia del nodo actual (x) al nodo de inicio y es denotada como inicio y es denotada como g(x).g(x).

La La función estimada de la distancia a la función estimada de la distancia a la que se encuentra el nodo; f(x)que se encuentra el nodo; f(x) es la suma es la suma de de g(x) + h(x).g(x) + h(x).

Page 22: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Como se generan los Como se generan los costos…costos…

La La función g(x),función g(x), se mide fácilmente, son las m se mide fácilmente, son las m transiciones desde el nodo inicial hasta el nodo transiciones desde el nodo inicial hasta el nodo generado.generado.

En el caso de En el caso de la función h(x),la función h(x), estamos hablando estamos hablando de un costo que aún falta por gastarse antes de de un costo que aún falta por gastarse antes de llegar al nodo objetivo.llegar al nodo objetivo. Cualquier valor que se le asigne será un costo Cualquier valor que se le asigne será un costo

predictivo, y se denota por predictivo, y se denota por h’(x). h’(x). En consecuencia el costo predictivo total se En consecuencia el costo predictivo total se

denota como f’(x):denota como f’(x): f ’(x) = g(x) + h’(x)f ’(x) = g(x) + h’(x)

Page 23: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Procedure A*Procedure A*

Material de Apoyo:Material de Apoyo: El algoritmo A* pag. 89-93El algoritmo A* pag. 89-93 Libro Inteligencia Artificial / Elaine RichLibro Inteligencia Artificial / Elaine Rich Colección Ciencia Informática GG. 1983Colección Ciencia Informática GG. 1983 Versión en inglés McGrawHillVersión en inglés McGrawHill

Page 24: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Un ejemplo…Un ejemplo…

Consideremos la siguiente función Consideremos la siguiente función heurística:heurística: Donde Donde XX y y YY, de cubetas de , de cubetas de 44 y y 33 litros litros

respectivamente.respectivamente. Y Y xx denota un nodo arbitrario en el espacio de denota un nodo arbitrario en el espacio de

búsqueda.búsqueda.

Page 25: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

h’ = 2, cuando 0 < X < 4 h’ = 2, cuando 0 < X < 4 ANDAND 0 < Y < 3, 0 < Y < 3,• (algo en las dos)(algo en las dos)

= 4, cuando 0 < X < 4 = 4, cuando 0 < X < 4 OROR 0 < Y < 3, 0 < Y < 3,• (algo en alguna de las dos)(algo en alguna de las dos)

= 10, cuando i) X = 0 = 10, cuando i) X = 0 ANDAND Y = 0 Y = 0 OROR ii) X = 4 ii) X = 4 ANDAND Y = 3 Y = 3 = 8, cuando i) X = 0 = 8, cuando i) X = 0 ANDAND Y = 3 Y = 3 OROR ii) X = 4 ii) X = 4 ANDAND Y = 0 Y = 0

Page 26: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Asuma que g(x) = 0 en el nodo raíz y Asuma que g(x) = 0 en el nodo raíz y representa la mínima distancia n.representa la mínima distancia n.

Medida que toma en consideración a Medida que toma en consideración a todos los nodos padre comenzando en la todos los nodos padre comenzando en la raíz y representada por g(x) = n.raíz y representada por g(x) = n.

Ahora se ilustra el problema…Ahora se ilustra el problema…

Page 27: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Problema de las cubetas…Problema de las cubetas…

OPaso 0(0,0) g + h’ = 0 + 10

Paso 1

M N

O(0,0) g + h’ = 0 + 10

(4,0) g + h’ = 1 + 8(0,3) g + h’ = 1 + 8

x, y4, 3

Page 28: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Problema de las cubetas…Problema de las cubetas…

Paso 2

M N

O(0,0) g + h’ = 0 + 10

(4,0) g + h’ = 1 + 8(0,3) g + h’ = 1 + 8

P R(3,0) g + h’ = 2 + 4 (4,3) g + h’ = 2 + 10

x, y4, 3

Page 29: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Problema de las cubetas…Problema de las cubetas…

Paso 3

M N

O(0,0) g + h’ = 0 + 10

(4,0) g + h’ = 1 + 8(0,3) g + h’ = 1 + 8

P R(3,0) g + h’ = 2 + 4 (4,3) g + h’ = 2 + 10

x, y4, 3

S(3,3) g + h’ = 3 + 4

Page 30: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Paso 3

M N

O(0,0) g + h’ = 0 + 10

(4,0) g + h’ = 1 + 8(0,3) g + h’ = 1 + 8

P R(3,0) g + h’ = 2 + 4 (4,3) g + h’ = 2 + 10

x, y4, 3

S(3,3) g + h’ = 3 + 4

T(4,2) g + h’ = 4 + 2

(0,2) g + h’ = 5 + 4U

T(2,0) g + h’ = 6 + 4

Page 31: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Reducción del problemaReducción del problema

Otra clase de estructura es el Otra clase de estructura es el grafo grafo O-YO-Y, , es útil para la representar la solución de es útil para la representar la solución de problemas, que pueden resolverse problemas, que pueden resolverse descomponiéndolos en un conjunto de descomponiéndolos en un conjunto de sub-problemas más pequeños, cada uno sub-problemas más pequeños, cada uno de los cuales debe de resolverse a su vez.de los cuales debe de resolverse a su vez.

Esta descomposición, o reducción genera Esta descomposición, o reducción genera arcos que llamaremos arcos que llamaremos arcos arcos YY. .

Page 32: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Un Un arco arco YY puede apuntar a cualquier puede apuntar a cualquier número de nodos sucesores, todos los número de nodos sucesores, todos los cuales deben resolverse en orden para cuales deben resolverse en orden para que el arco apunte a una solución.que el arco apunte a una solución.

Meta: adquirir un aparato de TV

SubMeta:Robar un aparato de TV

SubMeta:Ganar dinero

SubMeta:Comprar un aparato de TV

Page 33: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Los arcos Y, se indican con una línea que Los arcos Y, se indican con una línea que conecta a todos sus componentes.conecta a todos sus componentes.

Para encontrar soluciones el algoritmos se Para encontrar soluciones el algoritmos se parece a del A*, solo que con la capacidad de parece a del A*, solo que con la capacidad de manejar estos arcos Y apropiadamente.manejar estos arcos Y apropiadamente.

en este caso puede ser necesario obtener más en este caso puede ser necesario obtener más de un estado de solución, debido a que cada de un estado de solución, debido a que cada brazo puede conducir a una solución.brazo puede conducir a una solución.

Page 34: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Ejemplos…Ejemplos…

JIHGFE

A

B C D

A

B C D(9)

(4)(3)(5)

(38)

(17) (9) (27)

(5) (10) (3) (4) (15) (10)

36 + 2

25 + 27 + 215 + 2

(6) (18)

Page 35: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Para calcular la función f´ supongamos Para calcular la función f´ supongamos por simplicidad que cada operación tiene por simplicidad que cada operación tiene un costo uniforme.un costo uniforme. Un nodo con un único sucesor tiene un costo Un nodo con un único sucesor tiene un costo

de 1.de 1. Cada Cada arco Yarco Y, con múltiples sucesores tenga , con múltiples sucesores tenga

un costo de 1 para cada uno de ellos.un costo de 1 para cada uno de ellos.

Page 36: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Cadena de razonamiento…Cadena de razonamiento… Si simplemente elegimos para expander el nodo de menor costo, Si simplemente elegimos para expander el nodo de menor costo,

debemos seleccionar a C, sin embargo para usarlo debemos debemos seleccionar a C, sin embargo para usarlo debemos también usar D.también usar D.

El costo del camino es El costo del camino es C+D+2= 3+4+2=9C+D+2= 3+4+2=9 Así que también exploramos el camino BAsí que también exploramos el camino B

Cuyo costo es Cuyo costo es B+1= 5+1=6B+1= 5+1=6 Sin embargo elegir un nodo depende de que sea el mejor camino, Sin embargo elegir un nodo depende de que sea el mejor camino,

el más prometedor y eso depende del paso siguiente donde se el más prometedor y eso depende del paso siguiente donde se expandenexpanden

En este caso el nodo simple más prometedor es G, quien además En este caso el nodo simple más prometedor es G, quien además forma parte del arco más prometedor GH.forma parte del arco más prometedor GH.

Pero también hay que usar el arco IJ, por lo que no resulta tan bueno.Pero también hay que usar el arco IJ, por lo que no resulta tan bueno. Siendo el mejor camino el de B con el arco EFSiendo el mejor camino el de B con el arco EF

Con un costo total de 18. Con un costo total de 18. A+17= 1 + 17 = 18.A+17= 1 + 17 = 18.

Page 37: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Qué se necesita para buscar Qué se necesita para buscar en un en un arco Y-Oarco Y-O

Atravesar el grafo por el nodo inicial y siguiendo el mejor Atravesar el grafo por el nodo inicial y siguiendo el mejor camino actual, acumulando el conjunto de nodos que camino actual, acumulando el conjunto de nodos que van en ese camino y aún no han sido expandidos.van en ese camino y aún no han sido expandidos.

Seleccionar uno de esos y expandirlo. Agregar sus Seleccionar uno de esos y expandirlo. Agregar sus sucesores al grafo y calcular f´, para cada uno de ellos.sucesores al grafo y calcular f´, para cada uno de ellos.

Cambiar la f´ estimada del nodo recientemente Cambiar la f´ estimada del nodo recientemente expandido para reflejar la nueva información.expandido para reflejar la nueva información.

Propagar este cambio hacia atrás a través de grafo. Propagar este cambio hacia atrás a través de grafo. Para c/nodo que se visita mientras se va avanzando en el grafo, Para c/nodo que se visita mientras se va avanzando en el grafo,

decidir cual de sus arcos sucesores es más prometedor.decidir cual de sus arcos sucesores es más prometedor.

Page 38: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Ejemplo …Ejemplo …

A

DCB

A69

43 5

DCB

A119

43 10

FE 44

DCB

A1112

46 10

FE 44HG 75

Page 39: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Características importantesCaracterísticas importantes

En el siguiente ejemplo los nodos están En el siguiente ejemplo los nodos están numerados en el orden en el que se han generado.numerados en el orden en el que se han generado.

Supongamos que el nodo Supongamos que el nodo 1010 se expande en el se expande en el siguiente paso y que uno de sus sucesores es el siguiente paso y que uno de sus sucesores es el nodo nodo 55.. Esto implica que el nuevo camino a Esto implica que el nuevo camino a 55, es más largo que , es más largo que

el camino anterior que va a través de el camino anterior que va a través de 33.. Pero puesto que el camino a través de 3 sólo conducirá Pero puesto que el camino a través de 3 sólo conducirá

a una solución ssi existe una solución para a una solución ssi existe una solución para 44, lo que , lo que sabemos que no sucede.sabemos que no sucede.

Por lo anterior el camino a través de Por lo anterior el camino a través de 1010 es mejor, por ser es mejor, por ser el único posible.el único posible.

Page 40: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

9 10

6587

432

1

irresoluble

Nodo objetivo

Page 41: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Carácterísticas importantesCarácterísticas importantes

Un algoritmo de búsqueda de grafos Y-O, Un algoritmo de búsqueda de grafos Y-O, operará sobre grafos en los que podemos operará sobre grafos en los que podemos garantizar que no habrá ciclos.garantizar que no habrá ciclos. Se puede garantizar porque nunca se almacena un Se puede garantizar porque nunca se almacena un

camino cíclico, ya que dicho razonamiento sería camino cíclico, ya que dicho razonamiento sería circular, como cuando intentamos demostrar un circular, como cuando intentamos demostrar un teorema en matemáticas,’si se demuestra X, teorema en matemáticas,’si se demuestra X, entonces se demuestra Y y viceversa’. Pero este entonces se demuestra Y y viceversa’. Pero este camino no puede constituir una prueba.camino no puede constituir una prueba.

De aquí que se pueda perder ese camino, sin el De aquí que se pueda perder ese camino, sin el temor a perder una solución.temor a perder una solución.

Page 42: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Esta situación genera una complicación Esta situación genera una complicación en el algoritmo de búsqueda. Debido a en el algoritmo de búsqueda. Debido a que siempre que se genere un sucesor que siempre que se genere un sucesor deberá comprobarse que no sea un deberá comprobarse que no sea un antecesor del nodo expandido.antecesor del nodo expandido.

Sólo si no lo es deberíaSólo si no lo es debería entrar en el grafo entrar en el grafo el camino recién descubierto.el camino recién descubierto.

Page 43: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

9 10

6587

432

1

irresoluble

11

Page 44: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

Procedure AO*Procedure AO*

Material de Apoyo:Material de Apoyo: El algoritmo AO* pag. 100-103El algoritmo AO* pag. 100-103 Libro Inteligencia Artificial / Elaine RichLibro Inteligencia Artificial / Elaine Rich Colección Ciencia Informática GG. 1983Colección Ciencia Informática GG. 1983 Versión en inglés McGrawHillVersión en inglés McGrawHill

Page 45: Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A

finfin