Punti Fissi.

Slides:



Advertisements
Presentazioni simili
Equazioni e calcoli chimici
Advertisements

Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Definitezza Vogliamo poter richiedere la “definitezza” delle funzioni
Derivate per lo studio di funzione
I numeri naturali ….. Definizione e caratteristiche
2. Introduzione alla probabilità
Sistema di riferimento sulla retta
LE SUCCESSIONI Si consideri la seguente sequenza di numeri:
Il linguaggio della Matematica: Insiemi e operazioni
I SEGRETI PER IL SUCCESSO SU LAVORO
Relazione tra due insiemi:
COORDINATE POLARI Sia P ha coordinate cartesiane
6. Catene di Markov a tempo continuo (CMTC)
1 2. Introduzione alla probabilità Definizioni preliminari: Prova: è un esperimento il cui esito è aleatorio Spazio degli eventi elementari : è linsieme.
Introduzione alle curve ellittiche
= 2x – 3 x Definizione e caratteristiche
esponente del radicando
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
6. Catene di Markov a tempo continuo (CMTC)
Ordini Parziali - Reticoli
General Framework. Tino CortesiTecniche di Analisi di Programmi 2 Framework Nonostante le differenze tra le analisi viste finora (Reaching Definitions,
Reaching Definitions. Tino CortesiTecniche di Analisi di Programmi 2 Reaching definitions Dato un punto del programma, quali sono i comandi di assegnamento.
Interpretazione Astratta
Model Checking.
Semantica Denotazionale
Tino CortesiTecniche di Analisi di Programmi 1 Ricorsione Aggiungiamo funzioni ricorsive (in una sola variabile, per semplicità). La funzione semantica.
Semantiche dei linguaggi di programmazione
Tino CortesiTecniche di Analisi di Programmi 1 Astrazione e Concretizzazione In una Interpretazione Astratta ci aspettiamo che il seguente diagramma commuti:
Semantica Denotazionale
Ordini Parziali - Reticoli
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
Algoritmo di Ford-Fulkerson
A.S.E.8.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 8 ALGEBRA BOOLEANA PostulatiPostulati Principio di dualitàPrincipio di dualità Teoremi fondamentaliTeoremi.
8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v.
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
TEOREMI CLASSICI DELL’ANALISI
Algoritmi di ordinamento
Modelli simulativi per le Scienze Cognitive
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
OPERAZIONI CON TRINOMI DI II° GRADO
Semantica di Tarski.
Semantica per formule di un linguaggio proposizionale p.9 della dispensa.
Lezione 8 Numerosità del campione
Num / 36 Lezione 9 Numerosità del campione.
Lezione 4 Probabilità.
Corso di Matematica Discreta I Anno
Il calcolo di radiosity
Logica Matematica Seconda lezione.
Relazioni binarie.
Elementi di Informatica di base
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
2. Premesse all’analisi infinitesimale
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
PREMESSE DELL’ANALISI INFINETISIMALE
Ad opera di: Matteo Donatelli e Maurizio Di Paolo Presentazione su : Elettropneumatica 1.
Sistemi - Stabilità - Rielaborazione di Piero Scotto
Pippo.
Stabilità per E.D.O. (I): STABILITÀ LINEARIZZATA
Lez. 3 - Gli Indici di VARIABILITA’
Metodi matematici per economia e finanza. Prof. F. Gozzi
TRASFORMATA DI FOURIER
Studio della monotonia
Relazione come predicato
TEOREMI CLASSICI DELL’ANALISI
Condizione necessaria di derivabilità
1 Un po’ di ripasso di algebra §necessaria per discutere la semantica denotazionale l e da riprendere quando parleremo di interpretazione astratta §reticoli.
1 Interpretazione astratta: un approccio sistematico all’analisi statica.
Integrale indefinito Parte introduttiva.
Logica Lezione 8, DISTRIBUIRE COMPITO 1.
Transcript della presentazione:

Punti Fissi

Mappe tra insiemi parz. ordinati Siano (P,£P) e (Q,£Q) due insiemi parzialmente ordinati. Una funzione j da P a Q si dice: monotona (preserva l’ordine) se p1 £P p2 Þ j(p1) £Q j(p2) embedding se p1 £P p2 Û j(p1) £Q j(p2) isomorfismo se è un embedding suriettivo Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Esempi b d j1(a) j1 non è una funzione monotona j2 è una funzione monotona, ma non è un embedding:j2(b)£Qj2(c) ma non è vero che b£Pc j1(d) a c j1(b)=j1(c) a c d e j2(d)=j2(e) j2(b)=j2(c) b j2(a) Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Esempi a c d e j3(e) j3 è una funzione monotona, ma non è un embedding:j3(b)£Qj3(c) ma non è vero che b£Pc j2 è un embedding, ma non è un isomorfismo. j3(c)=j3(d) b j3(a)=j3(b) j4(d) d j4(c) b c j4(b) j4(a) a Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Catene Convergenti Ricordiamo che una sequenza (ln)nÎN di elementi di L è una catena ascendente se n £ m Þ ln£ lm Una sequenza (ln)nÎN converge se e solo se $ n0ÎN : " nÎN : n0 £ n Þ ln0 = ln Un insieme parzialmente ordinato (L,£) soddisfa la condizione sulle catene ascendenti se e solo se ogni catena ascendente di L converge. Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Esempio L’insieme ordinato dei numeri pari non soddisfa la condizione sulle catene ascendenti 12 10 8 6 4 2 Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Esempio Questo insieme ha un numero infinito di elementi Non ha lunghezza finita Soddisfa la condizione sulle catene ascendenti ... Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Continuità In Analisi, una funzione si dice continua se preserva i limiti. Dati due ordini parziali (P,£P) e (Q,£Q), una funzione j da P a Q si dice continua se per ogni insieme diretto S in P j(lub(S)) = lub{ j(x) | xÎS } (P,£P) j (Q,£Q) S j(S) Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Continuità Non tutte le funzioni monotone sono continue. Ad esempio, j :Ã(N) ® Ã(N) j(S) = Æ se S è finito, N altrimenti è monotona (se S1 Í S2 e S2 è finito, anche S1 è finito) ma non è continua: se si prende l’insieme diretto D = {X Í N | X è finito} si ha: lub {j (X) | X in D} = Æ perché ogni X in D è finito j (lub (D)) = N perché D è infinito Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Punti Fissi Sia f una funzione monotona f: (P,£P) ® (P,£P) su un insieme parzialmente ordinato P. Un elemento x di P si dice punto fisso di f se f(x)=x. L’insieme dei punti fissi di f è un sottoinsieme di L chiamato Fix(f): Fix(f) ={ l Î L | f(l)=l} Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Punti fissi sui CPO Sia f una funzione monotona f: (P,£P) ® (P,£P) su un insieme completo parzialmente ordinato (CPO) P. Sia a= n³0 f n(^) Se aÎFix(f) allora a= lfp(f) Teorema di Kleene Se f è continua allora il minimo punto fisso di f esiste ed è uguale ad a. Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Punti fissi sui CPO T Fix(f) ={ l Î L | f(l)=l} lfp(f) = n³0 fn(^) f i(^) ^ Tino Cortesi Tecniche di Analisi di Programmi

Punti Fissi sui reticoli completi Sia f una funzione monotona f:L®L su un reticolo completo L. Fix(f) è anch’esso un reticolo completo: lfp(f) = glb(Fix(f)) Î Fix(f) gfp(f) = lub(Fix(f)) Î Fix(f) Teorema di Tarski: Sia L un reticolo completo. Se f:L®L è una funzione monotona allora lfp(f) = glb{ l Î L | f(l) £ l } gfp(f) = lub{ l Î L | l £ f(l) } Tino Cortesi Tecniche di Analisi di Programmi

Punti fissi sui reticoli completi Red(f) ={ l Î L | f(l) £P l} gfp(f) = lub{ l Î L | l £ f(l) } Fix(f) ={ l Î L | f(l)=l} lfp(f) = glb{ l Î L | f(l) £ l } Ext(f) ={ l Î L | l £P f(l)} Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Dimostriamo che se L è un reticolo completo lub{xÎL | x £ f(x)} è un punto fisso di L (il greatest fix point). Sia H={xÎL | x £ f(x)}, e sia a=lub(H). Dimostriamo che a=f(a). Per ogni hÎH, h £ f(h), per definizione di H. E vale anche h £ a (perché a è un upper bound di H). Quindi h £ f(h) £ f(a): la prima relazione segue dal fatto che hÎH e la seconda dalla monotonia di f. Poiché h £ f(a) vale per ogni hÎH, f(a) è un upper bound dell’insieme H. E poiché a è il lub(H), ne segue che a £ f(a). Per dimostrare che a è un punto fisso, dobbiamo dimostrare che anche il viceversa vale, ovvero che f(a) £ a. Applichiamo f ad entrambi i termini dell’espressione a £ f(a) che abbiamo dimostrato essere vera. Per monotonia abbiamo che f(a)£ f(f(a). Ma allora f(a)ÎH, e quindi f(a) £ lub(H) = a, e quindi f(a) £ a. Tino Cortesi Tecniche di Analisi di Programmi

Esistenza di punti fissi nei CPO Teorema I Sia f: (P,£P) ® (P,£P) una funzione su un insieme completo parzialmente ordinato P tale che per ogni x in P: x £P f(x). Allora f ha un punto fisso. Teorema II Sia f: (P,£P) ® (P,£P) una funzione monotona su un insieme completo parzialmente ordinato P. Allora f ha un punto fisso. Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Punti Fissi Ci sono quindi tre risultati che garantiscono l’esistenza di punti fissi: Funzione continua su CPO Funzione monotona su reticoli completi Funzione monotona su CPO I primi due hanno ipotesi più forti e offrono una formula per calcolare il minimo punto fisso. Il terzo garantisce solo l’esistenza di un punto fisso. Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Widening Un operatore Ñ: (P,£P) ® (P,£P) si dice operatore di widening se e solo se: È un operatore di upper bound, ovvero l1,l2 £P Ñ(l1,l2) Per ogni catena (ln)n³0, la catena (lnÑ )n³0 = (l0’=l0, l1’=Ñ(l’0,l1),… ) converge dopo un numero finito di passi Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Esempio Si consideri il reticolo completo Int = {^} È {[a,b] | a £ b & aÎZÈ {-¥}, bÎZÈ {+¥}} dove l’ordinamento è l’inclusione tra intervalli. Sia K un elemento fissato di Int Definiamo l’operatore WK: (Int,Int) ® Int [min(a,c),max(b,d)] se [min(a,c),max(b,d)] Í K WK([a,b], [c,d]) = [-¥, +¥] altrimenti Se K=[-2,4]: W[-2,4] è un operatore di widening Alla catena [0,0], [0,1], [0,2], [0,3], [0,4], [0,5], [0,6],… corrisponde la catena [0,0], [0,1], [0,2], [0,3], [0,4], [-¥, +¥], [-¥, +¥],… Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Esempio Si consideri il reticolo completo Int = {^} È {[a,b] | a £ b & aÎZÈ {-¥}, bÎZÈ {+¥}} dove l’ordinamento è l’inclusione tra intervalli. Sia K un elemento fissato di Int Definiamo l’operatore WK: (Int,Int) ® Int [min(a,c),max(b,d)] se [min(a,c),max(b,d)] Í K WK([a,b], [c,d]) = [-¥, +¥] altrimenti Se K=[0, +¥]: W[0, +¥] non è un operatore di widening Alla catena [0,0], [0,1], [0,2], [0,3], [0,4], [0,5], [0,6],… corrisponde la catena [0,0], [0,1], [0,2], [0,3], [0,4], [0,5], [0,6],… che non converge! Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Widening e punti fissi widening lfp Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Widening e punti fissi Sia f una funzione monotona f: (P,£P) ® (P,£P) su un reticolo completo, e dato un operatore di widening Ñ su (P,£P), possiamo calcolare la catena ascendente: ^ se n=0 f nÑ = f n-1Ñ se n>0 e f(f n-1Ñ) £P f n-1Ñ f(f n-1Ñ) Ñ f n-1Ñ altrimenti Questa catena ascendente converge in un numero finito di passi. Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Widening T f mÑ = f m+1Ñ = … Fix(f) ={ l Î L | f(l)=l} lfp(f) … f 2Ñ f 1Ñ ^ Tino Cortesi Tecniche di Analisi di Programmi

A che serve tutto questo? Abbiamo detto che l’approccio all’analisi di programmi che consideriamo è basato sulla semantica Semantica = assegnare ad ogni costrutto linguistico il suo significato Ogni semantica di un programma può essere espressa come soluzione di un’equazione di minimo punto fisso. Tino Cortesi Tecniche di Analisi di Programmi

Tecniche di Analisi di Programmi Sintassi e Semantica Ci sono modi diversi per definire la semantica di un programma scritto in un dato linguaggio di programmazione: Semantica Operazionale: la semantica di un costrutto linguistico viene espressa in termini dei passi di computazione che possono aver luogo durante l’esecuzione del programma Semantica Assiomatica la semantica viene definita indirettamente attraverso assiomi e regole di una qualche logica Semantica Denotazionale fornisce modelli matematici ai linguaggi di programmazione: associa ad ogni costrutto linguistico del programma un elemento di una struttura matematica Tino Cortesi Tecniche di Analisi di Programmi