Generazione di Piani attraverso Grafi di Pianificazione

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

Ricorsione in SQL-99.
Introduzione ai grafi Grafo diretto e non diretto
Programma: main() { istruzioni } ; assegnazione condizione ciclo istruzione: ;
Selezione A. Ferrari.
PROGRAMMARE IN PASCAL (le basi)
STRUTTURE DATI AVANZATE Abstract Data Types Presentazione realizzata da: Mario Capurso – Altamura Michele Doronzo Aldo Lamacchia.
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2005/2006.
Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Strutture dati dinamiche.
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Algoritmi e strutture dati 2/ed 2 Copyright © The McGraw.
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Cammini minimi con sorgente singola
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Reaching Definitions. Tino CortesiTecniche di Analisi di Programmi 2 Reaching definitions Dato un punto del programma, quali sono i comandi di assegnamento.
Il problema del minimo albero ricoprente in un grafo con archi privati.
Esercizi su alberi binari
Esercizi su alberi binari di ricerca
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 10/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Il problema del minimo albero ricoprente in un grafo con archi privati
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Fondamenti di Informatica Algoritmi
Intelligenza Artificiale
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Algoritmi e diagrammi di flusso
Prof. Cerulli – Dott.ssa Gentili
Lezione 6 Strutture di controllo Il condizionale
Algoritmi e Strutture Dati
Usi (meno scontati) della visita DFS
Grafi Rappresentazione mediante liste di adiacenza:
ND-partizione (A) n   A  somma  0 M  1/2 (  a i ) for i  1 to n do S[i]  choice ({true, false}) if S[i] then somma  somma + a i if somma > M then.
Cammini minimi da un sorgente
Usi (meno scontati) della visita DFS. Informazioni utili: tenere il tempo clock=1 pre(v)=clock clock=clock+1 post(v)=clock; clock=clock+1 pre(v): tempo.
Sessione live Testing. Esercizio Quesito 1 Soluzione 1.
Alberi di copertura minimi. Dato un grafo pesato G = (V,E), si richiede di trovare un albero T = (V,E’), E’  E, tale che la somma dei pesi associati.
Usi (meno scontati) della visita DFS lezione basata sul capito 3 del libro Algorithms, di Dasgupta, Papadimitriou, Vazirani, McGraw-Hill.
Si vuole realizzare una classe Java PhotoGallery che rappresenta una galleria di fotografie online. Ogni PhotoGallery ha una url (rappresentata da una.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
4/4/2015E. Giovannetti -- OI09.1 Olimpiadi di Informatica 2010 Giornate preparatorie Dipartimento di Informatica Università di Torino marzo – Un.
Algoritmi online Maria Simi, a.a. 2007/08 Problemi di esplorazione  Gli agenti per il problem-solving assumono:  ambienti deterministici e osservabili.
Informatica 3 V anno.
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Algoritmi e Strutture Dati
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
Olimpiadi di Informatica 2010 Giornate preparatorie
NP completezza. Problemi decisionali I problemi decisionali sono una classe di problemi dove per ogni possibile ingresso un algoritmo deve scegliere una.
1 Capitolo 3: Vincoli a dominio finito. 2 Vincoli a dominio finito u Problemi di soddisfazione di vincoli u Un risolutore con backtracking u Consistenza.
Ricerca locale M. Simi, Algoritmi di ricerca locale  Efficienti in occupazione di memoria: tengono traccia solo dello stato corrente (non.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Normativa di riferimento
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi Agostino Poggi Stefano Cagnoni.
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Master Bioinformatica 2002: Visite di Grafi Algoritmi di visita Scopo: visitare tutti i vertici di un grafo per scoprirne proprietà di vario tipo. Alcune.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Algoritmi e Strutture Dati
Ricerca locale Maria Simi Assunzioni sui problemi  Gli algoritmi visti esplorano gli spazi di ricerca alla ricerca di un goal e restituiscono.
Algoritmi e Strutture Dati Luciano Gualà
13. Strutture dati dinamiche Ing. Simona Colucci Informatica - CDL in Ingegneria Industriale- A.A
Transcript della presentazione:

Generazione di Piani attraverso Grafi di Pianificazione Università degli Studi di Brescia Facoltà di ingegneria Dipartimento di Elettronica per l’Automazione Generazione di Piani attraverso Grafi di Pianificazione

Generazione di Piani Input: Fatti Iniziali I Goal G Operatori O Pianificazione Indipendente dal Dominio Generazione di Piani Input: Fatti Iniziali I Goal G Operatori O Output: insieme di azioni che, eseguite secondo certi vincoli di ordinamento, trasformano I in G Adattamento di Piani Modificare un piano precedentemente generato 0 per risolvere un nuovo problema. Input: I + G + O + 0

— Effetti condizionali i  i, i Operatori Strips Nome Lista Parametri Precondizioni 0 Effetti: Effetti Additivi 0 Effetti Cancellanti 0 — Effetti condizionali i  i, i Azione: Operatore completamente istanziato

costruzione planning graph G ricerca di un particolare sottografo di G Planning graph [Blum & Furst ‘95] Grafo diretto aciclico a livelli Rende espliciti numerosi vincoli quali relazioni di mutua esclusione tra coppie di azioni e di fatti. Generazione di piani = costruzione planning graph G + ricerca di un particolare sottografo di G Le attuali tecniche su planning graph utilizzano metodi di ricerca sistematici

Planning graph Grafo aciclico diretto a livelli Livello: corrisponde ad un istante temporale ed è costituito da (sotto)livello dei fatti (NF(t)) e (sotto)livello delle azioni (NA(t)) (dove t indica l’istante temporale preso in considerazione). Nodi: fact-nodes  associati a proposizioni action nodes  associati ad azioni Archi: connettono action-nodes alle precondizione ed effetti Archi precondizione Archi Additivi Archi Cancellanti

Esempio di Planning Graph Fatti che possono essere veri al t=1 Azioni possibili al tempo 1 Goal Fatti iniziali Azioni possibili al tempo 0

RELAZIONI DI MUTUA ESCLUSIONE: tra coppie di azioni (non possono essere pianificate allo stesso livello) tra coppie di proposizioni (non possono essere vere allo stesso livello) Due azioni a1 e a2 sono mutuamente esclusive se: Interferiscono, cioè una cancella una precondizione o effetto additivo dell’altra Esigenze contrastanti,  f10(a1) e f20(a2) che sono mutuamente esclusivi Due fatti sono mutuamente esclusivi se  coppia di azioni non mutuamente esclusive che possa renderli veri allo stesso istante temporale

RELAZIONI DI MUTUA ESCLUSIONE: (fatti m.e.) (azioni m.e.) (azioni m.e.) (azioni m.e.)

Planning graph Action Subgraph A è un sottografo del Planning Graph tale che se un nodo azione a A allora: tutti i nodi/archi precondizione di a appartengono ad A tutti nodi di effetti additivi e gli archi additivi di a sono in A Solution Subgraph S è un action subgraph tale che: tutti i nodi goal sono supportati ogni nodo-precondizione di ogni nodo azione è supportato non esistono copie di nodi azione mutuamente esclusivi Un fact-node q al livello i in S è supportato se al livello i-1 di S esiste un nodo azione connesso a q da un arco additivo, o q è un fact-node del livello iniziale (i=0).

Esempio di Action Subgraph

Planning graph I livelli di un Planning Graph crescono monotonamente: se la proposizione “f  livello t ’’ “f  livello t +1’’ se p e q non sono M.E. al livello t non lo saranno al livello t+1 Il TEMPO e lo SPAZIO necessari per costruire un Planning Graph sono polinomiali rispetto ai parametri di ingresso Un planning graph è stabilizzato al tempo t se |NF(t)|= |NF(t+1)| Un probl. di pianificazione non ha soluzione se il suo planning graph è stabilizzato al livello t1 e: un goal gNF(t1), oppure 2 goal sono mutuamente esclusivi in NF(t1)

Costruzione del Planning graph t=0; NF(0)= Fatti iniziali; NA(0)=  Repeat Aggiungi a NA(t) tutte le azioni le cui precondizioni appartengono a NF(t) e non sono mutuamente esclusive; Aggiungi a NA(t) un’azione no-op per ogni fatto di NF(t); Aggiungi a NF(t+1) tutti gli effetti additivi delle azioni di NA(t); Determina e memorizza quali azioni di NA(t) sono mutuamente esclusive; Determina e memorizza quali fatti di NF(t+1) sono mutuamente esclusivi; t := t+1; Until (A) NF(t+1) contiene tutti i goal e questi non sono M.E; oppure (B) il grafo è stabilizzato if (A) then avvia la ricerca al livello t; else (B) return FAIL;

Fase di ricerca (searchplan) Input: Insieme di sottogoal goal, livello corrente t; Output: TRUE se esiste insieme di azioni che realizzano goal, FALSE altrimenti if (t=0) then return TRUE; if (goal è stato “memoizzato”) return FALSE; Scegli un insieme A di azioni non M.E. che supportano goal (PUNTO DI BACKTRACKING) subgoals:=precondizioni delle azioni in A; if (Searchplan(subgoals, t-1)=TRUE) return TRUE; “Memoizzazione” di goal al livello t; return FALSE

Miglioramento tecnica di ricerca Memoizzazione di subgoals Memorizzo i fatti in subgoals al livello t in una hash table H. Se la ricerca genera un insieme di subgoals “che sono in H”, allora restituisce FAIL; Test di terminazione Se il grafo è stabilizzato e la tecnica di ricerca non individua nuovi sottogoals non raggiungibili allora Graphplan dichiara “No Plan Exists”

Algoritmo Graphplan Input: problema di pianificazione I, G, O Output: un piano se il problema ammette soluzione FALSE altrimenti Costruzione Planning Graph G t=livello finale di G While( Searchplan(G, t)=FALSE) espansione planning graph (fasi 16) if (“test di terminazione”=TRUE) return FALSE; t:=t+1; Return l’insieme di azioni selezionate ad ogni livello di G da Searchplan;

Risultati sperimentali (dominio Rocket)