Explorando Algoritmos de Búsqueda: Informada vs. No Informada, Heurísticas y Sistemas Basados en Reglas

Búsqueda No Informada

Espacio de estados: Grafo dirigido con todos los estados diferentes del problema.

Árbol de búsqueda: Estados generados durante el proceso.

Frontera: Conjunto de estados pendientes de explorar/expandir.

f: Determina el estado más prometedor en la frontera.

Funciones de Evaluación

  • Anchura: La frontera es una cola FIFO. f(n) = Profundidad(n)
    • Devuelve el camino solución más corto (menos profundo).
    • Es óptima si las acciones son de coste positivo e idéntico.
  • Uniforme: La frontera es un HEAP. f(n) = g(n)
    • Solo si las acciones son de coste positivo.
    • Expande los nodos en orden creciente de coste (best-first).
  • Profundidad (limitada): La frontera es una pila LIFO. f(n) = -Profundidad(n)
    • No se puede garantizar la optimalidad de la solución.
  • Profundidad (iterativa): Límite creciente hasta encontrar solución.
    • Devuelve el camino solución más corto (menos profundo).
    • Es óptima si las acciones son de coste positivo e idéntico.

w1MXRM9+MqPAAAAAElFTkSuQmCC

Búsqueda Informada (Heurística)

  • Utilizamos conocimiento específico del problema como guía.
  • Dotamos de “inteligencia” al proceso de búsqueda.
  • h(n): coste estimado del camino desde n a su solución óptima.
  • Si n es un estado solución, entonces h(n) = 0.
  • h(n) se calcula:

B6TVnJ9h4rmGAAAAAElFTkSuQmCC

Búsqueda Voraz

Utiliza únicamente información heurística: f(n) = h(n)

YSEmzzh4kSYjBAQSbcRHOKNiICIgIiAiICIgIiAiICIgIhA+SMgku7yx1RMUURAREBEQERAREBEQERAREBEwAgBkXQbwSHeiAiICIgIiAiICIgIiAiICIgIlD8CIukuf0zFFEUERAREBEQERAREBEQERAREBIwQ+P+ukXoHiZxMwAAAAABJRU5ErkJggg==

Búsqueda A

Combina información de coste g(n) y heurística h(n): f(n) = g(n) + h(n)

Búsqueda A*

Búsqueda A con una h(n) admisible, que garantiza completitud y optimalidad.

IsoGtzVuEHrVFQdlyOMR9N+qQKNXF7K9ii0ckXV8benpbryXggg4BNgEfUJUUcAAQQQQAABBBAwEWARNWGlKQIIIIAAAggggIBPgEXUJ0QdAQQQQAABBBBAwESARdSElaYIIIAAAggggAACPoE3RYENCPe9MWMAAAAASUVORK5CYII=

Búsqueda No Informada

Espacio estados->grafo dirigido con todos los estados

diferentes del problema

Arbol busqueda->estados generados durante el proceso

Frontera->conjunto de estados pendientes de explorar/expandir

f->Determina estado + prometedor frontera

Funciones evaluación

-ANCHURA->la frontera es una cola FIFO f(n)=Profundidad(n)

• Devuelve el camino solucion mas corto (menos profundo). ´

• Es optima si las acciones son de coste positivo e id ´ entico.

-UNIFORME->la frontera es un HEAP f(n)=g(n)

• Solo si las acciones son de coste positivo.

• Expande los nodos en orden creciente de coste (best-first).

-PROFUNDIDAD(limitada)->la forntera es una pila LIFO f(n)=-Profundidad(n)

• No se puede garantizar la optimalidad de la solucion. ´

-PRFUNDIDAD(iterativa)->limite creciente hasta encontrar solucion

• Devuelve el camino solucion m ´ as corto (menos profundo). ´

•Es optima si las acciones son de coste positivo e idéntico.

w1MXRM9+MqPAAAAAElFTkSuQmCC

Búsqueda Informada (Heurística)

• Utilizamos conocimiento específico del problema como guía.

• Dotamos de “inteligencia” al proceso de busqueda. ´

• h(n): coste estimado del camino desde n a su sol. optima. ´

→ Si n es un estado solucion, entonces ´ h(n) = 0. • h(n) se calcula:

B6TVnJ9h4rmGAAAAAElFTkSuQmCC

Búsqueda Voraz->Utiliza unicamente inf.heurística f(n)=h(n)

YSEmzzh4kSYjBAQSbcRHOKNiICIgIiAiICIgIiAiICIgIhA+SMgku7yx1RMUURAREBEQERAREBEQERAREBEwAgBkXQbwSHeiAiICIgIiAiICIgIiAiICIgIlD8CIukuf0zFFEUERAREBEQERAREBEQERAREBIwQ+P+ukXoHiZxMwAAAAABJRU5ErkJggg==

Búsqueda A

Combina informacion de coste ´ g(n) y heur´ística h(n): f(n) = g(n) + h(n)

Búsqueda A*

Busqueda A con una ´ h(n) admisible. que Garantiza completitud y optimalidad.

IsoGtzVuEHrVFQdlyOMR9N+qQKNXF7K9ii0ckXV8benpbryXggg4BNgEfUJUUcAAQQQQAABBBAwEWARNWGlKQIIIIAAAggggIBPgEXUJ0QdAQQQQAABBBBAwESARdSElaYIIIAAAggggAACPoE3RYENCPe9MWMAAAAASUVORK5CYII=


Búsqueda con Adversario

Algoritmo minimax

Valor minimax (v): nodo terminal al cual llegamos
Decisión minimax: elegir la jugada de mayor valor minimax.
Algoritmo minimax: cálculo de la decision minimax mediante
busqueda con adversario por profundidad (limitada).

kDfXLmU5MskAAAAASUVORK5CYII=

9IrnZO8U0y8AAAAASUVORK5CYII=

Algoritmo Poda alfa-beta

Poda alfa-beta: descarta la exploración de sub-arboles que no mejoren
el valor minimax de cualquier nodo antecesor.
Corte alfa: beta nodo (MIN) ≤ alfa antecesor (MAX).
Corte beta: alfa nodo (MAX) ≥ beta antecesor (MIN).

e7mFyIcn8FEaQoAQIAReQwSCT0BeQ1CpyYQAIUAIEAKEACFgjAAREGN86CkhQAgQAoQAIUAIBAEBIiBBAJWKJAQIAUKAECAECAFjBIiAGONDTwkBQoAQIAQIAUIgCAgQAQkCqFQkIUAIEAKEACFACBgjQATEGB96SggQAoQAIUAIEAJBQIAISBBApSIJAUKAECAECAFCwBgBIiDG+NBTQoAQIAQIAUKAEAgCAkRAggAqFUkIEAKEACFACBACxggQATHGh54SAoQAIUAIEAKEQBAQIAISBFCpSEKAECAECAFCgBAwRsCkvTOtatM3xYZu9IwwozFAY4DGAI0BGgM0BvwcA8b8hJ4SAoQAIUAIEAKEACEQeARoCSbwmFKJhAAhQAgQAoQAIeAGgf8Pc8LAf6CGiogAAAAASUVORK5CYII=

JyIildSxZ+AAAAAElFTkSuQmCC


Sistemas Basados en Reglas

CLIPS -> herramientas para construir SBR con 3 componentes:

BASE DE HECHOS -> cada estado se presenta como unico hecho. A lo largo de la ejecución BH representa estados del problema explorados o por explorar

La base de hechos se define como: (deffacts <nombre> <hecho>*)
donde el formato de cada <hecho> es: (<const>*)
Ej:: (empty) (on blockA table) (grocery-list bread milk eggs)
BASE DE REGLAS -> cada posible acción se representa izq => dcha

La parte izq, elige conjunto de estados aplicable. La parte dch añade nuevos hechos a la BH

Las reglas se definen como: (defrule <nombre> <condiciones>* => <acciones>*)
donde <condiciones> (LHS) pueden ser patrones o tests:
([<const>|?<var>|$?<var>]*) (test (<funci> <expresi>*))
Ej: (assert <hecho>+) (retract +) (printout «¡Eureka!» crlf)

MOTOR DE INFERENCIA-> instanciacion, seleccion y ejecucion

Entrada: base de hechos y base de reglas iniciales, BH y BR.
Salida: base de hechos final, BH.
Dentro de la instanciacion hay que destacar el Pattern matching:
-Unificacion de patrones de la LHS con los hechos de la BH.
-Tipos de patrones:
• Constante ) constante.
• Variable mono-valuada (?x) ) un único valor.
• Variable multi-valuada ($?x) ) cero o más valores.
• Comodines (?, $?) ) sin ligadura.
-Un unico patron puede generar mas de un matching.
-El proceso de unificacion se realiza de derecha a izquierda.

y4TYOC0t+CQAAAAASUVORK5CYII=

Regla aplicable: todo patrón y test en la LHS se satisface.
• Instancia: (<regla apl.>, <hechos>+, <unific.>+)

w88xwVZwWH6hgAAAABJRU5ErkJggg==

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *