Laurea Triennale
Relatore
- Prof. Vittorio Scarano
Tutor
- Prof. Carmine Spagnuolo
- Dott. Giuseppe D'Ambrosio
Indice
Cosa studio?
Sono uno studente del corso di laurea triennale in informatica. Il mio progetto per la tesi consiste nella creazione di una libreria o di alcuni stub per algoritmi genetici utlizzando il linguaggio FLY. Tra i miei interessi rientrano il funzionamento della Blockchain e le sue applicazioni, la sicurezza informatica, le applicazioni dell'Intelligenza artificiale ed il Cloud Computing.
Diario
Settimana | Argomenti | Riferimenti Utili |
---|---|---|
1 | Introduzione a FLY | FLY, a Domain Specific Language for Scientific Computing on FaaS |
2 | Informazioni di base sugli algoritmi genetici | GA-Tutorial, Holland - Genetic Algorithms |
3 | Configurazione dell'ambiente di sviluppo | N/D |
4 | Testing di semplici programmi FLY in locale | N/D |
5 | Ampliamento delle conoscenze sugli algoritmi genetici | Melanie Mitchell, Introduzione agli algoritmi genetici, Apogeo |
6 | Sviluppo di un semplice algoritmo genetico in Java | N/D |
7 | Conversione dell'algoritmo genetico in FLY | N/D |
8 | Validazione ed ottimizazzione dell'algoritmo | N/D |
9 | Modifica delle strutture dati utilizzate nell'algoritmo in FLY | N/D |
10 | Ottimizzazione dell'algoritmo in FLY e testing | N/D |
11 | Parallelizzazione della funzione di fitness | N/D |
12 | Ottimizzazione della funzione di fitness | N/D |
13 | Modifica del generatore di codice Java | N/D |
14 | Modifica del generatore di codice Python | N/D |
15 | Porting del GA su AWS e Azure | N/D |
16 | Debug e testing del GA serverless | N/D |
17 | Correzione errori generatore JavaScript | N/D |
18 | Correzione errori generatore Java | N/D |
19 | Sviluppo di GA per il problema della K-Colorazione | N/D |
20 | Debug e testing del GA per la K-Colorazione | N/D |
Materiale
Software
Riferimenti
- one
- two
- three
Seminari
- 09/04/2021 - AWS Online Tech Talks: tra innovazione e aggiornamenti
- 16/06/2021 - Algoritmi genetici in Fly
La mia tesi
Titolo: Implementazione di algoritmi genetici in linguaggio Fly
Abstract:
Il Cloud Computing è considerato fondamentale per la creazione di infrastrutture di calcolo grazie alle risorse messe a disposizione sotto forma di
servizi. L’alto numero di Cloud Provider presenti sul mercato ha dato origine
al paradigma del multi-cloud, che prevede l’integrazione all’interno della
stessa architettura di più ambienti Cloud. I vantaggi che fornisce comprendono la possibilità di ridurre la dipendenza dal singolo provider, avere una
maggiore scelta di servizi e tolleranza ai guasti. L’eterogeneità del mercato,
tuttavia, implica forti differenze anche negli strumenti di accesso dei vari
provider per usufruire dei loro servizi. Ciò rende l’utilizzo del multi-cloud
un processo complesso per i meno esperti, creando la necessità di strumenti
che facilitino il suo impiego. FLY è un Domain-Specific Language per il
calcolo scientifico su multi-cloud che ha come obiettivo la semplificazione
dello sviluppo di applicazioni che sfruttino tale paradigma. Il linguaggio
FLY mette a disposizione una serie di costrutti che astraggono all’utente
l’interazione con il provider, permettendogli di utilizzare servizi di diversi ambienti Cloud senza dover conoscere librerie e strumenti proprietari. Essendo
FLY ancora in fase di sviluppo, i programmi di esempio scritti in FLY sono
ancora pochi e poco complessi, rendendo necessaria l’introduzione di nuovi
che fungano da guida ai nuovi sviluppatori. Questo lavoro di tesi ha come
obiettivo l’implementazione di una serie di algoritmi genetici scritti in FLY,
presentandone la progettazione e lo sviluppo. Gli algoritmi genetici sono
algoritmi ispirati ai processi biochimici descritti nella Teoria dell’Evoluzione
di Charles Darwin, per la risoluzione di problemi di ottimizzazione per cui
non esistono soluzioni di complessità polinomiale o che sono particolarmente
esosi in termini di risorse. Il successo degli algoritmi genetici deriva dalla
loro relativa semplicità concettuale, pur essendo non banali da implementare.
Per questo motivo, fornire degli esempi di programmi FLY che impiegano
algoritmi genetici consente di dimostrare le funzionalità e le potenzialità del
linguaggio oltre a risultare un buon punto di partenza per gli utenti che si
approcciano a FLY per la prima volta.
.
Bibliografia
- Autori, Titolo. [Conferenza|Giornale]. Altro. Anno