• Non ci sono risultati.

Algoritmi di ricerca subottimi

N/A
N/A
Protected

Academic year: 2021

Condividi "Algoritmi di ricerca subottimi"

Copied!
15
0
0

Testo completo

(1)

Algoritmi di ricerca subottimi

Francesco Percassi

Universit`a degli studi di Brescia f.percassi@unibs.it

October 1, 2019

(2)

Classi di algoritmi di ricerca sub-ottima

◦ Gli algorimi sub-ottimi sono classificati in base alle garanzie che vengono richieste sulla qualit`a delle soluzioni prodotte. Possiamo distinguere:

 Any solution: non viene richiesta alcuna garanzia sulla qualit`a dei piani. Esempio: Greedy Best First Search (GBFS).

 Bounded Suboptimal Search (BSS): trovare una soluzione di costo cost ≤ B ∗ Copt, con: B ≥ 1 e Copt `e il costo della soluzione ottima

- Una soluzione `e B-ammissibile se soddisfa il bound costo cost ≤ B ∗ Copt

 Bounded Cost Search (BCS): trovare una soluzione di costo ≤ C - Esempio applicativo: Expedia, l’utente richiede un volo per una

specifica destinazione che abbia un costo limitato ad un budget desiderato

(3)

Framework: BSS - FOCAL Search

◦ Gli algoritmi proposti per garantire la B-ammissibilit`a delle soluzioni sono riconducibili ad una classe di algoritmi denominata Focal Search e fanno uso di euristiche ammissibili;

◦ Euristica ammissibile: non sovrastima mai il costo necessario per raggiungere il goal;

◦ Viene mantenuta separatamente una lista FOCAL ⊆ OPEN;

◦ FOCAL = {n ∈ OPEN | g (n) + h(n) = f (n) ≤ B · fmin} con:

fmin = argmin

n∈OPEN

f (n)

◦ l’estrazione dei nodi `e limitati ai nodi contenuti in FOCAL.

(4)

Framework: BSS - FOCAL Search

 Progredendo la ricerca il valore fmin cresce, ampliando la lista FOCAL mediante la funzione fixFocal()

 Gli algoritmi di ricerca si differenziano dalla definizione della funzione ChooseNode(FOCAL), se questa sceglie il minimo: A [2]

(5)

Framework: BSS - Weighted A* Search [1]

 Algoritmo di ricerca BSS che esplora prioritariamente i nodi aventi la funzione fW(n) minima:

fW(n) = g (n) + W · h(n) dove:

g (n) costo minimo del cammino conosciuto per raggiungere n dallo stato iniziale;

h(n) euristica - ammissibile - che stima il costo per raggiungere il goal;

W ≥ 1; se W = 1, WA= A, se W → ∞ allora WA→ GBFS;

 WA `e un caso speciale di Focal Search, la soluzione trovata `e W -ammissibile.

(6)

Framework: BSS - Explicit Estimation Search (EES) [3]

 Separazione dei ruoli: uso di euristiche inamissibili per guidare la ricerca e ammissibili per garantire la B-ammissibilit`a; superamente di A

 Combinazione della stima cost-to-go a distance-to-go per orientare la ricerca verso soluzioni B-ammissibili pi`u veloci da raggiungere;

 euristiche impiegate: h(n) (cost-to-go ammissibile), ˆh(n) (cost-to-go non ammissibile), ˆd (n) (distance-to-go non ammissibile)

 Per ogni nodo n definiamo le seguenti quantit`a:

f (n) = g (n) + h(n)

ˆf (n) = g (n) + ˆh(n)

d (n)ˆ

(7)

Framework: BSS - EES (scelta del nodo)

 Durante la ricerca viene tenuta traccia dei seguenti nodi notevoli:

bestf = argmin

n∈OPEN

f (n)

bestˆf = argmin

n∈OPEN

ˆf (n)

bestˆd= argmin

n∈OPEN∧ˆf (n)≤w ·ˆf (bestˆf)

d (n)ˆ

Ad ogni espansione il nodo viene scelto sulla base delle seguenti regole:

1 if ˆf (bestˆd) ≤ w · f (bestf) then scegli bestdˆ 2 else if ˆf (bestˆf) ≤ w · f (bestf) then scegli bestˆf 3 else scegli bestf

(8)

Framework: BCS - Potential Search [4]

 Potential Search algoritmo nativo per il framework BCS;

 Obiettivo: Espandere prioritariamente i nodi seconda la probabilit`a che questi siano parte di un piano avente costo pari o inferiore a C;

 Espansione nodi basata sulla nozione di potenziale calcolata come:

u(n) = C − g (n) h(n)

 Se h `e ammissibile pruning dei nodi n tali che f (n) = g (n) + h(n) ≥ C .

(9)

Dynamic Potential Search - from BCS to BSS [5]

◦ I framework BSS e BCS sono strutturalmente simili;

◦ Un algoritmo BCS `e ragionevole quando ha una struttura best-first (dotato di una lista OPEN e di una regola di espansione) e ogni nodo n avente f (n) ≥ C viene scartato mediante il pruning.

◦ ogni algoritmo Focal Search per BSS ragionevole pu`o essere modificato per il contesto BCS (e viceversa);

◦ Dynamic Potential Search: ridefinizione della funzione potenziale ud (n) = B × fmin− g (n)

h(n)

(10)

Anytime Search

◦ Algoritmi anytime: producono iterativamente delle soluzioni di qualit`a crescente

◦ Tipologia di algoritmi anytime:

 Continued Search: ricerca best-first che termina quando la lista OPEN

`e esaurita;

 Repairing Search: ad ogni soluzione trovata l’algoritmo rimodula i suoi parametri per orientare la ricerca verso soluzioni di maggiore qualit`a;

 Restarting Search: ogniqualvolta viene trovata una soluzione la ricerca viene riavviata mantenendo tutti gli sforzi precedentemente calcolati.

(11)

Anytime Search - Algoritmi Noti

◦ ANA (continued search): Variante dell’algoritmo PS nel quale viene espanso il nodo che massimizza la quantit`a:

u(n) = G − g (n) h(n)

dove G `e il costo dell’ultima soluzione trovata (incumbent solution).

◦ LAMA [6] (restarting search): ricerca greedy distance-to-go seguita da una successione di ricerche WA* cost-to-go (basate da una coppia di euristiche inammissibili) con peso decrescente Wlist = [5, 3, 2, 1].

(12)

Anytime EES [7]

 EES: algoritmo BSS che garantisce la B-ammissibilit`a della soluzione prodotta

 Idea: eseguire una ricerca EES con dei bound calcolati

automaticamente dopo ogni soluzione trovata (evitando uno schedule di parametri statici come LAMA2011)

 Obiettivo: soddisfare una nozione ad hoc di performance ideale Performance Ideale

Dato un algoritmo χ, indichiamo con πiχ l’i-esima soluzione trovata da χ al tempo t(πiχ). Un algoritmo anytime realizza un comportamento ideale quando minimizza il tempo t(πi +1χ ) − t(πχi ).

(13)

Anytime EES - Pseudo codice

Il bound dell’i-esima ricerca EES viene calcolato dinamicamente secondo la seguente formula:

B = cost

f (bestf) = cost LB

(14)

Grazie per l’attenzione

(15)

Bibliografia

Pearl, Judea and Kim, Jin H

Heuristic search viewed as path finding in a graph.

Artificial intelligence, 1:193–204 1970.

Pearl, Judea and Kim, Jin H Studies in semi-admissible heuristics.

IEEE transactions on pattern analysis and machine intelligence, 4:392–399, 1982.

Thayer, Jordan Tyler and Ruml, Wheeler

Bounded suboptimal search: A direct approach using inadmissible estimates.

Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence (IJCAI 2011), 674–679 2011.

Thayer, Jordan Tyler and Ruml, Wheeler Potential Search: A Bounded-Cost Search Algorithm.

Proceedings of the Twenty-First International Conference on Automated Planning and Scheduling, (ICAPS 2011), 234–241 2011.

Thayer, Jordan Tyler and Ruml, Wheeler

Dynamic Potential Search - A New Bounded Suboptimal Search.

Proceedings of the Ninth Annual Symposium on Combinatorial Search, (SOCS 2016), 36–44 2016.

Richter, Silvia and Westphal, Matthias

The LAMA planner: Guiding cost-based anytime planning with landmarks.

Journal of Artificial Intelligence Research (JAIR), 39:127–177.

Richter, Silvia and Westphal, Matthias

Better Parameter-Free Anytime Search by Minimizing Time Between Solutions.

Proceedings of the Fifth Annual Symposium on Combinatorial Search, (SOCS 2012), 120–128 2012.

Riferimenti

Documenti correlati

L’ottimizzazione delle variabili semaforiche dovrà essere effettuata ad ogni iterazione di un algoritmo risolutivo del problema di ottimizzazione dei sensi di marcia,

• Discutere la strategia a lungo termine a livello Europeo e il supporto allo sviluppo di una politica Europea sulle RI. • Condurre iniziative e progetti fino al punto in cui i

BubbleSort (letteralmente: ordinamento a bolla) è un semplice algoritmo di ordinamento basato sullo scambio di elementi adiacenti. Ogni coppia di elementi adiacenti viene comparata

From Harris and Ross [1955]: Schematic diagram of the railway network of the Western Soviet Union and Eastern European countries, with a maximum flow of value 163,000 tons from

 L’ordinamento delle pagine restituite si basa sul PageRank delle pagine che era

 Repairing Search: ad ogni soluzione trovata l’algoritmo rimodula i suoi parametri per orientare la ricerca verso soluzioni di maggiore qualit` a;..  Restarting Search:

non sono uguali esempio (ZxZ -> Z) o (Q -> QxQ) […] vorrei sapere se oltre al semplice caso del controesempio mi puo' fornire una rigorosa dimostrazione matematica nei due

incoraggia, inoltre, gli Stati membri e gli istituti pubblici di ricerca a fornire i necessari servizi di supporto ai Ricercatori, facilitare l’accesso ai finanziamenti anche