As frameworks and languages have evolved, creating a mobile app has never been easier. But can an easy mobile app be secure? Join our mobile security experts to discuss the Salesforce Mobile SDK and learn everything you need to know about hardening your mobile apps. We will discuss some common mobile vulnerabilities and mistakes, then dive deep into how the Salesforce Mobile SDK makes following our security best practices easy and painless!
As frameworks and languages have evolved, creating a mobile app has never been easier. But can an easy mobile app be secure? Join our mobile security experts to discuss the Salesforce Mobile SDK and learn everything you need to know about hardening your mobile apps. We will discuss some common mobile vulnerabilities and mistakes, then dive deep into how the Salesforce Mobile SDK makes following our security best practices easy and painless!
BIM obblighi e opportunità (nicolafurcolo.it) R.pdfNicola Furcolo
Slide BIM: una grande opportunità per gli operatori delle costruzioni.
Il BIM rappresenta una grandissima opportunità per chiunque operi nel settore delle costruzioni:
architetti
ingegneri
geometri
periti
topografi
imprese di costruzioni
pubbliche amministrazioni
RUP
dirigenti PA
A breve il BIM diventa obbligatorio di fatto per ogni appalto pubblico, ma una grande opportunità anche per i lavori privati.
Ti metto a disposizione qui sotto le SLIDE introduttive sul BIM che puoi scaricare gratuitamente.
Se hai bisogno di una consulenza tecnica sul BIM, contattami subito! www.nicolafurcolo.it
BIM obblighi e opportunità (nicolafurcolo.it) R.pdfNicola Furcolo
Slide BIM: una grande opportunità per gli operatori delle costruzioni.
Il BIM rappresenta una grandissima opportunità per chiunque operi nel settore delle costruzioni:
architetti
ingegneri
geometri
periti
topografi
imprese di costruzioni
pubbliche amministrazioni
RUP
dirigenti PA
A breve il BIM diventa obbligatorio di fatto per ogni appalto pubblico, ma una grande opportunità anche per i lavori privati.
Ti metto a disposizione qui sotto le SLIDE introduttive sul BIM che puoi scaricare gratuitamente.
Se hai bisogno di una consulenza tecnica sul BIM, contattami subito! www.nicolafurcolo.it
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Analisi sperimentale comparativa dell’evolvibilità nei sistemi di evoluzione grammaticale - presentazione
1. Universit`a degli Studi di Trieste
Analisi sperimentale comparativa dell’evolvibilit`a nei sistemi
di evoluzione grammaticale
Relatore
Eric Medvet
Correlatore
Fabio Daolio
Laureando
Danny Tagliapietra
07 marzo 2017
2. Computazione evolutiva
Prende spunto dalla teoria evoluzionistica darwiniana.
Popolazione di individui che competono per risorse limitate.
Dinamicit`a della popolazione: vita e morte degli individui.
Gli individui migliori sopravvivono e si riproducono pi`u degli altri.
I figli ereditano alcune caratteristiche dei genitori.
Sono presenti vari algoritmi evolutivi che implementano queste
caratteristiche.
2 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
3. Evoluzione grammaticale (GE)
Ogni individuo caratterizzato da genotipo e fenotipo:
Genotipo → fenotipo: funzione di mappatura, con grammatica.
Genotipo: stringa binaria.
Fenotipo: stringa ∈ L(G).
Valutazione individuo: funzione di fitness.
Ogni problema risolvibile avendo la grammatica che lo descrive.
3 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
5. Evolvibilit`a
Capacit`a di un sistema di creare ad ogni generazione una prole
con valore di fitness migliore di quelli dei genitori.
Fa parte dell’analisi della Fitness Landscape: studio delle
caratteristiche di un problema attraverso lo spazio dei valori di
fitness.
Comprende varie metriche: fpc, AEP...
5 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
6. Motivazioni
La presenza del mapper in GE comporta un’ulteriore
trasformazione non presente in altri algoritmi genetici:
possibile influenza.
Ad oggi studi dell’evolvibilit`a relativi solamente alla
quantificazione della difficolt`a di un problema.
6 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
7. Obiettivi
Valutare l’influenza di mapper, operatore e dimensione genotipo
sull’evolvibilit`a.
Verificare la presenza di un legame con altre caratteristiche
proprie della funzione di mappatura.
7 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
8. Dettagli - Grammatica
Ogni problema descritto da una grammatica rappresentata nella
forma BNF (Backus-Naur Form).
<e> ::= <e> <o> <e> | <v>
<o> ::= + | -
<v> ::= x | y
A partire dal simbolo iniziale viene costruito iterativamente un albero
fino ad avere simboli terminali su tutte le foglie.
8 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
9. Dettagli - GE Mapper
GE basato su:
Suddivisione del genotipo in codoni.
Codone → espansione nodo non terminale.
regola = valore del codone % numero di regole
Scelta del nodo non terminale da espandere: quello pi`u a sinistra.
Il genotipo `e riutilizzato per un numero limitato di volte (wraps).
9 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
10. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: <e>
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
11. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: <e>
104 mod 2 = 0
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
12. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: <e> <o> <e>
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
13. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: <e> <o> <e>
13 mod 2 = 1
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
14. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: <v> <o> <e>
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
15. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: <v> <o> <e>
88 mod 2 = 0
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
16. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: X <o> <e>
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
17. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: X <o> <e>
3 mod 2 = 1
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
18. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: X - <e>
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
19. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: X - <e>
199 mod 2 = 1
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
20. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: X - <v>
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
21. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: X - <v>
125 mod 2 = 1
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
22. Dettagli - Esempio GE
Genotipo: Grammatica:
01101000 00001101 <e> ::= <e> <o> <e> | <v>
01011000 00000011 <o> ::= + | -
11000111 01111101 <v> ::= X | Y
Genotipo: 104 13 88 3 199 125
Fenotipo: X - Y
10 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
23. Dettagli - Altri mapper
BGE (Breadth first GE) come GE ma scelta del nodo da espandere
percorrendo l’albero in ampiezza.
πGE (Position Indipendent GE) utilizza il genotipo anche per la
scelta del nodo da espandere.
SGE (Structured GE):
Ogni codone `e legato a un simbolo non terminale.
Modifica di un codone non influisce su altre derivazioni.
`E strettamente legata alla grammatica.
Grammatica non ricorsiva.
11 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
24. Dettagli - Operatori
One Point Crossover: a partire da una coppia di individui `e
generata un’altra coppia scambiandone una parte del genotipo.
Length Preserving One Point Crossover: come sopra, ma le parti
di genotipo scambiate hanno la stessa dimensione → dimensione
degli individui costante.
Probabilistic Mutation: ogni bit ha una probabilt`a p di essere
invertito.
12 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
25. Fitness Probability Cloud (fpc)
Escape Probability: probabilit`a P che venga generato un figlio
migliore del/dei genitore/i
Fitness Probability Cloud: rappresentazione grafica dell’escape
probability su tutto il dominio dei valori di fitness.
fc
=fp
parent fitness
offspringfitness
fitness level
probabilitytoimprove
f p
f c
f
P
13 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
26. Accumulated Escape Probability (AEP)
AEP: indice che permette la classificazione della difficolt`a dei
problemi.
Calcolato come media dei valori di escape probability Pi su tutti i
valori di fitness fi ∈ F.
AEP =
fi ∈F Pi
|F|
Usata nelle seguenti analisi per valutare le differenze in termini di
evolvibilit`a al variare di mapper e operatore.
14 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
27. Analisi sperimentale
Per ogni problema analizzato e per ogni combinazione delle seguenti
caratteristiche `e stata valutata l’evolvibilit`a.
Funzioni di mappatura: GE, BGE, πGE, SGE.
Operatori genetici: crossover, mutazione.
Dimensione genotipo: 128 – 1024 bit.
Diversi studi:
Analisi statica: fpc e AEP su un set di individui generati
casualmente.
Analisi dinamica: AEP ad ogni generazione durante l’evoluzione.
Legame tra evolvibilit`a e localit`a/ridondanza.
15 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
28. Problemi considerati
Quattro problemi comunemente usati:
Harmonic: approssimazione della serie f (x) = x
i=1
1
i .
Polynomial: approssimazione del polinomio
f (x) = x4 + x3 + x2 + x.
Santa Fe: generazione di un programma che guidi una formica
nella raccolta di cibo distribuito su una griglia 32 × 32.
Text: generazione di una stringa uguale a “Hello world!”.
16 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
29. Analisi statica
Per ogni problema:
Generazione casuale di 300 genotipi (o coppie di genotipi).
Mutazione (Crossover) applicato 30 volte per ogni genotipo
(coppia).
Applicazione dei 4 mapper descritti sia ai genitori che ai figli.
Calcolo di fpc e AEP.
17 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
30. Analisi statica - valori AEP
0
0.1
0.2
0.3
Mutazione
Harmonic Polynomial Santa-Fe Text
0 500 1,000
0
0.1
0.2
Crossover
0 500 1,000 0 500 1,000 0 500 1,000
GE BGE πGE SGE
18 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
31. Analisi statica - valori AEP
0
0.1
0.2
0.3
Mutazione
Harmonic Polynomial Santa-Fe Text
0 500 1,000
0
0.1
0.2
Crossover
0 500 1,000 0 500 1,000 0 500 1,000
GE BGE πGE SGE
Combinazione di dimensione genotipo e operatore → diversa
influenza su AEP.
18 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
32. Analisi statica - valori AEP
0
0.1
0.2
0.3
Mutazione
Harmonic Polynomial Santa-Fe Text
0 500 1,000
0
0.1
0.2
Crossover
0 500 1,000 0 500 1,000 0 500 1,000
GE BGE πGE SGE
Combinazione di dimensione genotipo e operatore → diversa
influenza su AEP.
SGE mostra diversi valori di AEP.
18 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
33. Analisi statica - valori AEP
0
0.1
0.2
0.3
Mutazione
Harmonic Polynomial Santa-Fe Text
0 500 1,000
0
0.1
0.2
Crossover
0 500 1,000 0 500 1,000 0 500 1,000
GE BGE πGE SGE
Combinazione di dimensione genotipo e operatore → diversa
influenza su AEP.
SGE mostra diversi valori di AEP.
Harmonic e Polynomial hanno simili valori di AEP → problemi
simili come difficolt`a. 18 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
34. Analisi statica - fpc con |g|=1024bit
500 1,000
0
0.2
0.4
Mutazione
Harmonic
5 10 15 20
Polynomial
60 70 80
Santa-Fe
10 15 20
Text
500 1,000
0
0.2
0.4
Crossover
5 10 15 60 70 80 8 10 12
GE BGE πGE SGE
19 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
35. Analisi statica - fpc con |g|=1024bit
500 1,000
0
0.2
0.4
Mutazione
Harmonic
5 10 15 20
Polynomial
60 70 80
Santa-Fe
10 15 20
Text
500 1,000
0
0.2
0.4
Crossover
5 10 15 60 70 80 8 10 12
GE BGE πGE SGE
Soluzione si avvicina all’ottimo → Escape probability diminuisce.
19 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
36. Analisi statica - fpc con |g|=1024bit
500 1,000
0
0.2
0.4
Mutazione
Harmonic
5 10 15 20
Polynomial
60 70 80
Santa-Fe
10 15 20
Text
500 1,000
0
0.2
0.4
Crossover
5 10 15 60 70 80 8 10 12
GE BGE πGE SGE
Soluzione si avvicina all’ottimo → Escape probability diminuisce.
Per il problema Harmonic il fatto `e poco visibile a causa di un
dominio molto sparso.
19 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
37. Analisi dinamica
Per ogni problema:
Popolazione di 500 individui, 50 generazioni, 10 ripetizioni.
Crossover a lunghezza fissa e Mutazione applicati con probabilit`a
rispettivamente pari a 0.8 e 0.2.
Selezione a Tournament e rimpiazzamento Steady-State.
Calcolato AEP per ogni generazione.
20 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
39. Analisi dinamica - Miglior Fitness e AEP, |g|=1024bit
20 40
0
0.2
0.4
AEP
Harmonic
20 40
0
0.2
0.4
Polynomial
20 40
0
0.2
0.4
Santa-Fe
20 40
0
0.2
0.4
Text
20 40
20
30
40
50
BestFitness
20 40
2
4
6
8
10
20 40
60
80
20 40
6
8
10
GE BGE πGE
Corrispondenza tra AEP e rapido miglioramento fitness.
21 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
40. Analisi dinamica - Miglior Fitness e AEP, |g|=1024bit
20 40
0
0.2
0.4
AEP
Harmonic
20 40
0
0.2
0.4
Polynomial
20 40
0
0.2
0.4
Santa-Fe
20 40
0
0.2
0.4
Text
20 40
20
30
40
50
BestFitness
20 40
2
4
6
8
10
20 40
60
80
20 40
6
8
10
GE BGE πGE
Corrispondenza tra AEP e rapido miglioramento fitness.
Pi`u difficile migliorare una soluzione buona.
21 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
41. Analisi dinamica - Miglior Fitness e AEP, |g|=1024bit
20 40
0
0.2
0.4
AEP
Harmonic
20 40
0
0.2
0.4
Polynomial
20 40
0
0.2
0.4
Santa-Fe
20 40
0
0.2
0.4
Text
20 40
20
30
40
50
BestFitness
20 40
2
4
6
8
10
20 40
60
80
20 40
6
8
10
GE BGE πGE
Corrispondenza tra AEP e rapido miglioramento fitness.
Pi`u difficile migliorare una soluzione buona.
Nessuno tra i mapper analizzati prevale in termini di miglior
fitness alla fine dell’evoluzione. 21 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
42. Legame tra Evolvibilit`a e Ridondanza/Localit`a
(mapper, operatore, dimensione genotipo) Evolvibilit`a.
Ridondanza: frequenza relativa dei casi in cui il figlio ha genotipo
diverso da quello dei genitori ma fenotipo uguale ad almeno uno
dei due genitori.
Localit`a: correlazione tra modifiche apportate al genotipo e
modifiche rilevate sul fenotipo dopo aver applicato la funzione di
mappatura.
Ridondanza/Localit`a → Evolvibilit`a?
22 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
43. Legame tra Evolvibilit`a e Ridondanza/Localit`a
0 0.2 0.4
0.1
0.2
0.3
Localit`a
AEP
0.2 0.4 0.6 0.8
0.1
0.2
0.3
Ridondanza
23 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
44. Tentativo di mapper a bassa ridondanza (LrGE)
0
0.2
0.4
0.6
0.8
1
Crossover
GE BGE πGE LrGE
0
0.2
0.4
0.6
0.8
1
Mutazione
Harmonic Polynomial
SantaFe Text
Tutto il genotipo usato per
il mapping → una piccola
variazione comporta una
modifica al fenotipo.
Ridondanza pi`u che
dimezzata rispetto agli altri
mapper
Non avvengono mappature
invalide.
24 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
45. Tentativo di mapper - Risultati, |g|=1024bit
0
0.2
0.4
AEP
Harmonic
0
0.2
0.4
Polynomial
0
0.2
0.4
Santa-Fe
0
0.2
0.4
Text
20 40
10
15
20
25
30
BestFitness
20 40
2
2.5
3
3.5
4
20 40
40
45
50
55
20 40
5
5.5
6
GE BGE πGE LrGE
25 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
46. Tentativo di mapper - Risultati, |g|=1024bit
0
0.2
0.4
AEP
Harmonic
0
0.2
0.4
Polynomial
0
0.2
0.4
Santa-Fe
0
0.2
0.4
Text
20 40
10
15
20
25
30
BestFitness
20 40
2
2.5
3
3.5
4
20 40
40
45
50
55
20 40
5
5.5
6
GE BGE πGE LrGE
AEP decisamente maggiore durante l’evoluzione → Confermata la
relazione tra bassa ridondanza e alto valore di AEP.
25 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
47. Tentativo di mapper - Risultati, |g|=1024bit
0
0.2
0.4
AEP
Harmonic
0
0.2
0.4
Polynomial
0
0.2
0.4
Santa-Fe
0
0.2
0.4
Text
20 40
10
15
20
25
30
BestFitness
20 40
2
2.5
3
3.5
4
20 40
40
45
50
55
20 40
5
5.5
6
GE BGE πGE LrGE
AEP decisamente maggiore durante l’evoluzione → Confermata la
relazione tra bassa ridondanza e alto valore di AEP.
Buoni risultati per i problemi Harmonic e Santa Fe, nella media
per Polynomial e Text.
25 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale
48. Conclusioni
Nessun mapper, operatore e dimensione genotipo aumenta
universalmente le prestazioni del sistema. Ogni problema ha una
combinazione migliore delle altre.
Una bassa ridondanza del mapper comporta una maggiore
evolvibilit`a.
Un’alta evolvibilit`a non comporta un risultato migliore in termini
di fitness a fine evoluzione.
26 of 26
Analisi sperimentale dell’evolvibilit`a nei sistemi di evoluzione grammaticale