Punti Fissi. Mappe tra insiemi parz. ordinati. Siano (P, P ) e (Q, Q ) due insiemi parzialmente ordinati. Una funzione ϕ da P a Q si dice:



Documenti analoghi
Introduzione Ordini parziali e Reticoli Punti fissi

Fondamenti dei linguaggi di programmazione

Ordini parziali e reticoli. Semantica di punto fisso. Agostino Cortesi

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Interpretazione astratta

Lezioni di Matematica 1 - I modulo

2 FUNZIONI REALI DI VARIABILE REALE

1. PRIME PROPRIETÀ 2

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

SUCCESSIONI NUMERICHE

Semantica Assiomatica

Ottimizazione vincolata

Lezione 8. La macchina universale

INTEGRALI DEFINITI. Tale superficie viene detta trapezoide e la misura della sua area si ottiene utilizzando il calcolo di un integrale definito.

Capitolo 5. Funzioni. Grafici.

FUNZIONI ELEMENTARI - ESERCIZI SVOLTI

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

1 Giochi a due, con informazione perfetta e somma zero

LEZIONE 31. B i : R n R. R m,n, x = (x 1,..., x n ). Allora sappiamo che è definita. j=1. a i,j x j.

Linguaggi del I ordine - semantica. Per dare significato ad una formula del I ordine bisogna specificare

Elementi di semantica denotazionale ed operazionale

I tre concetti si possono descrivere in modo unitario dicendo che f e iniettiva, suriettiva, biiettiva se e solo se per ogni b B l equazione

Corso di Calcolo Numerico

Le funzioni reali di variabile reale

Limiti e continuità di funzioni reali di una variabile

Analisi Matematica 2 per Matematica Esempi di compiti, primo semestre 2011/2012

4 3 4 = 4 x x x 10 0 aaa

SVILUPPO IN SERIE DI FOURIER. Prof. Attampato Daniele

Corrispondenze e funzioni

1 Serie di Taylor di una funzione

Applicazioni lineari

G. Pareschi ALGEBRE DI BOOLE. 1. Algebre di Boole

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

STRUTTURE ALGEBRICHE

ALGEBRA I: CARDINALITÀ DI INSIEMI

Successioni di funzioni reali

+ / operatori di confronto (espressioni logiche/predicati) / = > < Pseudo codice. Pseudo codice

Esistenza di funzioni continue non differenziabili in alcun punto

Parte 6. Applicazioni lineari

Studio di una funzione ad una variabile

Schemi delle Lezioni di Matematica Generale. Pierpaolo Montana

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

Teoria degli insiemi

3 GRAFICI DI FUNZIONI

Corso di Matematica per la Chimica

Funzioni. Funzioni /2

SPAZI METRICI. Uno spazio metrico X con metrica d si indica con il simbolo (X, d). METRICI 1

a n. a 0 x n + a 1 x n 1. b 0 x m + b 1 x m b m 0. Funzioni reali di variabile reale. Definizione classica. Funzioni razionali

1 Applicazioni Lineari tra Spazi Vettoriali

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria).

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE

Dimensione di uno Spazio vettoriale

Matematica generale CTF

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

LE FUNZIONI A DUE VARIABILI

Calcolo differenziale Test di autovalutazione

Funzione reale di variabile reale

10. Insiemi non misurabili secondo Lebesgue.

Elementi di semantica operazionale

FUNZIONE ESPONENZIALE E FUNZIONE LOGARITMICA

risulta (x) = 1 se x < 0.

11. Le funzioni composte

Capitolo 2. Operazione di limite

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R

SIMULAZIONE TEST ESAME - 1

Prodotto libero di gruppi

Funzioni - Parte II. 1 Composizione di Funzioni. Antonio Lazzarini. Prerequisiti: Funzioni (Parte I).

RELAZIONI E FUNZIONI. Per ricordare. Figura 1. Figura 2. Figura 3. Figura 4

Cosa dobbiamo già conoscere?

CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI

La funzione è continua nel suo dominio perchè y = f(x) è composizione di funzioni continue. Il punto x = 0 è un punto isolato per D f.

Introduzione al MATLAB c Parte 2

2. Leggi finanziarie di capitalizzazione

Metodi e Modelli Matematici di Probabilità per la Gestione

Esercizi su lineare indipendenza e generatori

LINGUAGGI DI PROGRAMMAZIONE

Anello commutativo. Un anello è commutativo se il prodotto è commutativo.

u 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

ESERCIZI SVOLTI. 1) Dimostrare che l insieme. non è ricorsivo. Soluzione: Definiamo l insieme

Quesiti di Analisi Matematica A

Introduzione ai Metodi Formali

ESERCIZI DI MATEMATICA FINANZIARIA DIPARTIMENTO DI ECONOMIA E MANAGEMENT UNIFE A.A. 2015/ Esercizi 4

Intorni Fissato un punto sull' asse reale, si definisce intorno del punto, un intervallo aperto contenente e tutto contenuto in

Lezione 1. Gli Insiemi. La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme:

FUNZIONI CONVESSE. + e x 0

ESERCIZI DI MATEMATICA FINANZIARIA DIPARTIMENTO DI ECONOMIA E MANAGEMENT UNIFE A.A. 2015/ Esercizi: lezione 24/11/2015

(anno accademico )

l insieme Y è detto codominio (è l insieme di tutti i valori che la funzione può assumere)

LEZIONE 7. Esercizio 7.1. Quale delle seguenti funzioni è decrescente in ( 3, 0) e ha derivata prima in 3 che vale 0? x x2. 2, x3 +2x +3.


DOMINI A FATTORIZZAZIONE UNICA

Funzioni. Il concetto di funzione nasce da quello di corrispondenza fra grandezze. Tale corrispondenza può essere data in svariati modi:

Una ricetta per il calcolo dell asintoto obliquo. Se f(x) è asintotica a mx+q allora abbiamo f(x) mx q = o(1), da cui (dividendo per x) + o(1), m =

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Test d ipotesi. Statistica e biometria. D. Bertacchi. Test d ipotesi

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

Anno 5 4. Funzioni reali: il dominio

Transcript:

Punti Fissi Mappe tra insiemi parz. ordinati Siano (P, P ) e (Q, Q ) due insiemi parzialmente ordinati. Una funzione ϕ da P a Q si dice: monotona (preserva l ordine) se p 1 P p 2 ϕ(p 1 ) Q ϕ(p 2 ) embedding se p 1 P p 2 ϕ(p 1 ) Q ϕ(p 2 ) isomorfismo se è un embedding suriettivo Tino Cortesi Tecniche di Analisi di Programmi 2 1

Esempi a b c d ϕ 1 (a) ϕ 1 (d) ϕ 1 (b)=ϕ 1 (c) ϕ 1 non è una funzione monotona e b a d c ϕ 2 (d)=ϕ 2 (e) ϕ 2 (b)=ϕ 2 (c) ϕ 2 (a) ϕ 2 è una funzione monotona, ma non è un embedding:ϕ 2 (b) Q ϕ 2 (c) ma non è vero che b P c Tino Cortesi Tecniche di Analisi di Programmi 3 e Esempi b a d c ϕ 3 (e) ϕ 3 (c)=ϕ 3 (d) ϕ 3 (a)=ϕ 3 (b) ϕ 3 è una funzione monotona, ma non è un embedding:ϕ 3 (b) Q ϕ 3 (c) ma non è vero che b P c ϕ 4 (d) b d c ϕ 4 (b) ϕ 4 (c) ϕ 2 è un embedding, ma non è un isomorfismo. a ϕ 4 (a) Tino Cortesi Tecniche di Analisi di Programmi 4 2

Catene Convergenti Ricordiamo che una sequenza (l n ) n N di elementi di L è una catena ascendente se n m l n l m Una sequenza (l n ) n N converge se e solo se n 0 N : n N : n 0 n l n0 = l n 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 5 Esempio 12 10 8 6 4 2 0 L insieme ordinato dei numeri pari non soddisfa la condizione sulle catene ascendenti Tino Cortesi Tecniche di Analisi di Programmi 6 3

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 7 Continuità In Analisi, una funzione si dice continua se preserva i limiti. Dati due ordini parziali (P, P ) e (Q, Q ), una funzione ϕ da P a Q si dice continua se per ogni insieme diretto S in P ϕ(lub(s)) = lub{ ϕ(x) x S } (P, P ) ϕ (Q, Q ) S ϕ(s) Tino Cortesi Tecniche di Analisi di Programmi 8 4

Continuità Non tutte le funzioni monotone sono continue. Ad esempio, ϕ : (N) (N) ϕ(s) = se S è finito, N altrimenti è monotona (se S 1 S 2 e S 2 è finito, anche S 1 è finito) ma non è continua: se si prende l insieme diretto D = {X N X è finito} si ha: lub {ϕ (X) X in D} = perché ogni X in D è finito ϕ (lub (D)) = N perché D è infinito Tino Cortesi Tecniche di Analisi di Programmi 9 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 10 5

Punti fissi sui CPO Sia f una funzione monotona f: (P, P ) (P, P ) su un insieme completo parzialmente ordinato (CPO) P. Sia α= n 0 f n ( ) Se α Fix(f) allora α= lfp(f) Teorema di Kleene Se f è continua allora il minimo punto fisso di f esiste ed è uguale ad α. Tino Cortesi Tecniche di Analisi di Programmi 11 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 12 6

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)) gfp(f) = lub(fix(f)) 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 13 Punti fissi sui reticoli completi Red(f) ={ l L f(l) P l} Fix(f) ={ l L f(l)=l} gfp(f) = lub{ l L l f(l) } lfp(f) = glb{ l L f(l) l } Ext(f) ={ l L l P f(l)} Tino Cortesi Tecniche di Analisi di Programmi 14 7

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 15 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 16 8

Punti Fissi Ci sono quindi tre risultati che garantiscono l esistenza di punti fissi: 1. Funzione continua su CPO 2. Funzione monotona su reticoli completi 3. 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 17 Widening Un operatore : (P, P ) (P, P ) si dice operatore di widening se e solo se: È un operatore di upper bound, ovvero l 1,l 2 P (l 1,l 2 ) Per ogni catena (l n ) n 0, la catena (l n ) n 0 = (l 0 =l 0, l 1 = (l 0,l 1 ), ) converge dopo un numero finito di passi Tino Cortesi Tecniche di Analisi di Programmi 18 9

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 Ω K : (Int,Int) Int Ω K ([a,b], [c,d]) = [min(a,c),max(b,d)] se [min(a,c),max(b,d)] K [-, + ] altrimenti Se K=[-2,4]: Ω [-2,4] è un operatore di widening Alla catena corrisponde la catena [0,0], [0,1], [0,2], [0,3], [0,4], [0,5], [0,6], [0,0], [0,1], [0,2], [0,3], [0,4], [-, + ], [-, + ], Tino Cortesi Tecniche di Analisi di Programmi 19 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 Ω K : (Int,Int) Int Ω K ([a,b], [c,d]) = [min(a,c),max(b,d)] se [min(a,c),max(b,d)] K [-, + ] altrimenti Se K=[0, + ]: Ω [0, + ] non è un operatore di widening Alla catena corrisponde la catena [0,0], [0,1], [0,2], [0,3], [0,4], [0,5], [0,6], [0,0], [0,1], [0,2], [0,3], [0,4], [0,5], [0,6], che non converge! Tino Cortesi Tecniche di Analisi di Programmi 20 10

Widening e punti fissi lfp widening Tino Cortesi Tecniche di Analisi di Programmi 21 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 ) f P 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 22 11

Widening T Fix(f) ={ l L f(l)=l} f m = f m+1 = lfp(f) f 2 f 1 Tino Cortesi Tecniche di Analisi di Programmi 23 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 24 12

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