ALGORITMI E STRUTTURE DATI
Algoritmi: correttezza e complessita' di calcolo. Due casi esemplari: l'algoritmo di Euclide e il problema del sacco (knapsack). La filosofia avida (greedy). La notazione asintotica di Landau (O grande). Il teorema maestro (o principale, master theorem).
Algoritmi di ordinamento: insertion sort, merge sort, heap sort, quicksort. La filosofia del divide et impera. Algoritmi di ordinamento lineari: counting sort, bucket sort.
Strutture dati elementari: array, liste, pile, code, alberi.
Grafi e loro rappresentazioni. Visita in ampiezza BFS e visita in profondita' DFS. Ordinamento topologico per grafi aciclici orientati DAG. L'algoritmo di Dijkstra.
La filosofia della programmazione dinamica. La distanza di Levenstejn (edit distance).
***********************
Il seguito riguarda solo il corso da 9 cfu.

Generazione di bit pseudo-casuali tramite registri a scorrimento (cenni). NP-completezza e algoritmi approssimati (cenni). Controlli di primalita' e algoritmi probabilistici (cenni). Problemi di matching di stringhe: l'algoritmo ingenuo, l'algoritmo di Karp-Rabin, matching mediante automi finiti.
TESTI di RIFERIMEMTO:
1. Th.H. Cormen, Ch.E. Leiserson, R.L. Rivest, Cl. Stein: Introduzione agli algoritmi e strutture dati; Mc Graw Hill
2. C. Demetrescu, I. Finocchi, G.F. Italiano: Algoritmi e strutture dati; Mc Graw Hill
3. A. Bertossi, A. Montresor:  Algoritmi e strutture di dati; Citta' Studi
4. P. Crescenzi, G. Gambosi, R. Grossi, G. Rossi: Strutture di dati e algoritmi; Pearson

Academic year 2015-16

COMPLESSITA' COMPUTAZIONALE (vedi sotto !!!!!)



COMPLEXITY THEORY: P and NP problems, deterministic and non-deterministic computation. Some basic NP-complete decision problems, NP-hard problems. How to get along with NP-completeness (partial, approximate and probabilistic algorithms).

Textbook: M.R. Garey, D.S. Johnson: Computers and Intractability. Freeman, New York

SOFT COMPUTING: Artificial intelligence: philosophy of soft computing. Management of uncertainty and ignorance. Imprecise probabilities, possibility theory, evidence theory. Dempster rule for pooling opinions. Management of vagueness, fuzzy logic and multyi-valued logics. Fuzzy arithmetic. Fuzzy control.

Textbook: A. Sgarro, Livre flou, to be found at www.dmi.units.it/~sgarro/html

!!!!!! COMPUTABILITA' E COMPLESSITA' e COMPLEMENTI DI INFORMATICA e simili sono MUTUATI a carico di COMPLESSITA' COMPUTAZIONALE e COMPUTABILITA' E LINGUAGGI, vedi sotto, da parte di MATEMATICA in un ordine da concordare ad personam (contattatemi !)



COMPUTABILITA' E LINGUAGGI

Primo modulo: a cura del prof. Fr. Fabris (teoria della computabilità)

Secondo modulo a cura mia: contenuti descritti sotto Automi e linguaggi formali




    AUTOMI e LINGUAGGI FORMALI: Automi finiti e lingue regolari. Computazione deterministica e non deterministica. Espressioni regolari di Kleene. Grammatiche acontestuali (context-free). Proprieta' di stabilita' e lemmi di espansione (pumping). Forme normali di Chomsky. Ambiguita'. Automi a pila (pushdown). Grammatiche contestuali (context-sensitive). Grammatiche generali e macchine di Turing decisionali.
TESTI di RIFERIMENTO: 1. M. Sipser: Introduction to the Theory of Computation; PWS Publishing. - 2. G. Ausiello, F. D'Amore, G. Gambosi: Linguaggi, modelli, complessita'; Franco Angeli - 3. J.H. Hopcroft, R. Motwani, J.D. Ullman:  Introduction to Automata Theory, Languages, and Computation; Addison Wesley.
    SOFT COMPUTING: Intelligenza artificiale: la filosofia del soft computing e del calcolo verbale. Gestione dell'incertezza e dell'ignoranza: Richiami sulle probabilita' bayesiane. Probabilita' imprecise; teoria delle possibilita', teoria dell'attestabilita' (evidence theory). Aggiornamento e sintesi (pooling) delle conoscenze: la regola di Bayes e la regola di Dempster-Shafer. Gestione della vaghezza: logica sfocata (logica sfumata, fuzzy logic) e logiche multivalenti. Insiemi sfocati e aritmetica sfocata. Controllo sfocato.
TESTO di RIFERIMENTO: A. Sgarro, Livre flou, reperibile all'indirizzo www.dmi.units.it/~sgarro/html