Esercizio - Euristiche ammissibili (esempio d'esame 2)
Teoria: Ricerca informata - greedy best-first, A* ed euristicheLa ricerca informata usa una funzione euristica h(n) che stima il costo da n all'obiettivo. Greedy best-first espande il nodo con h minima (f = h): veloce ma non ottima né in generale completa. A∗ usa f = g + h e, con h ammissibile (mai sopra il costo vero) e, sul grafo con tabella dei raggiunti, consistente, è completa e ottima; il fattore di diramazione effettivo b∗ misura la qualità di h, e un'euristica che ne domina un'altra espande meno nodi. A∗ pesato (f = g + W h) rinuncia all'ottimalità per espandere meno nodi. Per i problemi in cui conta solo lo stato finale esiste la ricerca locale (hill climbing, simulated annealing, beam search, algoritmi genetici). In appendice, cenni di ricerca avversaria (minimax e potatura alfa-beta).Ricerca informata - greedy best-first, A* ed euristiche → (sezione sull'euristica ammissibile e consistente). Esercizio collegato: Esercizio - Euristiche dell'8-puzzle e fattore di diramazione effettivo (slide del corso). Domanda 7 del quiz da 9 CFU e domanda 5 di quello da 6 CFU: testo identico.
Testo (risposta aperta). Nell'ambito degli algoritmi di ricerca, si spieghi che cosa vuol dire che un'euristica è ammissibile (admissible heuristic), aiutandosi con uno o più esempi.
Risposta modello
Una funzione euristica stima il costo del cammino più economico da un nodo a un obiettivo. È ammissibile se non sovrastima mai il costo reale: per ogni nodo , dove è il costo del cammino ottimo da all'obiettivo (e se è un obiettivo). È un'euristica ottimista: dice che manca al massimo quanto manca davvero.
Perché serve. L'algoritmo A∗ espande il nodo con il minimo . Se è ammissibile, A∗ (nella versione ad albero) restituisce una soluzione ottima. Idea della prova: quando A∗ estrae un obiettivo con costo , ogni nodo sulla frontiera lungo un cammino ottimo ha , e per la scelta del minimo , quindi . Per la versione su grafo con tabella dei nodi raggiunti serve una proprietà più forte, la consistenza: , che implica l'ammissibilità.
Esempi di euristiche ammissibili.
- Mappa della Romania: la distanza in linea retta fino a Bucarest è ammissibile, perché nessuna strada è più corta della retta. Da Arad , mentre il cammino ottimo Arad, Sibiu, Rimnicu Vilcea, Pitesti, Bucarest costa : .
- 8-puzzle: = numero di tessere fuori posto e = somma delle distanze di Manhattan delle tessere dalla loro posizione finale. Ogni mossa sposta una tessera di una casella, quindi servono almeno e almeno mosse: entrambe ammissibili, con ( domina ed espande meno nodi). Si ottengono dal costo esatto di un problema rilassato (con meno vincoli).
Controesempio: euristica non ammissibile. Grafo con (costo 1), (1), (1), (3): il cammino ottimo è con costo . Se (il costo reale da è : sovrastima), , : dopo aver espanso si ha e ; A∗ espande e arriva a con , restituendo il cammino di costo , non ottimo. Con (ammissibile) e trova di costo (verificato con un programma).
Compromesso. Un'euristica che sovrastima può espandere meno nodi (come A∗ pesato) ma perde l'ottimalità; un'euristica ammissibile ma debole (per esempio , che dà Dijkstra) garantisce l'ottimo ma espande molti nodi.
Errori tipici nella risposta: dire "stima esattamente" (è un limite inferiore); confondere ammissibile con consistente; non dare un esempio o dare un'euristica che sovrastima (per esempio il doppio della distanza in linea retta).
Versione ripasso
- Ammissibile: , non sovrastima mai il costo reale; ottimista. Consistente: , implica l'ammissibilità.
- Perché: con ammissibile A∗ ad albero è ottimo: all'estrazione di , per i nodi sul cammino ottimo.
- Esempi: linea retta in Romania (Arad: ); 8-puzzle, tessere fuori posto e Manhattan (problema rilassato).
- Controesempio: (1+1), (1+3); fa scegliere di costo invece di .
Errori tipici: "stima esatta"; ammissibile uguale a consistente; esempio che sovrastima.