ALGORITMICA

Corso di Laurea in Informatica Umanistica
Anno Accademico 2009-10

6 crediti


  Docente   Linda Pagli
  Home http://www.di.unipi.it/~pagli
  Email pagli@di.unipi.it
  Orario
 Mercoledì        10.15 - 11:45, aula FIB-H
 Venerdì           14:15 - 15:45, aula FIB-L
  Ricevimento
 Dopo ogni lezione, e su appuntamento.


  Programma del corso
  Bibliografia
  Modalità di esame
  Testi prove scritte
  Risultati compiti
  Registro delle lezioni

 

 

 

 

 

 

 

 

 

 


Modalità d'esame



Bibliografia

Risulta quanto mai difficile parlare formalmente di Algoritmi senza disporre di una sufficiente "base matematica". Pertanto in questo corso di Algoritmica per InformaticaUmanistica cercheremo di lasciare da parte gli aspetti formali di "analisi degli algoritmi" e ci concentreremo sui principi e sulle tecniche di progettazione, accennando alla loro complessità. Date queste premesse, non stato possibile identificare un libro di testo che trattasse di Algoritmica in modo preciso ma "non formale". Qui di seguito si "suggerisce" un libro di testo che riporta (quasi) tutti gli pseudo-codici degli algoritmi che discuteremo in classe. Il libro però è molto tecnico e quindi poco appropriato per la laurea in InformaticaUmanistica. Lo seguiremo per ciò che concerne la formalizzazione degli pseudo-codici degli algoritmi; gli studenti potranno d'altra parte utilizzare un qualunque altro libro per ciò che riguarda la discussione delle proprietà e della complessità di questi algoritmi. Materiale aggiuntivo relativo alle singole lezioni, verrà segnalato nel registro delle lezioni.

  P.Crescenzi, G.Gambosi, R.Grossi.
  Strutture di dati e algoritmi.
  Pearson-Addison Wesley 2006.

  Errata corrige


 

 

 

 

 

 


Testi prove scritte

Anno Accademico 2008-2009

Anno Accademico 2009-2010

 

 

 

 

 

 


Risultati compiti scritti


 

 

 

 

 

 


Registro delle lezioni

N
Data
Argomenti
Riferimenti
1
23/09
Introduzione al corso. Introduzione al concetto di algoritmo.
Algoritmo di moltiplicazione egizia.
2
25/09
Il problema delle 12 monete.
Il problema delle dodici monete
3
30/09
Il modello RAM e la complessità computazionale. Par. 1.4 del testo
4
02/10
Ricerca sequenziale e ricerca binaria. Algoritmi, analisi e limite inferiore. Par. 2.4 del testo
5
07/10
Algoritmi ricorsivi. Calcolo del fattoriale.Le torri di Hanoi. Par. 1.2 del testo
Algoritmi ricorsivi.
6
09/10
Principio di induzione. Tecnica del Divide et Impera. Ricerca binaria ricorsiva. Equazioni di ricorrenza Par. 2.5 del testo
7
14/10
Divide et impera; equazioni di ricorrenza principali e loro soluzioni. Ordinamento per selezione. Par. 2.2.1 del testo
8
16/10
Ordinamento per selezione: QuickSort, analisi caso pessimo, caso ottimo. Confronto con selection Sort Par. 2.5.4 del testo, analisi del caso medio esclusa.
9
21/10
Algoritmo ottimo di ordinamento per confronti: Merge-Sort. Analisi e limite inferiore per il problema. Par. 2.5.3 del testo,
Limiti inferiori
10
23/10
Esercitazione: Unione, intersezione e differenza di insiemi. Algoritmi che utilizzano o meno l'ordinamento preventivo. Confronto tra le diverse soluzioni.
11
28/10
Ordinamento in tempo lineare. Algoritmo, discussione sulla complessità.
12
30/10
Esercitazione: problemi di ricerca e ordinamento. Esercizi e soluzioni
13
04/11
Array bidimensionali. Numeri di Fibonacci, definizione e calcolo. Algoritmi di varia complessità Introduzione alla Programmazione Dinamica. Par. 2.7 del testo.
I numeri di Fibonacci
14
06/11
l problema dell'edit distance. Algoritmo di programmazione dinamica, con spazio quadratico e con spazio ottimo. La programmazione dinamica
15
11/11
Edit Distance: ricostruzione dell'allineamento. Cenni ai problemi NP-completi. Par. 1.2.2, 1.3 del testo
I problemi NP-completi
16
13/11
Esercitazione: problemi riassuntivi. Esercizi e soluzioni
17
18/11
Esercitazione: problemi riassuntivi. Esercizi e soluzioni
18
20/11
Esercitazione: problemi riassuntivi. Esercizi e soluzioni
19
02/12
Cenni ai problemi che non posseggono un algoritmo di risoluzione. Numerabilità e indecidibilità L'indecidibilità
20
04/12
Esercitazione: problemi riassuntivi
21
17/12
Esercitazione scritta Esercizi e soluzioni