1 / 39

Come ti sei comportato? Equivalenze comportamentali e loro applicazioni

Come ti sei comportato? Equivalenze comportamentali e loro applicazioni. Daniele Gorla Roma, 21 Settembre 2009. Sommario. Linguaggi di programmazione ed equivalenze comportamentali Dinamica e comportamento di canali di comunicazione con energia consumabile. Linguaggi di programmazione.

Download Presentation

Come ti sei comportato? Equivalenze comportamentali e loro applicazioni

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Come ti sei comportato?Equivalenze comportamentali e loro applicazioni Daniele Gorla Roma, 21 Settembre 2009

  2. Sommario • Linguaggi di programmazione ed equivalenze comportamentali • Dinamica e comportamento di canali di comunicazione con energia consumabile

  3. Linguaggi di programmazione • Sintassi(termini leciti) • Semantica(significato) • Operazionale(dinamica, implementazione) Astrazione • Comportamentale (osservatore) • Denotazionale • Assiomatica • …

  4. Equivalenze comportamentali • |[ - ]| associa a ogni programma il suo comportamento • P ~ P’ sse |[ P ]| = |[ P’ ]| • Esempi: • Macchine di Turing: |[ P ]| è il linguaggio accettato da P • Ling. Funzionali:|[ P ]| è la funzione che calcola P • Ling. Non-deterministici: |[ P ]| è l’insieme delle sequenze di azioni osservabili (tracce) che P produce • Ling. Imperativi: |[ P ]|μ è lo stato di memoria che P produce partendo dallo stato di memoria iniziale μ

  5. Applicazioni • Correttezza di programmi Spec ~ Impl • Ottimizzazione del codice Input ~ Output, ma Output è più efficiente • Proprietà di sicurezza • Riservatezza:s,s’. P(s) ~ P(s’) • Integrità • Autenticità • Correttezza di codifiche E : Ling1 → Ling2 tale che P ~1 P’ sse E(P) ~2E(P’)

  6. Note dolenti • In generale, ~ è indecidibile • Equivalenza per linguaggi di MT • Equivalenza Morris-style per λ-termini • … • Per alcune equivalenze e con opportune restrizioni sui programmi leciti, si passa al decidibile • Equivalenza per linguaggi di automi finiti • Equivalenza Morris-styleper λ-calcolo tipato semplice • Equivalenza a tracce per processi non-deterministici a stati finiti • Di solito, la complessità computazionale non è polinomiale (NPC, EXP, P-Space-C, …) • Tecniche di prova corrette (ma non complete) polinomiali

  7. Dinamica e comportamento di canali di comunicazione con energia consumabile assieme a Pietro Cenciarelli e Ivano Salvo

  8. 4 4 3 2 7 9 6 2 4 4 3 5

  9. 4 2 4 3 2 7 9 6 2 1 4 4 3 5

  10. 2 4 3 2 2 7 9 6 1 4 3 4 3 5

  11. 2 4 2 1 2 7 9 8 6 5 1 3 4 3 5

  12. 2 4 1 2 1 7 8 5 1 0 3 2 4 3 5

  13. 2 4 1 1 0 7 8 6 5 4 0 2 0 4 3 5

  14. 2 4 3 1 0 7 6 5 4 0 0 4 3 5

  15. Canale () 2 3 1 0 source 7 6 4 target 0 4 0 3 5

  16. Cammini (P) 2

  17. Flusso () 4 4 3 2  : P  N 7 che rispetta le energie di ogni vertice 9 6 1 7 4 Il valore di  è    = pP (p) 3 5

  18. Esempio di Flusso 4 4 3 2  ( )= 2 7  ( )= 1 9 6    = 3 1 7 4 3 5

  19. Transizioni 4 4 4 4 0 3 2 0 7 7 5 9 2 6 0 1 7 2 4 4 3 3 4 5  ( )= 2  ( )= 1    = 3

  20. Tracce 2 1 . . . 5 3 2 Una traccia di un canale è una sequenza n1, n2 ... t.c. n1 n2     ...

  21. Tracce 2 1 . . .  ( ) = 2, 1 , 2, 1, 2 , 1, 1, 1, 1 , 5 , ... 2 3 5 Una traccia di un canale  è una sequenza n1, n2 ... t.c. () è l’insieme delle computazioni di  n1 n2     ...

  22. Equivalenza (  ) 2 ?! 5   5 4    sse () = () Teor:    sse max() = max() 2 ( facile ) 5 4

  23. Equivalenza (  ) 2 5 4 2 5 4

  24. Equivalenza (  ) 2 0  5 1 4 0 2  4 4 2 2 5 4

  25. Equivalenza ( ?) 2 5 5 4 Una traccia (completa) di un canale è una sequenza n1 , ... , nk t.c. tr() è l’insieme delle tracce complete 2 n1 nk ...  5  4

  26. Equivalenza ( tr ) 2 tr ≁tr 5 5 4 Una traccia (completa) di un canale  è una sequenza n1 , ... , nk t.c. tr() è l’insieme delle tracce complete 2 n1 nk ...  5 trsse tr() = tr()  4

  27. Equivalenza ( tr ) 2 tr ≁tr 5 5 4 mif = 5 mif = 5 mif = 4 mif() è il valore del minimum inhibiting flow di  Teor: trsse max() = max() e mif() = mif() 2 ( difficile ) 5 4

  28. Complessità ( tr ) max() è polinomiale mif() NPC ? ridurre MinMaxMatching in un grafo bipartito di grado al più 3 a MIF

  29. Altre possibili equivalenze? 1 tr 2 1 mif = 2 max = 3 mif = 2 max = 3 1 3 1 1

  30. Altre possibili equivalenze? 1 tr 2 1 mif = 2 max = 3 mif = 2 max = 3 1 3 1 1

  31. Altre possibili equivalenze? 1 0 1 2 2 1 1  1  2 1 3 1 1

  32. Altre possibili equivalenze? 1 ≉ 2 1   tr 1 (bisimulazione) 3 1 1

  33. Sviluppi futuri • Studio della bisimulazione • caratterizzazione • complessità • Modello più sofisticato • (fallimenti, strategie di routing, …) • Problemi di ottimizzazione • (es: caratterizzazione di reti che soffrono del paradosso di Braess)

More Related