La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Ordini Parziali - Reticoli

Presentazioni simili


Presentazione sul tema: "Ordini Parziali - Reticoli"— Transcript della presentazione:

1 Ordini Parziali - Reticoli

2 Insiemi parzialmente ordinati
Nell’analisi di programmi ordini parziali e reticoli giocano un ruolo importantissimo Dato un insieme L, un ordine parziale su L è una relazione £: L ´ L ® {vero, falso} che gode delle proprietà: riflessiva: " l Î L : l £ l transitiva: " l1, l2, l3 Î L : l1£ l2 Ù l2£ l3 Þ l1£ l3 antisimmetrica: " l1, l2 Î L : l1£ l2 Ù l2£ l1 Þ l1= l2 Un insieme parzialmente ordinato (L, £) è un insieme L sul quale è definito un ordine parziale £. Tino Cortesi Tecniche di Analisi di Programmi

3 Tecniche di Analisi di Programmi
Esempio a b c d e f g L= {a,b,c,d,e,f,g} £ ={(a,c), (a,e), (b,d), (b,f), (c,g), (d,g), (e,g), (f,g)}T (L, £) è un insieme parzialmente ordinato (finito) Tino Cortesi Tecniche di Analisi di Programmi

4 Tecniche di Analisi di Programmi
Esempio 6 L= N £ ={(0,1), (1,2), (2,3), (3,4), (4,5),…}T (L, £) è un insieme totalmente ordinato (infinito) 5 4 3 2 1 Tino Cortesi Tecniche di Analisi di Programmi

5 Tecniche di Analisi di Programmi
Esempio 9 8 7 L= N £ ={(n,m): $ k tale che m=n*k} (L, £) è un insieme parzialmente ordinato (infinito) 6 5 4 3 2 Tino Cortesi Tecniche di Analisi di Programmi

6 Tecniche di Analisi di Programmi
Esempio A partire dallo stesso insieme E={1,2,3,4,6,12} possono essere definiti diversi ordini parziali: 1 2 3 4 6 12 12 1 2 4 3 6 12 6 4 2 3 1 Ordine usuale Ordine indotto dalla divisibilità Numeri dispari minori dei pari Tino Cortesi Tecniche di Analisi di Programmi

7 Tecniche di Analisi di Programmi
Esempio Tutti i possibili insiemi parzialmente ordinati con tre elementi: Tino Cortesi Tecniche di Analisi di Programmi

8 Composizione di ordini parziali
Prodotto cartesiano Dati due ordini parziali (P, £p ) ed (T, £t ), il prodotto cartesiano (P ´ T, £P ´ T) ha come elementi le coppie in {(p,t)) | p Î P, t Î T} L’ordine parziale: (x,y) £P ´ T (x2,y2) Û x1£P x2 Ù y1£T y2 Tino Cortesi Tecniche di Analisi di Programmi

9 Tecniche di Analisi di Programmi
Esempio N ´ N a £N ´ N c b c b £N ´ N c a (x1,y1) £N ´ N (x2,y2) Û x1£N x2 Ù y1£N y2 (N ´ N, £N ´ N) è un insieme parzialmente ordinato (infinito) Tino Cortesi Tecniche di Analisi di Programmi

10 Composizione di ordini parziali
Unione disgiunta Dati due ordini parziali (P, £p ) ed (T, £t ), l’unione disgiunta (P e T, £P e T) ha come elementi {x | x Î P oppure x Î T} L’ordine parziale: x£ P e T y Û x,y Î P e x £P y oppure x,y Î t e x £t y Tino Cortesi Tecniche di Analisi di Programmi

11 Tecniche di Analisi di Programmi
Esempio P T (P e T, £P e T) Tino Cortesi Tecniche di Analisi di Programmi

12 Composizione di ordini parziali
Somma lineare Dati due ordini parziali (P, £p ) ed (T, £t ), la somma lineare (P t T, £P e T) ha come elementi {x | x Î P oppure x Î T} L’ordine parziale: x£ P t T y Û x,y Î P e x £P y Oppure x,y Î t e x £t y Oppure x Î P e y Î t . Tino Cortesi Tecniche di Analisi di Programmi

13 Tecniche di Analisi di Programmi
Esempio P T P t T Tino Cortesi Tecniche di Analisi di Programmi

14 Tecniche di Analisi di Programmi
lub e glb Dato un insieme parzialmente ordinato (L, £), un insieme Y di L ha un elemento l come upper bound se " l’ Î Y : l’ £ l un insieme Y di L ha un elemento l come lower bound se " l’ Î Y : l £ l’ Un least upper bound (lub) di Y è un upper bound l0 di Y che soddisfa la seguente proprietà: l’ è un upper bound di Y Þ l0 £ l’ Un greatest lower bound (glb) di Y è un lower bound l0 di Y che soddisfa la seguente proprietà: l’ è un lower bound di Y Þ l’ £ l0 Se un sottoinsieme Y di L ha un least upper bound, questo è unico (per la proprietà antisimmetrica dell’ordine parziale £) Tino Cortesi Tecniche di Analisi di Programmi

15 Tecniche di Analisi di Programmi
Esempio N ´ N upper bounds di Y Y lub(Y) glb(Y) lower bounds di Y (x1,y1) £N ´ N (x2,y2) Û x1£N x2 Ù y1£N y2 Tino Cortesi Tecniche di Analisi di Programmi

16 Esempio ^ c d b a g j i h f e T lub({b,c})= ?
Gli upper bounds dell’insieme {b,c} sono {h,i,T} T i h e questo insieme non ha un minimo elemento: Il lub non c’è ! Tino Cortesi Tecniche di Analisi di Programmi

17 Esempio ^ lub({a,b})= ? c d b a g j i h f e T
Gli upper bounds dell’insieme {a,b} sono {T,h,i,f} i h f T e questo insieme ha un f come minimo elemento: lub({a,b})= f Tino Cortesi Tecniche di Analisi di Programmi

18 Tecniche di Analisi di Programmi
Down-sets e Up-sets Dato un insieme parzialmente ordinato P, Un sottoinsieme D di P è un down-set se per ogni x Î D, e per ogni y Î P, se y £ x allora y Î D. Un sottoinsieme D di P è un up-set se per ogni x Î D, e per ogni y Î P, se x £ y allora y Î D. {a,b,d} è un down-set {b,c,d} è un up-set {a,b} è un up-set ma non un down-set c d b a Tino Cortesi Tecniche di Analisi di Programmi

19 Tecniche di Analisi di Programmi
Down-sets e up-sets In particolare, se Q è un qualsiasi sottoinsieme di P, definiamo iQ = {y Î P | (esiste x Î Q) y £ x } è un down-set hQ = {y Î P | (esiste x Î Q) x £ y } up-set Se x è un qualsiasi elemento di P, definiamo ix = {y Î P | y £ x } hy = {y Î P | x £ y } In questo caso si chiamano down-sets e up-sets principali Tino Cortesi Tecniche di Analisi di Programmi

20 Tecniche di Analisi di Programmi
Down-sets e Up-sets i{b,d} = {a,b,d} h{c,d} = {b,c,d} ib = {a,d} ic = {d} hd = {b,c} ha = {b} hb = {b} b c a d Tino Cortesi Tecniche di Analisi di Programmi

21 Tecniche di Analisi di Programmi
Esempio Consideriamo l’insieme dei numeri razionali positivi Q. L’insieme S={q Î P | q2 £ 2 } è un insieme chiuso verso il basso (down-set) che non è principale. Infatti non esiste nessun numero razionale q tale che S= iq. Tino Cortesi Tecniche di Analisi di Programmi

22 L’ordine parziale dei down-sets di P
Dato un insieme parzialmente ordinato P, la famiglia O(P) di tutti i down-sets di P è un insieme parzialmente ordinato. {a,b,c,d} {a,b,d} {a, c,d} c d b a {a,d} {c,d} {a} {d} Æ a Tino Cortesi Tecniche di Analisi di Programmi

23 Tecniche di Analisi di Programmi
Lemma Sia P un ordine parziale e x,y due suoi elementi. Sono equivalenti: x £ y ix Í iy " Q Î O(P). y Î Q _ x Î Q Esercizio: dimostrarlo! Tino Cortesi Tecniche di Analisi di Programmi

24 Tecniche di Analisi di Programmi
Catene Dato un insieme parzialmente ordinato (L,£), un sottoinsieme Y di L è una catena se " l1, l2 Î Y : (l1£ l2) Ú (l2£ l1) ovvero una catena è un sottoinsieme di L totalmente ordinato. Un insieme parzialmente ordinato (L,£) ha altezza finita se e solo se tutte le catene di L sono finite Una sequenza (ln)nÎN di elementi di L è una catena ascendente se n £ m Þ ln£ lm Tino Cortesi Tecniche di Analisi di Programmi

25 Tecniche di Analisi di Programmi
Esempio: catene c d b a g j i h f e T ^ c d b a g j i h f e T ^ Tino Cortesi Tecniche di Analisi di Programmi

26 Tecniche di Analisi di Programmi
Insiemi Diretti Sia (P,£P) un insieme parzialmente ordinato. Un sottoinsieme S di P si dice diretto se per ogni sottoinsieme finito F di S esiste un elemento di S che appartiene all’insieme degli upper bounds di F. Tino Cortesi Tecniche di Analisi di Programmi

27 Tecniche di Analisi di Programmi
Esempi S2 S1 L’insieme S1 è diretto L’insieme S2 non è diretto Tino Cortesi Tecniche di Analisi di Programmi

28 Tecniche di Analisi di Programmi
Esempio 2 3 4 1 -1 -2 -3 -4 ^ T F S L= Z È {T,^} " n Î Z : ^ £ n £ T S non è un insieme diretto: non esiste un elemento di S che appartiene all’insieme degli upper bounds di F Tino Cortesi Tecniche di Analisi di Programmi

29 Tecniche di Analisi di Programmi
Esempio S 2 3 4 1 -1 -2 -3 -4 ^ T F L= Z È {T,^} " n Î Z : ^ £ n £ T S è un insieme diretto: per ogni F finito esiste un elemento di S che appartiene all’insieme degli upper bounds di F Tino Cortesi Tecniche di Analisi di Programmi

30 Insiemi diretti e catene
b a g j i h f e T ^ Sia (P,£P) un insieme parzialmente ordinato. Ogni catena non vuota di P è un insieme diretto. Esercizio: dimostrarlo! 6 5 4 3 2 1 Tino Cortesi Tecniche di Analisi di Programmi

31 Tecniche di Analisi di Programmi
Insiemi diretti In (Ã(N),Í) l’insieme S={X Í N | X è finito} è diretto? Dim: Sia F Í S, F finito. Devo dimostrare che esiste un upper bound di F che appartiene a S. Prendo come upper bound di F l’unione degli insiemi in F. L’unione finita di insiemi finiti è finita (la cardinalità è al più la somma delle cardinalità degli insiemi), e quindi appartiene a S. In (Ã(N),Í) l’insieme S={X Í N | N-X è finito} è diretto? Tino Cortesi Tecniche di Analisi di Programmi

32 Tecniche di Analisi di Programmi
Reticoli Un reticolo è un insieme parzialmente ordinato (L, £) tale che per ogni coppia di elementi di L esiste il least upper bound ed il greatest lower bound. Se L è un insieme parzialmente ordinato non vuoto, e x£y, allora lub({x,y}) = y glb({x,y}) = x. Per dimostrare che L è un reticolo basterà quindi verificare che per ogni coppia di elementi incomparabili esistano sia lub che glb. Tino Cortesi Tecniche di Analisi di Programmi

33 Tecniche di Analisi di Programmi
Esempio Rivediamo tutti i possibili insiemi ordinati con tre elementi: sono reticoli? SI NO NO NO NO Tino Cortesi Tecniche di Analisi di Programmi

34 Tecniche di Analisi di Programmi
Esempio a b c d e f g Y L= {a,b,c,d,e,f,g} £ ={(a,c), (a,e), (b,d), (b,f), (c,g), (d,g), (e,g), (f,g)}T (L,£) non è un reticolo: sia a che b sono lower bounds di Y, ma a e b sono incomparabili Tino Cortesi Tecniche di Analisi di Programmi

35 Il reticolo dei down-sets
Se P è un insieme ordinato e A e B sono due down-sets di P, allora: A È B è un down-set A Ç B è un down-set L’insieme O(P) dei down-sets di P è un reticolo: lub(A,B)= A È B e glb(A,B)= A Ç B. Il bottom del reticolo O(P) è l’insieme vuoto Il top del reticolo O(P) è l’insieme P Tino Cortesi Tecniche di Analisi di Programmi

36 Tecniche di Analisi di Programmi
Il reticolo O(P) Esempio {a,b,c,d} {a,b,d} {a, c,d} c d b a {a,d} {c,d} {a} {d} Æ Tino Cortesi Tecniche di Analisi di Programmi

37 Tecniche di Analisi di Programmi
Esercizi Costruire il reticolo O(P) quando P è il seguente ordine parziale: b c e a d Tino Cortesi Tecniche di Analisi di Programmi

38 Tecniche di Analisi di Programmi
CPO Un insieme parzialmente ordinato (P,£P) si dice CPO (insieme completo parzialmente ordinato) se: Esiste un elemento minimo (bottom) Per ogni sottoinsieme diretto S di P esiste lub(S). Tino Cortesi Tecniche di Analisi di Programmi

39 Esempio E’ un CPO (c’è il bottom e ogni sottoinsieme diretto ha lub),
ma non è un reticolo Tino Cortesi Tecniche di Analisi di Programmi

40 Tecniche di Analisi di Programmi
Reticoli completi Un reticolo completo è un insieme parzialmente ordinato (L, £) tale che tutti i sottoinsiemi di L hanno least upper bound e greatest lower bound. Se (L, £) è un reticolo completo, si denotano: ^ = lub(Æ) bottom element T = glb(L) top element Ogni reticolo finito è un reticolo completo Ogni reticolo completo è un CPO Tino Cortesi Tecniche di Analisi di Programmi

41 Tecniche di Analisi di Programmi
Esempio {1,2,3} {1,2} {1,3} {2,3} {1} {2} {3} L= Ã({1,2,3}) £ = Í lub(Y) = ÈY glb(Y) = ÇY Æ Tino Cortesi Tecniche di Analisi di Programmi

42 Tecniche di Analisi di Programmi
Esempio {1,2,3} lub(Y) {1,2} {1,3} {2,3} Y {1} {2} {3} L= Ã({1,2,3}) £ = Í lub(Y) = ÈY glb(Y) = ÇY Æ glb(Y) Tino Cortesi Tecniche di Analisi di Programmi

43 Tecniche di Analisi di Programmi
Esempio T -4 -3 -2 -1 1 2 3 4 ^ L= Z È {T,^} " n Î Z : ^ £ n £ T Tino Cortesi Tecniche di Analisi di Programmi

44 Tecniche di Analisi di Programmi
Esempio L= Z+ £ ordine totale su Z+ lub = max glb = min E’ un reticolo, ma non completo: Ad es. l’insieme dei pari non ha lub 6 5 4 3 2 1 Tino Cortesi Tecniche di Analisi di Programmi

45 Tecniche di Analisi di Programmi
Esempio T L= Z+ È {T} £ ordine totale su Z+ È {T} lub = max glb = min E’ un reticolo completo 6 5 4 3 2 1 Tino Cortesi Tecniche di Analisi di Programmi

46 Tecniche di Analisi di Programmi
Esempi L=R (numeri reali) con £ ordine totale (R, £ ) non è un reticolo completo: ad esempio {x Î R | x > 2} non ha lub Per ogni x<y in R, ([x,y], £ ) è un reticolo completo L=Q (numeri razionali) con £ ordine totale (Q, £ ) non è un reticolo completo E non basta aggiungere un top ed un bottom per ottenere la completezza: l’insieme {x Î Q | x2 < 2} ha upper bounds ma non ha un least upper bound. Tino Cortesi Tecniche di Analisi di Programmi

47 Tecniche di Analisi di Programmi
Teorema: Se (L, £) è un insieme parzialmente ordinato, sono equivalenti: L è un reticolo completo ogni sottoinsieme di L ha un least upper bound ogni sottoinsieme di L ha un greatest lower bound Dimostrazione: 1 Þ 2 e 1 Þ 3 seguono immediatamente dalla definizione Per mostrare che 2 Þ 1, basta definire per ogni Y Í L glb(Y) = lub({lÎ L | " l’ Î Y : l £ l’}) Tutti gli elementi dell’insieme a destra sono lower bounds dell’insieme Y. Quindi lub({...}) definisce un lower bound di Y. Poiché tutti i lower bound di Y appartengono all’insieme a destra, lub({...}) definisce il greatest lower bound di Y. Tino Cortesi Tecniche di Analisi di Programmi

48 Tecniche di Analisi di Programmi
Esempio upper bounds di Z {1,2,3} glb(Y)= lub({lÎ L | " l’ Î Y : l £ l’}) Y {1,2} {1,3} {2,3} lub(Z) {1} {2} {3} Z= {lÎ L | " l’ Î Y : l £ l’} Æ Tino Cortesi Tecniche di Analisi di Programmi

49 Tecniche di Analisi di Programmi
Esempio Si consideri l’insieme dei numeri interi non negativi, ordinati per divisione: n £d m se $ h tale che m=n*h Ricordiamo che k è il massimo comun divisore di due interi se: k divide sia n che m (e quindi k £d n e k £d m) Se j divide sia m che n, allora j divide k (cioè j £d k per tutti i lower-bounds j di {m,n}. Allora il massimo comun divisore di m ed n è proprio il greatest lower bound di m ed n (e dualmente, il minimo comune multiplo è il least upper bound). Si può dimostrare che è un reticolo completo. Tino Cortesi Tecniche di Analisi di Programmi


Scaricare ppt "Ordini Parziali - Reticoli"

Presentazioni simili


Annunci Google