La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Problemi di Vincoli Temporali Luca Chittaro and Angelo Montanari. ``Temporal Representation and Reasoning in Artificial Intelligence: Issues and Approaches.''

Presentazioni simili


Presentazione sul tema: "Problemi di Vincoli Temporali Luca Chittaro and Angelo Montanari. ``Temporal Representation and Reasoning in Artificial Intelligence: Issues and Approaches.''"— Transcript della presentazione:

1 Problemi di Vincoli Temporali Luca Chittaro and Angelo Montanari. ``Temporal Representation and Reasoning in Artificial Intelligence: Issues and Approaches.'' Annals of Mathematics and Artificial Intelligence, 28, 2000. Sezione 3

2 Problemi di vincoli temporali Qualitativi Variabili relazioni tra entita temporali Domini insiemi di relazioni possibili Vincoli restringono linsieme delle relazioni permesse Esempio: Algebra degli Intervalli di Allen Variabile relazione tra due intrevalli I 1 e I 2 Dominio 13 relazioni permesse {before, meets, ….} Vincolo unario dice quale delle 13 relazioni possibili sono ammesse tra I 1 e I 2

3 Problemi di vincoli temporali Quantitativi (ma anche usato per Qualitativi) Variabili eventi temporali Domini valori temporali, retta temporale, le 24 ore Vincoli Unari: restringono linisieme degli istanti in cui levento puo accadere Binari: restringono le durate o gli intervalli temporali tra due eventi Esempio: Simple Temporal Poblems (Dechter et al.): Variabile evento (esempio: quando inizia pranzo, arrivo a casa) Dominio valori temporali (esempio: Ore, minuti, secondi) Vincolo unario dice quando e ammissibile che levento accada, binario quanto tempo tra due eventi

4 Risolvere problemi temporali Dipende a quale domanda si vuole rispondere Soddisfacibilita (ISAT, da Interval Satisfiability): esiste un modo di assegnare valori a tutte le variabili in modo che tutti i vincoli siano soddisfatti? Decisionale: dire se esiste un tale assegamento SI/NO Costruttiva: dire se e siste e se si esibirne uno Rete minima (MLP, Minimum Labeling Problem): determinare la piu stretta relazione indotta Trovare tutte le soluzioni (ASP, All Solutions Problem) Trovare tutte le collocazioni temporali che soddisfano un dato assegnamento

5 Algebra degli Intervalli o di Allen 1. Allen J. F. Maintaining knowledge about temporal intervals. Comm. of ACM 26, 832-843 2. Marc Vilain, Henry Kautz, and Peter van Beek. Constraint propagation algorithms for temporal reasoning: A revised report. In Readings in Qualitative Reasoning about Physical Systems, Daniel S. Weld and Johan de Kleer (eds.), Morgan-Kaufman, 373-381, 1989 3. Peter van Beek and Dennis W. Manchak. The design and experimental analysis of algorithms for temporal reasoning. Journal of Artificial Intelligence Research 4:1-18, 1996. 4. Fast Algebraic Methods for Interval Constraint Problems Peter Ladkin and Alexander Reinefeld Invited Paper for Annals of Mathematics and Artificial Intelligence 19:383- 411, 1997. TUTTI DISPONIBILI SUL SITO DEL CORSO

6 13 realzioni di base tra intervalli AB A precedes B B after A A meets B B met-by A AB A B A overlaps B B overlapped-by A A starts B B started-by A A during B B contains A A finishes B B finished-by A A equals B A B B A B AB A

7 Esempi ColazionePranzo Bob ha pranza dopo colazione Ho corretto il compito di Tizio Subito dopo quello di Caio Correzione C Viaggio Film Il film e cominciato prima del mio arrivo I due treni partono alla stessa ora Ho cenato guardando il film Siamo arrivati a casa alla Stessa ora Le due sessioni Sono in concomitanza Viaggio treno 2 Viaggio treno1 Film Cena Ritorno a casa di A Session B Session A Correzione T Ritorno a casa di B

8 Vincoli qualitativi su intervalli Variabili intervalli Vincoli sottoinsiemi dellinsieme delle 13 relazioni base (vettori) Quanti possibili vincoli diversi? 2 13 Esempio: Questa mattina John ha iniziato a leggere larticolo prima di colazione e ha finito di leggerlo prima di finire il caffe IC IA ?? Relazione tra intrevalli IAIA ICIC (precedes, meets, overlaps) Vincolo temporale

9 Interpretazione dei vincoli di Allen Le relazioni contenute nel sottoinsieme (vettore) caratterizzante un vincolo sono da interpretarsi come una disgiunzione Esprimere A prima o dopo B e possibile NON e possibile esprimere: A prima di B oppure A dopo C Espressivita comunque sufficiente in molti casi IAIA ICIC (precedes, meets, overlaps) La lettura dellarticolo e terminata prima O contemporaneamente O dopo linizio della colazione

10 Operazioni su vincoli temporali di Allen Inversione rovesciare la relazione Dati due vincoli inferire un altro vincolo, il piu lasco compatibile con i vincoli dati Intersezione Composizione

11 Inversione di un vincolo temporale I1I2I1I2I1I2I1I2I1I2I1I2I1I2I1I2I1I2I1I2I1I2I1I2I1I2I1I2 precedes after meetsmet by overlaps overlapped by starts started by during contains finishesfinished-by equals I1I1 I2I2 (x,y,z) I1I1 I2I2 (x -1, y -1, z -1 ) -1 =inversione I1I1 I2I2 (precedes, meets, overlaps) I1I1 I2I2 (after, met-by, overlapped-by) Esempio:

12 Intersezione di due vincoli Dati due vincoli definiti sugli stessi intervalli I1 e I2 con vettori di relazioni v e v, lintersezione e un vincolo su I1 e I2 con vettore di relazione v v Esempio: I1I1 I2I2 (precedes, meets, overlaps) I1I1 I2I2 (overlaps, starts, during) intersezione I1I1 I2I2 (overlaps) V V v

13 Composizione di due vincoli * Dati due vincoli, primo definito sugli intervalli I1 e I2 con vettore di relazioni v e secondo definito si I2 e I3 con vettore di relazione v La composizione e un vincolo su I1 e I3 con vettore v rappresentante il piu grande sottoinsieme di relazioni compatibili per transitivita con v e v

14 Esempi I2 I1 and I3I2I1 I2I3 I1I2 pp composizione I1I3 p I2I3 I1I2 of composizione I1I3 d,s,o I2 I3 I2 I1 I3 I2 I1 I3 I2 I1 I3 I2 and Posso dover invertire prima di applicare la composizione, ad esempio se mi viene dato il vincolo I3 I2 I3I2

15 Tabella di Allen Tutte le possibili composizioni delle 13 relazioni di base sono contenute nella cosidetta Tabella di Allen. Vedi articolo: J. F. Allen, Maintaning Knowledge about Temporal intervals, 1983.

16 Path consistency Operazione triangolare I1 I2 I3 r 12 r 23 r 13 r ij = vettore relazioni ammesse tra I i e I j r 12 * r 23 = r 13, il piu grande insieme di relazioni tra I 1 e I 3 consistente per transitivita con r 12 e r 23. r 13 e un vincolo indotto da r 12 e r 23 su I 1 e I 3 e, dunque, deve essere soddisfatto I1 I2 I3 r 12 r 23 r 13 Ci puo essere anche un altro vincolo tra I 1 e I 3 : r 13. r 13 e r 13 devono valere entrambi deve valere r 13 =r 13 r 13 I1 I2 I3 r 12 r 23 r 13 r 13 (r 12 * r 23 )

17 Path consistency Operazione triangolare I1 I2 I3 r 12 r 23 r 13 r ij = vettore relazioni ammesse tra I i e I j r 12 * r 23 = r 13, il piu grande insieme di relazioni tra I 1 e I 3 consistente per transitivita con r 12 e r 23. r 13 e un vincolo indotto da r 12 e r 23 su I 1 e I 3 e, dunque, deve essere soddisfatto I1 I2 I3 r 12 r 23 r 13 Ci puo essere anche un altro vincolo tra I 1 e I 3 : r 13. r 13 e r 13 devono valere entrambi deve valere r 13 =r 13 r 13 I1 I2 I3 r 12 r 23 r 13 r 13= r 13 (r 12 * r 23 )

18 Esempi di operazione triangolare I1 I2 I3 p,m p=(p,p -1 ) p I1 I2 I3 p,m p,p -1 I1 I2 I3 p,m p,p-1 p=(p,m)*(p,m) p*p=p p*m=m*p=p m*m=p I1 I2 I3 o,mp,m I1 I2 I3 o -1,m -1 p,m 1 tutte ammesse I1 I2 I3 p,m (e,p,m,o,s,d -1,f -1,s -1 ) =(o -1,m -1 )*(p,m) 1 I1 I2 I3 p,m (e,p,m,o,s, d -1,f -1,s -1 ) o -1,m -1

19 Operazione triangolare (2) Def1: Una operazione triangolare e stabile se applicandola il risultato non cambia, cioe se r 13 r 12 *r 23 Def2:Una rete di vincoli temporali e path consistent (oppure equiv. 3-consistent) se le tutte le possibili operazioni triangolari sui vincoli sono stabili Notare che: per ogni triangolo di vincoli si hanno 3 operazioni triangolari per ogni vincolo vi sono n-1 possibili operazioni triangolari, dove n e il numero delle varibili

20 Algoritmo di path consistency Allen83 Ho una rete di vincoli path consistent, aggiungo un nuovo vincolo come rispristinare path consistency con il nuovo vincolo. 1.ADD(inputs: PC Allen Network N, nuovo vincolo r ij ) 2.Coda Q r ij 3.While Q Ø do 4.r ij Pop(Q) 5.n ij r ij //si assume che prima non ci fosse un vincolo su i e j 6.For every node k 7. r kj n kj (n ki *r ij ) 8.If (r kj = Ø) then STOP inconsistenza 9.If (r kj n kj ) Push(r kj,Q) 10. r ik n ik (r ij *n jk ) 11.If (r kj = Ø) then STOP inconsistenza 12. If (r ik n ik ) Push(r ik, Q)

21 Complessita di ADD Tempo : Stima grossolana (Allen 83): Ogni vincolo ha al massimo 13 relazioni Nel caso pessimo puo essere modificato 13 volte (ogni volta tolgo una sola relazione) Ci sono O(n 2 ) vincoli binari se ho n intervalli In totale: O(13 n 2 ) Stima piu fine (Vilain&Kautz 89) Ogni volta che considero un vincolo estratto dalla coda (righe 6-10) per ogni altro intervallo k (e ce ne sono n-2) vengono fatte 2 composizioni e due intersezioni. Assumendo costo intersezione e composizione costante O(1), si ha O(n). Ragionevole, perche ogni vettore di relazioni puo essere rappresentato con un vettore di 13 bool, lintersezione come AND di due vettori. La complessita della composizione invece e O(|r ik | x|r kj |), ma |r ij | e O(13). Quindi si hanno O(13 n 2 ) estrazioni dalla coda ciascuna di costo O(n) In totale O(13 n 3 ) Spazio : O(kn 2 ), k e lo spazio costante occupato da un vettore di relazioni

22 Correttezza di ADD rispetto a ISAT TH: Se durante lesecuzione di ADD viene trovata una inconsistenza, allora Nrij non ha soluzione. DIM: Un vettore di relazioni puo diventare vuoto perche alla riga 7 o alla riga 10 loperazione triangolare ha dato linsieme vuoto. Considero il primo vincolo per cui cio accade, e.g. n kj. Deve essere che lintersezione delloperazione triangolare ha dato linsieme vuoto. Questo accade sse solo non vi e alcun modo di assegnare gli intevalli i e j in modo tale che il vincolo n kj, e il vincolo indotto, r kj, siano soddisfatti. Quindi la rete non ha soluzione. 1. ADD(inputs: Allen Network N, nuovo vincolo r ij ) 2. Coda Q r ij 3. While Q Ø do 4. r ij Pop(Q) 5. n ij r ij 6. For every node k 7. r kj n kj n ki *r ij 8. If r k j= Ø then stop 9. If (r kj n kj ) Push(r kj,Q) 10. r ik n ik r ij *n jk 11. If r ik = Ø then stop 12. If (r ik n ik ) Push(r ik, Q) Ik Ii Ij n ki r ij n kj r kj

23 Incompletezza di ADD rispetto a ISAT Se ADD non trova inconsistenze NON e detto che la rete abbia soluzioni Esempio: Rete path consistent ma senza soluzioni I1 I2 I3 I4 o d d -1 s m f f -1

24 Complessita di ISAT per problemi di vincoli di Allen(1) Teorema: Determinare la soddisfacibilita di un insieme di vincoli temporali nel formalismo di Allen e NP-hard Prova: Riduzione di 3 SAT problema temporale di Allen Mapping polinomiale di una 3-SAT formula (A v B v C)^…^(X v Y v Z) in un problema temporale Servono 3 gruppi di intervalli: 1. Intervalli corrispondenti a letterali: 1. letterale P intervallo P 2. negazione di un letterale ¬P intervallo notP 3. Mutua esclusione (P vero implica ¬P falso) intervallo PXnotP 2. Intervalli corrispondenti a clausole 1. clausola (P v Q v R) intervallo PorQorR, tre intervalli segnaposto per I letterali forP, forQ e forR 3. Intervallo ausiliario MIDDLE, gli intervalli che precedono MIDDLE corrispondono a termini falsi quelli dopo a termini veri

25 Complessita di ISAT per problemi di vincoli di Allen(2) Seguenti vincoli Mutua esclusione MiDDLE (during) PXnotP P (meets,met-by) PXnotP notP (meets,met-by) PXnotP P (precedes,after) notP Letterali e loro segnaposto forP (contains) P forQ (contains) Q forR (contains) R Segnaposto o veri o falsi forP(precedes,after) MIDDLE forQ(precedes,after) MIDDLE forR(precedes,after) MIDDLE Al piu 2 falsi in una clausola forP(meets,starts,after) PorQorR forQ(meets,starts,after) PorQorR forR(meets,starts,after) PorQorR PorQorR (contains) MIDDLE forP(precedes,after,meets,met-by) forQ forQ(precedes,after,meets,met-by) forR forR(precedes,after,meets,met-by) forP La formula e soddisfacibile se il corrispondente problema ha soluzione. Polinomiale nella lunghezza della formula.

26 Complessita di ISAT per problemi di vincoli di Allen(2) Teorema: Determinare la soddisfacibilita di un insieme di vincoli temporali nel formalismo di Allen e NP-completo. PROVA: E NP-hard (Th. Precedente). Basta dimostrare che e in NP (cioe risolvibile da una Touring machine non deterministica in tempo polinomiale). Infatti, dato un assegnamento a tutti gli intervalli, testare se e una soluzione e O(n 2 ).

27 Equivalenza di ISAT e MLP TH: Determinare la soddisfacibilita (ISAT) e determinare la rete minima (MLP) di problemi temporali di Allen sono problemi equivalenti. PROVA: Da ognuno esiste una mappatura polinomiale allaltro 1. ISAT MLP. Assumiamo un oracolo che dato un problema di Allen dice se e consistente o no. Per ogni vincolo (O(n 2 )) chiediamo alloracolo se la rete in cui quel vincolo e sostituito con una sola delle sue relazioni ammesse e consistente (O(13)). 2. MLP ISAT. Assumiamo di avere un algoritmo che calcoli la rete minima. Perche il problema sia soddisfacibile e sufficiente controllare che nessun vincolo non ammetta nessuna relazione (O(n 2 )).

28 Algoritmo ISAT: path-consistency+backtracking Input:Allen Temporal problem Preporcessing:Path consistency Path-consistent? Intelligent backtracking Consistent? Post-processing: Solution determination no yes STOP Output: labeling atomico Output: assegnamento degli intervalli

29 Intelligent backtracking 1. Int-back(matrice vincoli M, i,j interi) 2. M M //salvo M 3. for (ogni relazione l k in M ij ) do 4. M ij l k 5. if (Path-consistency(M)=true) then 6. if (M ij last edge or Int-back(M,next_i,next_j)) 7. return true 8. M M; //backtrack 9. endfor 10. return false 11. End;

30 Esempio I1 I2 I3 I4 o,m p,m p,p -1 o,p,m Simulando Int-back(M,1,2) dove M: …viene I1 I2 I3 I4 m p p p p p

31 Implementazione: Path-consistency (1) Vincolo: vettore di 13 bool (2 bytes) Problema di vincoli: matrice di vettori Implementazione della coda: non si implementa la coda ma si aggiunge un bit ad ogni elemento della matrice che indica se il vincolo corrisp. deve essere riconsiderato

32 Implementazione: Path-consistency(2) Operazione triangolare: Intersezione: AND dei due vettori Composizione: Metodo di Allen: In memoria Tabella 13x13 composizione relazioni atomiche Ogni composizione nel caso pessimo devo 13x13 lookups Allen + Hashing Viene mantenuta una hash table con tutte le composizioni calcolate in precedenza Metodo di Ladkin In memoria triangolare superiore tabella 2 13 x2 13 con tutte le possibili combinazioni (lelemento simmetrico si ottiene scambiando tutti bit perche linversione si coniuga con la composizione) ~64MB Ogni composizione un solo lookup (+ una inversione)

33 Implementazione: Path-consistency (3) …continua composizione Metodo di Hogge Quattro tabelle in memoria T1 2 7 x2 7 (bit 1-7 m ij, bit 1-7 m jk ) T2 2 7 x2 6 (bit 1-7 m ij, bit 8-13 m jk ) T3 2 6 x2 7 (bit 8-13 m ij, bit 1-7 m jk ) T4 2 6 x2 6 (bit 8-13 m ij, bit 8-13 m jk ) Ogni composizione 4 accessi + unione dei quattro vettori Memoria necessaria (16KB+8KB+8KB+4KB)=72KB Variante di Hogge Due tabelle in memoria: T1 2 13 x2 7 (composizione con le 7 relazioni di ordine piu basso) T2 2 13 x2 6 (composizione con le 6 relazioni di ordine piu alto) Ogni composizione 2 accessi + unione 2 vettori Memoria necessaria: 1 MB

34 Implementazione: Path-consistency (4) Se r ij = 1 (tutte le relazioni ammesse) allora non metterlo nella coda. Riga 2. se (p r ki & p -1 r ij ) or (p -1 r ki & p r ij ) or (d r ki & d -1 r ij ) allora r ki *r ij =1. Simile per riga 10. Controllo r kj n kj durante il calcolo di n ki *r ij. Simile r ik n ik 1.ADD(inputs: Allen Network N, nuovo vincolo r ij ) 2.Coda Q r ij 3.While Q Ø do 4. r ij Pop(Q) 5. n ij r ij 6. for every node k 7. r kj n kj (n ki *r ij ) 8. if (r ij = Ø ) then STOP 9. if (r kj n kj ) Push(r kj,Q) 10. r ik n ik (r ij *n jk ) 11. if (r ik = Ø ) then STOP 12. if (r ik n ik ) Push(r ik, Q)

35 Implementazione: Path-consistency (5) Euristiche di ordinamento dei vincoli: Peso: Ad ogni vincolo, rij, associo un peso, wij, che piu e basso e piu stringente e la composizione del vincolo con altri vincoli Il peso di un vincolo e la somma dei pesi delle sue relazioni atomiche. Tali pesi sono ottenuti componendo ogni relazione atomica con ogni possibile vincolo e facendo la media delle cardinalita ottenute. Processo I vincoli in ordine crescente di peso Cardinalita: come sopra ma con peso di tutte le relazioni atomiche =1 Potere di propagazione: di un vincolo rij, prop(r ij )=Σw ki + Σw jk, kn, k i,j. relpp -1 mm -1 oo -1 ss -1 d ff -1 e w3322442243221

36 Implementazione: Search con bktk (1) Euristiche per ordinare i vincoli durante la ricerca (calcolo di next_i e next_j in Int- back) Ignorare vincoli atomici: non restringono lo spazio di ricerca Prima vincoli con luguaglianza se e M ij, allora M ij e, kn M ik M ik M jk M jk M jk M ik se {e}=M ij, togliere o le i-sime o le j-sime riga e colonna

37 Implementazione: Search con bktk (2) Euristiche per scegliere le relazioni in un vincolo: Prima quelle con composizione piu stretta: e.g. equals, meets, starts, e finishes e loro inversi Generare una statistica delle composizioni che portano piu propagazione per path consistency

38 Algebra dei Punti 1. P. Van Beek Reasoning about Qualitative Temporal Information. J. of AI, 58:297- 326, 1992 2. P. Van Beek and R. Cohen. Exact and Approximate Reasoning about Temporal Relations. Computational Intelligence 6, 132-144,1990

39 Motivazione Risolvere IA e un problema difficile Soluzioni: Sviluppare algoritmi esponenziali ma efficienti in pratica Individuare dei frammenti di IA trattabili Intervallo evento Estremo inferiore inizio evento Estremo superiore fine evento Lunghezza intervallo durata Per un agente che osserva gli eventi, possono essere noti i tempi di inizio (e le loro relazioni) ma vi puo essere inceretezza sui punti finali (e sulle loro relazioni) La parte di IA che modella questa situazione e equivalente ad una algebra che considera solo i punti e non gli intervalli Point Algebra (PA)

40 Poblemi temporali basati sullAlgebra dei Punti Variabili time points, eventi temporali di durata istantanea Dominio retta reale Vincoli binari e esprimono quali relazioni sono ammesse tra due time points P1 e P2 3 relazioni atomiche: 2 3 relazioni: ( ), ( ), ( ), ( ), () P1P2 (<,=) P2 P1

41 Esempio Fred ha messo giu il giornale e ha bevuto lultimo sorso di caffe PsPs PePe CsCs CeCe < < < < Una soluzione PsPs PePe CeCe CsCs

42 Inversione di un vincolo temporale con punti P1P2P1P2P1P2P1P2P1P2P1P2P1P2P1P2P1P2 < >< = = P1P2 P1P1 P2P2 (x,y,z) P1P1 P2P2 (x -1, y -1, z -1 ) -1 =inversione >

43 Intersezione di vincoli a punti Intersezione: Dati due vincoli definiti sugli stessi punti P1 e P2 con vettori di relazioni v e v, lintersezione e un vincolo su P1 e P2 con vettore di relazione v v < > = 1 <<<000<< < 0==< >00>>0>> 0=> => =0=0==0= <<>>0 1< > = 1 P1P2 P1P2 P1P2 >

44 Composione di vincoli a punti Composizione:Dati due vincoli, primo definito sui punti P1 e P2 con vettore di relazioni v e secondo definito si P2 e P3 con vettore di relazione v La composizione e un vincolo su P1 e P3 con vettore v rappresentante il piu grande sottoinsieme di relazioni compatibili per transitivita con v e v * <>= 1 <<<11<11 < 11 11 >11>>>11 11> 11 =< > = 1 1111 11 11111111 P1P2 P2P3 * P1P3 1

45 SA: il frammento di IA corrispondente a PA SA IA e un sottoinsieme di relazioni cosi definito: Data r hk IA, r hk SA sse la relazione I h r hk I k e equivalente ad una congiunzione di relazioni in PA tra i punti iniziali e finali di I h e I k (I h -,I h +, I k -,I k + ).

46 Esempi di relazioni in SA I1 (p,m,o) I2 SA, I 1 (p,p -1 ) I2 SA, I1I1 I-1I-1 I+1I+1 I 2 I-2I-2 I+2I+2 I+1I+1 I+1I+1 I 2 - < I 2 + and I 1 - < I 1 + and I 1 - < I 2 - and I 1 - < I 2 + and I 1 + I 2 - and I 1 + < I 2 + I1I1 I-1I-1 I+1I+1 I 2 I-2I-2 I+2I+2 I1I1 I-1I-1 I+1I+1 I 2 - < I 2 + and I 1 - < I 1 + and I 1 + < I 2 - or I 2 + < I 1 - Non riesco a esprimerlo come congiunzione

47 Path-consistency su SA ADD (cioe applicare path consistency) non risolve il problema della rete minima per SA. Controesempio A D C (d,d -1,o, o -1,m, f, f -1 ) B (p,d,o,f,f -1 ) (p,d,o,s) (e,p,d -1,o,s,s -1,f -1 ) (d,d -1,o, o -1,m, f, f -1 ) (d,d -1,o, o -1,m, f, f -1 ) La rete e gia PC, ma la relazione tra B e A non e minima Perche contiene meets che non e in nessuna soluzione

48 Path-consistency e PA ADD (cioe applicare path consistency) non risolve il problema della rete minima per PA. Infatti so che non lo risolve per SA. Se lo risolvesse per PA allora potrei per ogni rete SA convertirla in PA, applicare path consistency e ritornare alla rappresentazione SA.

49 Algebra dei punti continui PAc Def1: la relazione tra due punti e continua se presi due qualunque assegnamenti che soddisfano la relazione anche tutti i punti temporali tra loro la soddisfano Esempio: A B, dati due assegnamenti ad A, a1 e a2, tali che a1a2 B, anche per ogni a3 t.c. a1a3 a2, si ha che a3B. A B PAc Esempio A B, dati due assegnamenti ad A, a1 e a2, tali che a1 B e a2 B non e detto che per ogni a3 t.c. a1a3 a2 valga a3 B. A B PAc. Graficamente lo spazio degli assegamenti di A non deve avere buchi, continuo B B AB

50 SAc: il frammento di IA corrispondente a PAc e lunica relazione non continua PAc = PA – {r| r {}} Le relazioni continue tra punti sono chiuse rispetto allinversione, intersezione e alla composizione SAc: il sottoinsieme di relazioni di IA che si possono esprimere come congiunzione di relazioni in PAc definite sui punti iniziali e finali degli intervalli e un sottoinsieme si SA SAc e chiuso rispetto allinversione, intersezione e alla composizione PAc e SAc sono due algebre (risp. dei punti e degli intervalli continui)

51 Esempi di relazioni in SA e SAc I1 (p,m,o) I2 SAc, I 1 (p,o) I2 (SA-SAc), I1I1 I-1I-1 I+1I+1 I 2 I-2I-2 I+2I+2 I+1I+1 I+1I+1 I 2 - < I 2 + and I 1 - < I 1 + and I 1 - < I 2 - and I 1 - < I 2 + and I 1 + I 2 - and I 1 + < I 2 + I1I1 I-1I-1 I+1I+1 I 2 I-2I-2 I+2I+2 I1I1 I-1I-1 I+1I+1 Non serve I 2 - < I 2 + and I 1 - < I 1 + and I 1 - < I 2 - and I 1 - < I 2 + and I 1 + I 2 - and I 1 + < I 2 +

52 Riassumendo IA I1 (p,p-1) I2 SA I1 (p,o) I2 I1 (p,m,o) I2 SAc

53 Nozioni di consistenza Consistenza sui nodi (1-consistenza): variabile X, valore w nel dominio di X, (w r xx w) e soddisfatta IA e PA sono sempre consistenti sui nodi visto che per ogni variabile X rxx e la relazione di uguaglianza (e in IA, = in PA) Consistenza sugli archi (2-consistenza): arco X Y (vincolo r xy ), valore w nel dominio di X, esiste un valore u nel dominio di Y tale che (w r xy u) e soddisfatta Ogni assegnamento consistente a una variabile puo essere esteso a un assegnamento consistente a due variabili IA e PA sono sempre consisteni sugli archi Consistenza sui cammini (3-consistenza): per ogni tripla di variabili X, Y, Z, per ogni assegnamento w di X e u di Y che soddisfa (w r xy u), esiste un assegnamento z di Z tale che (w r xz z) e (z r zy u) sono soddisfatte Ogni assegnamento consistente a due variabili puo essere esteso a un assegnamento consistente a tre variabili …k-consistenza: ogni assegnamento consistente a k-1 variabili puo essere esteso ad un assegnamento consistente di k variabili k-consistenza forte: j-consistenza per ogni jk Se una rete N, IA o PA, con n variabili e fortemente n-consistente allora e minima.

54 Path-consistency e SAc (1) ADD (cioe applicare path consistency) risolve il problema della rete minima per SAc Infatti, mostriamo che se N rete temporale SAc path consistent N fortemente k-consistente per ogni 1kn (n=numero variabili) e quindi minima Induzione: k=1 una rete SAc (ma anche IA) e sempre node consistent fortemente 1-consistent k=2 una rete di vincoli SAc (ma anche IA) e sempre node e arc consistent fortemente 2-consistente k=3. N e path consistent (cioe 3-consistent) per ipotesi, e sempre node e arc consistent fortemente 3- consistent

55 Path-consistency e SAc (2) Supponiamo fortemente (k-1)-consistente, mostriamo che pc implica che e anche fortemente (k)-consistente Esiste un modo di instanziare gli intevalli I1,….,Ik-1 in modo tale che I i r ij I j sono soddisfatte per i,j=1,…, k-1. Denotiamo con, i=1,…, k-1 tali assegnamenti. Devo trovare un assegnamento a I k, tale che I i r ik I k sia soddisfatta per i=1,…, k-1 r ik SAc bound sui valori di s k e e k, che corrispondono a insiemi convessi. Per esempio I 1 (p,m) I k induce s 1 <s k, e 1 s k, s 1 <e k, e 1 <e k, s k <e k Lintersezione di tutti questi insiemi convessi contiene gli assegnamenti a s k e e k che soddisfano tutti i bound. Quindi basta mostrare che tale intersezione non e vuota. e1e1 s1s1 e2e2 s2s2 s1s1 e1e1 e2e2 s2s2 Bounds per s k Bounds per e k

56 Path-consistency e SAc (3) Per il teorema di Hellys basta mostare che lintersezione di qualunque insieme di 3 bound non e vuota Caso 1, ognuno dei 3 bound contiene o solo s k o solo e k. Basta mostrare che lintersezione due a due non e vuota. Ma dati 2 dei 3 bound essi corrispondono ad un triangolo e pc che ce un punto in comune Caso 2, 2 bounds definiti solo su s k o e k e il bound s k <e k. Ma s k <e k vale in ogni triangolo e dunque sfrutto ancora path consistency

57 Path-consistency e PAc ADD (cioe applicare path consistency) risolve il problema della rete minima per PAc Infatti so risolvere per SAc, e posso transformare la rete PAc a una SAc equivalente, applicare ADD e ottenere la SAc minima, e poi tornare ad una rete PAc equivalente e dunque anchessa minima.

58 Perche crea problemi e lunica relazione che e in PA ma non in PAc perche non e convessa Cerchiamo di capire perche questo fa in modo che path consistency non sia sufficiente per trovare la rete minima Assegnamento A=a, B=b, C=c e a=b=c a c b bounds su D Lintersezione di 2 bound non e mai vuota (pc) ma lintersezione di tutti e 3 si. La rete e pc ma non minima, = su AC non appartiene a nessuna soluzione A B C D <,= <,=

59 Dalla 3-consistenza alla 4-consistenza path consistency rij rij (rik *rkj) assicura che ogni relazione r che rimane in rij sia consistente in ogni 3-clique (triangolo). Si ottiene componendo archi con un nodo in comune. Idea (van Beek): si compongono triangoli con larco ij in comune e poi si interseca sul lato comune.

60 Composizione di triangoli Pi Pk Pj rik=(..P..) PL rLj=(..T..) r kL =(..R..) r kj (R*T)=(..S..) r iL (P*R)=(..Q..) ikL * kLj ={(P*S)(Q*T)}

61 Esempio: ikL * kLj ={(P*S)(Q*T)} Pi Pk Pj rij=(..P..) PL rLj=(..T..) r kL =(..R..) r kj (R*T)=(..S..) r jL (P*R)=(..Q..) ikL * kLj ={(P*S)(Q*T)} A B C D S(<,=) P :< T:< Q(<,=) R: <,= A B C D <,= Prima Dopo

62 All-to-All Input: temporal IA, PA, SAc, PAc network, indexes i, j Output: Approximation of minimal network 1. Queue Q Related-Paths(i,j) 2. While Q Ø do 3. (i,k,l,j) Pop(Q); 4. t rij ikl*klj 5. if rij t 6. rij t 7. rji t -1 8. Q Related-Paths(i,j) Related-Paths(i,j) return {(k,i,j,l) | 1k<ln, k,l i,j} {(i,j,l,k), (k,l,i,j)| 1k,ln, k l, k,l i,j}

63 Analisi di All-to-All Complessita : O(n 4 ) Se Input e PA oppure SA allora garantisce 4-consistenza forte Se linput e IA allora non garantisce la 4 consistenza Notare che il procedimento si puo estendere a k-consistenza ma per k alti non conviene piu in termini di tempo rispetto a PC+Bktk

64 All-to-All e PA All-to-All risolve il problema della rete minima per PA Partiamo da una rete PA path consistent. Allora e fortemente 3-consistente. Se non e minima vuol dire che esiste k, 4kn, tale che la rete non e k-consistente. Cioe e vero che quando provo a instanziare la k-sima variabile: 1. lintersezione di qualunque 2 bounds non e vuota (pc) 2. lintersezione di tutti i bound e vuota 3. almeno un bound e del tipo Tuttavia lintersezione contiene al piu k-1 buchi, e se e vuota deve essere che intersecando 2 bounds ottengo un unico elemento che e quello escluso da un bound con Isomorfismo con lesempio visto allesempio visto con 4 variabili

65 All-to-All e SA All-to-All risolve il problema della rete minima per SA N SA N PA equiv. All-to-All(N) PA minima N SA equiv e dunque minima.

66 Rete minima di una rete PA (1) All-to-All risolve il problema della rete minima per PA e dunque per SA in O(n 4 ) Nuovo algoritmo O(max(mn 2,n 3 )), n=numero variabili e m il numero di relazioni di tipo { } Ricordiamo che ogni quadrupla che genera problemi e isomorfa alla seguente Idea: prima applic. pc e dopo cercare una per una tali quadruple e sistemarle A P1 C P2 <,= <,=

67 Rete minima di una rete PA (2) Sistemare una quadrupla significa rimpiazzare {<,=} con {<} Una volta fatto questo e necessario riapplicare path consistency? NO. P1 S P2 T <,= <,=

68 Feasible Input: rete PA N Output: rete minima di N 1. Path consistency(N) 2. Find-subgraphs(N) Find-subgraphs Input: rete PA Output: rete PA 1. for ogni arco (P 1,P 2 ) tale che P 2 adj (P 1 ) do 2. S (adj (P 1 )adj (P 2 )) 3. T (adj (P 1 )adj (P 2 )) 4. for each s S and tT do 5. r st {<} 6. r ts {>} adj r (P 1 )={P 2 | r 12 =r} s P1 t P2 <,= <,=

69 Rete minima d una rete PA (2) Supponiamo di avere cambiato r st Devo ricosiderare tutti i triangoli (s,t,k) e (k,s,t) Triangolo (s,t,k) Cambiare r st da {<,=} a {<} fa cambiare r sk in uno dei due seguenti casi S T K <<,= S T K <= < < Ma allora anche (s,k) appartiene a una quartupla problematica e Find-subgraphs cambia {<,=} in {<} comunque

70 Complessita di Feasible Path consistency O(n 3 ) Find-subgraphs O(mn 2 ), n= numero variabili e m numero di relazioni { } In totale O(max(mn 2,n 3 ))

71 Riassumendo Feasible risolve il problema delle rete minima per reti PA e dunque anche per reti SA

72 Riassumendo IA SA SAc pc+bktk 4-cons Pathc

73 Se basta meno… A volte basta conoscere la relazione tra un punto o un intervallo e tutti gli altri Gli algoritmi che abbiamo visto in questo caso fanno troppo lavoro algoritmo efficiente per risolvere questo tipo di problema basato Single-Source Shortest Path di Dijkstra

74 One-to-All Input: Matrice di vincoli temporali R, variabile temporale S Output: approssimazione delle relazioni minime r sj,j=1,…,n 1. L V-{S} 2. While L Ø do 3. Select X L such that r sx minimum 4. L L-{X} 5. for each Y V do 6. t r sy (r sx * r xy ) 7. If (tr sy ) do 8. r sy t 9. L L{Y}

75 Assegnamento dei pesi Il passo 3 richiede di scegliere X L tale che r sx sia minimo bisogna assegnare i pesi alle relazioni Con un assegnamento casuale dei pesi lalgoritmo funziona lo stesso Assegnare i pesi basandosi sulleuristica (gia vista) che da peso maggiore a relazioni che generano componendosi vettori di relazioni piu grandi In questo modo viene quasi dimezzato il numero di iterazioni Pesi relazioni atomiche Il peso di una relazione e la somma dei pesi delle relazioni atomiche in essa contenute relpp -1 mm -1 oo -1 ss -1 d ff -1 e w3322442243221

76 Cosa calcola One-to-All Se linput e una rete IA, PA oppure SA calcola una approssimazione delle relazioni minime tra la variabile S e ogni altra variabile Tuttavia non fa la propagazione su relazioni che non riguardano S Quindi se confrontiamo lapprossimazione ottenuta sulle relazioni r sx da All-to-All e One-to- All, la seconda e peggiore (toglie meno relazioni) Tuttavia, per le stesse classi su cui path consistency e esatta lo e anche One-to-All, limitatamente alle relazioni r sx

77 One-to-All (O2A) e SAc One-to-All applicato ad una rete SAc, N, e a una variabile S di N, trova tutte le relazioni minime r sx Sappiamo che pc applicato a una rete SAc calcola la rete minima. Supponiamo, per assurdo che esista una relazione r st tale che pc(r st ) O2A(r st ) Sappiamo che dopo O2A r st r sx * r xt per ogni X di N Ma ci deve essere un cammino X,W1,W2,…,Wm,T tale che r sx *(r xw 1 *r w1w2 *…*r wm t r xt ) r st, da cui prop. distr. r sx *(r xw 1 *r w1w2 *…*r wm t )( r sx *r xt ) (r sx *r xw 1 )*r w1w2 )*…*r wm t )( r sx *r xt ) r st ( r sx *r xt )=r st Assurdo

78 One-to-All (O2A) e PAc One-to-All applicato ad una rete PAc, N, e a una variabile S di N, trova tutte le relazioni minime r sx Come sempre PAc SAc O2A(SAc) PAc

79 Complessita di One-to-All Ogni nodo Y (O(n)) viene rimesso nella lista L solo se la relazione r sy viene modificata, cioe al piu 13 volte Per ogni nodo estratto dalla coda viene fatto un lavoro O(n), cioe il for su tutte le variabili In totale O(n 2 ) Input: Matrice di vincoli temporali R, variabile temporale S Output: approssimazione delle relazioni minime r sj,j=1,…,n 1. L V-{S} 2. While L Ø do 3. Select X L such that r sx minimum 4. L L-{X} 5. for each Y V do 6. t r sy (r sx * r xy ) 7. If (tr sy ) do 8. r sy t 9. L L{Y}

80 ISAT per PA (1) Data una rete PA Def1: scenario consistente la scelta consistente di una relazione atomica per ogni vincolo Soluzione: instanziazione delle variabili (cioe un assegnamento ai time points) Problema: data una rete PA trovare uno scenario consistente

81 ISAT per PA(2) Se ammettiamo solo le relazioni {,1} la rete rappresenta un ordinamento parziale Per trovare uno scenario consistente: 1. Topological sort O(n 2 ) 2. Si assegnano i time points nellordine prodotto

82 ISAT per PA (3) Se le relazioni ammesse sono { } oppure {1} allora definiamo il seguente grafo : Nodi : variabili Se U<V U V Se U {1} V allora non metto nessun arco La rete e consistente sse il grafo corrispondente e un DAG Per vedere se e un DAG basta fare la chiusura transitiva e vedere se aggiunge archi Se si allora il problema e inconsistente Altrimenti, lordinamento espresso dalla rete (e dal grafo) e un ordinamento parziale (riflessivo, antisimmetrico, transitivo)

83 ISAT per PA (4) Un ordinamento topologico dei vertici di un grafo e un ordinamento tale che se G contiene larco diretto U V allora U precede V nelordinamento Topological-Sort(G) 1. Lista L Ø 2. Depth-First-Search(G) + Insert(V,L) when V finished 3. Return L O(n 2 ) Tutti i nodi nella lista delle adiacenze di V sono stati visitati e finiti

84 Esempio A B C D E F G < < << < < < < Omessi =1 A BC D E F G Topological sort produce : A C G B E D F Un possibile assegnamento 0 1 2 3 4 5 6 Altre soluzioni A B E D F C G A C B G D E F

85 ISAT per PA (5) Se ammettiamo tutte le possibili relazioni allora topological sort non funziona Le labels che creano problemi sono {=,Ø,,, } Idea: considerare caso per caso ciascuna di queste labels escludendole, e dopo applicare topological sort Algoritmo CSPAN

86 Relazione = Abbiamo una rete PA N Per eliminare = dalla rete si considerano tutte le coppie di punti che necessariamente devono essere uguali e si condensano in un unico punto P1 nec. = P2 sse la relazione tra P1 e P2 e {=} in ogni scenario consistente Identificare classi di equivalenza: P1 e P2 sono nella stessa classe sse P1 nec. = P2 Si prova che P1 nec. = P2 sse esiste un ciclo P1…P2…P1, cioe sse esiste un cammino da P1 a P2 e da P2 a P1, cioe sse sono nella stessa componente fortemente connessa Per identificare le componenti fortemente connesse (SCCs) algoritmo di Tarjan O(n 2 ) Ogni SCC viene condensata in un unico nodo Si Nuova PA rete, N, in cui ogni nodo, Si, rappresenta una componente fortemente connessa (che puo corrispondere a uno o piu nodi di N) Ogni relazione r sisj e cosi definita r sisj i,j,X,Y r xy i,j=1,…,m XSi YSj

87 Esempio r s1s1 r 17 r 18 r 71 r 78 r 81 r 87 {=} r s2s3 r 24 r 25 r 34 r 35 {<} 6 2 3 5 4 8 1 7 < < = = N 1,7,8 6 4,5 2,3 < < N S1 S2 S4 S3

88 Relazione Ø Escludere Ø significa escludere che la rete sia inconsistente Si prova che la rete e inconsistente sse esiste almeno uno dei seguenti cicli: P1=…=P2 P1 P1…P2…P1 P2 con uno o piu = P1…P2…P1 con almeno un < Primi due tipi di ciclo vengono identificati quando si condensano le SCC Per lultimo tipo basta considerare le SCC ammettendo anche la relazione <

89 Esempio r s1s1 r 17 r 18 r 71 r 78 r 81 r 87 {,=}{>}{ =} Ø 6 2 3 5 4 8 1 7 < < < = = N S1

90 Relazioni, Per rimuovere le relazioni, Rimpiazziamo < > Si puo perche: Ø e = sono gia state rimosse e dunque nessuna relazione e necessariamente {=} Mettere } sulle altre relazione e mai {=} e quindi non si creano nuove componenti connesse o inconsistenze

91 Relazione Non e piu; necessario rimuoverle Applicando, infatti, al grafo ottenuto Topological Sort e assegnando i punti secondo lordinamento prodotto non si creano inconsistenze con Esempio: 1,7,8 6 4,5 2,3 < < N S1 S2 S4 S3 1,7,8 6 4,5 2,3 < < < < N S1 S2 S3 S4 Un risultato topological sort: S4 S1 S2 S3 Possibile assegnamento S4=0 S1=1 S2=2 S3=3 Tutti nodi in una SCC stesso valore

92 CSPAN Input: rete PA N Identificazione componenti fortemente connesse S1, …, Sm, N rete ridotta for i,j,=1,…,m do r sisj { } 1. for each v Si e w Sj do 2. r sisj r sisj r vw 3. if r sisj = Ø return inconsistent network 4. Rimpiazzare ovunque in N {<,=} con {<} 5. Topological sort(N) solo con labels {<}

93 Complessita di CSPAN Trovare le componenti connesse O(n 2 ) Condensare le componenti connesse O(n 2 ), ogni relazione viene considerata al piu una volta Topological Sort O(n 2 )


Scaricare ppt "Problemi di Vincoli Temporali Luca Chittaro and Angelo Montanari. ``Temporal Representation and Reasoning in Artificial Intelligence: Issues and Approaches.''"

Presentazioni simili


Annunci Google