Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a. 2001-2002.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 6 Prof. M.T. PAZIENZA a.a. 2000-2001.
-
Upload
francesco-milano -
Category
Documents
-
view
217 -
download
0
Transcript of Intelligenza Artificiale 1 Gestione della conoscenza lezione 6 Prof. M.T. PAZIENZA a.a. 2000-2001.
Intelligenza Artificiale 1Gestione della conoscenza
lezione 6
Prof. M.T. PAZIENZA
a.a. 2000-2001
Strategia di ricerca
• Le strategia di ricerca non informata trovano soluzioni (spesso non efficienti) a problemi generando sistematicamente nuovi stati che sono poi verificati rispetto all’obiettivo.
• Le strategia di ricerca informata, utilizzando conoscenza specifica sul problema, trovano soluzioni più efficienti, ovvero riducono il costo della ricerca.
Strategia di ricerca
• La specifica strategia di ricerca si distingue per la diversa funzione di valutazione usata per determinare il prossimo nodo da espandere.
• La funzione di valutazione determina il valore di desiderabilità (o non desiderabilità) dell’espansione di ogni specifico nodo.
Algoritmi di ricerca best-first
I nodi sono ordinati in modo che venga espanso prima il nodo (che sembra) migliore secondo la funzione di valutazione
Funzioni di valutazione
Quando tale valutazione è fornita da una stima (e non viene determinata esattamente) si parla di funzione euristica, quindi
La funzione euristica h(n) stima il costo del cammino più conveniente dallo stato del nodo n ad uno stato obiettivo
Ogni funzione euristica è specifica al problema
Tecniche euristiche
• Nei sistemi esperti le tecniche euristiche erano viste come “regole empiriche” che gli esperti del dominio potevano usare per generare “buone soluzioni” senza ricercare esaustivamente.
• Se le regole euristiche vengono espresse come regole, si parla di sistemi basati su regole.
Tecniche euristiche
Euristica è qualunque tecnica che migliora le prestazioni del
compito di risoluzione del problema nel caso medio, ma non migliora
necessariamente nel caso peggiore.
Negli algoritmi di ricerca si riferisce ad una funzione che fornisce una stima del costo della soluzione
Ricerca golosaUna ricerca di best-first che usa h per selezionare il nodo successivo da espandere è detta ricerca golosa.(minimizzare il costo per raggiungere l’obiettivo)
Viene espanso prima il nodo giudicato più vicino allo stato obiettivo da una qualunque funzione euristica h purché:
h(n)=0 se n è un nodo obiettivoLa ricerca golosa è simile ad una ricerca in
profondità; segue un cammino fino all’obiettivo, per tornare indietro quando si imbatte in un vicolo cieco.
Ricerca di itinerario (euristica)
La distanza in linea d’aria dall’obiettivo, ovvero la distanza in linea d’aria tra n e la posizione dell’obiettivo,
viene considerata una buona funzione euristica nella ricerca di un itinerario
)(nhDLA
Ricerca di itinerario (euristica)
Ricerca di itinerario (euristica)
Si può calcolare
solo se si conoscono le coordinate dei nodi.
Queste ultime (e altre informazioni aggiuntive) permettono alle euristiche di aiutare a ridurre il costo della ricerca
)(nhDLA
Ricerca di itinerario (euristica)
Ricerca di itinerario (euristica)
L’euristica
determina un costo di ricerca minimo,
trova una soluzione senza mai espandere alcun nodo che non sia sul cammino della soluzione.
Non è perfettamente ottimale (ricerca golosa), tende a trovare una soluzione velocemente anche se non ottimale
)(nhDLA
Ricerca di itinerario (ricerca golosa - euristica)
Ricerca non ottimale ed incompletaPuò intraprendere un vicolo cieco con ricerca infinitaComplessità temporale nel caso peggiorecon m profondità massima dello spazio di ricerca e b
fattore di ramificazione.
Complessità spaziale = complessità temporale (tutti i nodi sono mantenuti in memoria)
Una buona funzione euristica può ridurre le due complessità (in funzione della tipologia del problema e natura della funzione h)
)( mbO
Ricerca A* (euristica ammissibile)
g(n) = costo del cammino dal nodo iniziale al nodo n
h(n) = costo stimato del cammino più conveniente da n all’obiettivo
f(n) = g(n) + h(n)
f(n) = costo stimato della soluzione più conveniente attraverso n
Ricerca A* (euristica ammissibile)• La soluzione più conveniente espande prima il
nodo con il valore più basso di f• Scegliere la funzione euristica h che non
sopravvaluti mai il costo per raggiungere l’obiettivo
• Se h è ammissibile, f(n) non sopravvaluta mai il costo reale della soluzione migliore attraverso n.
• Lungo qualsiasi cammino che parte dalla radice, il costo di f non decresce mai (proprietà di monotonia)
Ricerca A* (euristica ammissibile)
Cercare funzioni euristiche• Se per un problema esiste una collezione di
euristiche ammissibili, e nessuna domina le altre, allora si pone:
• Usare informazioni statistiche
))(),...,max()( 1 nhhnh