1 / 13

Algoritmi online

Algoritmi online. Maria Simi, a.a. 2007/08. Problemi di esplorazione. Gli agenti per il problem-solving assumono: ambienti deterministici e osservabili il piano generato può essere generato offline e eseguito senza imprevisti Che cosa succede se rilasciamo queste assunzioni?

arvin
Download Presentation

Algoritmi online

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmi online Maria Simi, a.a. 2007/08

  2. Problemi di esplorazione • Gli agenti per il problem-solving assumono: • ambienti deterministici e osservabili • il piano generato può essere generato offline e eseguito senza imprevisti • Che cosa succede se rilasciamo queste assunzioni? • Solo lo stato corrente è osservabile, non si conosce l’effetto delle azioni e il loro costo • Gli stati futuri e le azioni che saranno possibili non sono conosciute a priori

  3. Algoritmi online • Si devono compiere azioni esplorative • Si alternano pianificazione e azione • Cosa conosce un agente online … • Le azioni legali nello stato attuale • Il costo della mossa c(s1, a, s2) ma dopo averla eseguita • Goal-test(s) • La stima della distanza: dal goal: h(s)

  4. Esempio: Teseo con mappa e senza • Con mappa • applicabili tutti gli algoritmi di pianificazione visti • Senza mappa • l'agente non può pianificare può solo esplorare nel modo più razionale possibile • Ricerca online

  5. Assunzione ulteriore • Ambienti esplorabili in maniera sicura • Non esistono azioni irreversibili • Diversamente non si può garantire una soluzione

  6. Ricerca in profondità online • Gli agenti online ad ogni passo decidono l'azione da fare (non il piano) e la eseguono. • Ricerca in profondità online • Un metodo locale • Il backtracking significa tornare sui propri passi • È necessario ricordarsi ciò che si è scoperto • Esplorazione sistematica delle alternative

  7. T T T T T T T T T Esempio 1 2 3 4 • Nota: aggiunta di un violo cieco per mostrare backtracking • Sceglie il primo tra (1,1) e (2,2) • In (1, 1) deve tornare indietro 1 2 3 4 T

  8. Algoritmo DF online function Agente-Online-DFS(s) returns an action static: risultato, notexp, notback, s- (stato precedente), a- (ultima azione) if Goal-Test(s) then return stop if s nuovo statothen notexpl[s] AzioniLegali(s) if s- non è null then risultato[a-, s-] s; notback[s] s-; if notexpl[s] vuotothen if notbackl[s] vuotothen return stop elsea azione per tornare in POP(notback[s]) else a POP(notexpl[s]) s- s; return a

  9. Ricerca euristica online • Nella ricerca online si conosce il valore della funzione euristica una volta esplorato lo stato. • Un algoritmo di tipo Best First non funzionerebbe. • Serve un metodo locale • Hill-climbing con random-restart non praticabile • Come sfuggire a minimi locali?

  10. Due soluzioni • Random-walk • si fanno mosse casuali in discesa • Apprendimento Real-Time: • esplorando si aggiustano i valori dell'euristica per renderli più realistici. • H: migliore stima fin qui • Come si valutano i successori: Costo-LRTA*(s, a, s', H) = h(s) se s' indefinito H(s') + costo(s,a,s') altrimenti

  11. (h=4) T (h=3) T (h=1) T (h=2) (h=3) T (h=3) T (h=3) T (h=2) T (h=4) T (h=1) T (h=0) T (h=2) T (h=2) Esempio di Real Time Learning A* (LRTA*) 1 2 3 4 1 2 3 4

  12. LRTA* function Agente-LRTA*(s) returnsan action static: risultato, H, s-, a- if Goal-Test(s) thenreturn stop if s nuovo (non in H)then H[s]  h[s] 1. if s-  null risultato[a-, s-]  s H[s-] min Costo-LRTA*(s-, b, risultato[b, s-], H) 2. aun'azione b tale che minimizza Costo-LRTA*(s, b, risultato[b, s], H) s-  s; return a b  AzioniLegali(s)

  13. Considerazioni su LRTA* • LRTA* cerca di simulare A* con un metodo locale: tiene conto del costo delle mosse come può aggiornando al volo la H • Completo in spazi esplorabili in maniera sicura • Nel caso pessimo visita tutti gli stati due volte ma è mediamente più efficiente della profondità online • Non ottimale, a meno di usare una euristica perfetta (non basta una f=g+h con h ammissibile)

More Related