Salta al contenuto
Note per Studenti Esercizio - Euristiche ammissibili (esempio d'esame 2)

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 h(n)h(n) stima il costo del cammino più economico da un nodo nn a un obiettivo. È ammissibile se non sovrastima mai il costo reale: per ogni nodo nn, 0≤h(n)≤h∗(n),0\le h(n)\le h^\ast(n), dove h∗(n)h^\ast(n) è il costo del cammino ottimo da nn all'obiettivo (e h(G)=0h(G)=0 se GG è un obiettivo). È un'euristica ottimista: dice che manca al massimo quanto manca davvero.

Perché serve. L'algoritmo A∗ espande il nodo con il minimo f(n)=g(n)+h(n)f(n)=g(n)+h(n). Se hh è ammissibile, A∗ (nella versione ad albero) restituisce una soluzione ottima. Idea della prova: quando A∗ estrae un obiettivo con costo CC, ogni nodo nn sulla frontiera lungo un cammino ottimo ha f(n)=g(n)+h(n)≤g(n)+h∗(n)=C∗f(n)=g(n)+h(n)\le g(n)+h^\ast(n)=C^\ast, e per la scelta del minimo C≤f(n)≤C∗C\le f(n)\le C^\ast, quindi C=C∗C=C^\ast. Per la versione su grafo con tabella dei nodi raggiunti serve una proprietà più forte, la consistenza: h(n)≤c(n,a,n′)+h(n′)h(n)\le c(n,a,n')+h(n'), 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 h=366h=366, mentre il cammino ottimo Arad, Sibiu, Rimnicu Vilcea, Pitesti, Bucarest costa 140+80+97+101=418140+80+97+101=418: 366≤418366\le418.
  • 8-puzzle: h1h_1 = numero di tessere fuori posto e h2h_2 = somma delle distanze di Manhattan delle tessere dalla loro posizione finale. Ogni mossa sposta una tessera di una casella, quindi servono almeno h1h_1 e almeno h2h_2 mosse: entrambe ammissibili, con h2≥h1h_2\ge h_1 (h2h_2 domina h1h_1 ed espande meno nodi). Si ottengono dal costo esatto di un problema rilassato (con meno vincoli).

Controesempio: euristica non ammissibile. Grafo con S→AS\to A (costo 1), A→GA\to G (1), S→BS\to B (1), B→GB\to G (3): il cammino ottimo è S,A,GS,A,G con costo 22. Se h(A)=10h(A)=10 (il costo reale da AA è 11: sovrastima), h(B)=3h(B)=3, h(S)=0h(S)=0: dopo aver espanso SS si ha f(A)=1+10=11f(A)=1+10=11 e f(B)=1+3=4f(B)=1+3=4; A∗ espande BB e arriva a GG con f=4f=4, restituendo il cammino S,B,GS,B,G di costo 44, non ottimo. Con h(A)=1h(A)=1 (ammissibile) f(A)=2f(A)=2 e trova S,A,GS,A,G di costo 22 (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 h=0h=0, 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

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 →.

  • Ammissibile: 0≤h(n)≤h∗(n)0\le h(n)\le h^\ast(n), non sovrastima mai il costo reale; ottimista. Consistente: h(n)≤c(n,a,n′)+h(n′)h(n)\le c(n,a,n')+h(n'), implica l'ammissibilità.
  • Perché: con hh ammissibile A∗ ad albero è ottimo: all'estrazione di GG, C≤f(n)≤C∗C\le f(n)\le C^\ast per i nodi sul cammino ottimo.
  • Esempi: linea retta in Romania (Arad: 366≤418366\le418); 8-puzzle, tessere fuori posto h1h_1 e Manhattan h2≥h1h_2\ge h_1 (problema rilassato).
  • Controesempio: S→A→GS\to A\to G (1+1), S→B→GS\to B\to G (1+3); h(A)=10h(A)=10 fa scegliere S,B,GS,B,G di costo 44 invece di 22.

Errori tipici: "stima esatta"; ammissibile uguale a consistente; esempio che sovrastima.

Teoria collegata