programmazione genetica per l'inferenza di reti di kauffman
DESCRIPTION
Tesi triennale: Programmazione Genetica per l'Inferenza di Reti di KauffmanTRANSCRIPT
![Page 1: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/1.jpg)
ALMA MATER STUDIORUMSeconda Facoltà di Ingegneria Informatica
Programmazione genetica per l’inferenza di reti di Kauffman
Relatore Presentata da
Dott. Ing. Andrea Roli Daniele Bellavista
![Page 2: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/2.jpg)
2Programmazione genetica per l'inferenza di reti di Kauffman
Struttura
Grafo orientato, N nodi variabili
binarie
K archi entranti per
nodo
Funzione booleana
associata ad ogni nodo
Gli input sono gli archi entranti.
Comportamento dinamico
Lo stato della rete è l’insieme dello stato dei
nodi.
Cambiamento di stato sincrono.
La rete descrive una traiettoria.
Il sistema può raggiungere un
ordine spontaneo.
Reti di Kauffman o Reti Booleane
![Page 3: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/3.jpg)
3Programmazione genetica per l'inferenza di reti di Kauffman
Traiettorie
Reti di Kauffman o Reti Booleane
x0
x1
x2
000
001
010111
100
011
110 101
Rete Booleana
Rete booleana con N = 3 e K = 2. Nelle traiettorie sono evidenziati gli attrattori della rete.
x0 = x1 & x2x1 = x0 | x2x2 = x0 | x1
![Page 4: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/4.jpg)
4Programmazione genetica per l'inferenza di reti di Kauffman
Tecnica metaeuristica domain independent
• Descrizione del problema ad alto livello.
• Tecniche evolutive basate su selezione darwiniana.Evoluzione di una popolazione
di programmi che risolvano il problema• Programmi composti da operazioni
elementari.• Nessuna assunzione sulla struttura
delle soluzioni.
Programmazione Genetica
![Page 5: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/5.jpg)
5Programmazione genetica per l'inferenza di reti di Kauffman
Ciclo evolutivoInsieme
delle operazioni
Misura Fitness
Parametri
Controllo
Inizializzazione
Valutazione
Trovato un
individuo ideale
Fine
Breeding
Selezione
Evoluzione
SI NO
Nuova generazio
ne
![Page 6: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/6.jpg)
6Programmazione genetica per l'inferenza di reti di Kauffman
Inferenza di una rete booleana
Determinazione dei collegamenti e delle funzioni booleane di ogni nodo, a partire da un sottoinsieme delle traiettorie note
del sistema.
Misura Fitness: confronto fra traiettorie generate dagli individui
e le traiettorie note.
Insieme delle operazioni:
identificatori dei nodi della rete booleana e
funzioni booleane (AND, OR, ...).
x0 x1 x2
1 1 0
0 1 1
1 1 1
1 1 1
x0 = x1 & x2
x1 = x2 | x0
x2 = x0 | x1
![Page 7: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/7.jpg)
7Programmazione genetica per l'inferenza di reti di Kauffman
Suddivisione della popolazione in N sotto-popolazioni, ognuna di esse evolve programmi per riprodurre la traiettoria di un nodo. La soluzione è composta da N individui.
Misura della Fitness
Sotto popolazione 1
Sotto popolazione 2
Sotto popolazione 3
Sotto popolazione 4
Popolazione
011011
100001
0011o0
111101
![Page 8: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/8.jpg)
8Programmazione genetica per l'inferenza di reti di Kauffman
Misura della fitness
Misura dell’errore per un programma della sotto-popolazione j
𝒆 𝒋= ∑𝒊=𝟎
𝑴−𝟐
𝒉(𝒕 [𝒊+𝟏 ] [ 𝒋 ] ,𝒆𝒗𝒂𝒍 (𝒑𝒓𝒐𝒈 ,𝒕 [𝒊 ]))Misura dell’errore di una soluzione
𝒆= ∑𝒋=𝟎
𝑵 −𝟏
𝒆 𝒋
Misura della fitness
𝒇=𝟏
𝟏+𝒆
Data una traiettoria T con M stati e definendo h() funzione di confronto:
![Page 9: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/9.jpg)
9Programmazione genetica per l'inferenza di reti di Kauffman
N = { 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70 }
(K, p) = { (2, 0.5), (3, 0.788) }
• 100 esecuzioni per ogni rete, massimo 100 generazioni.
• Memorizzazione dei migliori programmi per ogni generazione.
• Calcolo dell’errore percentuale in funzione delle generazioni per ogni esecuzione e calcolo della media fra le esecuzioni.
• Confronto con un algoritmo di generazione casuale.
• Calcolo della qualified run-length distribution.
Esperimenti
![Page 10: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/10.jpg)
10Programmazione genetica per l'inferenza di reti di Kauffman
Risultati – funzione errore per generazioni
Rete con N = 70, K = 3, p = 0.788
![Page 11: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/11.jpg)
11Programmazione genetica per l'inferenza di reti di Kauffman
Risultati – run-length distribution
Rete con N = 70, K = 3, p = 0.788
![Page 12: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/12.jpg)
12Programmazione genetica per l'inferenza di reti di Kauffman
Risultati – funzione errore per generazioni
Rete con N = 70, K = 2, p = 0.5
![Page 13: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/13.jpg)
13Programmazione genetica per l'inferenza di reti di Kauffman
Risultati – run-length distribution
Rete con N = 70, K = 2, p = 0.5
![Page 14: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/14.jpg)
14Programmazione genetica per l'inferenza di reti di Kauffman
Esempio di soluzione ottenuta con reteN = 5, K = 2, p = 0.5. L’errore totale .
Risultati – Soluzioni
x0 = x3 nand (x1 nor x2)x1 = (((x2 nor x1) nor (x1 nand x0)) nor ((x2 nor x0) nand (x0 nand x4))) nor (((x4 nand x3) nand (x4 nor x2)) nor ((x0 nand x2) nor (x4 nor x0)))x2 = (((x2 nand x1) nor (x0 nand x3)) nor ((x2 nor x0) nand (x2 nor x3))) nand (((x2 nand x0) nor (x2 nand x1)) nand ((x4 nand x2) nor (x4 nor x0)))x3 = ((x1 nand x0) nor ((x0 nand x1) nand x3)) nand x3x4 = x2 nand (x2 nand x0)
![Page 15: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/15.jpg)
15Programmazione genetica per l'inferenza di reti di Kauffman
Biologia• reverse engineering
delle reti di regolazione genica
A.I.• progettazione
automatica di programmi di controllo per robot
Applicazioni
![Page 16: Programmazione Genetica per l'Inferenza di Reti di Kauffman](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e98f41a28ab97708b46a1/html5/thumbnails/16.jpg)
16Programmazione genetica per l'inferenza di reti di Kauffman
1. S. A. Kauffman. Metabolic stability and epigenesis in randomly constructed genetic nets.
2. S. A. Kauffman. Requirements for evolvability in complex systems: Orlderly dinamics and fronzen components.
3. U. Bastolla and G. Parisi. Relevant elements, magnetization and dynamical properties in Kauffman networks: a numerical study.
4. R. Poli, W. B. Langdon, and N. F. McPhee. A field guide to genetic programming.
5. A Roli and M. Manfroni. Boolean network robotics: a proof of concept.
Bibliografia