problemi di vincoli temporali luca chittaro and angelo montanari. ``temporal representation and...

95
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

Upload: luca-raimondi

Post on 01-May-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

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

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

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

Problemi di vincoli temporali Qualitativi

Variabili relazioni tra entita’ temporali Domini insiemi di relazioni possibili Vincoli restringono l’insieme delle relazioni

permesse Esempio: Algebra degli Intervalli di Allen

Variabile relazione tra due intrevalli I1 e I2 Dominio 13 relazioni permesse {before, meets,

….} Vincolo unario dice quale delle 13 relazioni

possibili sono ammesse tra I1 e I2

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

Problemi di vincoli temporali Quantitativi (ma anche usato per Qualitativi)

Variabili eventi temporali Domini valori temporali, retta temporale, le 24 ore Vincoli

Unari: restringono l’inisieme degli istanti in cui l’evento 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 l’evento

accada , binario quanto tempo tra due eventi

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

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

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

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 ReinefeldInvited Paper for Annals of Mathematics and Artificial Intelligence 19:383-411, 1997.

TUTTI DISPONIBILI SUL SITO DEL CORSO

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

13 realzioni di base tra intervalli

A BA precedes B B after A

A meets B B met-by AA B

AB

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

A

B

A

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

EsempiColazione Pranzo

Bob pranza dopo colazione

Ho corretto il compito di TizioSubito dopo quello di Caio

Correzione C

ViaggioFilm

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 sessioniSono 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

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

Vincoli qualitativi su intervalli Variabili intervalli Vincoli sottoinsiemi dell’insieme delle

13 relazioni base (vettori) Quanti possibili vincoli diversi? 213 Esempio: Questa mattina John ha iniziato a

leggere l’articolo prima di colazione e ha finito di leggerlo prima di finire il caffe’

IC

IA

? ?

Relazione tra intrevalli

IA IC

(precedes, meets, overlaps)

Vincolo temporale

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

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

IA IC

(precedes, meets, overlaps)La lettura dell’articolo e’ terminata prima Ocontemporaneamente O dopo l’inizio della colazione

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

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

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

Inversione di un vincolo temporale

I1 I2

I1 I2

I1 I2

I1 I2

I1 I2

I1 I2

I1 I2

I1 I2

I1 I2

I1 I2

I1 I2

I1 I2

I1 I2

I1 I2

precedes after

meets met by

overlaps overlapped by

starts started by

during contains

finishes finished-by

equals equals

I1 I2

(x,y,z)

I1 I2

(x-1, y-1 , z-1 )

-1 =inversione

I1 I2

(precedes, meets, overlaps)

I1 I2

(after, met-by, overlapped-by)

Esempio:

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

Intersezione di due vincoli ∩ Dati due vincoli definiti sugli stessi

intervalli I1 e I2 con vettori di relazioni v e v’, l’intersezione e’ un vincolo su I1 e I2 con vettore di relazione v∩v’

Esempio:

I1 I2

(precedes, meets, overlaps)

I1 I2

(overlaps, starts, during)intersezione I1 I2

(overlaps)

V

V’

v∩v’

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

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’

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

Esempi

I2

I1and

I3I2I1

I2 I3I1 I2p p

composizione

I1 I3p

I2 I3I1 I2o f

composizione

I1 I3d,s,o

I2

I3

I2

I1

I3

I2

I1

I1

I3

I2

I1

I3

I2

and

Posso dover invertire prima di applicare la composizione, ad esempio se mi viene datoil vincolo I3I2

I3I2

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

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.

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

Path consistency Operazione triangolare

I1

I2

I3

r12 r23

r13

rij= vettore relazioni ammesse tra Ii e Ij

r12 * r23 = r’13, il piu’ grande insieme di relazioni tra I1 e I3 consistente per transitivita’ con r12 e r23.

r’13 e’ un vincolo indotto da r12 e r23 su I1 e I3 e, dunque, deve essere soddisfatto

I1

I2

I3

r12 r23

r13

r’13

Ci puo’ essere anche un altro vincolo tra I1 e I3: r13. r13 e r’13 devono valere entrambi deve valere r”13=r13 ∩r’13

I1

I2

I3

r12 r23

r”13

r13 ∩ (r12 * r23)

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

Esempi di operazione triangolare

I1

I2

I3

p,m p,m

p=(p,p-1)∩pI1

I2

I3

p,m p,m

p,p-1I1

I2

I3

p,m 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,m p,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)

1I1

I2

I3

p,m

(e,p,m,o,s,d-1,f-1,s-1)

o-1,m-1 o-1,m-1

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

Operazione triangolare (2) Def1: Una operazione triangolare e’ stabile

se applicandola il risultato non cambia, cioe’ se r13 ⊆ r12*r23

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

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

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 rij)

2. Coda Q rij

3. While Q ≠Ø do4. rijPop(Q)

5. nij rij //si assume che prima non ci fosse un vincolo su i e j

6. For every node k4. rkj nkj ∩ (nki*rij)

5. If (rkj = Ø) then STOP inconsistenza

6. If (rkj ⊂ nkj) Push(rkj,Q)

7. rik nik ∩ (rij*njk)

8. If (rik = Ø) then STOP inconsistenza

9. If (rik ⊂ nik) Push(rik, Q)

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

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(n2) vincoli binari se ho n intervalli In totale: O(13 n2)

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, l’intersezione come AND di due vettori. La complessita’ della composizione invece e O(|rik| x|rkj|), ma |rij| e’ O(13).

Quindi si hanno O(13 n2) estrazioni dalla coda ciascuna di costo O(n) In totale O(13 n3)

Spazio : O(kn2), k e’ lo spazio costante occupato da un vettore di relazioni

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

Correttezza di ADD rispetto a ISAT TH: Se durante l’esecuzione

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 l’operazione triangolare ha dato l’insieme vuoto. Considero il primo vincolo per cui cio’ accade, e.g. nkj.

Deve essere che l’intersezione dell’operazione triangolare ha dato l’insieme vuoto.

Questo accade sse solo non vi e’ alcun modo di assegnare gli intevalli i e j in modo tale che il vincolo nkj, e il vincolo indotto, rkj, siano soddisfatti. Quindi la rete non ha soluzione.

1. ADD(inputs: Allen Network N, nuovo vincolo rij)

2. Coda Q rij

3. While Q ≠Ø do4. rijPop(Q)5. nij rij

6. For every node k7. rkj nkj ∩ nki*rij

8. If rkj= Ø then stop9. If (rkj ⊂nkj) Push(rkj,Q)

10. rik nik ∩ rij*njk

11. If rik= Ø then stop12. If (rik ⊂ nik) Push(rik, Q)

Ik

Ii

Ij

nki rij

nkj

rkj

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

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

od d-1

d d-1

s m

s m

f f-1

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

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

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

Complessita’ di ISAT per problemi di vincoli di Allen(2) Seguenti vincoliMutua esclusioneMiDDLE (during) PXnotPP (meets,met-by) PXnotP notP (meets,met-by) PXnotPP (precedes,after) notP

Letterali e loro segnapostoforP (contains) PforQ (contains) Q forR (contains) R

Segnaposto o veri o falsiforP(precedes,after) MIDDLEforQ(precedes,after) MIDDLEforR(precedes,after) MIDDLE

Al piu’ 2 falsi in una clausolaforP(meets,starts,after) PorQorRforQ(meets,starts,after) PorQorRforR(meets,starts,after) PorQorRPorQorR (contains) MIDDLEforP(precedes,after,meets,met-by) forQ forQ(precedes,after,meets,met-by) forRforR(precedes,after,meets,met-by) forP

La formula e’ soddisfacibile se e solo se il corrispondente problema ha soluzione.Trasformazione in un problema di Allen polinomiale nella lunghezza della formula.

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

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(n2).

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

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 all’altro

1. ISATMLP. Assumiamo un oracolo che dato un problema di Allen dice se e’ consistente o no. Per ogni vincolo (O(n2)) chiediamo all’oracolo se la rete in cui quel vincolo e’ sostituito con una sola delle sue relazioni ammesse e’ consistente (O(13)).

2. MLPISAT. 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(n2)).

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

Algoritmo ISAT: path-consistency+backtracking

Input:Allen Temporalproblem

Preporcessing:Pathconsistency

Path-consistent?

Intelligent backtracking

Consistent?

Post-processing:Solution determination

no

no

yes

yes

STOP

STOP

Output: labeling atomico

Output:assegnamentodegli intervalli

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

Intelligent backtracking1. Int-back(matrice vincoli M, i,j interi)2. M’M //salvo M3. for (ogni relazione lk in Mij) do

4. Mij lk5. if (Path-consistency(M)=true) then6. if (Mij last edge or Int-back(M,next_i,next_j)) 7. return true8. MM’; //backtrack9. endfor10. return false11. End;

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

Esempio

I1

I2

I3

I4o,m

p,m

p,mp,p-1

o,p,m

Simulando Int-back(M,1,2) dove M:

…viene

I1

I2

I3

I4m

p

pp

p

p

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

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

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

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 213x213 con tutte le possibili combinazioni (l’elemento simmetrico si ottiene scambiando tutti bit perche’ l’inversione si coniuga con la composizione) ~64MB

Ogni composizione un solo lookup (+ una inversione)

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

Implementazione: Path-consistency (3) …continua composizione Metodo di Hogge

Quattro tabelle in memoria T1 27 x27 (bit 1-7 mij, bit 1-7 mjk) T2 27 x26 (bit 1-7 mij, bit 8-13 mjk) T3 26 x27 (bit 8-13 mij, bit 1-7 mjk) T4 26 x26 (bit 8-13 mij, bit 8-13 mjk)

Ogni composizione 4 accessi + unione dei quattro vettori Memoria necessaria (16KB+8KB+8KB+4KB)=72KB

Variante di Hogge Due tabelle in memoria: T1 213 x27 (composizione con le 7 relazioni di ordine piu’ basso) T2 213 x26 (composizione con le 6 relazioni di ordine piu’ alto) Ogni composizione 2 accessi + unione 2 vettori Memoria necessaria: 1 MB

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

Implementazione: Path-consistency (4)

Se rij = 1 (tutte le relazioni ammesse) allora non metterlo nella coda. Riga 2.

se (p ∈nki & p-1 ∈rij ) or (p-1 ∈nki & p ∈rij ) or (d ∈nki & d-1 ∈rij ) allora rki*rij=1. Simile per riga 10.

Controllo rkj ⊂nkj durante il calcolo di nki*rij. Simile rik ⊂ nik

1. ADD(inputs: Allen Network N, nuovo vincolo rij)

2. Coda Q rij

3. While Q ≠Ø do4. rijPop(Q)5. nij rij

6. for every node k7. rkj nkj ∩ (nki*rij)8. if (rij = Ø ) then STOP9. if (rkj ⊂nkj) Push(rkj,Q)10. rik nik ∩ (rij*njk)11. if (rik = Ø ) then STOP12. if (rik ⊂ nik) Push(rik, Q)

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

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(rij)=Σwki+ Σwjk, k≤n,

k≠i,j.

rel p p-1 m m-1 o o-1 s s-1 d s-1 f f-1 e

w 3 3 2 2 4 4 2 2 4 3 2 2 1

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

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 l’uguaglianza

se e∈Mij, allora Mij e, ∀k≤n Mik Mik ∩ Mjk

Mjk Mjk ∩ Mik

se {e}=Mij, togliere o le i-sime o le j-sime riga e colonna

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

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

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

Algebra dei Punti1. 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

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

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)

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

Poblemi temporali basati sull’Algebra 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: <, =, > 23 relazioni: (<), (=), (>), (<,=),(=,>), (<,=,>),

(<,>), ()

P1 P2(<,=)

P2

P1

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

Esempio Fred ha messo giu’ il giornale e ha bevuto

l’ultimo sorso di caffe’

Ps Pe

Cs Ce

<

<

<<

Una soluzione Ps Pe

CeCs

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

Inversione di un vincolo temporale con punti

P1 P2

P1 P2

P1 P2

P1 P2

P1 P2

P1 P2

P1 P2

P1 P2

P1 P2

<

> <

= =

P1 P2<,> <,>

≤ ≥

P1 P2

(x,y,z)

P1 P2

(x-1, y-1 , z-1 )

-1 =inversione

>

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

Intersezione di vincoli a punti Intersezione: Dati due

vincoli definiti sugli stessi punti P1 e P2 con vettori di relazioni v e v’, l’intersezione e’ un vincolo su P1 e P2 con vettore di relazione v∩v’

∩ < ≤ > ≥ = ≠ 1

< < < 0 0 0 < <

≤ < ≤ 0 = = < ≤

> 0 0 > > 0 > >

≥ 0 = > ≥ = > ≥

= 0 = 0 = = 0 =

≠ < < > > 0 ≠ ≠

1 < ≤ > ≥ = ≠ 1

P1 P2<,>

P1 P2≥ ∩ P1 P2

>

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

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

< < < 1 1 < 1 1

≤ < ≤ 1 1 ≤ 1 1

> 1 1 > > > 1 1

≥ 1 1 > ≥ ≥ 1 1

= < ≤ > ≥ = ≠ 1

≠ 1 1 1 1 ≠ 1 1

1 1 1 1 1 1 1 1P1 P2<,>

P2 P3≥ * P1 P3

1

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

SA: il frammento di IA corrispondente a PA

SA ⊂ IA e’ un sottoinsieme di relazioni cosi’ definito:

Data rhk ∈ IA, rhk ∈ SA sse la relazione Ih rhk Ik e’ equivalente ad una congiunzione di relazioni in PA tra i punti iniziali e finali di Ih e Ik (Ih-,Ih+, Ik-,Ik+).

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

Esempi di relazioni in SA I1 (p,m,o) I2 ∈ SA,

I1 (p,p-1) I2 ∉SA,

I1

I-1 I+1

I2I-2 I+2

I+1 I+1

I2- < I2+ and

I1- < I1+ and

I1- < I2- and

I1- < I2+ and

I1+ <,=,> I2- and

I1+ < I2+

I1

I-1 I+1

I2I-2 I+2

I1

I-1 I+1

I2- < I2+ and

I1- < I1+ and

I1+ < I2- or I2+ < I1-

Non riesco a esprimerlo come congiunzione

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

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 relazionetra B e A non e’ minimaPerche’ contiene meets che non e’ in nessuna soluzione

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

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.

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

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 a1≤a2 ≤ B, anche per ogni a3 t.c. a1≤a3 ≤a2, si ha che a3≤B. 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. a1≤a3 ≤a2 valga a3≠ B. A ≠B ∉ PAc.

Graficamente lo spazio degli assegamenti di A “non deve avere buchi”, continuo

B B

A≤B A≠B

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

SAc: il frammento di IA corrispondente a PAc ≠ e’ l’unica relazione non continua PAc = PA – {r| r ⊇ {≠}} Le relazioni continue tra punti sono chiuse rispetto

all’inversione, 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 all’inversione, intersezione e alla composizione

PAc e SAc sono due algebre (risp. dei punti e degli intervalli continui)

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

Esempi di relazioni in SA e SAc I1 (p,m,o) I2 ∈ SAc,

I1 (p,o) I2 ∈(SA-SAc),

I1

I-1 I+1

I2I-2 I+2

I+1 I+1

I2- < I2+ and

I1- < I1+ and

I1- < I2- and

I1- < I2+ and

I1+ <,=,> I2- and

I1+ < I2+

I1

I-1 I+1

I2I-2 I+2

I1

I-1 I+1

Non serve ≠

I2- < I2+ and

I1- < I1+ and

I1- < I2- and

I1- < I2+ and

I1+ ≠ I2- and

I1+ < I2+

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

Riassumendo

IA

I1 (p,p-1) I2

SAI1 (p,o) I2

I1 (p,m,o) I2

SAc

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

Nozioni di consistenza Consistenza sui nodi (1-consistenza): ∀ variabile X, ∀ valore w

nel dominio di X, (w rxx 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 XY (vincolo

rxy), ∀ valore w nel dominio di X, esiste un valore u nel dominio di Y tale che (w rxy 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 rxy u), esiste un assegnamento z di Z tale che (w rxz z) e (z rzy 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 j≤k Se una rete N, IA o PA, con n variabili e’ fortemente n-

consistente allora e’ minima.

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

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 1≤k≤n (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

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

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 Ii rij Ij sono soddisfatte per i,j=1,…, k-1. Denotiamo con <si,ei>, i=1,…, k-1 tali assegnamenti.

Devo trovare un assegnamento a Ik, <sk,ek> tale che Ii rik Ik sia soddisfatta per i=1,…, k-1

rik ∈ SAc bound sui valori di sk e ek, che corrispondono a insiemi convessi. Per esempio I1 (p,m) Ik induce s1<sk, e1≤sk, s1<ek, e1<ek, sk<ek

L’intersezione di tutti questi insiemi convessi contiene gli assegnamenti a sk e ek che soddisfano tutti i bound. Quindi basta mostrare che tale intersezione non e’ vuota.

e1

s1

e2

s2

s1

e1

e2

s2

Bounds per skBounds per ek

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

Path-consistency e SAc (3) Per il teorema di Helly’s basta mostare che

l’intersezione di qualunque insieme di 3 bound non e’ vuota

Caso 1, ognuno dei 3 bound contiene o solo sk o solo ek. Basta mostrare che l’intersezione due a due non e’ vuota. Ma dati 2 dei 3 bound essi corrispondono ad un triangolo di intervalli e pc che c’e’ un punto in comune

Caso 2, 2 bounds definiti solo su sk o ek e il bound sk<ek. Ma sk<ek vale in ogni triangolo e dunque sfrutto ancora path consistency

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

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 anch’essa minima.

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

Perche’ ≠ crea problemi ≠ e’ l’unica 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

L’intersezione di 2 bound non e’ mai vuota (pc)ma l’intersezione di tutti e 3 si. La rete e’ pc ma non minima, = su AC non appartiene a nessuna soluzione

A

B

C

D

<,=<,=

<,=<,=≠

<,=

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

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 un arco in comune in comune e poi si interseca sull’altra diagonale.

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

Composizione di triangoli

Pi

Pk

Pj

rik=(..P..)

PL

rLj=(..T..)

rkL=(..R..)

rkj∩(R*T)=(..S..)

riL∩(P*R)=(..Q..)

∆ikL*∆kLj ={(P*S)∩(Q*T)}

∆ikL*∆kLj ={(P*S)∩(Q*T)}

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

Esempio: ∆ikL*∆kLj ={(P*S)∩(Q*T)}

Pi

Pk

Pj

rik=(..P..)

PL

rLj=(..T..)

rkL=(..R..)

rkj∩(R*T)=(..S..)

rjL∩(P*R)=(..Q..)

∆ikL*∆kLj ={(P*S)∩(Q*T)}

A

B

C

D

S∈(<,=)P :<

T:<Q∈(<,=)

R:≠

<,=

A

B

C

D

<,=<,=

<,=<,=≠

<,=

Prima

Dopo

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

All-to-All Input: temporal IA, PA, SAc, PAc network, indexes i, j Output: Approximation of minimal network1. Queue Q Related-Paths(i,j)2. While Q≠Ø do3. (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) | 1≤k<l≤n, k,l ≠ i,j} {(i,j,l,k), (k,l,i,j)| 1≤k,l≤n, k ≠l, k,l ≠ i,j}

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

Analisi di All-to-All Complessita’ : O(n4) Se Input e’ PA oppure SA allora garantisce

4-consistenza forte Se l’input 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

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

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, 4≤k≤n, tale che la rete non e’ k-consistente.

Cioe’ e’ vero che quando provo a instanziare la k-sima variabile:1. l’intersezione di qualunque 2 bounds non e’ vuota (pc) 2. l’intersezione di tutti i bound e’ vuota3. almeno un bound e’ del tipo ≠

Tuttavia l’intersezione 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 l’esempio visto con 4 variabili che viene risolto da All to All

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

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.

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

Rete minima di una rete PA (1) All-to-All risolve il problema della rete

minima per PA e dunque per SA in O(n4) Nuovo algoritmo O(max(mn2,n3)),

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

<,=<,=

<,=<,=≠

<,=

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

Feasible Input: rete PA N Output: rete minima di N1. Path consistency(N)2. Find-subgraphs(N)

Find-subgraphsInput: rete PAOutput: rete PA1. for ogni arco (P1,P2) tale che P2∈adj≠(P1) do2. S (adj≥(P1)∩adj≥(P2))3. T (adj≤(P1)∩adj≤(P2))4. for each s ∈S and t∈T do5. rst {<}6. rts {>}

adjr(P1)={P2 | r12=r}

s

P1

t

P2

<,=<,=

<,=<,=≠

<,=

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

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

<,=<,=

<,=<,=

<,=

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

Rete minima d una rete PA (2) Supponiamo di avere cambiato rst

Devo ricosiderare tutti i triangoli (s,t,k) e (k,s,t)

Triangolo (s,t,k) Cambiare rst da {<,=} a {<} fa cambiare

rsk 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

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

Complessita’ di Feasible Path consistency O(n3) Find-subgraphs O(mn2),

n= numero variabili m numero di relazioni {≠}

In totale O(max(mn2,n3))

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

Riassumendo Feasible risolve il problema delle rete

minima per reti PA e dunque anche per reti SA in tempo polinomiale

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

Riassumendo

IA

SA

SAc

pc+bktk 4-cons

Pathc

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

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

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

74

Algoritmo di Dijkstra

Grafo orientato pesato con pesi non negativi

L’algoritmo di Dijkstra mette i vertici in una coda

con priorità Q ordinata rispetto a d[v].

Algoritmo di Dijkstra

CammMinimiDijkstra(G, s) G grafo pesato sugli archi Inizializza(G, s) Q V[G] while not Empty(Q) do u ExtractMin(Q) for “ogni v Adj[u]” do Rilassa(uv)

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

75

Il rilassamento può diminuire d[v]. Siccome v è inserito in una coda con priorità per diminuire il valore di d[v] dobbiamo effettuare una chiamata a DecreaseKey. La procedura Rilassa diventa quindi:

Rilassa(uv) if d[v] > d[u] + w(uv) then DecreaseKey(v, d[u]+w(uv) ) π[v] u

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

One-to-All Input: Matrice di vincoli temporali R, variabile

temporale S Output: approssimazione delle relazioni minime

rsj ,j=1,…,n1. L V-{S}2. While L ≠Ø do3. Select X ∈ L such that rsx minimum4. LL-{X}5. for each Y ∈ L do6. trsy ∩ (rsx * rxy)

7. If (t≠rsy) do

8. rsy t9. L L{Y}

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

Assegnamento dei pesi Il passo 3 richiede di scegliere X ∈ L tale che rsx sia minimo bisogna assegnare i pesi alle relazioni Con un assegnamento casuale dei pesi l’algoritmo funziona

lo stesso Assegnare i pesi basandosi sull’euristica (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

rel p p-1 m m-1 o o-1 s s-1 d s-1 f f-1 e

w 3 3 2 2 4 4 2 2 4 3 2 2 1

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

Cosa calcola One-to-All Se l’input 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 l’approssimazione ottenuta sulle relazioni rsx 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 rsx

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

One-to-All (O2A) e SAc One-to-All applicato ad una rete SAc, N, e a

una variabile S di N, trova le relazioni minime rsx per tutte le X

Sappiamo che pc applicato a una rete SAc calcola la rete minima.

Supponiamo, per assurdo che esista una relazione rst tale che pc(rst)⊂O2A(rst)

Sappiamo che dopo O2A rst ⊆ rsx * rxt per ogni X di N

Ma se pc da’ un vincolo piu’ stretto ci deve essere un cammino X,W1,W2,…,Wm,T tale che

rsx*(rxw1*rw1w2

*…*rwm t∩ rxt) ⊂ rst, da cui prop. distr. rsx*(rxw1

*rw1w2*…*rwm t)∩( rsx *rxt)

(rsx*rxw1)*rw1w2

)*…*rwm t)∩( rsx *rxt)⊇ rst ∩( rsx *rxt)=rst

Assurdo

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

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 rsx

Come sempre PAc SAc O2A(SAc)PAc

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

Complessita’ di One-to-All Ogni nodo Y (O(n))

viene rimesso nella lista L solo se la relazione rsy 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(n2)

Input: Matrice di vincoli temporali R, variabile temporale S

Output: approssimazione delle relazioni minime rsj ,j=1,…,n

1. L V-{S} 2. While L ≠Ø do 3. Select X ∈ L such that rsx

minimum 4. LL-{X} 5. for each Y ∈ V do 6. trsy ∩ (rsx * rxy) 7. If (t≠rsy) do 8. rsy t 9. L L{Y}

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

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

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

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(n2)2. Si assegnano i time points nell’ordine

prodotto

vediamo meglio

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

ISAT per PA (3)

Se le relazioni ammesse sono {<},{>} oppure {1} allora definiamo il seguente grafo :

Nodi : variabili Se U<V UV 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, l’ordinamento espresso dalla rete (e dal grafo) e’

un ordinamento parziale (riflessivo, antisimmetrico, transitivo)

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

ISAT per PA (4) Un ordinamento topologico dei vertici di

un grafo e’ un ordinamento tale che se G contiene l’arco diretto UV allora U precede V nel’ordinamento

Topological-Sort(G)1. Lista L Ø2. Depth-First-Search(G) + Insert(V,L) when

V finished3. Return L reversedO(n2)

Tutti i nodi nella lista delle adiacenze di V sono stati visitati e finiti

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

Esempio

A

B

C

D

E

F

G

<

<

< <

<

<

<

<

Omessi =1

A

B C

D E

F

G

Topological sort produce : A C G B E D FUn possibile assegnamento 0 1 2 3 4 5 6Altre soluzioni A B E D F C G A C B G D E F

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

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

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

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

Identificare le componenti fortemente connesse 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 rxy i,j=1,…,m X∈Si Y∈Sj

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

89

L’algoritmo per il calcolo delle componenti fortemente connesse si compone di tre fasi:

a) usa la ricerca in profondità in G per ordinare i vertici in ordine di tempo di fine f decrescente (come per l’ordinamento topologico);

Alla fine gli alberi della ricerca in profondità in GT rappresentano le componenti fortemente connesse.

b) calcola il grafo trasposto GT del grafo G;

c) esegue una ricerca in profondità in GT usando l’ordine dei vertici calcolato nella prima fase nel ciclo principale;

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

Esempio

rs1s1 r17∩r18∩r71∩r78∩r81∩r87 {=}

rs2s3 r24∩r25∩r34∩r35{<}

6

2

35

4

8

1

7

<

≤ ≤

< ≠

=

=

N

1,7,8

6

4,5

2,3

< <

N’

S1

S2

S4

S3

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

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 l’ultimo tipo basta considerare le SCC ammettendo anche la relazione <

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

Esempio

rs1s1 r17∩r18∩r71∩r78∩r81∩r87 {<}∩{>,=}∩{>}∩{<,=}∩{<,=}∩{>=} Ø

6

2

35

4

8

1

7

<

< ≤

< ≠

=

=

NS1

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

Relazioni ≤,≥ Per rimuovere le relazioni ≤,≥ Rimpiazziamo

≤ < ≥ >

Si puo’ perche’: Ø e = sono gia’ state rimosse e dunque

nessuna relazione e’ necessariamente {=} Mettere < puo solo forzare {<} oppure {>}

sulle altre relazione e mai {=} e quindi non si creano nuove componenti connesse o inconsistenze

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

Relazione ≠ Non e’ piu’ necessario rimuoverle Applicando infatti al grafo ottenuto Topological

Sort e assegnando i punti secondo l’ordinamento 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 assegnamentoS4=0 S1=1 S2=2 S3=3Tutti nodi in una SCCstesso valore

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

CSPANInput: 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 do2. r’sisj r’sisj ∩rvw

3. if r’sisj = Ø return “inconsistent network”

4. Rimpiazzare ovunque in N’ {<,=} con {<}5. Topological sort(N’) solo con labels {<}

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

Complessita’ di CSPAN

Trovare le componenti connesse O(n2) Condensare le componenti connesse O(n2),

ogni relazione viene considerata al piu’ una volta

Topological Sort O(n2)