ALGORITMI AVANZATI

Giuseppe PERSIANO ALGORITMI AVANZATI

0522500064
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA MAGISTRALE
INFORMATICA
2014/2015



ANNO CORSO 1
ANNO ORDINAMENTO 2010
SECONDO SEMESTRE
CFUOREATTIVITÀ
756LEZIONE
216LABORATORIO
Obiettivi
IL CORSO INTENDE APPROFONDIRE LO STUDIO DEGLI ALGORITMI INIZIATO NEI CORSI DI ALGORITMI E DI STRUTTURE DATI DELLA LAUREA TRIENNALE EVIDENZIANONE IL RUOLO CRUCIALE IN SITUAZIONI IN CUI INFORMAZIONI DEVONO ESSERE ESTRATTE DA GROSSE MOLI DI DATI. INTENDIAMO QUINDI STUDIARE ALGORITMI IN SITUAZIONI REALI ED ELIMINARE LE ASSUNZIONI IRREALISTICHE (IL PROBLEMA COMPUTAZIONALE PUÒ ESSERE RISOLTO IN MANIERA OTTIMA ED EFFICIENTEMENTE, L''INPUT È DISPONIBILE, LA COMPUTAZIONE È EFFETTUATA DA UN SOLO COMPUTER,....) CHE CI HANNO FACILITATO NEL PRIMO CORSO.

CONOSCENZA E CAPACITÀ DI COMPRENSIONE:
VERRANNO PRESENTATE TECNICHE PER PROGETTARE ALGORITMI DI APPROSSIMAZIONE EFFICIENTI PER PROBLEMI COMPUTAZIONALMENTE DIFFICILI E PER PROBLEMI IN CUI L''INPUT NON E'' DISPONIBILE NELLA SUA TOTALITA''. UNA PARTE DEL CORSO SARÀ DEDICATA AD ATTIVITÀ DI PROGRAMMAZIONE IN PYTHON. IN QUESTA PARTE, VALUTEREMO SPERIMENTALMENTE L''EFFICIENZA DEGLI ALGORITMI DISCUSSI IN CLASSE.

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE:
AL TERMINE DEL CORSO GLI STUDENTI SARANNO IN GRADO DI ANALIZZARE E PROGETTARE ALGORITMI CHE ESTRAGGONO INFORMAZIONI DA GROSSE MOLI DI DATI E DI IMPLEMENTARLI IN PYTHON.

AUTONOMIA DI GIUDIZIO:
LO STUDENTE ACQUISIRÀ LA CAPACITÀ DI IDENTIFICARE LE CARATTERISTICHE STRUTTURALI DI UN PROBLEMA COMPUTAZIONALE RIGUARDANTI GROSSI MOLI DI DATI E DI INDIVIDUARE LA TECNICA DA USARE PER PROGETTARE UN ALGORITMO EFFICIENTE PER ESSO.

ABILITÀ COMUNICATIVE:
GLI STUDENTI SARANNO IN GRADO DI DESCRIVERE CON LINGUAGGIO APPROPRIATO LE INFORMAZIONI RICAVATE DALL’ANALISI DI UN PROBLEMA COMPUTAZIONALMENTE DIFFICILE.

CAPACITÀ DI APPRENDIMENTO:
GLI STUDENTI SARANNO IN GRADO DI COMPRENDERE LE CARATTERITICHE CHE RENDONO UN PROBLEMA COMPUTAZIONALMENTE DIFFICILE ATTACCABILE MEDIANTE TECNICHE DI PROGETTAZIONE DI ALGORITMI.

Prerequisiti
CORSO INTRODUTTIVO DI ALGORITMI e strutture dati. CONOSCENZA DI UN QUALSIASI LINGUAGGIO ORIENTATO AGLI OGGETTI (JAVA, C++).
Contenuti
Exhaustive search, Backtrack and Branch and Bound.
APPROXIMATION ALGORITHMS
RANDOMIZED and Streaming ALGORITHMS
LOCAL SEARCH ALGORITHMS:
METROPOLIS AND SIMULATED ANNEALING
Machine Learning Algorithms
Metodi Didattici
CORSO INTRODUTTIVO DI ALGORITMI. CONOSCENZA DI UN QUALSIASI LINGUAGGIO ORIENTATO AGLI OGGETTI (JAVA, C++).
Verifica dell'apprendimento
PROVA SCRITTA, PROVA ORALE E PROVA DI LABORATORIO.

Testi
JON KLEINBERG AND EVA TARDOS, ALGORITHM DESIGN, PEARSON ADDISON-WESLEY.

  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2016-09-30]