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

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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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. 6 5 4 3 2 1 Tino Cortesi Tecniche di Analisi di Programmi

19 Tecniche di Analisi di Programmi
Insiemi diretti In (Ã(N),Í) l’insieme S={X Í N | X è finito} è diretto? In (Ã(N),Í) l’insieme S={X Í N | N-X è finito} è diretto? Tino Cortesi Tecniche di Analisi di Programmi

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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

28 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

29 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


Scaricare ppt "Ordini Parziali - Reticoli"

Presentazioni simili


Annunci Google