Algoritmi e strutture dati 2

Docente: Paola Vocca

Comunicazioni

ASD2- Annullamento lezione

22-12-2014 13:04

Il giorno 8 gennaio non si terrà lezione. Le lezioni riprenderanno regolarmente il 13 gennaio.


ASD2- Spostamento aula.

05-11-2014 16:51

Per la sola lezione del 18 novembre la lezioen si terrà in aula G2A.


ASD2- Annullamento lezione

05-11-2014 16:50

Martedì 11 novembre non si terrà la lezione.


Lezioni

2529-01-2015

Vertex Cover: definizione; algoritmo di approssimazione basato su una tecnica greedy con rapporto di approssimazione logaritmico; algoritmo di approssimazione con rapporto di approssimazione. Schemi di approssimazione PTAS e FPTAS. Partition : Esempio di schema di approssimazione. polinomiale. Esempio di schema di approssimazione pienamente polinomiale: Knapsack. 

Classi di approssimabilità: APX, PTAS e FPTAS e relazioni fra di esse.

2427-01-2015

Problemi approssimabili e non approssimabili. Problema del commesso viaggiatore: NP completezza e non approssimabilità. Tecnica del gap e risultati di non approssimabilità. TSP Euclideo. Algoritmo di Christofides.

2322-01-2015

Algoritmi approssimati e schemi di approssimazione: Definizione, rapporto di approssimazione e errore relativo, algoritmi r-approssimanti. Algoritmi di approssimazione per Max-Sat.

2215-01-2015

NP-completezza e Complessità di problemi di ottimizzazione. Problemi intrattabili. Classi P e NP. Certificati polinomiali. Problemi NP-completi. Riducibilità polinomiale. NP completezza. Definizione dei problemi di ottimizzazione. Relazione fra i problemi di decisione. Classe PO e NPO.

2113-01-2015

Problema 2-sat: Algoritmo polinomiale e algoritmo deterministico Algoritmo probabilistico per 2-sat: descrizione ed analisi. Passeggiate aleatorie; algoritmi Las Vegas e Montecarlo.

2018-12-2014

Algoritmi probabilistici: Risoluzione dei conflitti in un sistema distribuito: analisi di un protocollo randomizzato. Taglio minimo: descrizione ed analisi dell’algoritmo randomizzato

1916-12-2014

Algoritmi probabilistici: Definizioni e proprietà. Quicksort randomizzato: descrizione ed analisi. Selezione randomizzata: descrizione e analisi

1811-12-2014

Problema del paging. Algoritmo LRU (Last Recentely Used) Analisi e ottimalità

1709-12-2014

Algoritmi on-line e analisi competitiva. Definizione. Ski-rental, Compravendita di azioni. Liste ad auto-organizzazione, algoritmo MTF [Lucidi e CGGR cap 5 §5.4]. Algoritmi TRANS (transpose FC (frequency count).

1604-12-2014

Union-Find: definizione del problema: QuickFind, QuickUnion, algoritmi di bilanciamento e analisi ammortizzata con il metodo dell'aggregazione

1502-12-2014

Metodo dei crediti: Array dinamici. Metodo di aggregazione: Unione e appartenenza di insiemi disgiunti.

 

1427-11-2014

Tecniche di analisi ammortizzata. Problema giocattolo: incremento di un contatore.

1325-11-2014

Allineamento locale e penalità di gap.

1220-11-2014

Allineamento di sequenze in spazio lineare.

1113-11-2014

• Allineamento di sequenze: Confronto fra sequenze. Allineamento globale.

1011-11-2014

Struttura secondaria dell’RNA.

906-11-2014

Problema della bisaccia e della bisaccia rilassato. Pseudo polinomialità e programmazione dinamica.

804-11-2014

Programmazione dinamica: Sotto-sequenza comune più lunga. Partizione di un insieme di interi.

730-10-2014

Programmazione dinamica: Problema del resto. Algoritmo greedy per il problema del resto ed esempi di ottimalità e non ottimalità. Sequenza ottima di moltiplicazioni.

628-10-2014

Paradigma dlla programmazioen dinamica. Successione di Fibonacci. Complessità dell'algoritmo ricorsivo. Versione in programmazione dinamica dell'algoritmo e complessità.

523-10-2014

Tecnica greedy: problema della gestione della cache. Caching offline.

 

421-10-2014

Divide et impera: Il problema della coppia più vicina.

 

Tecnica greedy: Struttura delle tecniche greedy. Problemi di scheduling. Scheduling ad intervallo: Scelta della strategia greedy e ottimalità dell’algoritmo greedy

316-10-2014

Divide et impera: Case studies: Moltiplicazione veloce di interi, moltiplicazione fra matrici.

214-10-2014

Tecnica algoritmica del Divide et impera: Ricorrenze. Metodi risolutivi. Teorema fondamentale. Dimostrazione.

109-10-2014

Presentazione del corso: Programma, modalità d'esame e testi di rifewrimento.


Materiale didattico

Informazioni

Anno accademico2014-2015
Crediti6
SettoreINF/01
Anno3
Semestre1
PropedeuticitàAlgoritmi e strutture dati.

Programma

Programma di Algoritmi e Strutture Dati 2 (6cr) A.A. 2013/14

 Tecniche algoritmiche:

 

·          Divide et impera: Ricorrenze. Metodi risolutivi. Teorema fondamentale. Dimostrazione. Case study: Moltiplicazione veloce di interi, moltiplicazione fra matrici, Il problema della coppia più vicina. [CGGR cap 3 §§ 3.1-3.2, 3.5-3.6-3.7]

·         Tecnica greedy: Struttura delle tecniche greedy. Problemi di scheduling. Scheduling ad intervallo. Problema della gestione della cache. Caching offline. [KT cap 4 §§4.1-4.2-4.3]

·         Programmazione dinamica: Paradigma della programmazione dinamica. Successione di Fibonacci. Complessità dell'algoritmo ricorsivo. Versione in programmazione dinamica dell'algoritmo e complessità. Problema del resto. Algoritmo greedy per il problema del resto ed esempi di ottimalità e non ottimalità. [CGGR cap 6 §6.1-6.2] Sequenza ottima di moltiplicazioni (Lucidi). Sotto-sequenza comune più lunga. Partizione di un insieme di interi. Problema della bisaccia e della bisaccia rilassato. [CGGR cap 6 §6.3-6.5]. Pseudo polinomialità e programmazione dinamica. [CGGR cap 6 §6.8]. Struttura secondaria dell’RNA. [KT cap 6 §6.5]

·         Allineamento di sequenze: Confronto fra sequenze. Allineamento globale. Allineamento di sequenze in spazio lineare. Allineamento locale e penalità di gap. [KT cap 6 §§6.6-6.7]

 

Analisi Ammortizzata: Tecniche di analisi ammortizzata. Problema giocattolo: incremento di un contatore. Metodo dei crediti: Array dinamici. Metodo di aggregazione:

Unione e appartenenza di insiemi disgiunti(Union-Find). Metodo del potenziale. [Lucidi e CGGR cap 5 §§5.3 e 5.5].

Union-Find: definizione del problema: QuickFind, QuickUnion, algoritmi di bilanciamento per gli algoritmi di QuickFind e QuickUnion e analisi ammortizzata con il metodo dell'aggregazione

Algoritmi on-line e analisi competitiva. Definizione. Ski-rental, Compravendita di azioni. Liste ad auto-organizzazione, algoritmo MTF [Lucidi e CGGR cap 5 §5.4]. Algoritmi TRANS (transpose FC (frequency count). Problema del paging. Algoritmo LRU (Last Recentely Used) Analisi e ottimalità (Lucidi).

Algoritmi probabilistici: Definizioni e proprietà. Quicksort randomizzato: descrizione ed analisi. Selezione randomizzata: descrizione e analisi [Lucidi e CGGR cap 5 §5.1 ]. Risoluzione dei conflitti in un sistema distribuito: analisi di un protocollo randomizzato. Taglio minimo: descrizione ed analisi dell’algoritmo randomizzato [KT cap 13 §§13.1 e13.2]. Problema 2-sat: Algoritmo polinomiale e algoritmo deterministico Algoritmo probabilistico per 2-sat: descrizione ed analisi (Lucidi). Passeggiate aleatorie; algoritmi Las Vegas e Montecarlo (lucidi).

NP-completezza e Complessità di problemi di ottimizzazione.  Problemi intrattabili. Classi P e NP. Certificati polinomiali. Problemi NP-completi. Riducibilità polinomiale. NP completezza. Definizione dei problemi di ottimizzazione. Relazione fra i problemi di decisione. Classe PO e NPO.[CGGR Cap.8 §§8.1-8.4, 8.6, Lucidi]

Algoritmi approssimati e schemi di approssimazione: Definizione, rapporto di approssimazione e errore relativo, algoritmi r-approssimanti. Algoritmi di approssimazione per Max-Sat. Problemi approssimabili  e non approssimabili. Problema del commesso viaggiatore: NP completezza e non approssimabilità. Tecnica del gap e risultati di non approssimabilità. TSP Euclideo. Algoritmo di Christofides (lucidi).  Vertex Cover: definizione; algoritmo di approssimazione basato su una tecnica greedy con rapporto di approssimazione logaritmico; algoritmo di approssimazione con rapporto di approssimazione. [CGGR Cap.8 §§ 8.10,8.11, lucidi]

Schemi di approssimazione PTAS e FPTAS. Partition : Esempio di schema di approssimazione. polinomiale. Esempio di schema di approssimazione pienamente polinomiale: Knapsack. [Lucidi]

 

Classi di approssimabilità: APX, PTAS e FPTAS e relazioni fra di esse. [Lucidi]

 


Testi di riferimento

  • [CGGR] Crescenzi - Gambosi - Grossi - Rossi - STRUTTURE DI DATI E ALGORITMI (Progettazione, analisi e programmazione ) -PEARSON EDUCATION ITALIA -2012.
  • [KT] Kleinberg- Tardos "Algoritm Design" PEARSON International Edition-2006
  • Lucidi e dispense

Ricevimento studenti

Su appuntamento richiesto tramite e-mail vocca@unitus.it


Modalità di esame

L’esame si compone di una verifica orale su tutto il programma del corso comprese le dimostrazioni ove non specificato diversamente. Il voto potrà essere migliorato da una tesina di approfondimento di una parte del corso, con eventuale implementazione degli algoritmi proposti.