b squeda heur stica
Download
Skip this Video
Download Presentation
Búsqueda Heurística

Loading in 2 Seconds...

play fullscreen
1 / 50

Búsqueda Heurística - PowerPoint PPT Presentation


  • 112 Views
  • Uploaded on

Búsqueda Heurística. Sección 4.1 Diapositivas de C H v d Becke parcialmente sobre ideas de los prof. Stuart Russell, Peter Norvig y Jeff Thomson . Marvin Minsky (AI Magazine - 1991).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Búsqueda Heurística' - warren


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
b squeda heur stica

Búsqueda Heurística

Sección 4.1

Diapositivas de C H v d Becke parcialmente sobre ideas de los prof. Stuart Russell, Peter Norvig y Jeff Thomson

FASTA - IA1 - Clase 8-1

slide2
Marvin Minsky (AI Magazine - 1991)
  • En pequeños dominios, podemos intentar aplicar todos nuestros métodos de mindless search...pero es impráctico porque la búsqueda se vuelve enorme...(CAP 3)
  • Para reducir la extensión de la búsqueda desinformada debemos incorporarle tipos adicionales de conocimiento - incorporando expertizaje en resolución de problemas durante la tarea de resolución de problemas (CAP 4)

FASTA - IA1 - Clase 8-1

papel de la rep del conocimiento
Papel de la Rep. Del Conocimiento
  • El papel que se espera que pueda cumplir la teoría de la representación del conocimiento es el de poder reducir, con su ayuda, laacción inteligente a una simple búsqueda inteligente

FASTA - IA1 - Clase 8-1

repaso
Repaso
  • Russell y Norvig han definido con elegancia un algoritmo general para resolver problemas de búsqueda. Este algoritmo puede ser usado para expresar diferentes estrategias específicas de búsquedas.
  • Un problema se representa como una estructura con componentes:
    • ESTADO
    • NODO PADRE
    • OPERADOR
    • PROFUNDIDAD
    • COSTO DE RUTA.

FASTA - IA1 - Clase 8-1

repaso algoritmo general de b squeda
Repaso - Algoritmo general de Búsqueda

function General-Search(problem, strategy) returns a solution, or failure

function General-Search (problem, QUEUING-FN) returns a solution, or a failure

{ nodes <-- MAKE-QUEUE(MAKE-NODE(INITIAL-STATE[problem]))

loop

{ if nodes is empty then return failure node <-- REMOVE-FRONT(nodes)

if GOAL-TEST[problem] applied to STATE(node) succeeds

then return node

nodes <-- QUEUING-FN(nodes, EXPAND(node, OPERATORS[problem]))}}

FASTA - IA1 - Clase 8-1

conceptos generales
Conceptos Generales
  • Una estrategia se define como una forma de darle un orden de prioridades a la expansión de nodos.
  • Hacer uso de la información con respecto al espacio de estados
  • aplicar la función de ubicar en cola - cuál nodo de la lista de espera expandir primero
  • una FUNCION DE EVALUACION que describa la deseabilidad de expandir un nodo
  • usar conocimiento específico del problema
  • encontrar soluciones con mayor eficiencia

FASTA - IA1 - Clase 8-1

temas importantes
Temas importantes
  • Búsqueda Primero lo Mejor
  • Búsqueda A* (A estrella)
  • Heurística
  • Escalada (Ascenso a la Cima)
  • Forjado Simulado

FASTA - IA1 - Clase 8-1

algoritmos de b squeda informada b squeda inteligente
Algoritmos de búsqueda informada(Búsqueda inteligente)
  • Búsqueda Heurística
  • Estrategias de Búsqueda Avara
  • A*

FASTA - IA1 - Clase 8-1

b squeda heur stica1
Búsqueda Heurística
  • Usar información “heuristica” para adivinar cuál nodo expandir
    • la heurística aparece bajo la forma de una función de evaluación basada en la información específica para el dominio o contexto relacionada con el problema
    • el problema de búsqueda se puede considerar como la maximización o minimización de una función, como es del todo general.
    • La función de evaluación nos proporciona una manera de evaluar un nodo “localmente” basado en una estimación del costo de llegar desde el nodo al nodo meta.
  • Problemas con la Heurística
    • la heurística suele ser poco certera - problema abierto
    • valor de la actividad a un meta-nivel - problema abierto
    • puede no encontrar la mejor respuesta - superado por algoritmo A*

FASTA - IA1 - Clase 8-1

4 1 b squeda primero lo mejor
4.1 Búsqueda Primero lo Mejor

La IDEA ===>

usar una función de evaluación para cada nodo

- estimar la deseabilidad

==> EXPANDIR EL NODO MÁS DESEABLE ENTRE LOS NO EXPANDIDOS

IMPLEMENTACION ===>

QUEUINGFN = insertar sucesores en orden decreciente de deseabilidad, quedando

en el tope el mejor

CASOS ESPECIALES

Búsqueda avara

A*

FASTA - IA1 - Clase 8-1

b squeda primero lo mejor
Búsqueda Primero lo Mejor
  • Ordenar los nodos de tal forma que el nodo de mejor evaluación sea el primero en ser expandido
  • la función de evaluación no es omnisciente - provee una medida estimada de la deseabilidad de usar cierta ruta hacia el estado meta
  • la medida debe incorporar cierto estimado de costo de la ruta desde un estado hacia el estado meta más cercano a él.

FASTA - IA1 - Clase 8-1

bpm b squeda primero lo mejor
BPM - Búsqueda primero lo mejor
  • Idea básica  expandir el nodo que maximiza o minimiza la función de evaluación f(n)
  • Estrategia Avara: f(n) = h(n), donde h(n) estima el costo de llegar desde el nodo n hacia la meta
  • ¿Qué sucede si a cada paso tratamos de acercarnos al nodo meta?

En este caso el método seguirá la ruta más larga, al empezar a moverse hacia delante según la receta

Escalada tiene este mismo defecto

FASTA - IA1 - Clase 8-1

slide14
BPM
  • Objetivo de la Búsqueda Primero lo Mejor-  encontrar velozmente la meta
    • expandimos el nodo más cercano al nodo meta
    • para merecer optimalidad, queremos encontrar rapidamente la meta más “chata” (esto es, más cercana al origen)
    • No ordenamos la lista en términos de distancia hacia la meta, sino que lo hacemos en términos de calidad (escasa profundidad esperada) del nodo más cercano al nodo bajo análisis

FASTA - IA1 - Clase 8-1

b squeda avara
Búsqueda Avara
  • La función de evaluación muestra la siguiente heurística:

 h(n) = costo estimado entre n y la meta

  • por ejemplo
    • hDLR(n) = distancia en línea recta desde n hasta Bucarest

 La búsqueda avara expande el nodo que pareciera estar más cerca de la meta.

FASTA - IA1 - Clase 8-1

b squeda avara1
Búsqueda Avara
  • Una de las búsquedas Primero lo Mejor más sencillas - MIN costo estimado para llegar a la meta (2º sumando de f = g + h  f = h)
  • ese costo se puede estimar pero no determinar con exactitud; la buena heurística ayuda.
  • la función heurística h es una función que calcula dichos estimados de costo
  • h(n) = costo estimado de la ruta más barata desde el estado en n hasta el estado meta.

FASTA - IA1 - Clase 8-1

b squeda avara2
Búsqueda Avara
  • El nodo con valor h mínimo es el que se va a expandir: cola con privilegios
  • h puede ser cualquier función, siempre que valga cero en la meta, pero la calidad cambia mucho
  • las funciones heurísticas son problema -intensivas (son problema - específicas)
  • en problemas de búsqueda de ruta una buena h es hDLR , donde DLR es distancia en línea recta
  • una ruta de A a B suele ir en la dirección correcta

FASTA - IA1 - Clase 8-1

b squeda avara3
Búsqueda Avara
  • Adoptar la primera selección con una visión inmediata, sin preocuparse si ha de ser la mejor con una perspectiva a largas vistas.
  • La búsqueda halla soluciones en forma rápida, que no siempre son las óptimas
  • susceptible a falsas largadas (Iasi  Fagaras)
    • Neamt, una ruta muerta sin salida
  • hay que cuidarse de los estados repetidos
    • oscilaciones entre Neamt y Iasi

FASTA - IA1 - Clase 8-1

b squeda avara4
Búsqueda Avara
  • Parecida a BPP, prefiriendo seguir una ruta singular hacia la meta, aunque recula al chocar con una ruta muerta
  • sufre del mismo defecto - ni es óptima, ni es completa (con una ruta posiblemente infinita)
  • su complejidad temporal en el peor de los casos es O(b^m), siendo m la profundidad máxima del espacio de búsqueda
  • complejidad espacial igual a la temporal (guarda todos los nodos en memoria)
  • una buena h reduce fuertemente la complejidad

FASTA - IA1 - Clase 8-1

avara minimizar el costo estimado
AVARA- Minimizar el Costo Estimado
  • Función de evaluación heurística:
    • h(n) = costo estimado de la ruta entre el nodo n al nodo meta
    • h(n) = 0, si n es el nodo meta
          • tabla de distancias lineales a Bucarest =>

FASTA - IA1 - Clase 8-1

ejemplo de b squeda avara
Ejemplo de Búsqueda Avara
  • En el mapa ya visto anotamos Arad==>Bucarest = 366 km
  • , h(n) = distancia en línea recta
  • - Zerind 374
  • -Sibiu 253 <==
  • -Timisoara 329

FASTA - IA1 - Clase 8-1

ejemplo de b squeda avara1
Ejemplo de Búsqueda Avara
  • Arad - 366
  • Oradea - 380

 Fagaras .. 178

  • Rimnicu Vicea - 193

FASTA - IA1 - Clase 8-1

ejemplo de b squeda avara2
Ejemplo de Búsqueda Avara
  • Sibiiu 253
  • Bucarest 0 <====

FASTA - IA1 - Clase 8-1

avara minimizar el costo estimado1
AVARA- Minimizar el Costo Estimado

h(n) = 366

Arad

Zerind

Sibiu

h(n) = 253

h(n) = 329

Timisoara

h(n) = 374

193

178

366

380

Fagaras

Oradea

Rimnicu

Arad

253

h(n) = 0

Sibiu

Bucharest

La verdadera ruta óptima es: Arad  Sibiu  Rimniu  Pitesti  Bucharest

FASTA - IA1 - Clase 8-1

propiedades de la b squeda avara
Propiedades de la búsqueda avara
  • Completa?
    • No - puede colgarse en algun bucle
    • p.ej., Iasi  Neamt  Iasi  Neamt  …
    • Pasa a ser completa en espacio finito si se sujeta a una verificación de estado repetido
  • Complejidad Temporal:
    • En el peor caso: O(bm)
    • pero una buena heurística provoca mejoras dramáticas
  • Complejidad Espacial:
    • En el peor caso: O(bm)
    • mantiene todos los nodos en memoria
  • Optima?
    • No

FASTA - IA1 - Clase 8-1

minimizar el costo de ruta total
Minimizar el costo de ruta total
  • La búsqueda avara minimiza el costo estimado hasta la meta h(n)
    • poda fuertemente el costo de búsqueda
    • ni óptima ni completa
  • la búsqueda de costo uniforme minimiza el costo hasta ese momento, g(n)
    • óptima y completa
    • podría ser muy ineficiente
  • f(n) = g(n) + h(n) = costo estimado de la solución más barata pasando por (n)

FASTA - IA1 - Clase 8-1

minimizar el costo de ruta total1
Minimizar el costo de ruta total
  • Observaciones
    • Supongamos que tenemos un nodo n a una profundidad d en el árbol de búsqueda y que adivinamos que ese nodo se halla a una distancia h(n) de la meta más cercana a él.
    • La meta estaría entonces a la profundidad d + h(n) en el espacio de problema
    • En lugar de elegir para la expansión el nodo de mínimo h(n) (distancia esperada hacia la metal), elegimos el de

MIN d + h(n)

    • La profundidad se mide con la función de costo de la ruta g(n)
    • Queda MIN g(n) + h(n)

FASTA - IA1 - Clase 8-1

b squeda a
Búsqueda A*
  • Idea no expandir trayectos que ya se sabe que son caros
  • Función de evaluación
  • f(n) = g(n) + h(n)
  • g(n) = costo hasta llegar a n
  • h(n) = costo estimado hasta la meta desde n
  • f(n) = costo total de ruta pasando por n hasta la meta
  • A* usa una heurística admisible - no hay sobreestimación de distancia
  • Teorema - A* es óptimo
  • Aproximación  léase h como “heurístico”, pues es funcíón fuerte de la heurística elegida

FASTA - IA1 - Clase 8-1

optimalidad de a
Optimalidad de A*
  • Definir f* - el costo de la solución óptima para la ruta
    • A* expande todos los nodos con f(n)
    • A* podría expandir algunos de los nodos a la derecha del “contorno de la meta”, para los cuales f(n) = f*, antes de seleccionar el estado meta.
  • La primera solución encontrada debe ser la óptima, dado que los nodos de todos los contornos subsiguientes tendrán un costo f más alto y con ello un costo g más alto (todos los estados meta tienen h(n) = 0)

FASTA - IA1 - Clase 8-1

slide30
Forma útil de ver la optimalidad de A*
  • Lema  A* expande nodos en el orden de valores crecientes de f.
  • Esto implica decir que así como Primero en Amplitud va agregando niveles o capas, A* va agregando contornos “iso-f”, siempre crecientes, todos incluyendo el nodo de inicio y a medida que se acercan a la meta, empiezan a incluir justo la meta y la superan. El contorno “iso-f” llamado i tiene todos los nodos con f=fi.

FASTA - IA1 - Clase 8-1

a resumen gr fico
A* - resumen gráfico
  • Ver figuras con círculos concéntricos deformados, ya no con CONTORNOS equirradiales

FASTA - IA1 - Clase 8-1

contornos conc ntricos
“Contornos” concéntricos

FASTA - IA1 - Clase 8-1

contornos conc ntricos1
“Contornos” concéntricos

380

FASTA - IA1 - Clase 8-1

prueba estandar de la optimalidad de a
*

------------------------

------------------------

* n

* G1 *G2

Sea una meta subóptima G2 que está en la cola de espera

Sea n un nodo sin expandir en el camino más corto hacia una meta óptima G1

A* nunca va a elegir G2 para su expansión

Prueba estandar de la optimalidad de A*

FASTA - IA1 - Clase 8-1

optimalidad de a1
Optimalidad de A*

Teorema: Sea h*(n) el costo real desde n hasta la meta. Si h(n) < h*(n) para todo nodo n, entonces A* siempre va a encontrar un nodo meta óptimo.

Prueba: Sea s el nodo meta de mínimo costo. Sea (tentativamente) que A* seleccione un nodo meta subóptimo s’, donde g(s)

Sea n un nodo sin expandir en la ruta desde el nodo inicio y el nodo meta óptimo s. Notar que ese nodo sin expandir necesariamente existe, de acuerdo con la suposición previa (en el otro caso, s ya habría sido elegido como el nodo meta). 

=>

.

FASTA - IA1 - Clase 8-1

optimalidad de a2
Optimalidad de A*

Puesto que n no ha sido elegido para su expansión en su ruta hacia s’, se sigue que:

f(n) = g(n) + h(n) ³f(s') = g(s') + h(s')

= g(s')

Dado que h es admisible, g(n) + h*(n) ³ g(n) + h(n) = f(n), y entonces

g(n) + h*(n) ³f(s') = g(s')

lo cual implica que

g(s) ³g(s').

 Esto contradice la suposición (tentativa) previa, la que indica que s’ es una meta subóptima..

FASTA - IA1 - Clase 8-1

slide37
A*
  • Una heurística admisible nunca sobreestima el costo de llegar a la meta
  • un estimado de costo optimista en la solución de un problema es menor -más barato- que el real.
  • Si h es admisible, f(n) nunca sobreestima el costo real de la mejor solución pasando por n
  • La búsqueda A* - con f(n) y con h admisible
    • completa y óptima
    • hDLR es admisible

FASTA - IA1 - Clase 8-1

conducta de la b squeda a
Conducta de la búsqueda A*
  • A lo largo de cualquier ruta a partir del inicio, el costo de f nunca decae - esto es casi la regla general de las heurísticas admisibles
  • una heurística que cumple con esa regla se dice que exhibe MONOTONICIDAD
  • heurística no-monotónica, caso raro
    • f(n) = g(n) + h(n) = 3+4 siendo n nodo padre
    • f(n’)= g(n’)+h(n’) = 4+2 siendo n’ nodo hijo
    • 6 no tiene sentido ya que el costo de f(n’) debe ser por lo menos 7, ya que la ruta por n’ ha pasado por n. Esta no-monotonicidad debe ser corregida por inconsistente.
    • Nota  sigue siendo una heurística admisible ya que no sobreestima el costo, al contrario, lo infraestima más.

FASTA - IA1 - Clase 8-1

conducta de la b squeda a1
Conducta de la búsqueda A*
  • Realizar entonces una corrección menor que restituya la monotonicidad de una heurística no-monotónica
  • el costo f nunca decrece durante cualquiera de las rutas partiendo del inicio, suponiendo que h sea admisible
  • diverge desde el nodo inicial, sumando nodos en zonas anulares concéntricas de costos f, o sea los contornos de iso- f .

FASTA - IA1 - Clase 8-1

conducta de la b squeda a2
Conducta de la búsqueda A*
  • Con una búsqueda de costo uniforme (esto es, A* usando h = 0), las zonas cubiertas entre dos contornos son anillos circulares alrededor del estado de inicio.
  • Con más heurística (h>0) incorporada, las zonas anulares o contornos se estirarán hacia el estado meta y poco a poco irán delimitando más la ruta óptima, enmarcandola más ajustadamente.
  • Esto recuerda los cambios de nivel de la BPA

FASTA - IA1 - Clase 8-1

completitud de a
Completitud de A*
  • A* expande nodos en el orden de un creciente f, con lo cual eventualmente expandirá hasta llegar al estado meta
  • salvo que haya una cantidad infinita de nodos con f(n)< f*
    • un nodo con un factor de ramificación infinito
    • una ruta con costo de ruta finito pero con un número infinito de nodos a lo largo de ella

FASTA - IA1 - Clase 8-1

complejidad de a
Complejidad de A*
  • La búsqueda A* es OPTIMAMENTE EFICIENTE para cualquier función heurística al contrastarse con otros algoritmos óptimos que compiten con ella.
    • No hay otro algoritmo que expanda menos nodos que A*
    • Cualquier algoritmo que no expanda todos los nodos en los contornos entre el contorno del inicio y el de la meta corre el riesgo de no encontrar la solución óptima

FASTA - IA1 - Clase 8-1

complejidad de a1
Complejidad de A*
  • Complejidad temporal - O(b^d)
  • Complejidad espacial - O(b^d)
  • el espacio de búsqueda de A* crece exponencialmente a no ser que sea
  • h(n)-h*(n) =< O(log h*(n))
  • practicamente, el error es a lo menos proporcional al costo de la ruta
  • el crecimiento exponencial satura a cualquier computadora

FASTA - IA1 - Clase 8-1

complejidad de a2
Complejidad de A*
  • el uso de una heurística buena provee ventajas enormes
  • usualmente A* se queda sin espacio antes de quedarse sin tiempo, puesto que mantiene a todos los nodos en memoria

FASTA - IA1 - Clase 8-1

slide45
A*

f(n) = 366

Arad

140

75

118

h(n) = 253

f(n) = 393

h(n) = 329

f(n) = 447

h(n) = 374

f(n) = 449

Zerind

Sibiu

Timisoara

140

99

151

80

Fagaras

Oradea

Arad

f(n) = 413

Rimnicu

f(n) = 417

f(n) = 646

f(n) = 661

146

97

80

Craiova

Pitesti

Sibiu

f(n) = 526

f(n) = 415

f(n) = 553

FASTA - IA1 - Clase 8-1

resumen de la b squeda a
Resumen de la búsqueda A*
  • A* usa una heurística admisible.
    • h(n) £ h*(n), donde h*(n) es el costo verdadero desde n
    • para rutas sobre terreno, la distancia en línea recta nunca sobreestimará la distancia real de una de ellas.
    • A* es óptima si h es admisible

FASTA - IA1 - Clase 8-1

resumen de la b squeda a1
Resumen de la búsqueda A*
  • Idea  No expandir estados que ya se sabe que son caros
  • Mejorar la búsqueda de costo uniforme y la búsqueda avara haciendo: f(n) = g(n) + h(n)
    • g(n) = costo de inicio a n
    • h(n) = costo estimado desde n hasta meta
    • f(n) = costo total estimado de la ruta desde inicio a meta pasando por n

FASTA - IA1 - Clase 8-1

slide48
A*

h(n) = 253

f(n) = 393

Sibiu

140

151

99

80

Fagaras

Oradea

f(n) = 417

Arad

f(n) = 413

Rimnicu

f(n) = 526

f(n) = 646

99

211

146

97

80

Sibiu

Pitesti

f(n) = 415

Bucharest

Craiova

Sibiu

f(n) = 553

f(n) = 450

f(n) = 591

f(n) = 526

138

101

97

Bucharest

Craiova

Rimnicu

f(n) = 418

f(n) = 607

f(n) = 615

FASTA - IA1 - Clase 8-1

slide49
A*

h(n) = 253

f(n) = 393

Sibiu

140

151

99

80

Fagaras

Oradea

Arad

f(n) = 413

Rimnicu

f(n) = 417

f(n) = 661

f(n) = 646

146

97

80

Sibiu

Pitesti

f(n) = 415

Craiova

f(n) = 553

f(n) = 526

138

101

97

Bucharest

Craiova

Rimnicu

f(n) = 418

f(n) = 607

f(n) = 615

FASTA - IA1 - Clase 8-1

contin a
CONTINÚA
  • http://www.chez.com/vonvon/clase8_2.ppt
  • http://www.chez.com/vonvon/clase8_2.ppt
  • http://www.chez.com/vonvon/clase8_2.ppt
  • http://www.chez.com/vonvon/clase8_2.ppt
  • BIBLIOGRAFIA DEL TEMA:
  • http://www.chez.com/vonvon/ayuda44.html
  • http://www.chez.com/vonvon/ayuda44.html
  • http://www.chez.com/vonvon/ayuda44.html
  • http://www.chez.com/vonvon/ayuda44.html

FASTA - IA1 - Clase 8-1

ad