Numerical Power Analysis

Slides:



Advertisements
Presentazioni simili
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
Advertisements

Le distribuzioni di probabilità continue
Punti Fissi.
2. Introduzione alla probabilità
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Il linguaggio della Matematica: Insiemi e operazioni
1 Semantica Operazionale di un frammento di Java: lo stato.
COORDINATE POLARI Sia P ha coordinate cartesiane
6. Catene di Markov a tempo continuo (CMTC)
Frontespizio Economia Monetaria Anno Accademico
I sistemi di riferimento
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)
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
Metodi Quantitativi per Economia, Finanza e Management Lezione n° 11.
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
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
Ordini Parziali - Reticoli
Esercitazioni su circuiti combinatori
I MATEMATICI E IL MONDO DEL LAVORO
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
EIE 0607 III / 1 A B P a = 30 P b = 35 t = 2, tc = 1 Questo può essere un equilibrio? No! Politiche di un paese importatore: una tariffa allimportazione.
TEORIA RAPPRESENTAZIONALE DELLA MISURA
Obiettivi del corso di Statistica Medica.
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
Programmazione 1 9CFU – TANTE ore
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 Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
eliana minicozzi linguaggi1a.a lezione2
Test di ipotesi X variabile casuale con funzione di densità (probabilità) f(x; q) q Q parametro incognito. Test Statistico: regola che sulla base di un.
Seminario su clustering dei dati – Parte II
Modelli simulativi per le Scienze Cognitive
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
Lezione 8 Numerosità del campione
Num / 36 Lezione 9 Numerosità del campione.
Lezione 4 Probabilità.
Contatore: esempio di circuito sequenziale
1 Programmazione = decomposizione basata su astrazioni (con riferimento a Java)
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Elementi di Informatica di base
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.

1 Questionario di soddisfazione del servizio scolastico Anno scolastico 2011/2012 Istogramma- risposte famiglie.
Un trucchetto di Moltiplicazione per il calcolo mentale
21 marzo 2002 (ri-)Avvisi: Giovedi 28 marzo la lezione e sospesa. Nuovo indirizzo di Spedire messaggi e esercizi solo.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Numeri Interi senza segno
Metodi matematici per economia e finanza. Prof. F. Gozzi
Il numero più grande Accademia dei Lincei
TRASFORMATA DI FOURIER
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
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.
Elementi di semantica denotazionale ed operazionale
Transcript della presentazione:

Numerical Power Analysis Anna Achilli Diego Bellantuono

Excursus Introduzione alla NPA Classe di domini P(B,E) P(B,E) come reticolo completo: astrazione di Proprietà: ACC, Elementi Meet-Irriducible Combinazione con altri domini astratti Calcolo della semantica astratta e concreta in esempi pratici Il problema di Collatz e sua risoluzione tramite l’NPA Programmi in linguaggio PCCP Osservazioni conclusive.

Introduzione alla NPA NPA è la Power Analysis di valori numerici interi o razionali. La Power Analysis è un strumento importante per prevedere risultati statistici significativi in un determinato esperimento scientifico prima che l’esperimento sia effettuato Come funziona la PA: E’ necessario avere in mente una ipotesi alternativa a quella che si vuole dimostrare Utilizzata in particolare assieme ai metodi statistici

Power Analisys: Esempio Scopo: Effettuare un Sondaggio di Marketing Sia π ( chiamato parametro di interesse )la porzione di persone favorevoli all’oggetto del sondaggio E’ interrogato un campione casuale di persone. Sia N questo campione: generalmente N sarà un valore molto piccolo rispetto alla popolazione in generale. Il calcolo delle persone interrogate è una statistica chiamata P. Già prima di eseguire lo studio si sa che di una quantità chiamata errore di campionamento La PA è utilizzata per rispondere a domande relative a velocità, semplicità, accuratezza ( dimensione del campione per minimizzare l’errore )

Alternative alla PA: Intervalli di confidenza In alternativa alla PA, esiste un approccio basato su intervalli di confidenza. se lo scopo è solo di illustrare i risultati è sufficiente questa tecnica, se invece si vuole approfondire uno studio è più utile la PA

Scopo: Costruire domini astratti Progettare domini astratti per l’analisi delle potenze numeriche Questi domini sono dimostrati corretti nel framework adjoint dell’interpretazione astratta Il progettista di domini è facilitato a dimostrare la correttezza e l‘ottimalità dell’analisi Altre proprietà rilevanti: Possono avere infinite catene discendenti ma soddisfano l’ACC ( “Ascending Chain Condition” ) Non sono permesse infinite catene ascendenti Importante nell’analisi statica perché dimostra che non ci possono essere cicli infiniti nella semantica astratta Domini visti come reticoli con elementi meet-irriducible

Analisi Consideriamo la nostra analisi come la soluzione di un sistema di equazioni di punti fissi associate alla semantica concreta del programma Ogni equazione è interpretata nel dominio astratto che restituisce una trasformazione approssimata dell’invarianza del programma in ogni suo punto Perché questa analisi sia effettiva La soluzione iterativa del sistema di equazioni approssimato deve terminare. Condizione di terminazione raggiunta Staticamente disegnando domini astratti senza catene ascendenti Dinamicamente calcolando i punti fissi tramite operazioni di widening/narrowing per velocizzare la convergenza

Domini e proprietà Questi domini sono ideati per scoprire proprietà del tipo: Esempio PROBLEMA DI COLLATZ: applicando la NPA a questo problema è possibile individuare automaticamente delle proprietà

Campi di applicazione Combinazione di domini NPA è molto utile se combinata con altre tecniche di analisi di valori numerici Analisi di Congruenza di Granger, Interval Analysis La combinazione avviene tramite ad esempio Prodotto ridotto Studiato per superare le limitazioni del prodotto diretto ( è il dominio ottenuto dal prodotto cartesiano dei due domini astratti ) Mancanza di precisione perché manca l’interazione tra le componenti Prodotto cartesiano + riduzione ( processo che trasforma una GC una GI ) Prodotto di Granger Definisce due nuove operazioni sul prodotto cartesiano dei domini, che riducono rispettivamente ogni componente Vantaggi Costruzione di analisi più sofisticate Riutilizzo di implementazioni esistenti

Campi di Applicazione Probabilistic Concurrent Constraint Program NPA usata nell’analisi statica di linguaggi di programmazione probabilistica a scelta casuale Posso usare NPA per approssimare la probabilità risultante in computazioni casuali Caso studio: programmi in linguaggio PCCP

Il dominio delle potenze numeriche Consideriamo tipi numerici standard: Naturali, Interi, Razionali Identifichiamo gli elementi utili alla nostra analisi come collezioni di insiemi ognuno dei quali contiene potenze numeriche di un particolare valore intero o razionale

Il dominio concreto Le variabili assumono valore in Z o Q, quindi i possibili valori che assumono durante l’esecuzione del programma appartengono al è un reticolo booleano che rappresenta il dominio concreto dell’interpretazione Un reticolo booleano è un reticolo distributivo complementato

Classe di domini con X-Powers Introduciamo la classe di domini che include tutte le X-Powers di valori interi o razionali con la condizione che se allora In consideriamo all’inizio solo insiemi di potenze di elementi atomici e poi assegnamo i risultati ottenuti alla stessa Atomo esponenziale di A ( ) è il più piccolo elemento tale che con e e a è atomico se allora con , , , In particolare quando e lavoriamo solo con insiemi di potenze con valori maggiori di 1 e quindi possiamo estendere i risultati agli insiemi delle potenze di tutti i valori razionali

Domino delle potenze degli interi Dominio delle potenze degli interi

Analisi della Base Introduciamo due domini astratti: con formano RETICOLI COMPLETI: è un RETICOLO Definire lub e glb è un reticolo COMPLETO GI tra e Consideriamo domini EXPONENTIAL-CLOSED Proprietà: ACC e elementi MEET-IRRIDUCIBLE è un’ASTRAZIONE DI è una MOORE – FAMILY

Fase 1:dimostrazione RETICOLO Individuiamo Least Upper Bound - lub (e Greatest Lower Bound - glb) Sia tale che con Consideriamo Idea della dimostrazione: Caso Visto che allora Quindi sappiamo che Dimostriamo che è contenuto nell’insieme con e

Fase 1: dimostrazione RETICOLO In altri termini Se , Sappiamo che d è atomico ( = ) e Quindi l’intersezione esiste Per dimostrarlo considero tale che con Ciò implica che e quindi Ma al tempo stesso per le proprietà dell’intersezione Possiamo concludere che cioè

Esempio 1: calcolo lub con B=Z Consideriamo e Troviamo il lub= Calcoliamo il gcd per definire k e h quindi Allora e Usando la notazione del teorema per il calcolo del lub per cui Lub =

Esempio 2: calcolo lub con B=Q e X={N,Z} Consideriamo e Calcoliamo k e h come gcd degli esponenti: quindi Calcoliamo il gcd tra k e h m=gcd(4,6)=2 Allora il lub è:

Domini Exponential-Closed Finora abbiamo visto che è un reticolo ordinato per inclusione Consideriamo ora un tipo particolare di dominio chiamato exponential-closed Tale assunzione è imposta dalla caratterizzazione di E: consideriamo E come collezione di insiemi di interi o naturali In particolare E può essere visto come una astrazione di Questa generalizzazione permette di analizzare le potenze combinando con altri domini astratti ma pone un problema che può essere superato introducendo questo tipo di domini

Domini Exponential-Closed Problema: Dati Dove una funzione è UCO se è estensiva, monotona e idempotente Un UCO identifica un’inserzione di Galois Se

Domini Exponential-Closed Se C è un reticolo completo allora è una Moore-Family di C ( ) se Un dominio exponential-closed assicura che l’astrazione dell’esponente in un dominio E sia una Moore-Family ( e quindi una astrazione del ) Una Moore-Family è un dominio exponential-closed se per ogni

E: dominio exponential-closed Noi assumiamo che Visto che I domini così costruiti (con E che soddisfa ACC) non possono avere infinite catene ascedenti ( ma le possono avere infinite discedeti )

Ascending Chain Condition (ACC) Consideriamo un poset P: P soddisfa ACC se per ogni Diamo ora una caratterizzazione degli elementi meet-irriducible di P(B,E).

Elementi Meet-Irriducible Sia C un reticolo con Mirr(C) è l’insieme degli elementi meet-irriducible in un reticolo C. C è definito meet-generated dai suoi elementi meet-irriducible se e solo se C=M(Mirr(C)) Sia A un insieme e allora X è meet-irriducible in

P(B,E): Reticolo Completo Dimostriamo ora che P(B,E) con E dominio esponential-closed è un reticolo completo. Per far ciò bisogna trovare una G.I. tra P(B,E) e il powerset di B

P(B,E): astrazione di Finora abbiamo dimostrato che sono reticoli completi. Osserviamo che è una astrazione di cioè che è una Moore-Family del Una GI può essere caratterizzata nei termini di una Moore-Family (Ward):

Operazioni astratte Dopo aver descritto P(B,E) consideriamo il linguaggio di programmazione con operazioni aritmetiche standard su N o Q e ne definiamo l’interpretazione astratta Queste operazioni sono corrette e in particolare è un’operazione astratta che rappresenta una astrazione ottimale della corrispondente operazione concreta del

Domini infinitamente exponential-closed I domini conosciuti nell’ambito della NPA di interi o razionali sono infinitamente exponential-closed Quindi sono utilizzabili per approssimare le proprietà dell’insieme esponente Dominio di congruenza di Granger: Consente di analizzare potenze numeriche nella forma mZ+n con n,m Z Dominio di intervalli di Cousot: Utilizzato per analizzare la dimensione dell’insieme esponente in N o Z Considereremo la restrizione a N:

C(Z), Int(Z), Int(N), P(Z,{N}) Dominio per NPA: P(B,E) Per analizzare le proprietà dell’insieme esponente di essere un power-set in P(Z,{N}) C(Z), Int(Z), P(Z, {N}) uco(Z) e Int(N) uco(N) sono domini infinitamente exponential-closed sono cioè nella forma kX∩hX=zW per infinite intersezioni Consideriamo alcuni esempi di intersezioni e lub nei domini considerati per dimostrare che sono infinitamente exponential-closed

Esempio con E = Int(N) Dati B=Z, E=Int(N) determiniamo l’intersezione: Dove: e Calcoliamo i valori di k e h: quindi Gli e-atomi di a e b sono uguali quindi l’intersezione esiste Possiamo trovare l’intersezione come: Dove: 6N=2N 3N, Cioè c= e

Esempio con E = C(Z) Dati B=Q e E=C(Z), Trovare Si noti che Calcoliamo k e h: quindi Anche in questo caso i 2 e-atomi sono uguali perciò: Perché = Concludendo e ( [ ] /6)

Esempio con E = Int(Z) Dati B=Q, E=Int(Z) Troviamo Consideriamo gli elementi nella forma Quindi e Gli e-atomi di a e b sono pari a 2 Determiniamo il lub: Perché

Programma per NPA con Applichiamo i domini per le potenze numeriche all’analisi statica dei programmi tramite l’interpretazione astratta Questo frammento di programma ci illustra l’analisi statica di potenze numeriche in

Semantica concreta e astratta Semantica concreta S: con π che indica un determinato punto del programma e rappresenta uno stato concreto Vogliamo calcolare la semantica concreta del programma P al punto è l’estensione point-wise alle funzioni dell’insieme unione

Soluzione del sistema Semantica astratta È il minimo punto fisso dell’equazione: Otteniamo la soluzione in 3 passi:

Il problema di Collatz Si presta bene ad essere usato dalla NPA si può esprimere come iterazione della seguente funzione

Il grafo di Collatz I risultati delle iterazioni possono essere rappresentati con un grafo chiamato grafo di Collatz della funzione S(n)

P termina sempre con 1 È facilmente osservabile che il risultato finale è sempre 1 Esempio: partiamo da 7 E' dispari, quindi faccio 3x7+1=22. Pari, 22:2=11. Dispari, 11x3+1=34. Pari, 34:2=17. Dispari, 17x3+1=52. Pari, 26. Pari, 13. Dispari, 40. Pari, 20. Pari, 10. Pari, 5. Dispari, 16. Pari, 8. Pari, 4. Pari, 2. Pari, 1. Da questo punto in poi : 4,2,1,4,2,1,4,2,1.....

Formalizziamo Ciò equivale a dire che è una tripla di Hoare valida, con: c può essere ogni potenza di 2 Cioè il programma P termina con n=1 ogni qual volta Consideriamo le seguenti operazioni astratte:

Calcolo della semantica astratta La semantica astratta per il programma P al punto Quindi se con Allora è un punto fisso dell’equazione

Analisi statica di PCCP casuali La NPA dei razionali è adatta ad approssimare la probabilità dei programmi casuali Gli oggetti astratti in si prestano ad approssimare le componenti di probabilità delle computazioni riguardanti scelte casuali Inoltre il dominio può caratterizzare le proprietà degli esponenti della probabilità elaborata Consideriamo l’operazione prodotto astratto con

Linguaggio PCCP Per modellare questa situazione come un programma di analisi statica consideriamo una versione probabilistica del calcolo constraint concorrente (PCCP) PCCP si basa sul paradigma ask-tell che fa riferimento alla nozione di bloking-ask Un processo è sospeso quando lo store non comporta l’ask-constraint e rimane sospeso fino a quando ciò accade

Sintassi PCCP Basata sulla nozione di constraint system C Reticolo algebrico completo C= insieme di constraint = relazione d’implicazione che ordina C = lub True= bottom di C False= top di C Un programma PCCP chiamato P è un oggetto nella forma D.A D= insieme di dichiarazioni di procedure nella forma p(x) A= agente PCCP

Sintassi agenti PCCP

Semantica PCCP Semantica operazionale Sistema di transizioni + probabilità (per ogni transizione) Significato operazionale del costrutto scelta probabilistica Controlla se i constranit ci sono implicati nello store Normalizza le distribuzioni di probabilità considerando solo gli agenti abilitati Ciò significa che abbiamo ridefinito le distribuzioni di probabilità solo con agenti aventi probabilità diversa da 0 e somma delle probabilità pari a 1 Con =probabilità di transizione normalizzata =somma su tutti gli agenti abilitati

Semantica: idea di base Associare ad ogni agente una descrizione matematica del suo funzionamento computazionale Spesso la computazione è influenzata dal funzionamento I/O Ciò viene descritto da un insieme di constraint che rappresentano i possibili store finali dopo l’esecuzione di un agent L’I/O è rappresentabile con la distribuzione di probabilità su un sistema constraint: Cioè su un insieme di coppie (c,p) dove c= risultato p= probabilità della computazione risultante

Semantica e punti fissi Ottenuta tramite applicazione iterativa dell’operatore di punto fisso (sull’insieme dell’interpretazione) partendo dall’interpretazione iniziale che assegna ad ogni agente l’insieme {true} Interpretazione: agenti → sottoinsieme di C (descrive i risultati della computazione agente) Operatore di punto fisso Con (per gli insiemi di constraint ) così definito:

Spazio vettoriale su C Restrizione sintattica Consideriamo PCCP libero da sincronizzazioni Così ignoriamo gli aspetti relativi alla concorrenza che richiedono strutture più complicate Distribuzione di probabilità Rappresentata da vettori nello spazio vettoriale reale libero V(C) sul sistema constraint C Spazio costruito come insieme di tutte le combinazioni lineari di constraint O equivalentemente

Equazioni ricorsive su spazio vettoriale Semantica di PCCP Costruita definendo il significato degli agenti tramite un insieme di equazioni ricorsive su uno spazio vettoriale libero Esempi Agente stop può solo produrre uno store vuoto con probabilità pari a 1 Agente tell aggiunge sempre c allo store con probabilità 1

Semantica relazionale Semantica relazionale I/O di un programma P Dove Constraint c= = lub dei constraint prodotti da ogni agente Ai Probabilità p= = prodotto delle probabilità associate ad ogni constraint Semantica astratta su GI

Soundness Processo di astrazione Introduce una perdita di informazioni L’importante è che ciò che mantengo nel concreto lo sia anche nel’astratto Soundness del dominio astratto importante allora esiste Tale che cioè Sia quindi

Utilizzo di NPA in PCCP Consideriamo questo algoritmo di calcolo casuale in PCCP Il programma P genera una sequenza infinita di numeri casuali con probabilità decrescente: Questa informazione può essere ottenuta automaticamente tramite interpretazione astratta in Dominio concreto:

Conclusioni Abbiamo visto come progettare una famiglia di domini astratti, utili per l’analisi delle potenze numeriche Questo studio consente di creare nuovi domini astratti per NPA considerando astrazioni sull’insieme esponente Si può generalizzare questa costruzione con le strutture algebriche dell’insieme base B Gli anelli eucludei offrono strutture algebriche che consentono la fattorizzazione dei loro elementi Perciò si possono trovare strutture algebriche astratte per B tale che P(B,E) sia un’astrazione di Importante per generalizzare la NPA alle potenze di altri oggetti non numerici

Bibliografia Isabella Mastroeni, Numerical Power Analysis, Univ. degli Studi di Verona,2005 Isabella Mastroeni, Abstract Non-Interference -An Abstract Interpretation-based approach to Secure Information Flow, Ph.D. Thesis, Univ. Degli Studi di Verona Isabella Mastroeni, Algebric Power Analysis by Abstract Interpretation, Univ. Degli Sutdi di Verona, 2004, Kluwer Academic Publishers A.Di Pierro and H.Wiklicky. An operational semantics for probabilistic concurrent constraint programming. In Proc. Of the 1998 IEEE Internat. Conf. On Computer Languages (ICCL ’98). IEEE Computer Society Press, Los Alamitos, Calif., 1998 Tino Cortesi, Manipulating Abstract Domains and Abstract Operations for Static Analysis of (Declarative) Programs, Univ. degli Studi di Venezia Ca’ Foscari L'algoritmo di Collatz, Gianfranco Bo, http://utenti.quipo.it/base5/numeri/collaz.htm