Alcune informazioni preliminari possono essere reperite seguendo questo link e quest'altro link
Non esitare a contattarmi per ulteriore bibliografia,
eventuali approfondimenti e chiarimenti.

 


Tesi di Laurea v.o. (tematiche/progettuali/di ricerca) -

Tesi di Laurea Specialistica / Magistrale


C'è disponibilità di tesi a vario livello di difficoltà e durata nell'ambito del Calcolo Molecolare, con tecniche di Linguaggi Formali e Teoria dei Codici.

Il lavoro di tesi consiste nell'analisi e nel confronto di alcuni articoli prodotti nell'ambito del Calcolo Molecolare, precisamente per la progettazione di un insieme di parole che sia affidabile ed efficiente per codificare problemi in sequenze di DNA (DNA code word design problem).
In particolare si possono affrontare due aspetti che riflettono due direzioni di ricerca.

Il primo è sperimentale: si analizzano alcune tecniche per misurare la bontà dell'insieme, proponendo sia generalizzazioni della distanza di Hamming sia simulazioni direttamente in laboratorio (precisazione: si tratta non di lavorare in un laboratorio, ma di analizzare risultati sperimentali ottenuti in tal senso).
Il secondo aspetto affronta lo stesso problema definendo e studiando opportune proprietà di linguaggi formali.

Il lavoro di tesi (nel caso di tesi elaborative/di ricerca) richiede la rielaborazione con precisione degli articoli proposti, alcuni molto tecnici, chiarendo tutti i punti non esplicitati (talvolta dimostrando enunciati senza prove) e confrontando i vari risultati.
 

Bibliografia utile

[1] L. M. Adleman, Molecular Computation of Solutions to Combinatorial Problems, Science, Vol.266, pp.1021-1024, 1994.

[2] E. B. Baum, DNA Sequences Useful for Computation, DNA Based Computers II, DIMACS: Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, pp. 122-126, 1996.

[3] J. Berstel, D. Perrin, Theory of codes, Academic Press, 1985.

[4] R. S. Braich, N. Chelyapov, C. Johnson, P. W. K. Rothemund, L. Adleman, Solution of a 20-Variable 3-SAT Problem on a DNA Computer, Sciencexpress, 2002.

[5] R. Deaton, M. Garzon, J. Rose, D. R. Franceschetti, S. E. Stevens, Jr., DNA Computing: A Review, Fondamenta Informaticae, n. 30, pp. 23-41, 1997.

[6] R. Deaton, R. C. Murphy, M. Garzon, D. R. Franceschetti, S. E. Stevens, Jr., Good Encodings for DNA-based Solutions to Combinatorial Problems, DNA Based Computers II, DIMACS: Series in Discrete Mathematics and Theoretical Computer Science, Vol.44, American Mathematical Society, pp. 131-140, 1996.

[7] M. H. Garzon, R. J. Deaton, Codeword design and information encoding in DNA ensembles, Natural Computing 3, pp. 253-292, 2004.

[8] M. Garzon, R. Deaton, P. Neathery, R. C. Murphy, D. R. Franceschetti, S. E. Stevens, Jr., On the Encoding Problem for DNA Computing, DNA Based Computers III, DIMACS: Series in Discrete Mathematics and Theoretical Computer Science, Vol.48, American Mathematical Society, pp. 230-237, 1997.

[9] M. Garzon, P. Neathery, R. Deaton, R. C. Murphy, D. R. Franceschetti, S. E. Stevens, Jr., A New Metric for DNA computing, Second Annual Conference on Genetic Programming, 1997.

[10] T. Harju, J. Karhumaki, Morphisms, in: G. Rozenberg, A. Salomaa (Eds.), Handbook of Formal Languages, Vol.1, Springer, Berlin, pp. 439-510, 1997.

[11] J. Hartmanis, On the Weight of Computations, Bulletin of European Association on Theoretical Computer Science, n. 55, pp. 136-138, 1995.

[12] J. E. Hopcroft, R. Motwani, J. D. Ullman, Automi, linguaggi e calcolabilità, Addison-Wesley.

[13] J. E. HopCroft, J. D. Ullman, Introduction to automata theory, languages, and Computation, Addison-Wesley, Mass.

[14] S. Hussini, L. Kari, S. Konstantinidis, Coding properties of DNA languages, Theoretical Computer Science 290, pp. 1557-1579, 2003.

[15] L. Kari, B. Kitto, G. Thierrin, Codes, involutions and DNA encodings, Formal and Natural Computing LNCS 2300, 2002.

[16] L. Kari, S. Konstantinidis, E. Losseva, G. Wozniak, Sticky-free and overhang-free DNA languages, Acta Informatica n. 40, pp. 119-157, 2003.

[17] L. Kari, S. Konstantinidis, P. Sosìk, On properties of bond-free DNA languages, Theoretical Computer Science 334, pp. 131-159, 2005.
 

Alcune Tesi di Laurea già sviluppate

bullet

Calcolo Molecolare: Circular Splicing systems (anno acc. 2003-2004)

         Abstract della tesi

 
bullet

DNA Code Word design problem  via Linguaggi Formali (anno acc. 2006-2007)

         Abstract della tesi

 
bullet

Progetto, analisi e implementazione in Java di un algoritmo efficiente per testare l'univoca decifrabilita' di linguaggi regolari, Tesi di Laurea Specialistica in Informatica (anno acc. 2009-2010)

         Abstract della tesi

   


Tirocini/stage laurea triennale

Posso proporre periodi di tirocini/stage interni nell'ambito dell'implementazione in Java di strutture dati e algoritmi disegnati per risolvere problematiche in ambito di Linguaggi Formali, Codici e Calcolo Molecolare.


- Combinatorial Pattern Matching

Link utili ad alcuni algoritmi su stringhe sono: EXACT STRING MATCHING ALGORITHMS, Test searching and Processing, Maxime Crochemore homepage.

Alcuni interessanti progetti possono prendere spunto dai seguenti: MScProjects (2011-2012), BScProjects (2011-2012), Bsc/MSciProjects (2014-2015), MscProjects (2014-2015). .

    Tirocini (e tesi) seguiti in questo ambito

bullet

Computazione efficiente di absent words in sequenze genomiche: implementazione in Java (anno acc. 2011-2012)

            Abstract del tirocinio




- Program for DNA Code Words

Nell'ambito del progetto di parole di codice buone per la codifica in DNA (cfr. prima parte di questo documento), e' stato sviluppato CodeGen. Un progetto di lavoro potrebbe rientrare nell'analisi del programma, nella sua scrittura in Java e nel suo completamento (vedere note dell'autore).

    Tirocini (e tesi) seguiti in questo ambito

bullet

CodeGen 2: progettazione e implementazione in Java di algoritmi efficienti per testare proprieta' di DNA code words (anno acc. 2011-2012)

            Abstract del tirocinio




- Proprieta' di automi

E' stato sviluppato TESTAS, un pacchetto in C/C++ per verificare alcune proprieta' di grafi e automi e, in particolare, in relazione al Road coloring Problem, risolto da Trahtman nel 2007 (per una seplice introduzione, vedere Wikipedia). Un progetto di lavoro potrebbe rientrare nell'analisi del programma, nella sua scrittura in Java e nel suo completamento (vedere note dell'autore).

    Tirocini (e tesi) seguiti in questo ambito

bullet

Il Road Coloring Problem: dalla congettura alla soluzione (anno acc. 2011-2012, Tesi di Laurea v.o.)

            Abstract del tirocinio




Tirocini (e tesi) relative a proprieta' di parole, codici e suffix tree

bullet

Implementazione in Java di un algoritmo di Capocelli-Hoffmann per decidere l'univoca decifrabilita' e altre proprieta' di un insieme finito di parole (anno acc. 2006-2007)

            Abstract del tirocinio, consultabile qui

bullet

Implementazione in Java di un algoritmo di McCreight per la costruzione dei suffix tree (anno acc. 2006-2007)

            Abstract del tirocinio e bibliografia

bullet

Implementazione in Java dell'algoritmo di Rodeh per decidere l'univoca decifrabilita' di un insieme finito di parole: uso del suffix tree e sue estensioni (anno acc. 2009-2010)

            Abstract del tirocinio

bullet

Implementazione in Java di un pacchetto per gestire parole circolari e analizzare loro proprieta' (anno acc. 2009-2010)

            Abstract del tirocinio

bullet

Decidere l'univoca decifrabilita' di un insieme finito di parole mediante il suffix tree: implementazione in Java dell'algoritmo di Rodeh (anno acc. 2011-2012)

            Abstract del tirocinio




Tirocini (e tesi) relative al Calcolo Molecolare (implementazione di algoritmi per la generazione di stringhe mediante sistemi ispirati alla biologia)

bullet

Implementazione in Java di un modello generativo di parole ispirato da un meccanismo biologico: il caso dei sistemi splicing (1,3)-semi semplici circolari (anno acc. 2008-2009)

            Abstract del tirocinio

bullet

Implementazione in Java di un modello generativo di parole ispirato da un meccanismo biologico: dall'analisi di un caso particolare al caso generale dei sistemi splicing circolari finiti (anno acc. 2008-2009)

            Abstract del tirocinio




Un'altra possibilità è l'analisi e l'elaborazione di JFLAP.

JFLAP è un software sviluppato dalla Duke University per effettuare esperimenti in ambito di linguaggi Formali, come automi non deterministici, automi push-down, grammatiche, Macchine di Turing, parsing, L-systems. Inoltre, JFLAP consente anche di simulare le dimostrazioni che sono note per passare da un meccanismo all'altro, come da un automa non deterministico a quello deterministico, da espressioni regolari ad automi o grammatiche regolari.

Alcuni Tirocini seguiti

bullet

Integrazione in JFlap di un meccanismo generativo di parole ispirato dalla biologia (anno acc. 2009-2010)

            Abstract del tirocinio