La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A."— Transcripción de la presentación:

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

2 El término heurística… Un método heurístico es un procedimiento para resolver un problema de optimización bien definido, mediante una aproximación intuitiva en la que la estructura del problema se utiliza en forma inteligente para obtener una buena solución. Un método heurístico es un procedimiento para resolver un problema de optimización bien definido, mediante una aproximación intuitiva en la que la estructura del problema se utiliza en forma inteligente para obtener una buena solución. es un procedimiento de resolución de problemas para el que se tiene un alto grado de confianza en que se encuentren soluciones de alta calidad con un costo computacional razonable, aunque no se garantice la optimalidad y en algunos casos ni la factibilidad. Se usa en contraposición a exacto. la más común en IA: es un procedimiento de resolución de problemas para el que se tiene un alto grado de confianza en que se encuentren soluciones de alta calidad con un costo computacional razonable, aunque no se garantice la optimalidad y en algunos casos ni la factibilidad. Se usa en contraposición a exacto. la más común en IA: heurísticas son los procedimientos que empleando conocimiento acerca de un problema y de las técnicas aplicables, tratan de aportar soluciones o acercarse a ellas usando una cantidad de recursos (generalmente tiempo) razonable. heurísticas son los procedimientos que empleando conocimiento acerca de un problema y de las técnicas aplicables, tratan de aportar soluciones o acercarse a ellas usando una cantidad de recursos (generalmente tiempo) razonable.

3 Búsqueda heurística … Se refiere a reglas tipo suerte, reglas que trabajan éxistosamente en muchos casos, pero su éxito no esta garantizado. Se refiere a reglas tipo suerte, reglas que trabajan éxistosamente en muchos casos, pero su éxito no esta garantizado. De suyo se pueden expander los nodos, seleccionado los nodos más prometedores. De suyo se pueden expander los nodos, seleccionado los nodos más prometedores. Esto se hace mediante una medida de fuerza (fittness) que se compara con los competidores. Esto se hace mediante una medida de fuerza (fittness) que se compara con los competidores. Lo anterior con la ayuda de funciones intuitivas especiales, llamadas heurísticas. Lo anterior con la ayuda de funciones intuitivas especiales, llamadas heurísticas.

4 Para que se utiliza la búsqueda heurística … Se emplea generalmente para dos distintos tipos de problemas: Se emplea generalmente para dos distintos tipos de problemas: Razonamiento hacia delante: Se parte de un estado en curso y se trata de alcanzar el estado objetivo Razonamiento hacia delante: Se parte de un estado en curso y se trata de alcanzar el estado objetivo Razonamiento hacia atrás: se mueve del estado objetivo hacia el estado inicial, predefinido. Razonamiento hacia atrás: se mueve del estado objetivo hacia el estado inicial, predefinido.

5 Hill Climbing Un aspecto alternativo para resolver el problema de buscar en un espacio dado es hacer una búsqueda dirigida empleando una función f (x). Un aspecto alternativo para resolver el problema de buscar en un espacio dado es hacer una búsqueda dirigida empleando una función f (x). Dicha función nos da una medida estimada de la distancia a la que se encuentra el nodo objetivo dado un nodo. Dicha función nos da una medida estimada de la distancia a la que se encuentra el nodo objetivo dado un nodo.

6 Después de que f (x) es evaluada: Después de que f (x) es evaluada: Los nodos son ordenados en forma ascendente y colocados (push) dentro de la PILA, de esta forma el elemento en el tope de la PILA, se encuentra el valor menor de f (x). Los nodos son ordenados en forma ascendente y colocados (push) dentro de la PILA, de esta forma el elemento en el tope de la PILA, se encuentra el valor menor de f (x). Se saca el valor (PopElem) de la PILA, y se compara con el nodo objetivo si no es el objetivo entonces se expanden sus hijos se estima su función f(x) y de acuerdo a este valor se colocan en la PILA de forma ascendente. Se saca el valor (PopElem) de la PILA, y se compara con el nodo objetivo si no es el objetivo entonces se expanden sus hijos se estima su función f(x) y de acuerdo a este valor se colocan en la PILA de forma ascendente. 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. 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.

7 Procedire Hill_Climbing BEGIN BEGIN 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 (push). Ordene los nodos en forma ascendente de acuerdo al f(x) y colóquelos en la PILA (push). REPEAT REPEAT Encontre = FALSE;Encontre = FALSE; POP (PILA, elem);POP (PILA, elem); IF (elem objetivo) THENIF (elem objetivo) THEN PUSH (Hijos en la PILA) PUSH (Hijos en la PILA) ELSEELSE encontre = TRUE; encontre = TRUE; UNTIL (encontre) OR PilaVacia UNTIL (encontre) OR PilaVacia

8 Recocido Simulado Este algoritmo es emula el enfriamiento de un metal. Este algoritmo es emula el enfriamiento de un metal. Cuando un material se enfría lentamente pierde su energía y finalmente en un punto del tiempo llega al estado de mínima energía. Cuando un material se enfría lentamente pierde su energía y finalmente en un punto del tiempo llega al estado de mínima energía. De la observación del fenómeno se obtiene la siguiente información: De la observación del fenómeno se obtiene la siguiente información: Los procesos físicos tienen transiciones entre estados altos y bajos de energía, pero existe una pequeña probabilidad de moverse hacia estados de energía más altos (cruzar el valle) de donde habían llegado. Los procesos físicos tienen transiciones entre estados altos y bajos de energía, pero existe una pequeña probabilidad de moverse hacia estados de energía más altos (cruzar el valle) de donde habían llegado.

9 Una pelota entre valles El mínimo estado de energía

10 Descripción del método La probabilidad de que eso suceda es muy pequeña y esta dada por: La probabilidad de que eso suceda es muy pequeña y esta dada por: Para un E pequeño, la probabilidad es alta, y biceversa. Para un E pequeño, la probabilidad es alta, y biceversa. E denota un cambio positivo de la energía E denota un cambio positivo de la energía p = exp (- E/KT) p = exp (- E/KT) Donde p es la probabilidad de transición de un bajo a un alto estado de energía. Donde p es la probabilidad de transición de un bajo a un alto estado de energía. K es la constante de Boltzaman K es la constante de Boltzaman T es la temperatura en el estado en curso. T es la temperatura en el estado en curso.

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

12 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 una búsqueda, cuando la función f (x) no lleva a mejores estados. Este método se utiliza para identificar la dirección de una búsqueda, cuando la función f (x) no lleva a mejores estados. Ante estas circunstancias E, se calcula para todos los posibles estados y p es evaluada para cada uno de ellos; utilizando la siguiente fórmula: Ante estas circunstancias E, se calcula para todos los posibles estados y p es evaluada para cada uno de ellos; utilizando la siguiente fórmula: p` exp (- E / T)p` exp (- E / T) Un número aleatorio es calculado en el intervalo cerrado [0,1] y p es comparada con este valor.Un número aleatorio es calculado en el intervalo cerrado [0,1] y p es comparada con este valor. Si p es mayor entonces es seleccionada para la siguiente transición.Si p es mayor entonces es seleccionada para la siguiente transición.

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

14 Este algoritmo es similar al algoritmo Hill Climbing, en el sentido de que siempre existe al menos un estado mejor que el estado en curso, localizado en la PILA. Este algoritmo es similar al algoritmo Hill Climbing, en el sentido de que siempre existe al menos un estado mejor que el estado en curso, localizado en la PILA. Si la situación anterior falla entonces se invoca al algoritmo de recocido simulado. Si la situación anterior falla entonces se invoca al algoritmo de recocido simulado. El cual revisa cada estado siguiente y si su probabilidad de ocurrencia es mayor que la probabilidad random [0,1], y en el caso que se mayor se selecciona ese estado. Caso contrario se pasa al siguiente. De forma optimista siempre se cumplirá esta condición. El cual revisa cada estado siguiente y si su probabilidad de ocurrencia es mayor que la probabilidad random [0,1], y en el caso que se mayor se selecciona ese estado. Caso contrario se pasa al siguiente. De forma optimista siempre se cumplirá esta condición.

15 Otro punto importante que no se incluyó en el algoritmo es el cálculo de E. El cual es calculado tomando la diferencia entre el valor de f(x) del estado en curso (PopElem) con la f(x) del siguiente estado. Otro punto importante que no se incluyó en el algoritmo es el cálculo de E. El cual es calculado tomando la diferencia entre el valor de f(x) del estado en curso (PopElem) con la f(x) del siguiente estado. Otro punto es que T debe ser decrementada cada vez que se selecciona el estado menos prometedor. T siempre debe mantenerse positiva, ya que cuando llega a cero, la probabilidad p se vuelve cero. Otro punto es que T debe ser decrementada cada vez que se selecciona el estado menos prometedor. T siempre debe mantenerse positiva, ya que cuando llega a cero, la probabilidad p se vuelve cero.

16 Procedure RecSimul BEGIN BEGIN 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 (push); Ordene los nodos en forma ascendente de acuerdo al f(x) y colóquelos en la PILA (push); REPEAT REPEAT Encontre = FALSE;Encontre = FALSE; POP (PILA, elem);POP (PILA, elem); IF (elem = objetivo) THENIF (elem = objetivo) THEN encontre = TRUE; ELSEELSE BEGIN BEGIN 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; ENTONCES IF ninguno de los hijos de N tiene una f (x) mejor; ENTONCES BEGIN BEGIN Procedure RecSimul_I END; END; UNTIL (encontre) OR PilaVacia UNTIL (encontre) OR PilaVacia END. END.

17 Procedure RecSimul_I BEGIN BEGIN Seleccione aleatoriamente cualquiera Seleccione aleatoriamente cualquiera Calcule su p y verifique si excede la calculada de forma random entre [0,1]. En caso afirmativo seleccione ese estado. Calcule su p y verifique si excede la calculada de forma random entre [0,1]. En caso afirmativo seleccione ese estado. Si no genere otro estado alternativo, hasta que uno pueda ser seleccionado Si no genere otro estado alternativo, hasta que uno 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 póngala a cero. Decremente el valor de T. Si este es negativo póngala a cero. END; END;

18 Best-First Se comienza con un estado prometedor y generamos todos sus nuevos estados. Se comienza con un estado prometedor y generamos todos sus nuevos estados. Evaluamos su fitness y el mejor es seleccionado para su expansión. Evaluamos su fitness y el mejor es seleccionado para su expansión. Una vez hecho el paso anterior se evalúa todas las funciones de fitness de los hijos. Una vez hecho el paso anterior se evalúa todas las funciones de fitness de los hijos. Se elige el mejor de todos los nodos hijos y los anteriores. Se elige el mejor de todos los nodos hijos y los anteriores. Lo anterior con el fin de que se hubiera cometido un error en los pasos anteriores. Lo anterior con el fin de que se hubiera cometido un error en los pasos anteriores.

19 Procedure Best_First BEGIN BEGIN 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; Colóquelos en LISTA; Colóquelos en LISTA; MIENTRAS (VaciaLista) AND (encontre) DO MIENTRAS (VaciaLista) AND (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 de forma aleatoria;Identifica el nodo n de LISTA que tiene el mínimo f, si existe más de uno selecciónalo 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.

20 Algoritmo A*… A un nodo se le conoce como OPEN, si el nodo ha sido generado y el h (x) ha sido calculada, pero aún no se expande. A un nodo se le conoce como OPEN, si el nodo ha sido generado y el h (x) ha sido calculada, pero aún no se expande. A un nodo se le conoce como CLOSE, si ha sido expandido y creada su descendencia. A un nodo se le conoce como CLOSE, si ha sido expandido y creada su descendencia. Para conocer la bondad de un nodo en A* se requieren dos funciones de costo: el costo heurístico y el costo generado. Para conocer la bondad de un nodo en A* se requieren dos funciones de costo: el costo heurístico y el costo generado.

21 El costo heurístico: es la medida de la distancia del nodo actual (x) al nodo objetivo y es denotada como h(x). El costo heurístico: es la medida de la distancia del nodo actual (x) al nodo objetivo y es denotada como h(x). El costo generado: es la medida de la distancia del nodo actual (x) al nodo de inicio y es denotada como g(x). El costo generado: es la medida de la distancia del nodo actual (x) al nodo de inicio y es denotada como g(x). La función estimada de la distancia a la que se encuentra el nodo; f(x) es la suma de g(x) + h(x). La función estimada de la distancia a la que se encuentra el nodo; f(x) es la suma de g(x) + h(x).

22 Como se generan los costos… La función g(x), se mide fácilmente, son las m transiciones desde el nodo inicial hasta el nodo generado. La función g(x), se mide fácilmente, son las m transiciones desde el nodo inicial hasta el nodo generado. En el caso de la función h(x), estamos hablando de un costo que aún falta por gastarse antes de llegar al nodo objetivo. En el caso de la función h(x), estamos hablando de un costo que aún falta por gastarse antes de llegar al nodo objetivo. Cualquier valor que se le asigne será un costo predictivo, y se denota por h(x). Cualquier valor que se le asigne será un costo predictivo, y se denota por h(x). En consecuencia el costo predictivo total se denota como f(x): En consecuencia el costo predictivo total se denota como f(x): f (x) = g(x) + h(x) f (x) = g(x) + h(x)

23 Procedure A* Material de Apoyo: Material de Apoyo: El algoritmo A* pag El algoritmo A* pag Libro Inteligencia Artificial / Elaine Rich Libro Inteligencia Artificial / Elaine Rich Colección Ciencia Informática GG Colección Ciencia Informática GG Versión en inglés McGrawHill Versión en inglés McGrawHill

24 Un ejemplo… Consideremos la siguiente función heurística: Consideremos la siguiente función heurística: Donde X y Y, de cubetas de 4 y 3 litros respectivamente. Donde X y Y, de cubetas de 4 y 3 litros respectivamente. Y x denota un nodo arbitrario en el espacio de búsqueda. Y x denota un nodo arbitrario en el espacio de búsqueda.

25 h = 2, cuando 0 < X < 4 AND 0 < Y < 3, h = 2, cuando 0 < X < 4 AND 0 < Y < 3, (algo en las dos)(algo en las dos) = 4, cuando 0 < X < 4 OR 0 < Y < 3, = 4, cuando 0 < X < 4 OR 0 < Y < 3, (algo en alguna de las dos)(algo en alguna de las dos) = 10, cuando i) X = 0 AND Y = 0 = 10, cuando i) X = 0 AND Y = 0 OR ii) X = 4 AND Y = 3 OR ii) X = 4 AND Y = 3 = 8, cuando i) X = 0 AND Y = 3 = 8, cuando i) X = 0 AND Y = 3 OR ii) X = 4 AND Y = 0 OR ii) X = 4 AND Y = 0

26 Asuma que g(x) = 0 en el nodo raíz y representa la mínima distancia n. Asuma que g(x) = 0 en el nodo raíz y representa la mínima distancia n. Medida que toma en consideración a todos los nodos padre comenzando en la raíz y representada por g(x) = n. Medida que toma en consideración a todos los nodos padre comenzando en la raíz y representada por g(x) = n. Ahora se ilustra el problema… Ahora se ilustra el problema…

27 Problema de las cubetas… O Paso 0 (0,0) g + h = Paso 1 M N O (0,0) g + h = (4,0) g + h = (0,3) g + h = x, y 4, 3

28 Problema de las cubetas… Paso 2 M N O (0,0) g + h = (4,0) g + h = (0,3) g + h = PR (3,0) g + h = (4,3) g + h = x, y 4, 3

29 Problema de las cubetas… Paso 3 M N O (0,0) g + h = (4,0) g + h = (0,3) g + h = PR (3,0) g + h = (4,3) g + h = x, y 4, 3 S (3,3) g + h = 3 + 4

30 Paso 3 M N O (0,0) g + h = (4,0) g + h = (0,3) g + h = PR (3,0) g + h = (4,3) g + h = x, y 4, 3 S (3,3) g + h = T (4,2) g + h = (0,2) g + h = U T (2,0) g + h = 6 + 4

31 Reducción del problema Otra clase de estructura es el grafo O-Y, es útil para la representar la solución de problemas, que pueden resolverse descomponiéndolos en un conjunto de sub-problemas más pequeños, cada uno de los cuales debe de resolverse a su vez. Otra clase de estructura es el grafo O-Y, es útil para la representar la solución de problemas, que pueden resolverse descomponiéndolos en un conjunto de sub-problemas más pequeños, cada uno de los cuales debe de resolverse a su vez. Esta descomposición, o reducción genera arcos que llamaremos arcos Y. Esta descomposición, o reducción genera arcos que llamaremos arcos Y.

32 Un arco Y puede apuntar a cualquier número de nodos sucesores, todos los cuales deben resolverse en orden para que el arco apunte a una solución. Un arco Y puede apuntar a cualquier número de nodos sucesores, todos los cuales deben resolverse en orden para 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

33 Los arcos Y, se indican con una línea que conecta a todos sus componentes. Los arcos Y, se indican con una línea que conecta a todos sus componentes. Para encontrar soluciones el algoritmos se parece a del A*, solo que con la capacidad de manejar estos arcos Y apropiadamente. Para encontrar soluciones el algoritmos se parece a del A*, solo que con la capacidad de manejar estos arcos Y apropiadamente. en este caso puede ser necesario obtener más de un estado de solución, debido a que cada brazo puede conducir a una solución. en este caso puede ser necesario obtener más de un estado de solución, debido a que cada brazo puede conducir a una solución.

34 Ejemplos… JIHGFE A BCD A BCD (9) (4)(3)(5) (38) (17)(9)(27) (5)(10)(3)(4)(15)(10) (6)(18)

35 Para calcular la función f´ supongamos por simplicidad que cada operación tiene un costo uniforme. Para calcular la función f´ supongamos por simplicidad que cada operación tiene un costo uniforme. Un nodo con un único sucesor tiene un costo de 1. Un nodo con un único sucesor tiene un costo de 1. Cada arco Y, con múltiples sucesores tenga un costo de 1 para cada uno de ellos. Cada arco Y, con múltiples sucesores tenga un costo de 1 para cada uno de ellos.

36 Cadena de razonamiento… Si simplemente elegimos para expander el nodo de menor costo, debemos seleccionar a C, sin embargo para usarlo debemos también usar D. Si simplemente elegimos para expander el nodo de menor costo, debemos seleccionar a C, sin embargo para usarlo debemos también usar D. El costo del camino es C+D+2= 3+4+2=9 El costo del camino es C+D+2= 3+4+2=9 Así que también exploramos el camino B Así que también exploramos el camino B Cuyo costo es B+1= 5+1=6 Cuyo costo es B+1= 5+1=6 Sin embargo elegir un nodo depende de que sea el mejor camino, el más prometedor y eso depende del paso siguiente donde se expanden Sin embargo elegir un nodo depende de que sea el mejor camino, el más prometedor y eso depende del paso siguiente donde se expanden En este caso el nodo simple más prometedor es G, quien además forma parte del arco más prometedor GH. En este caso el nodo simple más prometedor es G, quien además 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 EF Siendo el mejor camino el de B con el arco EF Con un costo total de 18. A+17= = 18. Con un costo total de 18. A+17= = 18.

37 Qué se necesita para buscar en un arco Y-O Atravesar el grafo por el nodo inicial y siguiendo el mejor camino actual, acumulando el conjunto de nodos que van en ese camino y aún no han sido expandidos. Atravesar el grafo por el nodo inicial y siguiendo el mejor camino actual, acumulando el conjunto de nodos que van en ese camino y aún no han sido expandidos. Seleccionar uno de esos y expandirlo. Agregar sus sucesores al grafo y calcular f´, para cada uno de ellos. Seleccionar uno de esos y expandirlo. Agregar sus sucesores al grafo y calcular f´, para cada uno de ellos. Cambiar la f´ estimada del nodo recientemente expandido para reflejar la nueva información. Cambiar la f´ estimada del nodo recientemente 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, decidir cual de sus arcos sucesores es más prometedor. Para c/nodo que se visita mientras se va avanzando en el grafo, decidir cual de sus arcos sucesores es más prometedor.

38 Ejemplo … A DCB A DCB A FE 44 DCB A FE 44 HG 75

39 Características importantes En el siguiente ejemplo los nodos están numerados en el orden en el que se han generado. En el siguiente ejemplo los nodos están numerados en el orden en el que se han generado. Supongamos que el nodo 10 se expande en el siguiente paso y que uno de sus sucesores es el nodo 5. Supongamos que el nodo 10 se expande en el siguiente paso y que uno de sus sucesores es el nodo 5. Esto implica que el nuevo camino a 5, es más largo que el camino anterior que va a través de 3. Esto implica que el nuevo camino a 5, es más largo que el camino anterior que va a través de 3. Pero puesto que el camino a través de 3 sólo conducirá a una solución ssi existe una solución para 4, lo que sabemos que no sucede. Pero puesto que el camino a través de 3 sólo conducirá a una solución ssi existe una solución para 4, lo que sabemos que no sucede. Por lo anterior el camino a través de 10 es mejor, por ser el único posible. Por lo anterior el camino a través de 10 es mejor, por ser el único posible.

40 irresoluble Nodo objetivo

41 Carácterísticas importantes Un algoritmo de búsqueda de grafos Y-O, operará sobre grafos en los que podemos garantizar que no habrá ciclos. Un algoritmo de búsqueda de grafos Y-O, operará sobre grafos en los que podemos garantizar que no habrá ciclos. Se puede garantizar porque nunca se almacena un camino cíclico, ya que dicho razonamiento sería circular, como cuando intentamos demostrar un teorema en matemáticas,si se demuestra X, entonces se demuestra Y y viceversa. Pero este camino no puede constituir una prueba. Se puede garantizar porque nunca se almacena un camino cíclico, ya que dicho razonamiento sería circular, como cuando intentamos demostrar un teorema en matemáticas,si se demuestra X, entonces se demuestra Y y viceversa. Pero este camino no puede constituir una prueba. De aquí que se pueda perder ese camino, sin el temor a perder una solución. De aquí que se pueda perder ese camino, sin el temor a perder una solución.

42 Esta situación genera una complicación en el algoritmo de búsqueda. Debido a que siempre que se genere un sucesor deberá comprobarse que no sea un antecesor del nodo expandido. Esta situación genera una complicación en el algoritmo de búsqueda. Debido a que siempre que se genere un sucesor deberá comprobarse que no sea un antecesor del nodo expandido. Sólo si no lo es debería entrar en el grafo el camino recién descubierto. Sólo si no lo es debería entrar en el grafo el camino recién descubierto.

43 irresoluble 11

44 Procedure AO* Material de Apoyo: Material de Apoyo: El algoritmo AO* pag El algoritmo AO* pag Libro Inteligencia Artificial / Elaine Rich Libro Inteligencia Artificial / Elaine Rich Colección Ciencia Informática GG Colección Ciencia Informática GG Versión en inglés McGrawHill Versión en inglés McGrawHill

45 fin


Descargar ppt "Solución de problemas por búsqueda Inteligente-Heurísticas Ana Lilia Laureano Cruces UAM-A."

Presentaciones similares


Anuncios Google