Inteligencia Artificial - PowerPoint PPT Presentation

About This Presentation
Title:

Inteligencia Artificial

Description:

Inteligencia Artificial 2.2 M todos de B squeda Respaldados con Informaci n M todos B squeda Preferente por lo Mejor B squeda Avara B squeda A* B squeda ... – PowerPoint PPT presentation

Number of Views:89
Avg rating:3.0/5.0
Slides: 98
Provided by: MC6
Category:

less

Transcript and Presenter's Notes

Title: Inteligencia Artificial


1
Inteligencia Artificial
  • 2.2 Métodos de Búsqueda
  • Respaldados con Información

2
Métodos
  • Búsqueda Preferente por lo Mejor
  • Búsqueda Avara
  • Búsqueda A
  • Búsqueda limitada por la capacidad de la memoria
  • Búsqueda A por profundización iterativa (API)
  • Búsqueda ASRM (Acotada por memoria simplificada)
  • Algoritmos de Mejoramiento Iterativo
  • Búsqueda por ascenso de cima (Hill-Climbing)
  • Endurecimiento simulado (Simulated Annealing)

3
Búsqueda preferente por lo mejor
  • El conocimiento en base al cual se apoya la
    decisión del nodo que toca expandirse es obtenido
    desde una función de evaluación.
  • La función de evaluación produce un número que
    sirve para representar lo deseable (o indeseable)
    que sería la expansión de un nodo.

4
Búsqueda preferente por lo mejor
  • Si los nodos se ordenan de tal manera que se
    expande primero aquél con mejor evaluación,
    entonces la estrategia es llamada búsqueda
    preferente por lo mejor.

5
Búsqueda preferente por lo mejor
  • función BUSQUEDA-PREFERENTE-POR-LO-MEJOR
    (problema, FUNCION-EVALUACION) responde con una
    secuencia de solución
  • entradas problema, un problema
  • Función-Eval, una función de
    evaluación
  • Función-lista-de-espera ? una función que ordena
    los nodos mediante FUNCIÓN-EVAL
  • responde con BUSQUEDA-GENERAL (Problema,
    Función-lista-de-espera)

6
Búsqueda preferente por lo mejor
  • Así como es existe una familia de algoritmos
    BUSQUEDA-GENERAL, con distintas funciones de
    ordenamiento, también existe una familia de
    algoritmos BUSQUEDA-PREFERENTE-POR-LO-MEJOR, que
    varían la función de evaluación.

7
Búsqueda preferente por lo mejor
  • En el método de costo uniforme, se empleaba el
    costo de ruta (g) para decidir qué ruta ampliar.
  • g(n) es, entonces, el costo acumulado desde el
    nodo inicio hasta el nodo en que nos encontramos,
    n.
  • Esta medida no es una búsqueda directa dirigida a
    la meta
  • Si se quiere enfocar la búsqueda hacia la meta,
    en esa medida debe figurar algún tipo de cálculo
    del costo de ruta del estado actual (n) a la
    meta.

8
Búsqueda preferente por lo mejor
  • Búsqueda Avara (Greedy Search)
  • Es una de las más sencillas estrategias en la
    BPPLM, que consiste en reducir al mínimo el costo
    estimado para lograr una meta.
  • En otras palabras, el nodo cuyo estado se
    considere más cercano a la meta en términos de
    costo de ruta se expande primero.

9
Búsqueda preferente por lo mejor
  • Búsqueda Avara (Greedy Search)
  • Aunque casi siempre es posible calcular el costo
    aproximado hasta la meta, es difícil hacerlo con
    precisión.
  • La función utilizada para dicho estimado del
    costo se llama función heurística, simbolizada
    por h.
  • h(n) costo estimado de la ruta más barata que
    une el estado del nodo n con un estado meta

10
Búsqueda preferente por lo mejor
  • Búsqueda Avara (Greedy Search)
  • h puede ser cualquier función. El único requisito
    es que h(n) 0 cuando n es una meta.
  • Cuando los problemas son de determinación de
    rutas en el mundo real (ejemplo, Rumania), una
    buena función heurística es la distancia en línea
    recta a la meta
  • hDLR (n) distancia en línea recta entre n y la
    meta

11
Búsqueda preferente por lo mejor
DLR de Bucarest a 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 R
imnicu Vilcea 193 Sibiu 253 Timisoara329 Urzice
ni 80 Vaslui 199 Zerind 374
Neamt
87
Oradea
Iasi
92
71
151
Vaslui
Fagaras
Sibiu
Zerind
99
75
142
140
ARAD
211
80
Rimnicu Vilcea
Urziceni
118
85
Timisoara
98
97
111
Pitesti
Lugoj
Hirsova
101
BUCHAREST
146
70
86
90
Mehadia
Giurgiu
138
Eforie
75
Craiova
120
Dobreta
12
Búsqueda preferente por lo mejor
  • Búsqueda Avara (Greedy Search)
  • Para calcular los valores de hDLR se requieren
    las coordenadas de las ciudades de Rumania.
  • Esta función heurística es útil porque la
    carretera que va de A a B tiende a dirigirse más
    o menos en la dirección correcta.

13
Ejercicio
  • Utilizar el método de búsqueda avara para
    solucionar el problema de Rumania. Mostrar el
    desarrollo con árboles de búsqueda.

14
Búsqueda preferente por lo mejor
DLR de Bucarest a 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 R
imnicu Vilcea 193 Sibiu 253 Timisoara329 Urzice
ni 80 Vaslui 199 Zerind 374
Neamt
87
Oradea
Iasi
92
71
151
Vaslui
Fagaras
Sibiu
Zerind
99
75
142
140
ARAD
211
80
Rimnicu Vilcea
Urziceni
118
85
Timisoara
98
97
111
Pitesti
Lugoj
Hirsova
101
BUCHAREST
146
70
86
90
Mehadia
Giurgiu
138
Eforie
75
Craiova
120
Dobreta
15
Búsqueda preferente por lo mejor
  • Búsqueda Avara

Arad h366
16
Búsqueda preferente por lo mejor
  • Búsqueda Avara

Arad h366
Sibiu h253
Zerind h374
Timisoara h329
17
Búsqueda preferente por lo mejor
  • Búsqueda Avara

Arad h366
Sibiu h253
Zerind h374
Timisoara h329
Arad h366
Rimnicu h193
Fagaras h178
Oradea h380
18
Búsqueda preferente por lo mejor
  • Búsqueda Avara

Arad h366
Sibiu h253
Zerind h374
Timisoara h329
Arad h366
Rimnicu h193
Fagaras h178
Oradea h380
Sibiu h253
Bucharest h0
Es una solución, pero no es la óptima
19
Búsqueda preferente por lo mejor
  • Búsqueda Avara
  • Esta búsqueda usualmente produce resultados
    buenos
  • Tienden a producir soluciones rápidamente, aunque
    no siempre la solución encontrada es la óptima.
  • Ejemplo, tratar de llegar de Iasi a Fagaras.

20
Búsqueda preferente por lo mejor
  • Búsqueda Avara

Iasi h160
21
Búsqueda preferente por lo mejor
  • Búsqueda Avara

Iasi h160
Neamt h150
Vaslui h170
22
Búsqueda preferente por lo mejor
  • Búsqueda Avara

Iasi h160
Neamt h150
Vaslui h170
Iasi h160
23
Búsqueda preferente por lo mejor
  • Búsqueda Avara

Iasi h160
Neamt h150
Vaslui h170
Iasi h160
Neamt h150
24
Búsqueda preferente por lo mejor
  • Búsqueda Avara
  • Se asemeja a la búsqueda preferente por
    profundidad, ya que se atora al toparse con un
    callejón sin salida.
  • Tiene sus mismas deficiencias no es óptima, es
    incompleta, puede recorrer una ruta infinita.
  • Su complejidad es espacial es tan grande como su
    temporal O(bm), donde m es la profundidad máxima
    del espacio de búsqueda. Una buena función
    heurística permite disminuir notablemente la
    complejidad tanto de espacio como de tiempo.

25
Búsqueda preferente por lo mejor
  • Búsqueda A
  • La búsqueda avara reduce h(n), el costo hacia la
    meta, pero no es óptima ni completa.
  • La búsqueda de costo uniforme reduce g(n), el
    costo de ruta, es óptima y completa, pero puede
    ser ineficiente.
  • Las dos funciones se podrían combinar mediante
    una suma
  • f(n) g(n) h(n)

26
Búsqueda preferente por lo mejor
  • Búsqueda A
  • f(n) puede llamarse el costo estimado de la
    solución más barata, pasando por n.
  • Es posible demostrar que esta estrategia es
    completa y óptima, dada una restricción de h.
  • La restricción es escoger una función h que nunca
    sobreestime el costo que implica alcanzar la meta.

27
Búsqueda preferente por lo mejor
  • Búsqueda A
  • A dicha función h se le llama heurística
    admisible.
  • A la búsqueda preferente por lo mejor que usa f
    como función de evaluación y una función h
    aceptable se le conoce como búsqueda A.

28
Búsqueda preferente por lo mejor
  • Búsqueda A
  • En el ejemplo de Rumania, la distancia en línea
    recta es una heurística aceptable, ya que la ruta
    más corta entre dos puntos es la línea recta (por
    lo tanto, siempre será menor que la distancia
    real, nunca la sobreestimará).

29
Búsqueda preferente por lo mejor
  • Búsqueda A

Arad f0366 f366
30
Búsqueda preferente por lo mejor
  • Búsqueda A

Arad
Sibiu f140253 f393
Zerind f75374 f449
Timisoara f118329 f 447
31
Búsqueda preferente por lo mejor
  • Búsqueda A

Arad
Sibiu f140253 f393
Zerind f75374 f449
Timisoara f118329 f 447
Arad f280366 f646
Fagaras f239178 f417
Oradea f146380 f526
Rimnicu f220193 f413
32
Búsqueda preferente por lo mejor
  • Búsqueda A. (Comportamiento)
  • Se puede observar que a lo largo de las rutas
    originadas en la raíz, el costo f nunca
    disminuye.
  • En toda heurística donde esto ocurre, se dice que
    muestra monotonicidad.

33
Búsqueda preferente por lo mejor
  • Búsqueda A
  • Si la heurística fuera no monotónica, debe usarse
    la fórmula
  • f(n) max f(n),g(n) h(n)
  • Donde n es el nodo actual y n es el padre de n
  • A esta fórmula se le llama ecuación de ruta
    máxima.

34
Búsqueda preferente por lo mejor
  • Búsqueda A
  • Si f no disminuye, es posible dibujar contornos
    en el espacio de estados.

Neamt
Iasi
Oradea
Zerind
Vaslui
Fagaras
Sibiu
ARAD
Rimnicu Vilcea
Urziceni
f ? 380
Timisoara
Pitesti
Lugoj
Hirsova
BUCHAREST
f ? 400
Mehadia
Giurgiu
Eforie
f ? 420
Craiova
Dobreta
35
Búsqueda preferente por lo mejor
  • Búsqueda A
  • Conforme va avanzando, la búsqueda A dibuja
    bandas concéntricas, e incluyendo nodos.
  • En la búsqueda de costo uniforme (A con h 0)
    las bandas son circulares alrededor del estado
    inicial.
  • Si la heurística es buena, las bandas tienden al
    estado meta y se concentran apretadamente sobre
    la ruta óptima.

36
Búsqueda preferente por lo mejor
  • Búsqueda A
  • Este método es óptimamente eficiente para
    cualquier función heurística.
  • El problema con el A es que, para la mayoría de
    los problemas, la cantidad de nodos en el
    contorno de la meta sigue siendo exponencial.
  • El principal problema es el espacio, ya que
    usualmente se agota la memoria primero (guarda
    todos los nodos generados).

37
Funciones Heurísticas
  • Problema de las ocho placas

38
Funciones Heurísticas
  • Problema de las ocho placas
  • Una solución típica tiene 20 pasos (depende del
    estado inicial).
  • El factor de ramificación es aproximadamente 3
  • Una búsqueda exhaustiva de profundidad 20
    examinaría 320 estados.
  • Aún si se evitan estados repetidos, habría
    362,880 arreglos diferentes.

39
Funciones Heurísticas
  • Problema de las ocho placas
  • La función heurística no debe sobreestimar la
    cantidad de pasos necesarios para la meta.
  • Ejemplos
  • h1 cantidad de placas en lugar incorrecto
  • h2 suma de las distancias (horizontales y
    verticales) que separan a las placas de sus
    posiciones meta (distancia Manhattan).

40
Funciones Heurísticas
  • Problema de las ocho placas Heurística de la
    cantidad de placas en lugar incorrecto.

h1 0
h1 8
41
Funciones Heurísticas
  • Problema de las ocho placas Heurística de la
    distancia Manhattan

h2 0
h2 15
42
Funciones Heurísticas
  • Efectos de la exactitud heurística en el
    desempeño
  • Una forma de medir la calidad de una heurística
    es mediante el factor de ramificación efectiva
    b.
  • Si la cantidad de nodos expandidos por A para un
    problema determinado es N, y la profundidad de la
    solución es d, entonces b es el factor de
    ramificación que deberá tener un árbol uniforme
    de profundidad d para que pueda contener N nodos,
    por lo que
  • N 1 b (b)2 ... (b)d

43
Funciones Heurísticas
  • Efectos de la Exactitud Heurística
  • Un árbol como este tiene un factor de
    ramificación efectiva de 2

G
N 7 d 2
b 2 1 2 22 7
44
Funciones Heurísticas
  • Efectos de la Exactitud Heurística
  • Porque equivale a un árbol uniforme como este

G
N 7 d 2
b 2 1 2 22 7
45
Funciones Heurísticas
  • Efectos de la exactitud heurística en el
    desempeño
  • Por ejemplo, si A encuentra una solución en la
    profundidad cinco, y utilizando 52 nodos, el
    factor de ramificación efectiva es de 1.91.
  • Por lo general, el b correspondiente a una
    heurística determinada permanece constante a
    través de un amplia gama de problemas.
  • En una heurística bien diseñada, b se aproxima a
    1.

46
Funciones Heurísticas
Costo de Búsqueda Costo de Búsqueda Costo de Búsqueda Factor de Ramificación Efectivo Factor de Ramificación Efectivo Factor de Ramificación Efectivo
d BPPI A(h1) A(h2) BPPI A(h1) A(h2)
2 10 6 6 2.45 1.79 1.79
4 112 13 12 2.87 1.48 1.45
6 680 20 18 2.73 1.34 1.30
8 6,384 39 25 2.80 1.33 1.24
10 47,127 93 39 2.79 1.38 1.22
12 364,404 227 73 2.78 1.42 1.24
14 3,473,941 539 113 2.83 1.44 1.23
16 ----- 1,301 211 ----- 1.45 1.25
18 ----- 3,056 363 ----- 1.46 1.26
20 ----- 7,276 676 ----- 1.47 1.27
22 ----- 18,094 1,219 ----- 1.48 1.28
24 ----- 39,135 1,641 ----- 1.48 1.26
47
Funciones Heurísticas
  • Efectos de la Exactitud Heurística
  • Comparando los factores de ramificación efectiva,
    h2 es mejor que h1.
  • Si para todo nodo n, h2(n) ? h1(n), se dice que
    h2 domina a h1.
  • En general, siempre conviene más emplear una
    función heurística con valores más altos, siempre
    cuando no dé lugar a una sobreestimación.

48
Funciones Heurísticas
  • Invención de Heurísticas
  • A los problemas en que se imponen menos
    restricciones a los operadores se les llama
    problemas relajados.
  • Es frecuente que el costo de la solución de un
    problema relajado constituya una buena heurística
    del problema general.

49
Funciones Heurísticas
  • Invención de Heurísticas
  • Operador del Problema de las ocho placas (normal)
  • Una placa puede pasar del cuadro A al B si A
    está junto a B y B está vacío
  • Operadores relajados para el problema de las ocho
    placas
  • Una placa se puede mover del cuadro A al B si A
    está junto a B
  • Una placa se puede mover del cuadro A al B si B
    está vacío
  • Una placa se puede mover del cuadro A al B

50
Funciones Heurísticas
  • Invención de Heurísticas
  • Si para un problema determinado existe un grupo
    de heurísticas aceptables, h1,..., hm, y ninguna
    domina a las demás, se puede usar
  • h(n) max(h1(n), ..., hm(n)).
  • Otra forma de inventar heurísticas es mediante
    información estadística. Se pueden hacer
    búsquedas sobre una gran cantidad de problemas de
    adiestramiento y se obtienen las estadísticas
    correspondientes.

51
Búsqueda limitada por la capacidad de la memoria
  • La capacidad de memoria es uno de los principales
    obstáculos a los que se enfrentan los algoritmos
    anteriores.
  • Algoritmos de BLCM
  • A por profundización iterativa (API)
  • A acotado por memoria simplificada (ASRM)

52
Búsqueda limitada por la capacidad de la memoria
  • API
  • Es algo similar a lo que se hizo con la búsqueda
    preferente por profundidad, al hacerla
    iterativamente (profundización iterativa), sólo
    que ahora se hace con la búsqueda A.
  • En esta algoritmo cada iteración es una búsqueda
    preferente por profundidad, exactamente como en
    la PI, pero ahora se usa un límite de costo f en
    vez de un límite de profundidad.
  • Así, en cada iteración se expanden los nodos que
    están dentro del contorno del costo f actual.

53
Búsqueda limitada por la capacidad de la memoria
  • API
  • Una vez concluida la búsqueda dentro de un
    contorno determinado, se procede a efectuar una
    nueva iteración usando un nuevo costo f para el
    contorno siguiente.
  • API es un método completo y óptimo, con las
    ventajas y desventajas del A
  • Como es preferente por profundidad, sólo necesita
    un espacio proporcional con la ruta más larga que
    explore.

54
Búsqueda limitada por la capacidad de la memoria
  • API
  • Si d es el mínimo costo de operador y f es el
    costo de la solución óptima, en el peor de los
    casos se necesitan bf / d nodos de
    almacenamiento.
  • En la mayoría de los casos, bd es un estimado
    bastante bueno de la capacidad de memoria
    necesaria.

55
Búsqueda limitada por la capacidad de la memoria
  • API
  • (ver algoritmo en el libro de texto)
  • Tiene desventajas en dominios complejos.

56
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)
  • API utiliza muy poca memoria
  • Entre iteraciones, sólo guarda un número el
    límite actual del costo f.
  • Como no puede recordar su historia, puede
    repetirla.
  • El método ASRM emplea más memoria que el API,
    para mejorar la eficiencia de la búsqueda.

57
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)
  • Hace uso de toda la memoria de la que pueda
    disponer
  • En la medida que se lo facilite la memoria,
    evitará estados repetidos
  • Es completo, si la memoria es suficiente para
    guardar la ruta de solución mas cercana
  • Es óptimo, si dispone de suficiente memoria para
    guardar la ruta de solución óptima más cercana.
  • Si se dispone de suficiente memoria para todo el
    árbol de búsqueda, éste resultará óptimamente
    eficiente.

58
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)
  • Si hay que generar un sucesor, pero ya no hay
    memoria, se requiere espacio en la lista de
    espera
  • Es necesario excluir un nodo de la lista de
    espera. A estos nodos se les llama nodos
    olvidados, con un elevado f.
  • Se conserva la información de los nodos ancestros
    sobre la calidad de la mejor ruta en el subárbol
    olvidado.
  • Así sólo se tendrá que regenerar el subárbol si
    las demás rutas ofrecen peores perspectivas que
    la ruta olvidada.

59
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)

60
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)

61
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)

En cada una de las etapas se añade un sucesor
nodo de menor costo f más profundo cuyos
sucesores no estén actualmente en el árbol. El
hijo izquierdo B se añade a la raíz A.
62
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)

Ahora, f(A) es todavía 12, por lo que se añade el
hijo que está a la derecha, G (f 13). Ahora que
ya se vieron todos los hijos de A, es posible
actualizar su costo f al mínimo de sus hijos, es
decir, 13. La memoria ya se llenó.
63
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)

G se escoge para efectuar una expansión, pero
primero hay que excluir un nodo para hacer
espacio. Se excluye la hoja de mayor costo f más
próxima, es decir, B. Ahora notaremos que el
mejor descendiente olvidado de A tiene f 15,
como se muestra entre paréntesis. Se procede a
añadir H, cuya f(H) 18. Desafortunadamente, H
no es un nodo meta, y la ruta a H consume toda la
memoria disponible (solo tenemos espacio para
tres nodos en memoria). Es decir, es imposible
encontrar una solución a través de H, por lo que
se define que f(H) ?. (si quisiéramos seguir,
tendríamos que olvidar al nodo inicial, y no es
posible).
64
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)

Se expande de nuevo G, se excluye H, se incluye
I, con f(I) 24. (esto debido a que I sí es un
nodo meta, en caso contrario se le asignaría
valor ?). Se han visto ya los dos sucesores de G,
con valores de ? y 24, por lo que f(G) se
convierte en 24. f(A) se convierte en 15, el
mínimo de 15 (valor del sucesor olvidado) y 24.
Hay que notar que a pesar de que I es un nodo
meta, quizás no sea la mejor solución debido a
que el costo de f(A) es solamente 15
65
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)

Otra vez, A es el nodo más prometedor, por lo que
se genera por segunda vez B. Nos hemos dado
cuenta que, después de todo, la ruta a través de
G no resultó ser tan buena.
66
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)

C, el primer sucesor de B, es un nodo no meta que
está a máxima profundidad, por lo que f(C) ?.
67
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)

Para examinar al segundo sucesor, D, primero hay
que excluir C. Entonces f(D)20, valor que
heredan tanto B como A. Ahora el nodo de menor
costo f más profundo es D, por lo que se le
escoge. Puesto que se trata de un nodo meta,
concluye la búsqueda.
68
Búsqueda limitada por la capacidad de la memoria
  • ASRM (A Acotado por Memoria Simplificada)
  • (Ver el algoritmo en el libro de texto)
  • Las cosas se complican aun más so hay que incluir
    la verificación de nodos repetidos . ASRM es el
    algoritmo más complicado visto hasta el momento.
  • Cuando cuenta con suficiente memoria, ASRM
    resuelve probelmas mucho más difíciles que A sin
    excesos considerables en la generación de nodos
    adicionales.

69
Algoritmos de búsqueda local y problemas de
optimización
  • Hay problemas (como el de las 8 reinas, o la
    distribución de áreas en un chip VLSI) que se
    caracterizan porque la misma descripción del
    estado contiene toda la información necesaria
    para encontrar una solución, y la ruta para
    obtenerla es irrelevante.
  • En estos casos, los algoritmos de búsqueda local
    son el método de solución más práctico.

70
Algoritmos de búsqueda local y problemas de
optimización
  • Los algoritmos de búsqueda local operan usando un
    simple estado actual (en vez de múltiples rutas)
    y generalmente se mueven a los vecinos de dicho
    estado.
  • Sus ventajas son
  • Usan muy poca memoria (usualmente constante)
  • Pueden encontrar a menudo soluciones razonables
    en espacios de estados muy grandes o infinitos en
    los cuales los algoritmos sistemáticos no son
    adecuados.

71
Algoritmos de búsqueda local y problemas de
optimización
  • Además de encontrar metas, los algoritmos de
    búsqueda local son útiles para resolver problemas
    de optimización, en los cuales el objetivo es
    encontrar el mejor estado de acuerdo con una
    función objetivo.

72
Algoritmos de búsqueda local y problemas de
optimización
  • La idea básica consiste en empezar con una
    configuración completa y efectuar modificaciones
    para mejorar la calidad.
  • Los ABL imaginan que los estados están sobre la
    superficie de un paisaje, y la altura de cada uno
    corresponde a la función de evaluación del estado
    en ese punto.

73
Algoritmos de búsqueda local y problemas de
optimización
Evaluación
Estado Actual
74
Algoritmos de búsqueda local y problemas de
optimización
75
Algoritmos de búsqueda local y problemas de
optimización
  • Si la elevación corresponde al costo, el objetivo
    es encontrar el valle más bajo (un mínimo
    global).
  • Si la elevación corresponde a una función
    objetivo, entonces el objetivo es encontrar el
    pico más alto (un máximo global).
  • Los algoritmos de búsqueda local exploran este
    paisaje. Una ABL completo siempre encuentra una
    meta si existe un algoritmo óptimo siempre
    encuentra un máximo/mínimo global.

76
Algoritmos de búsqueda local y problemas de
optimización
  • Normalmente, los ABL se fijan sólo en el estado
    actual, sin mirar mas allá de los vecinos
    inmediatos de tal estado.
  • Tienen varias aplicaciones, en especial, en el
    aprendizaje de redes neuronales.

77
Algoritmos de búsqueda local y problemas de
optimización
  • Búsqueda por ascenso de cima
  • Recocido simulado
  • Búsqueda local en haz
  • Algoritmos Genéticos

78
Algoritmos de búsqueda local y problemas de
optimización
  • Búsqueda por ascenso de cima
  • Función Ascenso-de-cima(problema) responde con un
    estado de solución
  • entradas problema, un problema
  • estático actual, un nodo
  • siguiente, un nodo
  • actual ? Hacer-nodo(Estado Inicialproblema)
  • hacer ciclo
  • siguiente ? el sucesor de actual de más
    alto valor
  • si Valorsiguiente lt Valoractual
    entonces responde con actual
  • actual ? siguiente
  • fin

79
Algoritmos de búsqueda local y problemas de
optimización
  • Búsqueda por ascenso de cima
  • Es como intentar buscar la cima del monte
    Everest en una densa niebla y con amnesia.
  • El algoritmo es un ciclo que constantemente se
    desplaza en la dirección de un valor ascendente.
  • Como el algoritmo no mantiene un árbol de
    búsqueda, la estructura de datos del nodo sólo
    tiene que registrar el estado y su evaluación,
    denominado VALOR.
  • Cuando existe más de un sucesor idóneo que
    escoger, el algoritmo selecciona uno de ellos al
    azar.

80
Algoritmos de búsqueda local y problemas de
optimización
  • Búsqueda por ascenso de cima

h 17
h 1
81
Algoritmos de búsqueda local y problemas de
optimización
  • Búsqueda por ascenso de cima
  • Desventajas
  • Máximos locales al contrario de un máximo
    global, es una cima cuya altura es inferior a la
    cima más alta de todo el espacio de estados.
  • Planicies Son áreas del espacio de estados donde
    la función de evaluación básicamente es plana. La
    búsqueda realiza movimientos al azar.
  • Riscos Las laderas de algunos riscos tienen
    pendientes muy pronunciadas, por lo que es fácil
    para una búsqueda llegar a la cima del risco sin
    embargo, puede suceder que la pendiente de tal
    cima se aproxime demasiado gradualmente a un
    pico. Ña búsqueda puede oscilar de un lado al
    otro obteniendo muy poco avance.

82
Algoritmos de búsqueda local y problemas de
optimización
  • Búsqueda por ascenso de cima
  • En los casos anteriores, se llega a un punto más
    allá del cual no se logra ningún avance, ys se
    debe empezar nuevamente en otro punto.
  • Esto se logra mediante el ascenso de cima con
    reinicio aleatorio.
  • El éxito de este algoritmo depende en gran medida
    de la forma que tenga la superficie del espacio
    de estados (usualmente puede parecerse a un
    puerco espín).

83
Algoritmos de búsqueda local y problemas de
optimización
  • Función Recocido-Simulado(problema, programa)
    responde con un estado de solución
  • entradas problema, un problema
  • programa, un mapeo para pasar de
    tiempo a temperatura
  • estático actual, un nodo
  • siguiente, un nodo
  • T, una temperatura que controla la
    posibilidad de dar pasos
  • descendentes.
  • actual ? Hacer-nodo(Estado Inicialproblema)
  • para t ? 1 a ? hacer
  • T ? programat
  • si T 0, entonces responde con actual
  • siguiente ? un sucesor de actual escogido
    aleatoriamente
  • ?E ? Valorsiguiente - Valoractual
  • si ?E gt 0, entonces actual ? siguiente
  • o bien actual ? siguiente con
    probabilidad e?E/T
  • fin

84
Algoritmos de búsqueda local y problemas de
optimización
  • Recocido simulado
  • En vez de empezar otra vez al azar luego de
    quedarse atorado en un máximo local, sería
    conveniente descender unos cuantos pasos y así
    escapar del máximo local en cuestión.
  • Esta es la base del recocido simulado.
  • En vez de optar por la mejor acción, se escoge
    una al azar.
  • Siempre que mediante alguna acción se logre
    mejorar la situación, dicha acción se ejecuta. De
    lo contrario, el algoritmo realizará cierta
    acción con cierta probabilidad menor a uno. La
    probabilidad disminuye exponencialmente con lo
    malo de la acción.

85
Algoritmos de búsqueda local y problemas de
optimización
  • Recocido simulado
  • Para determinar la probabilidad se utiliza un
    segundo parámetro, T.
  • Cuando los valores de T son elevados, hay más
    probabilidad de que se acepten las acciones
    malas.
  • Conforme T tiende a cero, es menos probable su
    aceptación, hasta que el algoritmo se comporte
    más o menos como el ascenso de cima.
  • El programa es una función que define el valor de
    T en base a la cantidad de ciclos que se hayan
    realizado.

86
Algoritmos de búsqueda local y problemas de
optimización
  • Recocido simulado
  • El término recocido simulado, y el nombre de
    los parámetros ?E y T obedece a que el algoritmo
    se creó a partir de una analogía con el recocido,
    un proceso que consiste en enfriar un líquido
    hasta que se congele (o un metal fundido hasta
    que se solidifique).
  • La función VALOR corresponde a la energía total
    de los átomos del material y T corresponde a la
    temperatura. El programa define la velocidad de
    descenso de temperatura. Las acciones
    individuales del espacio de estados corresponden
    a fluctuaciones aleatorias producidas por ruido
    térmico.
  • Es posible demostrar que si la temperatura se
    baja con suficiente lentitud, el material
    adoptará la configuración de la energía más baja
    (de ordenamiento perfecto). Esto equivale a decir
    que si el programa baja a T con la suficiente
    lentitud, el algoritmo encontrará un óptimo
    global.

87
Algoritmos de búsqueda local y problemas de
optimización
  • Búsqueda local en haz
  • El algoritmo de búsqueda local en haz (local beam
    search) mantiene registro de k estados en vez de
    sólo uno.
  • Comienza con k estados generados aleatoriamente.
  • En cada paso, todos los sucesores de los k
    estados son generados.
  • Si uno de ellos es la meta, el algoritmo se
    detiene. De otra manera, se selecciona los k
    mejores sucesores de la lista completa y el
    proceso se repite.

88
Algoritmos de búsqueda local y problemas de
optimización
  • Búsqueda local en haz
  • A primera vista, la búsqueda local en haz con k
    estados parece no más que correr k ascensos
    independientes de cima en paralelo, en vez de
    hacerlo en secuencia.
  • Sin embargo, en la búsqueda local en haz se
    transmite información útil entre las k búsquedas
    paralelas.
  • Es decir, si un estado genera varios buenos
    sucesores, y los k 1 estados restantes generan
    todos malos sucesores, el efecto es que el primer
    estado le dice a los otros vengan aquí, el pasto
    es más verde!.
  • El algoritmo abandona rápidamente búsquedas
    infructuosas y mueve sus recursos donde se pueda
    hacer más progresos.

89
Algoritmos de búsqueda local y problemas de
optimización
  • Búsqueda local en haz
  • Una variante llamada búsqueda en haz estocástica
    evita la falta de diversidad entre los k estados
    y evita concentrarse en una pequeña región del
    espacio de estados.
  • En vez de elegir los mejores k del grupo de
    sucesores candidatos, se eligen k sucesores al
    azar, con la probabilidad de elegir un sucesor
    dado como una función incremental de su valor.

90
Algoritmos de búsqueda local y problemas de
optimización
  • Algoritmos genéticos
  • Un algoritmo genético (AG) es una variante de la
    búsqueda en haz estocástica, en la cual los
    estados sucesores son generados combinando dos
    estados padres, más que modificando un solo
    estado.
  • La analogía a la selección natural es la
    siguiente Los sucesores (descendientes) de dos
    estados (organismos) padres, conforman la
    siguiente generación, de acuerdo a su valor
    (aptitud).

91
Algoritmos de búsqueda local y problemas de
optimización
  • Algoritmos genéticos
  • Los AGs comienzan con un conjunto de k estados
    generados aleatoriamente, llamados la población.
  • Cada estado, o individuo, se representa como una
    cadena (string) tomada de un alfabeto finito
    (comúmente, una cadena de 0s y 1s).
  • En el problema de las 8 reinas, se podrían
    especificar las posiciones de cada una de las 8
    reinas en cada columa mediante 24 bits, o
    mediante dígitos entre 1 y 8.

92
Algoritmos de búsqueda local y problemas de
optimización
  • Algoritmos genéticos

93
Algoritmos de búsqueda local y problemas de
optimización
  • Algoritmos genéticos
  • Cada estado es calificado meduante la función
    de evalación, llamada función de aptitud.
  • Una función de aptitud debe regresar valores más
    altos para mejores estados. En el problema de las
    8 reinas se usa la cantidad de pares de reinas
    que no se atacan entre sí. Una solución debe
    tener un valor de aptitud de 28.
  • Las aptitudes de los 4 estados son 24, 23, 20 y
    11 y se calculan las probabilidades de ser
    elegidos en forma proporcional a la aptitud.

94
Algoritmos de búsqueda local y problemas de
optimización
  • Algoritmos genéticos
  • Se eligieron dos pares para reproducción, de
    acuerdo a las probabilidades en (b). Para cada
    par a ser apareado, se elige un punto de cruza al
    azar, a partir de las posiciones en la cadena.
  • En (d), los descendientes son creados al cruzar
    las cadenas padres en los puntos de cruza.
  • Finalmente, en (e), cada posición es sujeta a una
    mutación aleatoria con una pequeña probabilidad
    independiente.

95
Algoritmos de búsqueda local y problemas de
optimización
  • Algoritmos genéticos
  • Los algoritmos genéticos combinan una tendencia
    de ascenso de cima con exploración aleatoria e
    intercambio de información entre búsquedas
    paralelas.
  • La principal ventaja, si la hay, de los
    algoritmos genéticos viene de la operación de
    cruza.
  • La ventaja viene de la habilidad de la cruza para
    combinar grandes bloques de caracteres que han
    evolucionado independientemente para desempeñar
    funciones exitosas, elevando el nivel de
    granularidad en el que opera la búsqueda.

96
Algoritmos de búsqueda local y problemas de
optimización
  • Algoritmos genéticos
  • La teoría de los algoritmos genéticos explica
    como trabajan usando la idea de un esquema, el
    cual es una subcadena en la cual algunas de las
    posiciones se dejan sin especificar.
  • Por ejemplo, el esquema 246 describe todos
    los estados del problema de las 8 reinas donde
    las tres primeras reinas están en las posiciones
    2, 4 y 6 respectivamente.
  • Las cadenas que concuerdan con el esquema (como
    24613578) son llamadas instancias del esquema.

97
Algoritmos de búsqueda local y problemas de
optimización
  • Algoritmos genéticos
  • Se puede mostrar que, si la aptitud promedio de
    las instancias de un esquema está sobre la media,
    entonces el número de instancias del esquema
    dentro de la población crecerá con el tiempo.
  • Los algoritmos genéticos trabajan mejor cuando
    los esquemas corresponden a componentes
    significativos de la solución.
  • Esto sugiere que el uso exitoso de los algoritmos
    genéticos requiere una ingeniería cuidadosa de la
    representación.
  • En la práctica, los AGs tienen un amplio impacto
    en problemas de optimización, tales como
    distribución en circuitos y programación de
    actividades.
Write a Comment
User Comments (0)
About PowerShow.com