Numerical Power Analysis Anna Achilli Diego Bellantuono.
-
Upload
buonfiglio-riva -
Category
Documents
-
view
220 -
download
2
Transcript of Numerical Power Analysis Anna Achilli Diego Bellantuono.
Numerical Power Analysis
Anna Achilli
Diego Bellantuono
2
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.
)(B
3
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
4
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 )
πP
5
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
6
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
7
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
8
Domini e proprietà
Questi domini sono ideati per scoprire proprietà del tipo:
menteautomatica edeterminat
sono dove
di proprietà
: proprietà
della gode che con
, di numerica potenza la è
, con , variabile la
,
,
c
n
c
k
c
ZNxx
i
k
EsempioPROBLEMA DI COLLATZ: applicando la NPA a questo problema è possibile individuare automaticamente delle proprietà
9
Campi di applicazioneCombinazione 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 ridottoProdotto 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 GrangerProdotto 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
10
Campi di ApplicazioneProbabilistic 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
razionali prodotti accurato modo in approssima NPA
frazione una di numerica potenza la è spesso
dove
àprobabilit con intermedi stati di traccia la è
finale stato
finale stato
p
pp
psps
PS
ii
ii
ii
,...,
1,0
00
11
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
POWERS-X odefiniscon si
esponentel' ,QΖ, base
XkkaxaEXBa
ZNXXEEB x
|:,
,,|)(
12
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
)()( QZ al o
QZXZX ,,,0,,),( con
13
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
),( EBP
EXBaaBEBP X and |,),(
QB
ZEE
Xa
Xb
),( EBP
EX
QZNX ,,
kXX aa
0Nka
kba
QB
Ba Nk
ZEE
aa
14
Domino delle potenze degli interi
Dominio delle potenze degli interi
15
Analisi della Base
Introduciamo due domini astratti: con
formano RETICOLI COMPLETIRETICOLI COMPLETI: è un RETICOLO
Definire lub e glb è un reticolo COMPLETO
GI tra e Consideriamo domini EXPONENTIAL-CLOSED Proprietà: ACC e elementi MEET-IRRIDUCIBLE
è un’ASTRAZIONEASTRAZIONE DI è una MOORE – FAMILY
),( XBP ZNX ,
),( XBP
XBP ,
XBP ,
XBP ,
XBP ,
XBP ,
)(B
)(B
16
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
Nhk ,Bba ,
ZNX ,
altrimenti
se
B
dbaXhk
XX dba
),gcd(
hk bbaa ,
dba
hk bbaa ,),gcd( hkhk dba
XhkXX dba ),gcd(,
Xhkd ),gcd( Xc
XXX bac , Bc
17
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
e quindi Possiamo concludere che cioè
XhkXXhk dcd ),gcd(),gcd(
dd dc
dba XhklcmXX dba ),(
Xe
XXXhk ecdba ),gcd(,
XXX cba ,
Bc
),gcd( hkde
XhkX de ),gcd( ),gcd( hkde),gcd( hkde
XhkX dc ),gcd(
18
Esempio 1: calcolo lub con B=Z
Consideriamo e Troviamo il lub=
Calcoliamo il gcd per definire k e h quindi quindi Allora e Usando la notazione del teorema per il calcolo del lub per cui
Lub =
612 53,, aZba 816 53 b
NN ba
6)12,6gcd( k da 532
db 5328)16,8gcd( h
2)8,6gcd( m
6da 8db
N24 53
19
Esempio 2: calcolo lub con B=Q e X={N,Z}
Consideriamo e
Calcoliamo k e h come gcd degli esponenti: quindi quindi Calcoliamo il gcd tra k e h m=gcd(4,6)=2 Allora il lub è:
8
42
8
4
5
32
5
54 p
X
r
2
2
22
5
32
12
63
12
6
5
32
5
54 q
4)8,4gcd( k
6)12,6gcd( h
2
3
5
32p
rpq
20
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
),( EBP
(Z) e )(N
),( XBP
21
Domini Exponential-Closed
Problema: Dati
Dove una funzione è UCO se è estensiva, monotona e idempotente
Un UCO identifica un’inserzione di Galois Se
ZNXEE
ENE
EE
X
ZN
zN
,|
Zucouco
e , con
astratti domini e
EZ
b
E kχ
NkE
Z
YX
con c
forma nella sia a che detto è non
Family,-Moore della ambitonell' quindi, e
che detto è non generale in
Zk o e
22
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-Una Moore-Family è un dominio exponential-closed se per ogni closed se per ogni
)(B
XE
niintersezio infinite con anche vale proprietà tale se
closed-lesponentia nteinfinitame è zWhYkχ
e
xE
xX EWXzXhkEY
|
,:,,
CX )(XM XSSX |glb
23
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 )
ZNXXEE x ,|)(uco
closed-lesponentia dominio un è E quindi perchè
closed-lesponentia dominio un è X allora
,),(
,
XhklcmhYkX
ZNX
24
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).
ACCrispetta allora Se
P di elementi degli sequenza la Aumentando
)XP(B,ZNX
xxNk
xx
kk
n
,
...|
......
1
1
25
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
yx
yx
PCP
o di come ottenuto essere
può non cioè y,P ox P che implica
P se eirriducibl-meet
chiama si P e
glb
glb
T
c
AX
E))),M(Mirr(P(BEBP
AMirrMA
AxAaA
),(
))((()(
0\|)(
26
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 G.I. tra P(B,E) e il
powerset di Bpowerset di B
completi reticoliGI una è (B)γ,α,E),P(B, allora
sono (B) e E)P(B,
e
E YSia
1)
: in di GI
monotone con , e (B): Sia
closed-lesponentia nteinfinitame dominio un è E se oppure E Se
ZN
xx
xx
aa
aYExaY
xx
EBPBAdjunctionBEBPxx
xx
(B)P(B,E)
BEBPP(B,E)
,
|
.)3
)),(),(()(,,,),())(()2
))((
,)(),(:
27
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-Una GI può essere caratterizzata nei termini di una Moore-
FamilyFamily (Ward):
)(),(
)(
))(,,),,((
BEBP
B
P(B,E)BEBP
di astrazione una è
diFamily -Moore una ad
isomorfo è GI una è
),( EBP
(B) e ),( EBP
)(B),( EBP )(B
)(B
28
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 )(B
29
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
1.1. Dominio di congruenza di Granger:Dominio di congruenza di Granger:
Consente di analizzare potenze numeriche nella forma mZ+n con n,m Z
2.2. Dominio di intervalli di Cousot:Dominio di intervalli di Cousot:
Utilizzato per analizzare la dimensione dell’insieme esponente in N o Z
Considereremo la restrizione a N:
30
C(Z), Int(Z), Int(N), P(Z,{N})
3.3. Dominio per NPA: P(B,E)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
31
Esempio con E = Int(N)
Dati B=Z, E=Int(N) determiniamo l’intersezione:
Dove: e Calcoliamo i valori di k e h:
quindi 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
15,445,12;10,220,4 hk
32
Esempio con E = C(Z)
Dati B=Q e E=C(Z), Trovare Si noti che Calcoliamo k e h:
quindi quindi Anche in questo caso i 2 e-atomi sono uguali perciò:
Perché = Concludendo e ( [ ] /6)
33
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é
34
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
ZNP ,
ZNP ,
35
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
36
Soluzione del sistema
Semantica astratta
È il minimo punto fisso dell’equazione:
Otteniamo la soluzione in 3 passi:
37
Il problema di Collatz
Si presta bene ad essere usato dalla NPA
si può esprimere come iterazione della seguente funzione
dispari è n se
pari è n se
132)(n
nnS
38
Il grafo di Collatz
I risultati delle iterazioni possono essere rappresentati con un grafo chiamato grafo di Collatz della funzione S(n)
39
P termina sempre con 1
È facilmente osservabile che il risultato finale è sempre 1
Esempio: partiamo da 7E' 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.....
40
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:
41
Calcolo della semantica astratta
La semantica astratta per il programma P al punto
Quindi se con Allora è un punto fisso dell’equazione
42
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
EQP N,
EN
),gcd(,),(, hkgdbaEE NIntNNN
43
Linguaggio PCCP
Per modellare questa situazione come un programma di analisi statica consideriamo una versione probabilistica del calcolo versione probabilistica del calcolo constraint concorrente (PCCP)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
44
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
45
Sintassi agenti PCCP
46
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
47
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
48
Semantica e punti fissi Semantica
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:
49
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
50
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 stopstop può solo produrre uno store vuoto con
probabilità pari a 1
Agente tell aggiunge sempre c allo store con probabilità 1
51
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 )(,,,, QNQP
52
Soundness
Processo di astrazione Introduce una perdita di informazioni L’importante è che ciò che mantengo nel concreto lo
sia anche nel’astratto SoundnessSoundness del dominio astratto importante allora esiste Tale che cioè Sia
quindi
#pp A
53
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:
NQP ,
)( QN
54
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
)(B
55
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