Knowledge and understanding The course is designed to first recall basic concepts of traditional computational models, such as formal languages and automata, and then present several models of bio-inspired computing, including bio-molecular algorithms. Main models of natural computing are presented, in terms of computational processes observed in and inspired by nature. Applying knowledge and understanding During the course students will aquire the following competences: Applying basic notions of discrete mathematics (sets, multisets, sequences, trees, graphs, induction, grammars and finite automata) to explain a few computational methods both to process genomic information and to investigate metabolic networks. Making judgements Students will develop the required skills in order to be autonomous in the following tasks: - choose and processing data in large genomic contexts; - choose the appropriate methodologies and tools for represent biological information in the context of discrete biological models. Communication skills The student will learn how to address the correct and appropriate methods and languages for communicating problems and solutions in the field of computationaql genomics and of biological dynamics. The course aims at developing the ability of the student both to master notions of discrete structures and dynamics, and to deepen his/her notion of Turing computation, in order to extend it to informational processes involving either natural or bio-inspired algorithms. Student's knowledge of all the topics explained in class will be tested at the exam, along with his/her learning and understanding skills. Lifelong learning skills Introduction to natural computing, biological algorithms, and life algorithmic strategies. Basic notions of discrete mathematics and of formal language theory (Chomsky's hierarchy, automata, and computability). Elements of information theory (information sources, codes, entropy, and entropy divergences, typical sequences, first and second Shannon's theory). Methods to extract and analyze genomic dictionaries. Genomic profiles and distributions of recurrent motifs. Software IGtools to analyze and visualize genomic data. Computational models of bio-molecular processes, such as DNA self-assembly and membrane computing. DNA computing and bio-complexity of bio-algorithms. DNA algorithms to solve NP-complete problems. MP grammars, networks, and metabolic dynamics.
Introduction to natural computing, life algorithmic strategies and biological algorithms
DNA computing on double strings, and computational complexity of bio-algorithms
DNA algorithms to solve NP-complete problems, to extract and to generate DNA libraries
Methods to extract and analyze genomic dictionaries
Genomic profiles and distributions of recurrent motifs
Software IGtools to analyze and visualize genomic data
Discrete representation of biochemical systems
Metabolic grammars, networks, and related (inverse) dynamics
Computational models for biomolecular and metabolic processes:
Basic data structures to represent chemical reactions, membrane hierarchies, biological interactions
Formal languages and grammars, Chomsky hierarchy
Specific characterization of REG, REC, CF classes
Finite state automata, Turing machines and computational universality
|Gheorghe Paun, Grzegorz Rozenberg, Arto Salomaa||DNA computing: new computing paradigms (Edizione 3)||Springer||2013|
|Alexander Meduna||Formal Languages and Computation: Models and Their Applications||Auerbach Publications||2014|
Oral exams at distance, or in presence upon request.
Only for the exam session in February, work assignments (e.g. on topics of computational genomics) or seminars (on recent scientic articles) will be proposed to students who want to improve their performance in the oral exam.