Curso de Java - PowerPoint PPT Presentation

About This Presentation
Title:

Curso de Java

Description:

Title: Curso de Java Last modified by: Fernando D ez Created Date: 9/8/1997 12:41:56 PM Document presentation format: Carta (216 x 279 mm) Other titles – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 31
Provided by: arantxaI4
Category:
Tags: curso | java | metodo

less

Transcript and Presenter's Notes

Title: Curso de Java


1
Búsqueda heurística
2
Búsqueda mejor el primero
  • Las estrategias de búsqueda sin información
    suelen ser muy ineficientes.
  • Búsqueda mejor el primero
  • Función de evaluación (eval-fn)
  • Mide lo deseable de expandir un nodo
  • Algoritmo
  • function BEST-FIRST-SEARCH(problem,
    eval-fn)
  • returns a solution sequence
  • inputs problem, a problem
  • eval-fn, an evaluation
    function
  • queueing-fn lt-- a function that
    orders by
  • increasing
    eval-fn
  • return
  • GENERAL-SEARCH(problem, queueing-fn)

3
Búsqueda avara, I
  • Es una búsqueda mejor el primero con
    eval-fn(nodo)h(nodo).
  • Función heurística (h)
  • Origen exclamación de Arquímedes, heureka,
    tras el descubrimiento de su principio
  • Algoritmo
  • function GREEDY-SEARCH(problem)
  • returns a solution or failure
  • return BEST-FIRST-SEARCH(problem, h)
  • h(nodo)coste estimado del camino más corto desde
    un nodo hasta el objetivo.
  • Todas las funciones heurísticas deben cumplir al
    menos
  • h(n)gt0, para todo nodo n
  • h(n)0, si n es un nodo objetivo

4
Búsqueda avara, II
  • Ejemplo Mapa de carreteras
  • Viajar desde Arad hasta Bucarest
  • Solución obtenida por búsqueda avara
  • Nodos expandidos Encuentra el camino
  • Arad, Sibiu, Fagaras, Bucharest,
  • No es óptima Es más corto
  • Arad, Sibiu, Rimnicu, Pitesti, Bucharest
  • La búsqueda avara suele encontrar soluciones
    rápidamente
  • No suelen ser óptimas
  • No siempre se encuentran (ciclos)
  • Ej. de situación anómala Ir de Iasi a Fagaras.
    Si no eliminamos repeticiones se entra en un
    ciclo.

5
Búsqueda avara, IV
  • En resumen
  • No es óptimo ni completo.
  • En el peor caso
  • Complejidad temporal
  • Complejidad espacial
  • Se almacenan todos los nodos en memoria
  • mmáxima profundidad del árbol de búsqueda

6
Algoritmo A, I
  • Algoritmo A, combinación de
  • Búsqueda avara
  • Reduce coste de búsqueda, pero no es óptima ni
    completa.
  • Búsqueda de coste uniforme
  • Es completa y óptima pero ineficiente.
  • Se define la función f(n)
  • f(n)g(n)h(n)
  • f(n)coste estimado de la solución de menor coste
    que pasa por n
  • Algoritmo
  • function A-SEARCH (problem)
  • returns a solution or failure
  • return BEST-FIRST-SEARCH(problem, gh)

7
Algoritmo A, II
  • Heurística admisible
  • Una función heurística h es admisible si
  • en donde h(n)mínima distancia desde n
  • hasta el objetivo
  • Ejemplo
  • En el mapa de carreteras, h es admisible.
  • Solución obtenida por A
  • Orden de expansión A, S, R, P, F, B
  • Encuentra la solución A, S, R, P, B
  • Aplicación algoritmo (ver siguiente página)
  • Es la mejor solución.
  • Se va a tener el resultado
  • Si h es admisible, A es completo y óptimo.

8
Algoritmo A, III
1
f0366366
f140253393
f75374449
2
f118329447
f220193413
f291380671
5
3
f239178417
f300253553
4
f366160526
f591
f450
f31798415
6
f418
f607
f615
9
Algoritmo A, IV
  • Una heurística es monótona cuando
  • Si h es monótona h admisible.
  • Dems
  • Sea n un nodo, y sea un camino desde n
    hasta el objetivo
  • donde y es un nodo
    objetivo.
  • Por tanto

10
Algoritmo A, V
  • h admisible monótona
  • Dems Contraejemplo
  • Si h es una heurística
  • h monótona f creciente
  • En el problema del mapa, h es monótona (d es la
    distancia en línea recta C es el coste del
    arco)
  • y f es creciente (ver gráfico del ejemplo)

C(n,m)
h(m)
h(n)
11
Propiedades de A, I
  • A es óptimo y completo si h es admisible
  • Grafos localmente finitos
  • con factores de ramificación finitos
  • donde para todo operador
  • Demostración (intuitiva)
  • Para el caso más sencillo de heurísticas
    monótonas
  • En el ejemplo del mapa de carreteras se tienen
    conjuntos de nivel
  • En la búsqueda uniforme se tienen bandas
    circulares, mientras que si la heurística es más
    exacta (h --gt h), las bandas se dirigen más
    directamente al objetivo.

12
Propiedades de A, II
  • A es óptimo
  • Hipótesis
  • (1) h es admisible
  • (2) G es óptimo con coste de camino f
  • (3) G es objetivo subóptimo
  • Dems
  • Sea n un estado en el camino óptimo a G y
    supongamos que el algoritmo selecciona para
    expandir G en lugar de G, entonces por (1) y (2)
  • Y si se ha escogido G para expandir
  • Por tanto
  • Es decir
  • que es una contradicción con (3). cqd.

13
Propiedades de A, III
  • A es completo
  • Hipótesis
  • (1) heurísticas monótonas,
  • (2) factor de ramificación b,
  • (3) coste de operadores,
  • Dems En algún momento se llegará a que fcoste
    de algún estado objetivo, salvo que existan
    infinitos nodos con f(n)ltf, lo cual sucedería
    si
  • Un nodo tuviera (!)
  • Hubiera un camino de coste finito pero con
    infinitos nodos. Esto significaría que, por (1) y
    (3)
  • Por tanto, el algoritmo debe acabar.Y si acaba,
    es que encuentra una solución. cqd.

14
Propiedades de A, IV
  • Si h es monótona, y A ha expandido un nodo n,
    entonces g(n)g(n)
  • Es consecuencia directa de que
  • Un subgrafo de una heurística monótona da lugar a
    una heurística monótona (que es, por tanto,
    admisible), considerando la nueva heurística
    hh-g(n)
  • h admisible --gt A completo y óptimo
  • A es óptimamente eficiente
  • Ningún otro algoritmo óptimo expandirá menos
    nodos que A
  • Si un algoritmo no expande todos los nodos entre
    el origen y el contorno óptimo, corre el riesgo
    de perder la solución óptima.
  • Dems ver Dechter Pearl (1985)
  • La búsqueda de coste uniforme es un caso
    particular de A (h0)

15
Propiedades de A, V
  • Complejidad (espacial y temporal)
  • Se puede demostrar que la complejidad del
    algoritmo sigue siendo exponencial si no ocurre
    que
  • En casi todas las heurísticas, el error es al
    menos proporcional a h y, por tanto, normalmente
    se tiene complejidad exponencial.
  • De todos modos, el uso de heurísticas produce
    enormes mejoras con respecto a la búsqueda no
    informada.
  • La complejidad espacial suele ser un mayor
    problema que la temporal.

profundidad de la mejor solución
16
Un ejemplo de A, I
h6
4
1
2
h5
h2
h5
4
5
1
4
2
h4
1
h5
h2
3
2
1
h1
3
h4
h1
5
6
6
h0
h0
17
Un ejemplo de A, II
18
Un ejemplo de A, III
  • Si hubiéramos considerado eliminación de estados
    repetidos, entonces
  • Habríamos eliminado (B--gtE), (E--gtH) y (G-gtK)
  • Al ser h monótona
  • A obtiene la mejor solución
  • Al eliminar estados repetidos, ya que
  • Si h es monótona, entonces si un nodo ha sido
    expandido --gt g(n)g(n)
  • entonces, bastaría con
  • 1) Si está repetido en los nodos ya expandidos,
    eliminar directamente el nodo nuevo
  • 2) Si está repetido en las hojas, quedarse con
    el mejor entre el nodo viejo y el nuevo

19
Un ejemplo de A, IV
  • Si eliminamos estados repetidos, en el caso de
    una h admisible pero no monótona, podemos
    eliminar un nodo peor ya expandido

h1
1
3
h1
h4
1
3
f1
h0
f5
f4
Se eliminaría
f3
f6
f5
20
Problema del 8-puzle
  • En el problema del 8-puzle
  • Una solución típica tiene unos 20 pasos
  • Factor de ramificación (b)
  • Por tanto
  • Si se lleva la cuenta de estados repetidos, el
    número de estados es 9!362.880
  • Funciones heurísticas
  • h1número de fichas mal colocadas
  • h2suma de distancias de Manhattan de las
  • fichas a sus posiciones objetivo
  • Son heurísticas monótonas

21
Exactitud de heurísticas, I
  • Factor efectivo de ramificación (b)
  • Nnúmero de nodos expandidos por A (incluido el
    nodo de la mejor solución)
  • dprofundidad de la solución obtenida por A
  • bfactor de ramificación de un árbol de
    profundidad d y N nodos.
  • Resolución no algebraica, sino con métodos de
    cálculo numérico.
  • Ejemplo d5, N52 ---gt b1.91
  • Normalmente, para una heurística h, bconstante
    en varias instancias del problema.

22
Exactitud de heurísticas, II
  • Si h--gth, entonces b--gt1.
  • Si h--gt0 (búsqueda de coste uniforme), entonces
    b--gt b (b cantidad operadores)
  • Ejemplo (heurísticas h1 y h2 en el problema del
    8-puzle)
  • Si una heurística h2 domina a otra h1 (h2gth1
    suponemos h1 y h2 monótonas), entonces h1 expande
    al menos los mismos nodos que h2.
  • Idea intuitiva
  • Si f(n)ltf, entonces n se expande. Pero esto es
    equivalente a h(n)ltf-g(n). Por tanto, si ese
    nodo es expandido por h2, también lo es por h1

23
Creación de funciones heurísticas
  • Método de relajación
  • Problema inicial
  • Si A es adyacente a B y B es blanco, entonces
    mueve ficha desde A hasta B
  • Relajando las condiciones, se obtienen nuevos
    problemas
  • 1) Si A es adyacente a B, entonces mueve ficha
    desde A hasta B
  • 2) Si B es blanco, entonces mueve ficha desde A
    hasta B
  • 3) mueve ficha desde A hasta B
  • Entonces
  • h para el problema 2) heurística h1
  • h para el problema 1) heurística h2
  • Otro método
  • h1, h2, ...hn admisibles --gt maxh1, h2, ...hn
    también es admisible

24
Algoritmo IDA, I
  • Iterative-Deepening A-search (h monótona).
  • Algoritmo
  • snodo inicial
  • Se definen
  • y para kgt1
  • El algoritmo realiza búsqueda en profundidad para
    los valores L0,1,2,... en los conjuntos

25
Algoritmo IDA, II
  • Un ejemplo sencillo (h0)

1
1
3
3
2
2
2
4
4
1
3
3
Se producen 4 iteraciones flt0, flt1, flt3, flt4
26
Algoritmo IDA, III, a
f6
f6
f7
f6
f6
f9
f7
f11
f10
f11
f10
Ejemplo de aplicación de IDA, iteración flt6
27
Algoritmo IDA, III, b
f6
f6
f7
f6
f7
f9
f10
f11
f7
f6
f11
f10
f10
f9
Ejemplo de aplicación de A, iteración flt7
Faltarían otras dos iteraciones flt9, flt10
28
Algoritmo IDA, IV
  • IDA es completo y óptimo, pero al ser iterativo
    en profundidad, necesita menos memoria.
    Complejidad espacial
  • Complejidad temporal
  • En problemas como el mapa de carreteras, cada
    iteración puede añadir sólo un nodo nuevo. Por
    tanto, si A expande N nodos, IDA necesitará N
    iteraciones y expandirá 12...N
  • Una solución a este problema podría ser
    discretizar los posibles valores de
    (múltiplos de ). Se tendrían heurísticas
    -admisibles. En tal caso, el número de
  • iteraciones sería

profundidad de la mejor solución
29
Algoritmos de mejora iterativa, I
  • Ejemplo de las N damas
  • Partiendo de N damas en el tablero, moverlas
    hasta encontrar una solución.
  • Uso de funciones de evaluación (una heurística h
    es un ejemplo).
  • Búsqueda de máximos-mínimos.
  • Búsqueda con escalada
  • Si se puede elegir más de un sucesor que mejore
    el inicial (con el mismo valor de la función de
    evaluación), se elige al azar.
  • Inconvenientes
  • Máximos locales
  • Zonas llanas
  • Crestas

30
Algoritmos de mejora iterativa, II
  • Enfriamiento simulado
  • Simulated annealing
  • Annealing Proceso de enfriar lentamente un
    líquido hasta que se congela.
  • Si la temperatura se reduce suficientemente
    lentamente en un líquido, el material obtendrá su
    estado de más baja energía (ordenación
    perfecta).
  • Algoritmo
  • En problemas de satisfacción de restricciones
    como el de las N-damas
  • Resolución de problema de 1.000.000 de damas en
    menos de 50 pasos.
  • Minimización de conflictos (en una columna al
    azar mover una dama a la casilla que cree menos
    conflictos)
  • Aplicados también a programación de observaciones
    en el telescopio Hubble.
Write a Comment
User Comments (0)
About PowerShow.com