Computer Science

Academic program

×
Print
Course
INFORMATION RETRIEVAL
Course ID
MF0287
Academic Year
2018/2019
Year of rule
2017/2018
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
MANZINI Giovanni
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
2
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
ITALIANO
Italian
Contenuti
Introduzione ai principali algoritmi e strutture dati per l'Information Retrieval, cioè per il recupero, all'interno di grandi collezioni, dei documenti contenenti le informazioni desiderate.
Introduction to the main algorithms and data structures for the retrival, within a large collection, of the documents that satisfy an information need.
Testi di riferimento
Christopher D. Manning, Prabhakar Raghavan & Hinrich Schütze Introduction to Information Retrieval Cambridge University Press
Christopher D. Manning, Prabhakar Raghavan & Hinrich Schütze Introduction to Information Retrieval Cambridge University Press
Obiettivi formativi
Conoscenza e comprensione dei più importanti algoritmi e strutture dati per l'Information Retrieval. Capacità di applicare la conoscenza e comprensione della teoria per la realizzazione di sistemi di Information Retrieval usando gli strumenti open source disponibili. Gli studenti dovranno raggiungere l'autonomia di giudizio rispetto alle tecniche da usare per la risoluzione di problemi di information retrieval. Gli studenti dovranno essere in grado di comunicare e spiegare l'uso delle tecniche più appropriate per un determinato problema. Gli studenti dovranno acquisire quelle conoscenze metodologiche necessarie per raffinare le tecniche di base di information retrieval e imparare a usare al meglio gli strumenti software disponibili.
Knowledge and understanding: basic algorithms and data structures for Information Retrieval. Applying knowledge and understanding: students will be able to build and use an information retrieval system using available open source tools. Making judgements: students will be able to autonomously evaluate the best techniques to solve an infomation retrieval problem. Communication skills: students will learn to communicate and justify the use of the appropriate technique for a given problem. Learning skills: students will be able to autonomously learn how to refine basic techniques and how to best use the available tools.
Prerequisiti
Nessun prerequisito per gli studenti della laurea magistrale. I corsi di Programmazione 1 e 2, Algoritmi e Strutture Dati 1 e 2 per gli studenti della laurea triennale.
Advanced courses on Computer Programming and Algorithms.
Metodi didattici
Lezioni frontali in aula e esercitazioni in laboratorio.
Standard lectures and practice sessions in the computer lab.
Modalità di verifica dell'apprendimento
Esame scritto consistente in da 2 a 4 esercizi riguardanti argomenti diversi affrontati nel corso. Esame orale consistente nella discussione di un progetto realizzato dallo studente. Il voto finale terrà conto della valutazione ottenuta dal progetto e dai singoli esercizi
Written exam consisting in 2-4 exercises on different course topics. Oral exam consisting in the discussion of a programming project. The final grade will be based on the score obtained on the exercises and on the project
Programma esteso
Postings lists. Costruzione e compressione di indici, Vector space model. Punteggi di rilevanza. Valutazione di sistemi di information retrieval. Concetti di base di Web searching. Web crawling e indexing. Rilevanza basata sull'analisi di link.
Postings lists. Index construction and compression. Vector space model. Relevance scores. Evaluation of information retrieval systems. Web search basics. Web crawling and indexes. Link analysis.
Risultati di apprendimento attesi
Raggiungimento, in grado misurato dal voto, degli obiettivi formativi.
The achievement, up to a degree measured by grades, of the learning goals.
×
Print
Course
ULTERIORI CONOSCENZE LINGUISTICHE
Course ID
MF0229
Academic Year
2018/2019
Year of rule
2017/2018
Degree
INFORMATICA
Curriculum
CORSO GENERICO
CFU
2
Teaching duration (hours)
16
Individual study time
34
SSD
NN -
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
F
Year
2
Period
Annuale
Site
ALESSANDRIA
Grading type
G
×
Print
Course
MACHINE LEARNING
Course ID
MF0292
Academic Year
2018/2019
Year of rule
2017/2018
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
PORTINALE Luigi
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
2
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano
Italian
Contenuti
I diversi modelli di apprendimento automatico (supervisionato e non supervisionato); Regressione e classificazione; Bias e varianza dei modelli, regolarizzazione; Metodi di clustering; Determinazione di anomalie; Valutazione dei modelli di appendimento automatico; Strumenti di sviluppo.
Supervised and unsupervised models of machine learning; Regression and classification; Bias and variance, regularization; Clustering methods; Anomaly detection; Evaluation of machine learning models; Machine learning tools.
Testi di riferimento
A. Geron: Hands-on Machine Learning with scikit-learn and Tensorflow. O’Reilly, 2017; P. Flach, Machine Learning, Cambridge Univ. Press, 2012; I.H. Witten, E. Frank, M.A. Hall, C.J. Pal. Data Mining: Practical Machine Learning Tools (4 ed.), Morgan Kaufmann, 2016.
A. Geron: Hands-on Machine Learning with scikit-learn and Tensorflow. O’Reilly, 2017; P. Flach, Machine Learning, Cambridge Univ. Press, 2012; I.H. Witten, E. Frank, M.A. Hall, C.J. Pal. Data Mining: Practical Machine Learning Tools (4th ed.), Morgan Kaufmann, 2016.
Obiettivi formativi
Introdurre le nozioni fondamentali dei metodi di appendimento automatico, come valutarli e come sviluppare i relativi systemi.
To introduce the fundamentals notions of ML systems, how to evaluate them and how to develop them.
Prerequisiti
Probabilita’ e Statistica, Analisi Matematica, Matematica Discreta (calcolo matriciale)
Probability and statistics, Calculus, Discrete mathematics (matrix calculus)
Metodi didattici
Lezioni frontali e sviluppo di esempi prototipali
Lectures and development of simple prototypes.
Altre informazioni
Materiale didattico a complemento dei testi suggeriti fornito dal docente, tramite piattaforma DIR
Lectures material to complement suggested books provided through DIR teaching platform
Modalità di verifica dell'apprendimento
Esame orale con discussione di un semplice progetto.
Oral examination with discussion of a simple project.
Programma esteso
Introduzione al machine learning: apprendimento supervisionato e non supervisionato; Regressione lineare univariata e multivariata, ridge regression; Regressione logistica; Regolarizzazione; Reti Neurali; Valutazione di un sistema ML; Support Vector Machines; Decision Trees; Bayesian Learning; Lazy Learning; Metodi di ensemble learning; Clustering; Riduzione della dimensionalita: PCA; Anomaly detection; Il tool Weka; Le API scikit-learn.
Introduction to machine learning: supervised and unsupervised learning; Linear regression (univariate and multivariate), ridge regression; Logistic regression; Regularization; Neural Networks; ML evaluation; Support Vector Machines; Decision Trees; Bayesian Learning; Lazy Learning; Ensemble learning methods; Clustering; Dimensionality reduction: PCA; Anomaly detection; The Weka tool; The scikit-learn APIs.
Risultati di apprendimento attesi
Conoscere le principali metodiche di apprendimento automatico supervisionato e non supervisionato;S aper valutare un sistema di apprendimento automatico; Conoscere alcuni tra i principali tool di sviluppo.
To know the main methodologies of machine learning; To be able to evaluate an ML system; To know some of the main tools for ML systems development.
×
Print
Course
COMPUTATIONAL STATISTICS
Course ID
MF0295
Academic Year
2018/2019
Year of rule
2017/2018
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
BONGIORNO Enea Giuseppe
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
MAT/06 - PROBABILITÀ E STATISTICA MATEMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
C
Year
2
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
ITALIANO
Italian
Contenuti
Introduzione alla statistica computazionale con particolare attenzione a modelli e algoritmi di generazione di variabili casuali, visualizzazione di dati multivariati, inferenza statistica, metodi montecarlo e MCMC, metodi di ricampionamento. Avvio all’uso del software statistico R.
Introduction to computational statistics with particular attention to models and algorithms to generate random variables, multivariate data visualization, statistic inference, Montecarlo and MCMC methods, resampling. Introduction to the use of statistical software R.
Testi di riferimento
- G. H. Givens, J. A. Hoeting (2005): Computational Statistics. Wiley & Sons, Hoboken.- M. L. Rizzo (2008): Statistical Computing with R. Chapman & Hall, Boca Raton.- Appunti del docente.
- G. H. Givens, J. A. Hoeting (2005): Computational Statistics. Wiley & Sons, Hoboken.- M. L. Rizzo (2008): Statistical Computing with R. Chapman & Hall, Boca Raton.- Teacher’s notes.
Obiettivi formativi
L’obiettivo del corso è l’apprendimento di alcuni metodi statistici e della loro implementazione mediante l'applicativo statistico R, al fine della loro successiva applicazione. Le metodologie introdotte saranno illustrate attraverso casi reali.
The goal of the course is to introduce the students into some statistical techniques and their applications using some statistical packages of the R software. Topics will be illustrated throughout real case studies.
Prerequisiti
Fondamenti di matematica, probabilità e statistica.
Fundamentals of mathematics, probability and statistics.
Metodi didattici
Lezioni teoriche frontali ed esercitazioni in laboratorio. La frequenza alla lezioni è fortemente raccomandata.
Both theoretical and practical classes will be held in a computer lab. Frequency of lessons is highly recommended.
Altre informazioni
Questo Syllabus è una guida dei contenuti del corso, in ogni caso il docente si riserva il diritto di modificare il programma durante il corso. Una versione aggiornata del syllabus sarà pubblicata sul sito dir del corso qui sotto segnalato. Per ulteriori informazioni (come i collegamenti alle pagine web dei software utilizzati), si prega di consultare la pagina del corso su D.I.R. all’indirizzo: https://dir.uniupo.it/
This syllabus is a guide to the course content, however the instructor reserves the right to deviate from the syllabus. An updated version of the syllabus will be maintained on the course webpage. Further informations (such as link to software website) can be found at the web page of the course: https://dir.uniupo.it/
Modalità di verifica dell'apprendimento
L'esame è costituito da una prova scritta, un elaborato scritto ed una prova orale. La prova scritta consiste di domande di teoria. L’elaborato sarà incentrato su una tematica inerente il corso e preparato dallo studente utilizzando gli strumenti statistici introdotti a lezione. La prova orale consisterà nella discussione delle prove precedenti.
The exam is formed by a Written test, an essay and an oral examination. The Written test consists of some theoretical questions. The essay concerns a topic related to the course programme and carried out using the statistical tools introduced during classes. The oral exam is a discussion about the previous tests.
Programma esteso
0. Introduzione ad R.1. Manipolazione dei dati in R. Visualizazione dei dati (elementi di statistica descrittiva).2. Metodi di generazione dei dati.3. Statistica Inferenziale (stima puntuale, test di Ipotesi, metodi (non-)parametrici)4. Introduzione ai processi stocastici (Catene di Markov discrete e continue)5. Introduzione alla statistica Bayesiana e tecniche MCMC (Monte Carlo Markov Chain)6. Tecniche di ricampionamento (bootstrap e jackknife).
0. Introduction to R.1. Data manipulation in R. Visualization of data (elements of descriptive Statistics).2. Generating data.3. Inferential statistics (point estimation, Hypothesis test, (non-)parametric methods)4. Introduction to stochastic processes (Discrete and continuous time Markov Chains)5. Introduction to Bayesian statistics and simple Monte Carlo Markov Chain (MCMC) techniques6. Resampling tecniques (bootstrap and jackknife)
Risultati di apprendimento attesi
Lo studente dovrà conoscere i metodi statistici introdotti e dovrà saperli implementare tramite R in scenari simulati e reali.
The student should know the statistical techniques introduced and should know to implement with the R software to simulated and real scenario.
×
Print
Course
INFORMATICA FORENSE
Course ID
I0496
Academic Year
2018/2019
Year of rule
2017/2018
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
ANGLANO Cosimo Filomeno
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
2
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano
Italian
Contenuti
Il tema del corso è lo studio di metodologie, tecniche e strumenti per l’analisi dei sistemi digitali al fine di reperire tracce informatiche con valore probatorio, ovvero che siano utilizzabili in procedimenti giudiziari sia di tipo civile che di tipo penale.
The course focuses on methodologies, techniques and tools for the forensic analysis of computer systems, that aim at the identification, preservation, interpretation and analysis of digital evidence.
Testi di riferimento
1) G. Johansen, "Digital Forensics and Incident Response: A practical guide to deploying digital forensic techniques in response to cyber security incidents", Packt Publishing, 2017, ISBN-10: 1787288684 ISBN-13: 978-1787288683 2) Richard Boddington, "Practical Digital Forensics", Pack Publishing, 2016, ISBN 139781785887109 3) Ayman Shaaban, Konstantin Sapronov, "Practical Windows Forensics", Pack Publishing, 2016, ISBN 139781783554096 4) Rohit Tamma et al., "Practical Mobile Forensics - Third Edition", Pack Publishing, 2018, ISBN 139781788839198 5) Ric Messier, "Network Forensics", Wiley, 2017, ISBN 9781119328285 6) André Årnes (Editor), "Digital Forensics", Wiley, 2017, ISBN: 978-1-119-26238-1
1) G. Johansen, "Digital Forensics and Incident Response: A practical guide to deploying digital forensic techniques in response to cyber security incidents", Packt Publishing, 2017, ISBN-10: 1787288684 ISBN-13: 978-1787288683 2) Richard Boddington, "Practical Digital Forensics", Pack Publishing, 2016, ISBN 139781785887109 3) Ayman Shaaban, Konstantin Sapronov, "Practical Windows Forensics", Pack Publishing, 2016, ISBN 139781783554096 4) Rohit Tamma et al., "Practical Mobile Forensics - Third Edition", Pack Publishing, 2018, ISBN 139781788839198 5) Ric Messier, "Network Forensics", Wiley, 2017, ISBN 9781119328285 6) André Årnes (Editor), "Digital Forensics", Wiley, 2017, ISBN: 978-1-119-26238-1
Obiettivi formativi
Conoscenza e capacità di comprensione: comprendere i principi generali delle metodologie, delle tecniche e degli strumenti che permettono di 1) acquisire le evidenze digitali senza alterare o modificare il sistema informatico su cui si trovano 2) garantire che le prove acquisite su altro supporto siano identiche a quelle originali 3) analizzare i dati senza alterarli 4) correlare tra di loro evidenze di tipo diverso Conoscenza e capacitá di comprensione applicate: gli studenti dovranno acquisire quelle conoscenze metodologiche necessarie per applicare in casi reali le metodologie, le tecniche e gli strumenti propri dell'Informatica Forense. Autonomia di giudizio: gli studenti dovranno essere in grado di valutare quali delle metodologie, tecniche e strumenti dell'Informatica Forense appresi a lezione siano i piú adatti ad essere impiegati in un caso reale. Abilitá comunicative: gli studenti dovranno essere in grado di comunicare e spiegare i principi fondamentali dell'Informatica Forense. Capacitá di apprendere: gli studenti dovranno apprendere le conoscenze metodologiche necessarie per utilizzare anche metodologie, tecniche e strumenti non trattati nel corso, e che saranno frutto dei progressi nel campo dell'Informatica Forense.
Learn the methodologies, techniques and tools for: The acquisition of digital evidence in such a way that their integrity is preserved; The analysis of digital evidence; The documentation of the various steps performer during the analysis in order to ensure repeatability; correlation of different types of digital evidence
Prerequisiti
Sistemi Operativi 1, Sistemi Operativi 2, Architetture degli Elaboratori 1, Architetture degli Elaboratori 2
Operating Systems I and II, Computer Architecture I and II
Metodi didattici
Lezioni frontali. Esercitazioni pratiche svolte in aula e in laboratorio.
Class lectures. Practical application, both in class and in the lab, of taught methodologies to case studies.
Altre informazioni
Le competenze verificate in sede d'esame, necessarie per il superamento del corso, consistono nella dimostrazione di aver appreso i concetti di base relativi all'acquisizione ed alla gestione dell'evidenza digitale, le metodologie di analisi di file system, sistemi operativi, applicazioni utente, traffico di rete, e dispositivi digitali mobili.
Competence check: the exam will check if the student has achieved the learning objectives mentioned before.
Modalità di verifica dell'apprendimento
Esame pratico (obbligatorio) e orale (facoltativo). L'esame pratico si svolgerá in laboratorio, e consisterá nello svolgimento di alcuni esercizi in cui sará chiesto di applicare le metodologie, le tecniche e gli strumenti trattati a lezioni a dei casi concreti. L'esame orale verterá invece sugli aspetti metodologici trattati nel corso.
Practical examination(mandatory), and oral examination (optional). The practical examination will be carried out in the lab, and it will consist in the solution to some exercises in which the student will be asked to apply to concrete cases the methodologies, techniques, and tools that have been illustrated during the course. The oral examination will be instead focused on the methodologies illustrated during the course.
Programma esteso
1) Evidenza digitale e digital forensics: definizioni e proprietá 2) Metodologie generali per l'acquisizione e la conservazione di dati digitali: immagini forensi, write blocking, verifiche di conformitá e integritá mediante codici hash crittografici 3) Metodologie generali per l'analisi forense dei file system: recupero di file cancellati, identificazione dei tipi di file, filtraggio di file inutili, ricerca per parole chiave, analisi delle informazioni temporali, identificazione di file criptati, tecniche di decriptazione 3) Computer forensics: tecniche di acquisizione di supporti di memoria collegati ad un computer, analisi forense dei file system FAT e NTFS; analisi forense dei sistemi operativi della famiglia Windows 4) Mobile forensics: acquisizione dati da dispositivi mobili Android e iOS; analisi forense dei sistemi Android e iOS 5) Analisi forense di dati prodotti da applicazioni:metadati applicativi, cronologia di navigazione su Internet, messaggistica 6) Network forensics: metologie per l'acquisizione dati di rete (file di log, intercettazione del traffico); tecniche di analisi del traffico di rete. 7) Correlazione di evidenze digitali: costruzione e analisi di timeline 8) Tecniche di Anti-Forensics (cenni)
1) Digital evidence and digital forensics: definition and properties 2) Methodologies for the acquisition and the preservation of digital data: forensic images, write blocking, crypto hashing algorithms for integrity and authenticity checks 3) Methodologies for the forensic analysis of file systems: recovery of deleted data, file type identification, irrelevant file filtering, keyword search, analysis of temporal information, identification of encrypted files, de-encryption techniques 3) Computer forensics: techniques for the acquisition of storage devices connected to a computer, forensic analysis of the FAT and NTFS file systems, forensic analysis of Windows systems 4) Mobile forensics: data acquisition for Android and iOS mobile devices, forensic analysis of Android and iOS systems 5) Forensic analysis of applications: application metadata, Internet browsing, instant messaging 6) Network forensics: methodologies for the acquisition of network data (log files, traffic interception); analysis techniques for network traffic 7) Corrleation of digital evidence: construction and analysis of timelines 8) Anti-forensics techniques (introduction)
Risultati di apprendimento attesi
Raggiungimento, in grado misurato dal voto, degli obiettivi formativi.
Achievement of the training objectives, as measured by the grade obtained by the student.
×
Print
Course
PROVA FINALE
Course ID
S0069
Academic Year
2018/2019
Year of rule
2017/2018
Degree
INFORMATICA
Curriculum
CORSO GENERICO
CFU
37
Individual study time
629
SSD
PROFIN_S -
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
E
Year
2
Period
Annuale
Site
ALESSANDRIA
Grading type
G
×
Print
Course
VALUTAZIONE DELLE PRESTAZIONI
Course ID
MF0168
Academic Year
2018/2019
Year of rule
2017/2018
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
FRANCESCHINIS Giuliana Annamaria
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
2
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano
Italian
Contenuti
Il corso definisce una serie di requisiti non funzionali che caratterizzano vari tipi di sistemi con particolare attenzione ai sistemi di calcolo e alle reti di calcolatori. Vengono presentati alcuni modelli matematici e metodi di analisi per la valutazione di prestazioni e affidabilità a partire dai modelli, utilizzabili in fase di progettazione o in momenti successivi quando il sistema oggetto di studio è operativo. Il corso prevede la sperimentazione di alcuni pacchetti software per la creazione di modelli di sistemi e la loro analisi con metodi analitici, numerici o simulativi.
The course focuses on some non functional requirements that must be considered when designing systems, in particular computing systems and computer networks. Some mathematical models are presented allowing one to describe and analyze the performance and dependability of systems. Models can be built and analyzed either in early design phases, or later when the system under study is operational. The course also includes practical exercises using software packages supporting the design of system models and their analysis through analytical or numerical methods or simulation.
Testi di riferimento
K. Trivedi, A. Bobbio, "Reliability and Availability Engineering: Modeling, Analysis and Applications", 2017 - Cambridge University Press J. Banks, J. S. Carson II, B. L. Nelson, David M. Nicol Discrete-Event System Simulation , Fifth edition Pearson Education 2010 Dispense varie o articoli scientifici scaricabili da DIR
K. Trivedi, A. Bobbio, "Reliability and Availability Engineering: Modeling, Analysis and Applications", 2017 - Cambridge University Press J. Banks, J. S. Carson II, B. L. Nelson, David M. Nicol Discrete-Event System Simulation , Fifth edition Pearson Education 2010 Lecture notes or scientific publications to be downloaded from DIR
Obiettivi formativi
Conoscenza e capacità di comprensione:Conoscere alcuni formalismi per la rappresentazione di modelli matematici (esprimibili anche in forma grafica) utili all’analisi dell’affidabilità e delle prestazioni di sistemi. Conoscere i principali metodi computazionali per l’analisi dei modelli (soluzione in forma chiusa, oppure soluzione con metodi di calcolo numerico, o tramite simulazione). Conoscere alcuni modelli di base e saper fare esempi di ambiti applicativi in cui tali modelli si possono efficacemente utilizzare. Capacità di applicare conoscenza e comprensione:Capacità di interpretare un modello ed i risultati ricavabili dalla sua analisi. Capacità di costruire il modello di un sistema tramite un determinato formalismo, definire gli indici di prestazione interessanti, calcolare questi ultimi utilizzando uno strumento software esistente o implementandone uno ad-hoc. Capacità di validare un modello confrontando i risultati della sua analisi con quelli calcolati tramite modelli alternativi o con misure effettuate su sistemi reali. Gli studenti dovranno raggiungere l'autonomia di giudizio rispetto al formalismo e ai metodi di analisi più adatti per affrontare un determinato problema. Dovranno saper scegliere il livello di dettaglio corretto per la descrizione del modello e degli indici di prestazione e scegliere gli strumenti software più adatti in base al formalismo e al metodo di analisi individuati.Gli studenti dovranno essere in grado di comunicare e spiegare le basi matematiche su cui si fondano i modelli e i relativi algoritmi di analisi. Dovranno inoltre essere in grado di descrivere i modelli sviluppati, giustificare le scelte fatte e illustrare l’interpretazione dei risultati ottenuti dall’analisi dei modelli.Gli studenti dovranno acquisire le conoscenze metodologiche necessarie per apprendere nuovi formalismi o metodi di analisi proposti nella letteratura scientifica e per implementare i relativi algoritmi.
Knowledge and understanding:Know and understand: (a) some formalisms for the representation of mathematical models (which may also have a graphical representation) that can be used to study system dependability and performance properties; (b) the main computational methods for model analysis (closed form solution, numerical solution, or simulation); (c) some basic models and be able to discuss examples of application of such models.Apply knowledge and understanding: Have the ability to: (a) provide an interpretation of a model expressed in a known formalism, and of the results that can be obtained by analizing it; (b) build the model of a system using a given formalism and define its performance/reliability indices of interest; (c) compute the indices using an existing software tool or building a new ad-hoc software analysis tool. (d) validate a model comparing the analysis results again those obtained from alternative models or measured on a real system.The students will achieve autonomy in judgement about what is the most appropriate formalism and analysis method to face a given problem. Will be able to choose the most appropriate detail level in describing the model and its performance indices, and choose the software tools that better support the chosen formalism and analysis method.Finally students shall be able to communicate and explain the mathematical basis on which the models and corresponding analysis algorithms have been developed. Moreover they will be able to describe the models they have built, justify the choices made in building the model and present an interpretation of the results of model analysis.The student shall acquire the methodological knowledge to learn new formalisms and analysis methods published in the scientific literature.
Prerequisiti
Corso di base in probabilità e statistica
Basic course in probability and statistics
Metodi didattici
Lezioni frontali, esercitazioni in aula e in laboratorio e esercizi da svolgere in autonomia.
Class lectures, exercises in class and in laboratory, and homeworks
Altre informazioni
Sulla piattaforma DIR sono disponibili: la copia elettronica delle slide utilizzate a lezione, esempi di testi d’esame, quiz di autovalutazione, informazioni generali sul corso e avvisi relativi allo svolgimento del corso e sugli esami.A complemento dei testi di riferimento vengono indicati articoli scientifici in lingua inglese per approfondire alcuni argomenti trattati durante il corso.
It is possible to download electronic copy of all slides of the lectures, perform self-assessment tests, read general information on the course and news about the lectures and the exam organization on the e-learning platform DIR .Besides the reference textbooks some scientific publications in English are proposed, to study in more detail some of the topics presented during the course.
Modalità di verifica dell'apprendimento
La verifica dell'apprendimento viene effettuata in itinere mediante esercizi da sviluppare durante il corso (incluse esercitazioni pratiche di costruzione ed analisi di modelli per specifici problemi utilizzando alcuni pacchetti software) e mediante compiti scritti o colloqui orali svolti dopo la fine del corso che comprenderanno da due a quattro domande (che possono essere articolate in più punti ed includere lo svolgimento esercizi) sugli argomenti trattati nel corso.A complemento dei testi di riferimento vengono indicati articoli scientifici in lingua inglese per approfondire alcuni argomenti trattati durante il corso.
The achievement of learning outcomes is evaluated through exercises developed all along the course (including practical exercises of model construction and analysis for specific problems using some software packages), and a written or oral examination after the end of the course, including from 2 to 4 questions (which in turn may comprise several points and include specific exercises) on the topics studied in the course.Besides the reference textbooks some scientific papers (in English) are proposed, to study in more detail some topics introduce in the course.
Programma esteso
Ripasso delle basi di calcolo delle probabilità e statistica necessarie per comprendere i modelli matematici proposti nel corso. Definizione di requisiti non funzionali di sistemi, con particolare riferimento ai sistemi di calcolo e alle reti di calcolatori: indici di prestazione e affidabilità.Formalismi per lo studio dell’affidabilità e presentazione di alcune tecniche di analisi.Modelli dinamici e stocastici del comportamento di sistemi: diagrammi di transizione di stato. Parametri quantitativi.Formalismi per la descrizione del comportamento di modelli dinamici e stocastici e relative tecniche di analisi.La simulazione ad eventi discreti: principi di base, generazione di numeri casuali realizzazione di variabili casuali, studio in transitorio e a regime di indici di prestazione o affidabilità, prove ripetute e metodo batch, analisi dell’output della simulazione tramite metodi statistici.
Review of the basics of probability theory and statistics needed to understand the mathematical models discussed within the course. Definition of non functional requirements of systems, in particular focusing on computing systems and computer networks: performance and dependability indices.Formalisms to describe and study system dependability problems and the available solution methods.Dynamic stochastic models describing systems behavior: state transition diagrams. Quantitative parameters.Formalisms to describe and study the behavior of dynamic stochastic models and their analysis techniques.Discrete event simulation: basic pronciples, random numbers and random variate generation, transient and steady state analysis, obtaining a sample of the measures of interest through simulation experiment repetitions or batch method; simulation output analysis through statistical methods.
Risultati di apprendimento attesi
Spiegare il concetto di modello e uso dell’astrazione per focalizzare l’attenzione sui soli aspetti rilevanti rispetto ad uno specifico problema.Ideare un (semplice) modello matematico di un dato sistema e mostrare come ricreare il suo comportamento dinamico tramite la simulazione.Costruire il modello di un sistema utilizzando uno specifico formalismo (proposto nel corso). Valutare l’adeguatezza di un formalismo (tra quelli proposti nel corso) per la modellazione di uno specifico sistema.Spiegare l’utilità dell’uso di modelli e della simulazione in vari domini applicativi.Spiegare i concetti di verifica e validazione di un modello, anche attraverso esempi concreti.Presentare i risultati dell’analisi (anche tramite simulazione) di un modello.Fornire una interpretazione dei risultati quantitativi ottenuti analizzando o simulando un modello e trarre opportune conclusioni sul comportamento del sistema modellato ed eventualmente indicare possibili modifiche al modello, e di conseguenza al sistema, per migliorarne le prestazioni o l’affidabilità.
Explain the concept of modeling and the use of abstraction to focus on the aspects relevant to a given problem.Devise a (simple) mathematical model of a system and show how its dynamics can be recreated through simulation.Build the model of a system using a specific formalism (presented in the course).Evaluate the adequacy of a given formalism (among those presented in the course) to model a specific system.Explain the benefits of using models and simulation in various application domains.Explain the meaning of model verification and validation, also providing practical examples.Present the results of the analysis (possibly through simulation) of a model.Provide an interpretation of quantitative results of model analysis or simulation, drive some conclusions on the behavior of the modelled system and possibly suggest changes in the system under study to improve its performance and/or dependability indices.
×
Print
Course
DEEP LEARNING
Course ID
MF0387
Academic Year
2018/2019
Year of rule
2017/2018
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
SAITTA Lorenza
Teachers
CFU
3
Teaching duration (hours)
24
Individual study time
51
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
D
Year
2
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
ITALIANO
Italian
Contenuti
Teoria e pratica di Apprendimento Profondo
Theory and Implementation of Deep Learning
Testi di riferimento
Materiale bibliografico fornito dal docente
Bibliographic material supplied by teacher
Obiettivi formativi
Ottenere una comprensione dell'apprendimento profondo tale da poterlo applicare a una vasta gamma di argomenti
Gaining an understanding of deep learning in order to be able to apply it to a wide range of topics.
Prerequisiti
Analisi - Principi di base sull'Apprendimento Automatico - Principi di base sul funzionamento delle Reti Neurali
Advanced calculus - Basic principles of Machine Learning - Basic principle of natural networks
Metodi didattici
Lezioni frontali - Esercitazioni
Front lessons - Exercises
Altre informazioni
Disponibilità di corsi video
Availability of video courses
Modalità di verifica dell'apprendimento
Svolgimento di un progetto
Project development
Programma esteso
Principi teorici dell'Apprendimento profondo - Deep belief network - Autoencoder - Reti convolutive - Reti non supervisionate - Pre-Training - Applicazioni - Package implementativi
Deep Learning theory - Deep belief network - Autoencoder - Convolutional networks - Unsupervised networks - Pre-Training - Applications - Implementation Packages
Risultati di apprendimento attesi
Dato un problema di apprendimento, lo studente dovrà essere in grado di scegliere il modello di rete profonda più opportuno e di configurarla, in modo da risolvere il problema in modo efficiente
Given a task, the student shall be able to choose the most suitable deep learning model, and to configure it in order to efficiently solve the task.
×
Print
Course
SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI
Course ID
S1429
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
PORTINALE Luigi
Teachers
CFU
3
Teaching duration (hours)
24
Individual study time
51
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
C
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
ITALIANO
Italian
Contenuti
Il corso completo di INTELLIGENZA ARTIFICIALE E SUPPORTO ALLE DECISIONI si compone di due moduli: Intelligenza Artificiale (6 CFU) e Sistemi Intelligenti di Supporto alle Decisioni (3 CFU). Nel seguito le informazioni relative ai singoli moduli vengono riportate separatamente (considerare solo quelle del modulo a cui si e' interessati) INTELLIGENZA ARTIFICIALE: Algoritmi di ricerca nello spazio degli stati; Sistemi di ragionamento basato su casi; Rapresentazione di conoscenza incerta: probabilita' e Reti Bayesiane, Teoria delle decisioni e Diagrammi di Influenza. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Richiami di teoria delle decisioni; Utilita’ multi-attributo; Diagrammi di influenza; Decisioni one-shot e sequenziali; Decision-theoretic planning (Markov Decision Processes).
The course is composed by two modules: Artificial Intelligence (6 CFU) and Intelligent Decision Support Systems (3 CFU). Please consider only the information of the module you are interested in. ARTIFICIAL INTELLIGENCE State space search; Case-Based Reasoning; Uncertain knowledge representation: probability theory and Bayesian Networks; Introduction to Decision Theory. INTELLIGENT DECISION SUPPORT SYSTEMS Decision Theory, Multi-attribute utility, Influence diagrams, One-shot and sequential decisions, Decision-theoretic planning (Markov Decision Processes)
Testi di riferimento
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3a edizione), Prentice-Hall. Traduzione italiana pubblicata da Pearson Education.
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall.
Obiettivi formativi
INTELLIGENZA ARTIFICIALE: Introdurre le nozioni fondamentali dell’Intelligenza artificiale. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Modellare processi decisionali one-shot e sequenziali
ARTIFICIAL INTELLIGENCE: To introduce the fundamentals notions of AI systems INTELLIGENT DECISION SUPPORT SYSTEMS: Modeling one-shot and sequential decision processes
Prerequisiti
INTELLIGENZA ARTIFICIALE: ASD-I e ASD-II (consigliati), Calcolo delle Probabilita’ (consigliato). SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Intelligenza artifciale Calcolo delle probabilita'
ARTIFICIAL INTELLIGENCE: Suggested: Algorithms I and II, Probability and Statistics. INTELLIGENT DECISION SUPPORT SYSTEMS: Artificial Intelligence, Probability
Metodi didattici
Lezioni frontali in aula, esercitazioni tramite piattaforma Moodle, uso di strumenti software.
Lectures and exercises using Moodle and software tools.
Modalità di verifica dell'apprendimento
INTELLIGENZA ARTIFICIALE: Esame scritto integrato da eventuale esame orale. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Discussione di un progetto individuale
ARTIFICIAL INTELLIGENCE: Written and oral (not mandatory) exam INTELLIGENT DECISION SUPPORT SYSTEMS: Oral discussion of a project
Programma esteso
INTELLIGENZA ARTIFICIALE: Introduzione e cenni storici sull'AI. Ricerca nello spazio degli stati: ricerca path-based cieca ed euristica. L'algoritmo A*. Algoritmi di miglioramento iterativo: hill-climbing e simulated annealing; Cenni su problemi CSP. Algoritmi per giochi a 2 concorrenti: minimax e alfa/beta pruning. Rappresentazione della conoscenza: cenni su formalismi logici e a regole. Sistemi di Case-Based Reasoning; Conoscenza Incerta: richiami di calcolo delle probabilità. Bayesian Belief Networks (proprietà ed algoritmi) e uso di tool per il loro sviluppo (Genie, Hugin, ecc...). Introduzione alla Teoria delle decisioni. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Richiami di teoria delle decisioni. Utilita’ multi-attributo. Diagrammi di influenza Decisioni one-shot e sequenziali Decision-theoretic planning (Markov decision processes).
ARTIFICIAL INTELLIGENCE: Introduction and history of AI State space search: path-based blind and heuristic search. A* algorithm. Iterative improvement algorithms: hillclimbing and simulated annealing CSP problems Two players games: minimax and alpha/beta pruning Knowledge representations: hints on logical formalism. Case-Based Reasoning systems; the CBR-Works tool. Uncertain knowledge: probability theory, Bayesian Networks (properties and algorithms); BN tools (Genie, Hugin, etc...). Fundamentals of Decision theory. INTELLIGENT DECISION SUPPORT SYSTEMS: Decision Theory Multi-attribute utility Influence diagrams One-sot and sequential decisions Decision-theoretic planning (Markov Decision Processes)
Risultati di apprendimento attesi
INTELLIGENZA ARTIFICIALE: conoscere gli algoritmi di ricerca principali usati nell' IA, saper rappresentare conoscenza in sistemi intelligenti, conoscere gli algoritmi di inferenza tipici dei sistemi intelligenti moderni. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Saper modellare ed analizzare processi decisionali one-shot e sequenziali tramite modelli grafico-probabilistici
ARTIFICIAL INTELLIGENCE: to know main AI search algorithms, to be able to represent knowledge in intelligent systems, to know the main inference algorithms adopted in intelligent systems. INTELLIGENT DECISION SUPPORT SYSTEMS: being able to model ad analyze one-shot and sequential decision processes, using probabilistic graphical models.
×
Print
Course
HIGH PERFORMANCE COMPUTING
Course ID
MF0294
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
ANGLANO Cosimo Filomeno
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano
Italian
Contenuti
Il corso é strutturato in due parti distinte. La prima parte verte sulle architetture dei sistemi ad elevate prestazioni, e sulle relative tecniche di progettazione e realizzazione di programmi paralleli. La seconda parte invece é focalizzata sulle tecnologie e sui sistemi di Cloud Computing, e sul loro utilizzo nell'ambito dei sistemi per il calcolo ad alte prestazioni.
The course is structured in two parts. The first one focuses on the architectures of high performance computing systems, on the methodologies for the design and the implementation of parallel programs able to exploit them. The second part focuses instead on Cloud Computing technologies and systems, and on their exploitation as high performance computing platforms.
Testi di riferimento
1) Thomas Sterling, Matthew Anderson, Maciej Brodowicz, "High Performance Computing: Modern Systems and Practices", Morgan-Kauffman, ISBN-13: 978-0124201583 ISBN-10: 012420158X 2) Bertil Schmidt, Jorge Gonzalez-Dominguez, Christian Hundt, Moritz Schlarb, "Parallel Programming: Concepts and Practice", Morgan Kauffman, ISBN-10: 0128498900 ISBN-13:978-0128498903 3) materiale fornito a lezione dal docente
1) Thomas Sterling, Matthew Anderson, Maciej Brodowicz, "High Performance Computing: Modern Systems and Practices", Morgan-Kauffman, ISBN-13: 978-0124201583 ISBN-10: 012420158X 2) Bertil Schmidt, Jorge Gonzalez-Dominguez, Christian Hundt, Moritz Schlarb, "Parallel Programming: Concepts and Practice", Morgan Kauffman, ISBN-10: 0128498900 ISBN-13:978-0128498903 3) Handouts provided by the lecturer.
Obiettivi formativi
L'obiettivo del corso é l'apprendimento dei principi, metodologie, tecnologie e strumenti per la realizzazione ed utilizzo di sistemi ad alte prestazioni, nonché dell'impiego delle tecnologie e dei sistemi di Cloud Computing nell'ambito del calcolo ad alte prestazioni.
The goal of the course is the learning of the principles, methodologies, techniques, and tools for the implementation and use of high performance computing systems, as well as on the use of Cloud Computing technologies and systems for high performance computing.
Prerequisiti
Programmazione 1 e 2, Algoritmi 1 e 2, Sistemi Operativi 1 e 2, Architetture degli Elaboratori 1 e 2
Programmazione 1 e 2, Algoritmi 1 e 2, Sistemi Operativi 1 e 2, Architetture degli Elaboratori 1 e 2
Metodi didattici
Lezioni frontali e sperimentazione in laboratorio.
Lectures and laboratory sessions.
Modalità di verifica dell'apprendimento
Sia nella prima, sia nella seconda parte, l'esame si svolge in forma scritta, e verte sugli argomenti svolti a lezione. Ogni domanda ha un punteggio, il voto finale è la somma dei punti assegnati per ogni singola risposta.
Written exam for both the first and second part of the course. The exam consists of a written test with questions about the topics of the course. The final mark is the sum of the scores assigned to each answer.
Programma esteso
La prima parte del corso verte sui principi, le metodologie e le soluzioni hardware e software per il calcolo ad alte prestazioni. Dopo aver introdotto i principi di base dell'elaborazione parallela, saranno trattate i principi architetturali di per i sistemi paralleli (come definiti nella tassonomia di Flynn) nonché le diverse architetture che li implementano (multiprocessori, multicomputer, sistemi multicore/manycore omogenei ed eterogenei). Saranno quindi trattati i diveri paradigmi di programmazione parallela, quali shared memory, multithreading, message passing, CUDA, ecc., e sulle tecniche di programmazione basate su di essi. La seconda parte del corso verte sul Cloud Computing. Dopo aver introdotto i concetti base, gli studenti faranno un'esperienza pratica usando le principali piattaforme per il Cloud Computing come Amazon Web Services, Google Cloud Platform e OpenStack. Oltre ai comuni problemi di queste piattaforme (ad esempio, load balancing, tolleranza ai guasti, scalabilità, etc), durante il corso verrà discusso MapReduce: un framework software per supportare la computazione distribuita su grandi quantità di dati (multi-terabyte) in cluster di computer (composti da migliaia di nodi) in modo affidabile e tollerante ai guasti.
The first part of the course focuses on the principles, methodologies, and hardware/software solution for high performance computing. After the introduction of the fundamental principles of parallel computing, the course will cover the architectural principles for parallel systems (as defined in Flynn's taxonomy), as well as the various architectures that implement them (multiprocessors, multicomputers, homogeneous and heterogeneous multicore/manycore systems). Then, the course will focus on the various parallel programming paradigms, such as shared memory, multithreading, message passing, CUDA, etc., and on the programming techniques based on them. In the second part, the course focuses on Cloud Computing. The basic concepts of Cloud Computing will be explained then the students will get practice with the main Cloud Computing platforms such as Amazon Web Services, Google Cloud Platform and OpenStack. Besides the common problems of these platform (i.e., load balancing, fault tolerance, scalability, etc), during the course it will be discussed the MapReduce programming model: a framework for easily writing applications which process vast amounts of data (multi-terabyte data-sets) in-parallel on large clusters (thousands of nodes) of commodity hardware in a reliable, fault-tolerant manner.
Risultati di apprendimento attesi
Raggiungimento, in grado misurato dal voto, degli obiettivi formativi.
Achievement of the training objectives, as measured by the grade obtained by the student.
×
Print
Course
TEORIA DEI GIOCHI
Course ID
MF0377
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
FRAGNELLI Vito
Teachers
CFU
3
Teaching duration (hours)
24
Individual study time
51
SSD
SECS-S/06 - METODI MATEMATICI DELL'ECONOMIA E DELLE SCIENZE ATTUARIALI E FINANZIARIE
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
C
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
ITALIANO
Italian
Contenuti
Introduzione alla Teoria dei Giochi, sia non cooperativi che cooperativi e alle soluzioni più comuni.
Introduction to Game Theory, both non-cooperative and cooperative, and to the most used solutions.
Testi di riferimento
R.J. Aumann, S. Hart, Handbook of Game Theory with Economic Applications (Vol. 1), Elsevier R.J. Aumann, S. Hart, Handbook of Game Theory with Economic Applications (Vol. 2), Elsevier R.J. Aumann, S. Hart, Handbook of Game Theory with Economic Applications (Vol. 3), Elsevier G. Costa, P.A. Mori, Introduzione alla Teoria dei Giochi, Il Mulino R. Gibbons, Primo Corso di Teoria dei Giochi, Il Mulino R.B. Myerson, Game Theory: Analysis of Conflict, Harvard University Press M.J. Osborne, A. Rubinstein, A Course in Game Theory, MIT Press G. Owen, Game Theory, Academic Press F. Patrone, Decisori (razionali) interagenti, Edizioni PLUS
R.J. Aumann, S. Hart, Handbook of Game Theory with Economic Applications (Vol. 1), Elsevier R.J. Aumann, S. Hart, Handbook of Game Theory with Economic Applications (Vol. 2), Elsevier R.J. Aumann, S. Hart, Handbook of Game Theory with Economic Applications (Vol. 3), Elsevier G. Costa, P.A. Mori, Introduzione alla Teoria dei Giochi, Il Mulino R. Gibbons, Primo Corso di Teoria dei Giochi, Il Mulino R.B. Myerson, Game Theory: Analysis of Conflict, Harvard University Press M.J. Osborne, A. Rubinstein, A Course in Game Theory, MIT Press G. Owen, Game Theory, Academic Press F. Patrone, Decisori (razionali) interagenti, Edizioni PLUS
Obiettivi formativi
La conoscenza degli elementi principali della teoria dei giochi; la capacità e abilità di applicare dette conoscenze nella risoluzione di problemi ed esercizi. Abilità comunicative: acquisire e saper utilizzare un lessico appropriato in relazione agli argomenti affrontati nel corso. Il corso ha anche lo scopo di sviluppare la capacità di apprendere autonomamente ed il senso critico che permette allo studente di trarre conclusioni su questioni attinenti agli argomenti trattati.
Knowledge of the main elements of game theory. The ability to apply that knowledge in solving problems and exercises. Communication skills: the students will be able to use a suitable vocabulary in relation to the topics described in the course. They will develop the ability in making judgements and autonomously deepen the arguments treated in the course.
Prerequisiti
Elementi di Analisi Matematica, Algebra lineare e Ricerca Operativa
Notions of Calculus, Linear Algebra and Operations Research.
Metodi didattici
Lezioni teoriche con esercitazioni.
Lectures and exercises.
Altre informazioni
Il controllo dell'apprendimento in itinere verrà effettuato attraverso l'applicazione delle tecniche viste nel corso.
Applications of the presented techniques, for checking the knowledge.
Modalità di verifica dell'apprendimento
Esame scritto che consiste in 2-3 domande. Esame orale.
Written exam consisting in 2-3 questions. Oral exam.
Programma esteso
Giochi non cooperativi e cooperativi; equilibrio di Nash, nucleo, valore di Shapley e nucleolo. Giochi originati da problemi di Ricerca Operativa e giochi di bancarotta. Proprietà dal punto di vista della complessità computazionale.
Non-cooperative and cooperative games; Nash equilibrium, core, Shapley value and nucleollus. Operations Research Games and Bankruptcy games. Computazional complexity properties.
Risultati di apprendimento attesi
Capacità di usare gli strumenti appresi, possibilmente con un'analisi critica degli stessi, in riferimento alla soluzione.
Ability in usage of tools and instruments presented in the lectures, eventually with a critical analysis, referring to the results.
×
Print
Course
METODI DI OTTIMIZZAZIONE
Course ID
MF0286
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
FRAGNELLI Vito
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
MAT/09 - RICERCA OPERATIVA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
C
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
ITALIANO
Italian
Contenuti
Programmazione lineare e Teoria delle reti.
Linear Programming and Network Theory.
Testi di riferimento
M. Gondran, M. Minoux, Graphs and Algorithms, Wiley Interscience S. Martello, P.Toth, Knapsack Problems: Algorithms and Computer Implementation, Wiley Interscience L. Muracchini, L.Guidotti, Programmazione matematica, UTET G.L. Nemhauser, A.H.G. Rinooy Kan, M.J. Todd, Handbooks in Operation Research and Management Science, Elsevier
M. Gondran, M. Minoux, Graphs and Algorithms, Wiley Interscience S. Martello, P.Toth, Knapsack Problems: Algorithms and Computer Implementation, Wiley Interscience L. Muracchini, L.Guidotti, Programmazione matematica, UTET G.L. Nemhauser, A.H.G. Rinooy Kan, M.J. Todd, Handbooks in Operation Research and Management Science, Elsevier
Obiettivi formativi
La conoscenza degli elementi principali dell’algebra lineare, della teoria dei grafi e delle funzioni di più variabili; la capacità e abilità di applicare dette conoscenze nella risoluzione di problemi ed esercizi. Abilità comunicative: acquisire e saper utilizzare un lessico appropriato in relazione agli argomenti affrontati nel corso. Il corso ha anche lo scopo di sviluppare la capacità di apprendere autonomamente ed il senso critico che permette allo studente di trarre conclusioni su questioni attinenti agli argomenti trattati.
Knowledge of the main elements of linear algebra, graph theory and functions of several variables. The ability to apply that knowledge in solving problems and exercises. Communication skills: the students will be able to use a suitable vocabulary in relation to the topics described in the course. They will develop the ability in making judgements and autonomously deepen the arguments treated in the course.
Prerequisiti
Elementi di Analisi Matematica, Algebra lineare e Geometria.
Notions of Calculus, Linear Algebra and Geometry.
Metodi didattici
Lezioni teoriche con esercitazioni.
Lectures and exercises.
Altre informazioni
Il controllo dell'apprendimento in itinere verrà effettuato attraverso l'applicazione delle tecniche viste nel corso.
Applications of the presented techniques, for checking the knowledge.
Modalità di verifica dell'apprendimento
Esame scritto che consiste in 2-3 domande. Esame orale.
Written exam consisting in 2-3 questions. Oral exam.
Programma esteso
Programmazione lineare: Algebra lineare - Algoritmo del simplesso – Dualità Programmazione lineare a numeri interi: Metodi branch and bound - Metodi cutting planes - Modelli lineari a numeri interi Teoria delle reti: Grafi - Reti - Minimo Spanning Tree - Cammino minimo - Flusso massimo - Flusso di costo minimo.
Linear Programming: Linear Algebra - Simplex algorithm - Duality Integer Linear Programming: Branch and Bounds Methods - Cutting Planes Methods - Linear Integer Models Network Theory: Graphs - Networks - Shortest Spanning Tree - Shortest Path Problem - Max Flow - Minimum Cost Flow.
Risultati di apprendimento attesi
Capacità di usare gli strumenti appresi, possibilmente con un'analisi critica degli stessi, in riferimento alla soluzione.
Ability in usage of tools and instruments presented in the lectures, eventually with a critical analysis, referring to the results.
×
Print
Course
FONDAMENTI DI LINGUAGGI DI PROGRAMMAZIONE
Course ID
S1422
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
GIANNINI Paola
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano.
Italian.
Contenuti
Introduzione alla programmazione multiparadigma, alla definizione della semantica statica e dinamica dei linguaggi di programmazione e alla loro relazione.
Introduction to multiparadigm programming, and the definition of the static and dynamic semantics of programming languages ​​with their relationship.
Testi di riferimento
Pierce, Types and Programming Languages, The MIT Press.  Documentazione su Scala presente in rete.
Pierce, Types and Programming Languages, The MIT Press.  Scala documentation available on the net.
Obiettivi formativi
Conoscenza e capacità di comprensione: lo studente deve acquisire familiarità con i metodi formali di descrizioni della semantica dei linguaggi di programmazione ed essere in grado di programmare nel linguaggio Scala. Capacità di applicare conoscenza e comprensione: lo studente deve essere in grado di modellare la semantica statica e dinamica di costrutti di linguaggi programmazione e descriverne l’interazione. Deve inoltre essere in grado di usare in modo appropriato i costrutti di un linguaggio di programmazione. Autonomia di giudizio: lo studente essere in grado di scegliere, motivandone la ragione, il paradigma di programmazione più appropriato per la soluzione di un problema. Abilità comunicative: lo studente deve saper esprimere e motivare anche in forma scritta le proprie scelte. Capacità di apprendere: lo studente deve essere in grado di imparare facilmente un nuovo linguaggio di programmazione, discriminandone gli aspetti fondamentali da quelli meramente sintattici.
Knowledge and understanding: the student must become familiar with the formal methods for the description of the semantics of programming languages and being able to program in the Scale language. Applying knowledge and understanding: the student should be able to model the static and dynamic semantics of programming languages constructs and to describe their interaction. Moreover, he/she should be able to use in an appropriate way the construct of a programming language. Making judgments: the student should be able to choose, motivating the reasons, the programming paradigm most appropriate for solving a specific problem. Communication skills: the student must be able to express and motivate his/her own choices orally and in writing. Learning skills: the student must be able to learn easily a new programming language by discriminating its fundamental aspects from the merely syntactic ones.
Prerequisiti
Familiarità con il linguaggi di programmazione acquisita nei corsi triennali di programmazione e programmazione ad oggetti. 
Familiarity with programming in the imperative and object oriented paradigms.
Metodi didattici
Lezioni frontali di introduzione dei concetti ed esercitazioni volte a mostrare l'uso di tali concetti nella pratica dei linguaggi di programmazione.
Lessons in classroom for introducing concepts and sessions of exercises aimed at showing the use of such concepts in the context of programming languages.
Altre informazioni
Lo studente deve acquisire familiarità con i metodi formali di descrizioni della semantica dei programmi sia dal punto di vista statico che dinamico, questo viene controllato mediante la risoluzione di esercizi che vengono proposti durante il corso. 
The student should become familiar with the methods of formal descriptions of the semantics of programs, both in terms of static and dynamic, this is controlled by the resolution of exercises that are offered during the course.
Modalità di verifica dell'apprendimento
Esame scritto con 5 o 6 esercizi che coprono i contenuti svolti durante il corso e le esercitazioni. La valutazione complessiva terra' conto dei punteggi parziali conseguiti nei singoli esercizi pesati a seconda della loro difficolta'.
Written exam composed of 5 or 6 exercises on the topics presented during the lessons and the exercise sessions. The final grade will be given on the basis of the partial scores achieved in the individual exercises weighted on their difficulty.
Programma esteso
Nella prima parte del corso verrà introdotto il linguaggio di programmazione Scala che permette di integrare la programmazione funzionale con la programmazione ad oggetti. Poi si passerà alla specifica operazionale dei programmi che permette di descrivere in modo astratto la loro esecuzione ed ai sistemi di tipo che permettono di controllarne staticamente alcune proprietà. In questo modo verranno descritti i costrutti tipici dei linguaggi quali espressioni, funzioni, vettori, puntatori ed inoltre le nozioni più avanzate dei linguaggi quali la programmazione imperativa e quella ad oggetti. 
In the first part of the course we introduce the programmaing language Scala that allows the integration of functional and object oriented programming. Then we introduce the operational semantics approach to the specification of language features, and moreover it is introduced the static semantics via type systems and the properties relating the  operational semantics and the type system are established.  With this methodology are analysed some of the constructs typical of programming languages such as: expressions, functions, arrays, references and objects. 
Risultati di apprendimento attesi
Abilità di modellare formalmente la semantica di costrutti di linguaggi, con particolare enfasi alla relazione fra semantica statica e semantica dinamica. Uso appropriato degli aspetti muti-paradigna del linguaggio Scala e capacità di riconoscere queste caratteristiche anche in altri linguaggi.
Ability to describe formally the semantics of programming languages constructs, with particular emphasis on the relationship between static semantics and dynamic semantics. Appropriate usage of the mute-paradigm aspects of the Scala programming language and ability to recognize these features in other languages as well.
×
Print
Course
BUSINESS INTELLIGENCE: DATA WAREHOUSE, ASPETTI TEMPORALI E SUPPORTO ALLE DECISIONI
Course ID
MF0288
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
TERENZIANI Paolo
CFU
9
Teaching duration (hours)
72
Individual study time
153
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano/Inglese
Italian/English
Contenuti
Il corso sarà articolato nelle seguenti parti: A) Datawarehousing B) Basi di dati temporali C) Supporto alle decisioni aziendali I contenuti delle varie parti si possono riassumere come segue: A) Metodologie e tecniche per reperire, analizzare, sintetizzare e ri-organizzare dati operazionali, al supporto di decisioni strategiche. B) Tecniche e metodologie per gestire il tempo nelle basi di dati relazionali. C) Metodologie e tecniche per la realizzazione di un moderno strumento di Business Intelligence;
The course will be organized into the following parts: A) Datawarehousing B) Temporal databases C) Enterprise decision support Contents of the four parts can be summarized as follows: A) Methodologies and techniques to collect, analyse, sinthetize and re-organize operational data, to support strategical decision-making B) Methodologies and techniques to deal with validity and transaction time in relational databases C) Methodologies and techniques to realize a modern Business Intelligence system;
Testi di riferimento
A) M. Golfarelli, S. Rizzi: “Data Warehose”, McGraw-Hill, Milano. B) La seconda parte del corso si avvale di pubblicazioni su riviste scientifiche fornite dal docente. C) Z. Michalewicz et al., Adaptive Business Intelligence, Springer.
A) M. Golfarelli, S. Rizzi: “Data Warehouse”, McGraw-Hill, Milano. B) The second part of the course (Temporal Issues) is bases of scientific journal publications provided by the teacher. C) Z. Michalewicz et al., Adaptive Business Intelligence, Springer.
Obiettivi formativi
Conoscenza e capacità di comprensione: gli studenti devono acquisire approfondita conoscenza di A) metodologie per reperire, analizzare, sintetizzare e ri-organizzare i dati operazionali; metodologie di progettazione a livello concettuale e di realizzazione livello logico in ambito relazionale di datawarehousing B) semantica delle basi di dati temporali; principali metodologie per gestire i tempi di validita' e di transazione nelle basi di dati relazionali; problematiche di base per il trattamento del tempo in basi di conoscenza C) metodologie e tecniche di rappresentazione e gestione della conoscenza, predizione, ottimizzazione, adattamento Capacita' di applicare conoscenza: A) capacita' di progettazione a livello concettuale e di realizzazione livello logico in ambito relazionale di datawarehousing, a partire dalle sorgenti di dati operazionali B) capacita' di utilizzare DBMS temporali quali TSQL2 C) capacità di valutare e/o applicare le tecniche studiate per progettare un sistema di supporto alle decisioni in un contesto aziendale, dove possono essere presenti dati e conoscenze eterogenee; Autonomia di giudizio: A) Abilita' nel determinare i fatti di interesse, la granularita', le dimensioni e le gerarchie dimensionali per un data warehouse B) Abilita' nel riconoscere l'eventuale necessita' di adottare tecniche specifiche\generali per la gestione del tempo nelle basi di dati; abilita' nell'individuare problematiche temporali (in basi di dati relazionali), e le metodologie atte a gestirle C) capacità di lavorare in maniera autonoma, anche in situazioni aziendali complesse o a fronte di informazioni incomplete Abilita, comunicative: A-B) Gli studenti devono acquisire e saper utilizzare la terminologia utilizzata nel campo del datawarehousing e delle basi di dati temporali. B) Devono saper esprimere in modo rigoroso (formale) la semantica delle basi di dati relazionali. C) devono saper giustificare le scelte progettuali o implementative fatte comunicandole in modo chiaro anche a utenti meno esperti Capacita' di apprendere: Gli studenti devono aver acquisito la capacita' di A) analizzare e modellare in modo uniforme dati provenienti da sorgenti eterogenee B) analizzare problemi temporali anche complessi nell'ambito delle basi di dati relationali C) descrivere e saper scegliere le più opportune tecniche per la realizzazione di un sistema di supporto alle decisioni aziendali
Knowledge and comprehension: students must acquire a deep knowledge about: A) the methodologies to retrieve, analyse, synthetise, and re-organise operational data; the methodologies to design at the conceptual and at the logical relational level a datawarehouse B) the semantics of temporal databases; the main methodologies to mana valid time and transaction time in temporal relational databases; the main problems when dealing with "time" in knowledge bases C) methodologies and techniques for: knowledge representation and management, prediction, optimization, adaptation. Capacity to apply knowledge and comprehension: A) ability to design (conceptual and logical level) and develop a datawarehouse in the relational context, starting from operational data sources B) capacity to properly use TSQL2-like temporal DBMS. C) ability to evaluate and/or apply the techniques studied in the course to design a decision support tool in an enterprise context, where heterogeneous data and knowledge may be available; Judgement autonomy: A) ability to identify facts of interest, granularity, dimensions and the hierarchy of dimensional attributes for a datawarehouse B) capability of recognizing the necessity of general\specific techniques to cope with time in relational DBs; ability to identify temporal problems (in DBs), and the methodologies to solve them C) ability to work in an autonomous way, and deal with complex enterprise situations or with incomplete information Communication abilities: A-B) Students must acquire and adopt the rigorous terminology used in datawarehousing and in temporal databases. B) They must also be able to express in a rigourous (formal) way the semantics of temporal databases. C) They must be able to justify their design or implementation choices and clearly communicate them also to a non expert audience. Learning capacity: students must acquire the capability of A) analysing a modeling in a uniform way data coming from heterogeneous sources B) analysing possibly complex temporal problems in temporal databases C) describing and properly choosing the correct techniques to realize an enterprise decision support system
Prerequisiti
Nozioni di base delle basi di dati relazionali, algebra relazionale, SQL
Basic notions about relational databases, relational algebra, SQL
Metodi didattici
Lezione frontale in aula. Le lezioni frontali contempleranno anche la risposta a quesiti o la risoluzione di esercizi esemplificativi per lo svolgimento dell'esame. Esempi di test d'esame potranno essere forniti agli studenti. Le slide delle lezioni, i testi consigliati, ed altro materiale saranno forniti anche sulla piattaforma DIR, per consentire anche a chi non frequenta di tenersi al passo con lo svolgimento del corso.
Direct lessons in classroom. Classroom lessons will also include example questions or exercises useful for the final test. Example tests can also be provided to students. Slides, textbooks indications and additional material will be provided also through the DIR platform. In this way, the students who do not attend will be allowed to easily follow the course progression.
Modalità di verifica dell'apprendimento
A-B) Orale C) Esame scritto. L'esame su questa parte del corso prevede un minimo di 3 domande, che verteranno su argomenti scelti tra: gestione della conoscenza, predizione, ottimizzazione, adattamento. Il voto terra' conto dei risultati parziali ottenuti nelle singole domande. Eventualmente (ad esempio, per richiesta dello studente), la stessa tipologia di esame potra' essere svolta oralmente
A-B) Oral examination C) Written test. The test will be composed by three questions at least, focused on different course topics chosen among knowledge management, prediction, optimization, adaptation. The final score will take into account the partial scores of the different questions. Possibly (e.g., on student's request), the same exam type will be executed orally.
Programma esteso
A (Data Warehousing): - Introduzione: obiettivi ed architetture - tecniche per reperire e riconciliare i dati operazionali - linguaggi di query OLAP - modelli e tecniche per l'implementazione del conceptual multidimensional data model in ambito relazionale - NOSQL (cenni) B (ASPETTI TEMPORALI): - tempi di validita' e di transazione - Un approccio generale al tempo nei DB relazionali: TSQL2 - il modello BCDM per la semantica delle basi di dati relazionali temporali - trattamento del tempo in Intelligenza Artificiale (cenni) C (Supporto alle decisioni aziendali): Nel corso l’esposizione sarà organizzata in quattro parti, ciascuna riferita alla realizzazione di uno dei quattro principali moduli che compongono la struttura di un moderno strumento di Business Intelligence: 1. gestione della conoscenza: conoscenza implicita ed esplicita; Rule-based Reasoning e Case-based Reasoning; soluzioni di Case-based Reasoning avanzate (dati in forma di serie temporali, fuzzy CBR, process-oriented CBR); 2. predizione: classificazione, regressione, serie temporali; metodi matematici, basati su distanze, logici, basati su euristiche; metodi ibridi; 3. ottimizzazione: metodi matematici, algoritmi evoluzionistici, ant systems, metodi ibridi; 4. adattamento: tecniche per migliorare le prestazioni del modulo di previsione.
A (Data Warehousing): - Introduction: goals and architectures for Data Warehousing - techniques to collect and reconcile heterogeneous operational data - languages and techniques for the conceptual design of a multidimensional data model - Advanced query languages for OLAP analysis - model and techniques for a relational implementation of the conceptual multidimensional data model – NoSQL (hints) B (Temporal issues): - Validity vs transaction time - TSQL2: a general approach coping with time in relational databases - The BCDM model for the semantics of temporal relational databases - Properties of temporal relational models - Advanced temporal issues and Artificial Intelligence (hints) C (Enterprise decision support): The subject will be organised in four parts, each one referring to the realization of a specific module in a modern Business Intelligence tool architecture: 1. knowledge management: implicit and explicit knowledge; Rule-based Reasoning and Case-based Reasoning; advanced Case-based Reasoning solutions (time series data, fuzzy CBR, process-oriented CBR); 2. prediction: classification, regression, time series; mathematical models, distance-based models, logic models, heuristic models; hybrid methods; 3. optimisation: mathematical methods, evolutionary algorithms, ant systems, hybrid methods; 4. adaptation: techniques to improve the prediction module performances.
Risultati di apprendimento attesi
Gli studenti devono aver acquisito le seguenti conoscenze, competenze, ed abilita': A) - conoscenza delle tecniche per reperire e riconciliare i dati operazionali; - conoscenza generale dei linguaggi di query OLAP e capacita' di formulare query - conoscenza a capacita' di gestione di modelli e tecniche per l'implementazione del conceptual multidimensional data model in ambito relazionale - conoscenza generale di NOSQL (cenni) B) - conoscenza e capacita' di distinguere i tempi di validita' e di transazione - conosceza e capacita' di utilizzare l'approccio TSQL2 al tempo nei DB relazionali - conosceza e capacita' di utilizzare il modello BCDM per la semantica delle basi di dati relazionali temporali - conoscenza delle principali problematiche concernenti il trattamento del tempo in Intelligenza Artificiale (cenni) C) Le competenze da verificare, e necessarie per il superamento del corso, consistono nell'aver appreso i concetti di base relativi a: 1.gestione della conoscenza 2.predizione 3.ottimizzazione 4.adattamento Occorre inoltre essere in grado di dimostrare la capacita' di applicarli nel rispondere a quesiti di teoria, o nello svolgere alcuni esercizi.
Students must acquire the following knowledge, competences, and abilities A) - knowledge about the techniques to retrieve and reconcile operational data sources - general knowledge about OLAP query languages, and ability to formulate OLAP queries - model and techniques for a relational design and implementation of the conceptual multidimensional data model – NoSQL (hints) B) - knowledge and ability to distinguish validity vs transaction time - knowledge and ability to use TSQL2-like approaches to cope with time in relational databases - knowledge and ability to use the BCDM model to model the semantics of temporal relational databases - knowledge about the main issues concerning the treatment of time in Artificial Intelligence (hints) C) Having understood notions of: 1. knowledge management 2. prediction 3. optimisation 4. adaptation described in the lessons; being able to apply such notions in answering theoretic questions as well as exercises.
×
Print
Course
BUSINESS INTELLIGENCE: ASPETTI TEMPORALI E SUPPORTO ALLE DECISIONI
Course ID
MF0289
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
TERENZIANI Paolo
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano/Inglese
Italian/English
Contenuti
Il corso sarà articolato nelle seguenti parti: A) Datawarehousing B) Basi di dati temporali C) Supporto alle decisioni aziendali I contenuti delle varie parti si possono riassumere come segue: A) Metodologie e tecniche per reperire, analizzare, sintetizzare e ri-organizzare dati operazionali, al supporto di decisioni strategiche. B) Tecniche e metodologie per gestire il tempo nelle basi di dati relazionali. C) Metodologie e tecniche per la realizzazione di un moderno strumento di Business Intelligence;
The course will be organized into the following parts: A) Datawarehousing B) Temporal databases C) Enterprise decision support Contents of the four parts can be summarized as follows: A) Methodologies and techniques to collect, analyse, sinthetize and re-organize operational data, to support strategical decision-making B) Methodologies and techniques to deal with validity and transaction time in relational databases C) Methodologies and techniques to realize a modern Business Intelligence system;
Testi di riferimento
A) M. Golfarelli, S. Rizzi: “Data Warehose”, McGraw-Hill, Milano. B) La seconda parte del corso si avvale di pubblicazioni su riviste scientifiche fornite dal docente. C) Z. Michalewicz et al., Adaptive Business Intelligence, Springer.
A) M. Golfarelli, S. Rizzi: “Data Warehouse”, McGraw-Hill, Milano. B) The second part of the course (Temporal Issues) is bases of scientific journal publications provided by the teacher. C) Z. Michalewicz et al., Adaptive Business Intelligence, Springer.
Obiettivi formativi
Conoscenza e capacità di comprensione: gli studenti devono acquisire approfondita conoscenza di A) metodologie per reperire, analizzare, sintetizzare e ri-organizzare i dati operazionali; metodologie di progettazione a livello concettuale e di realizzazione livello logico in ambito relazionale di datawarehousing B) semantica delle basi di dati temporali; principali metodologie per gestire i tempi di validita' e di transazione nelle basi di dati relazionali; problematiche di base per il trattamento del tempo in basi di conoscenza C) metodologie e tecniche di rappresentazione e gestione della conoscenza, predizione, ottimizzazione, adattamento Capacita' di applicare conoscenza: A) capacita' di progettazione a livello concettuale e di realizzazione livello logico in ambito relazionale di datawarehousing, a partire dalle sorgenti di dati operazionali B) capacita' di utilizzare DBMS temporali quali TSQL2 C) capacità di valutare e/o applicare le tecniche studiate per progettare un sistema di supporto alle decisioni in un contesto aziendale, dove possono essere presenti dati e conoscenze eterogenee; Autonomia di giudizio: A) Abilita' nel determinare i fatti di interesse, la granularita', le dimensioni e le gerarchie dimensionali per un data warehouse B) Abilita' nel riconoscere l'eventuale necessita' di adottare tecniche specifiche\generali per la gestione del tempo nelle basi di dati; abilita' nell'individuare problematiche temporali (in basi di dati relazionali), e le metodologie atte a gestirle C) capacità di lavorare in maniera autonoma, anche in situazioni aziendali complesse o a fronte di informazioni incomplete Abilita, comunicative: A-B) Gli studenti devono acquisire e saper utilizzare la terminologia utilizzata nel campo del datawarehousing e delle basi di dati temporali. B) Devono saper esprimere in modo rigoroso (formale) la semantica delle basi di dati relazionali. C) devono saper giustificare le scelte progettuali o implementative fatte comunicandole in modo chiaro anche a utenti meno esperti Capacita' di apprendere: Gli studenti devono aver acquisito la capacita' di A) analizzare e modellare in modo uniforme dati provenienti da sorgenti eterogenee B) analizzare problemi temporali anche complessi nell'ambito delle basi di dati relationali C) descrivere e saper scegliere le più opportune tecniche per la realizzazione di un sistema di supporto alle decisioni aziendali
Knowledge and comprehension: students must acquire a deep knowledge about: A) the methodologies to retrieve, analyse, synthetise, and re-organise operational data; the methodologies to design at the conceptual and at the logical relational level a datawarehouse B) the semantics of temporal databases; the main methodologies to mana valid time and transaction time in temporal relational databases; the main problems when dealing with "time" in knowledge bases C) methodologies and techniques for: knowledge representation and management, prediction, optimization, adaptation. Capacity to apply knowledge and comprehension: A) ability to design (conceptual and logical level) and develop a datawarehouse in the relational context, starting from operational data sources B) capacity to properly use TSQL2-like temporal DBMS. C) ability to evaluate and/or apply the techniques studied in the course to design a decision support tool in an enterprise context, where heterogeneous data and knowledge may be available; Judgement autonomy: A) ability to identify facts of interest, granularity, dimensions and the hierarchy of dimensional attributes for a datawarehouse B) capability of recognizing the necessity of general\specific techniques to cope with time in relational DBs; ability to identify temporal problems (in DBs), and the methodologies to solve them C) ability to work in an autonomous way, and deal with complex enterprise situations or with incomplete information Communication abilities: A-B) Students must acquire and adopt the rigorous terminology used in datawarehousing and in temporal databases. B) They must also be able to express in a rigourous (formal) way the semantics of temporal databases. C) They must be able to justify their design or implementation choices and clearly communicate them also to a non expert audience. Learning capacity: students must acquire the capability of A) analysing a modeling in a uniform way data coming from heterogeneous sources B) analysing possibly complex temporal problems in temporal databases C) describing and properly choosing the correct techniques to realize an enterprise decision support system
Prerequisiti
Nozioni di base delle basi di dati relazionali, algebra relazionale, SQL
Basic notions about relational databases, relational algebra, SQL
Metodi didattici
Lezione frontale in aula. Le lezioni frontali contempleranno anche la risposta a quesiti o la risoluzione di esercizi esemplificativi per lo svolgimento dell'esame. Esempi di test d'esame potranno essere forniti agli studenti. Le slide delle lezioni, i testi consigliati, ed altro materiale saranno forniti anche sulla piattaforma DIR, per consentire anche a chi non frequenta di tenersi al passo con lo svolgimento del corso.
Direct lessons in classroom. Classroom lessons will also include example questions or exercises useful for the final test. Example tests can also be provided to students. Slides, textbooks indications and additional material will be provided also through the DIR platform. In this way, the students who do not attend will be allowed to easily follow the course progression.
Modalità di verifica dell'apprendimento
A-B) Orale C) Esame scritto. L'esame su questa parte del corso prevede un minimo di 3 domande, che verteranno su argomenti scelti tra: gestione della conoscenza, predizione, ottimizzazione, adattamento. Il voto terra' conto dei risultati parziali ottenuti nelle singole domande. Eventualmente (ad esempio, per richiesta dello studente), la stessa tipologia di esame potra' essere svolta oralmente
A-B) Oral examination C) Written test. The test will be composed by three questions at least, focused on different course topics chosen among knowledge management, prediction, optimization, adaptation. The final score will take into account the partial scores of the different questions. Possibly (e.g., on student's request), the same exam type will be executed orally.
Programma esteso
A (Data Warehousing): - Introduzione: obiettivi ed architetture - tecniche per reperire e riconciliare i dati operazionali - linguaggi di query OLAP - modelli e tecniche per l'implementazione del conceptual multidimensional data model in ambito relazionale - NOSQL (cenni) B (ASPETTI TEMPORALI): - tempi di validita' e di transazione - Un approccio generale al tempo nei DB relazionali: TSQL2 - il modello BCDM per la semantica delle basi di dati relazionali temporali - trattamento del tempo in Intelligenza Artificiale (cenni) C (Supporto alle decisioni aziendali): Nel corso l’esposizione sarà organizzata in quattro parti, ciascuna riferita alla realizzazione di uno dei quattro principali moduli che compongono la struttura di un moderno strumento di Business Intelligence: 1. gestione della conoscenza: conoscenza implicita ed esplicita; Rule-based Reasoning e Case-based Reasoning; soluzioni di Case-based Reasoning avanzate (dati in forma di serie temporali, fuzzy CBR, process-oriented CBR); 2. predizione: classificazione, regressione, serie temporali; metodi matematici, basati su distanze, logici, basati su euristiche; metodi ibridi; 3. ottimizzazione: metodi matematici, algoritmi evoluzionistici, ant systems, metodi ibridi; 4. adattamento: tecniche per migliorare le prestazioni del modulo di previsione.
A (Data Warehousing): - Introduction: goals and architectures for Data Warehousing - techniques to collect and reconcile heterogeneous operational data - languages and techniques for the conceptual design of a multidimensional data model - Advanced query languages for OLAP analysis - model and techniques for a relational implementation of the conceptual multidimensional data model – NoSQL (hints) B (Temporal issues): - Validity vs transaction time - TSQL2: a general approach coping with time in relational databases - The BCDM model for the semantics of temporal relational databases - Properties of temporal relational models - Advanced temporal issues and Artificial Intelligence (hints) C (Enterprise decision support): The subject will be organised in four parts, each one referring to the realization of a specific module in a modern Business Intelligence tool architecture: 1. knowledge management: implicit and explicit knowledge; Rule-based Reasoning and Case-based Reasoning; advanced Case-based Reasoning solutions (time series data, fuzzy CBR, process-oriented CBR); 2. prediction: classification, regression, time series; mathematical models, distance-based models, logic models, heuristic models; hybrid methods; 3. optimisation: mathematical methods, evolutionary algorithms, ant systems, hybrid methods; 4. adaptation: techniques to improve the prediction module performances.
Risultati di apprendimento attesi
Gli studenti devono aver acquisito le seguenti conoscenze, competenze, ed abilita': A) - conoscenza delle tecniche per reperire e riconciliare i dati operazionali; - conoscenza generale dei linguaggi di query OLAP e capacita' di formulare query - conoscenza a capacita' di gestione di modelli e tecniche per l'implementazione del conceptual multidimensional data model in ambito relazionale - conoscenza generale di NOSQL (cenni) B) - conoscenza e capacita' di distinguere i tempi di validita' e di transazione - conosceza e capacita' di utilizzare l'approccio TSQL2 al tempo nei DB relazionali - conosceza e capacita' di utilizzare il modello BCDM per la semantica delle basi di dati relazionali temporali - conoscenza delle principali problematiche concernenti il trattamento del tempo in Intelligenza Artificiale (cenni) C) Le competenze da verificare, e necessarie per il superamento del corso, consistono nell'aver appreso i concetti di base relativi a: 1.gestione della conoscenza 2.predizione 3.ottimizzazione 4.adattamento Occorre inoltre essere in grado di dimostrare la capacita' di applicarli nel rispondere a quesiti di teoria, o nello svolgere alcuni esercizi.
Students must acquire the following knowledge, competences, and abilities A) - knowledge about the techniques to retrieve and reconcile operational data sources - general knowledge about OLAP query languages, and ability to formulate OLAP queries - model and techniques for a relational design and implementation of the conceptual multidimensional data model – NoSQL (hints) B) - knowledge and ability to distinguish validity vs transaction time - knowledge and ability to use TSQL2-like approaches to cope with time in relational databases - knowledge and ability to use the BCDM model to model the semantics of temporal relational databases - knowledge about the main issues concerning the treatment of time in Artificial Intelligence (hints) C) Having understood notions of: 1. knowledge management 2. prediction 3. optimisation 4. adaptation described in the lessons; being able to apply such notions in answering theoretic questions as well as exercises.
×
Print
Course
SISTEMI MULTIMEDIALI
Course ID
S0596
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
LEONARDI GIORGIO
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano
Italian
Contenuti
Il corso ha lo scopo di introdurre i principi base della creazione ed elaborazione di prodotti multimediali quali immagini e audio. In particolare, si affrontano la codifica di segnali analogici, la compressione dati sia lossless che lossy, la rappresentazione e l'elaborazione di immagini raster e di segnali audio.
The course aims at introducing the basic principles of the creation and development of multimedia products, such as images and audio. In particular, this course addresses the encoding of analog signals, lossless and lossy data compression, the representation and processing of raster images and audio signals.
Testi di riferimento
Fundamentals of Multimedia, Ze-Nian Li and Mark S. Drew, Casa Editrice Prentice Hall 2003.
Fundamentals of Multimedia, Ze-Nian Li and Mark S. Drew, Casa Editrice Prentice Hall 2003.
Obiettivi formativi
Conoscenza e capacità di comprensione: Familiarità con il concetto di segnale, sua trasformazione in formato digitale, compressione di immagini e di segnali audio attraverso tecniche con e senza perdita di dati, tecniche di elaborazione di immagine sia pxel-based che filter-based. Capacità di applicare conoscenza e comprensione: Acquisizione di prodotti multimediali da fonti analogiche, mantenendo il controllo del tradeoff tra qualità desiderata e dimensione del prodotto in formato digitale - uso delle tecniche di compressione per adattare il prodotto digitale alle caratteristiche del supporto di memorizzazione e/o trasmissione - applicazione di algoritmi e filtri per migliorare la resa del prodotto multimediale - applicazione di effetti per miscelare prodotti da fonti diverse. Le tecniche apprese a lezione forniscono la base per l'ideazione di nuovi effetti da applicare ad audio e immagini. Come aspetto collaterale il corso sviluppa le competenze di programmazione (in particolare nel linguaggio Java). Autonomia di giudizio: analizzare in modo critico i prodotti multimediali, decidendo autonomamente le migliori tecniche da utilizzare per acquisizione, compressione ed elaborazione a seconda delle caratteristiche e della destinazione d'uso del prodotto stesso Abilità comunicative: aver acquisito e saper utilizzare la terminologia formale specifica relativa alle aree citate, in modo da motivare e documentare opportunamente la pipeline utilizzata per le elaborazioni effettuate. Capacità di apprendere: lo studio di tecniche di acquisizione, compressione e processing di segnali fornisce la base per la costruzione di software di elaborazione di audio e di immagini
Knowledge and understanding: Familiarity with the concept of signal, its transformation into digital format, compression of images and audio signals through techniques with and without loss of data, image processing techniques both pxel-based and filter-based. Applying knowledge and understanding: Acquisition of multimedia products from analogue sources, maintaining tradeoff control between desired quality and size in digital format - Use of compression techniques to adapt the digital product to storage and / or Transmission media features - application of algorithms and filters to improve the quality of the multimedia product - application of effects and of techniques for mixing products from different sources. The learned techniques provide the basis for new effects to be applied to audio and images. As a collateral aspect, the course develops programming skills (especially in Java). Making judgements: critically analyze multimedia products by deciding independently the best techniques to be used for acquisition, compression, and processing, on the basis of the product's characteristics and intended use Communication Skills: Learning and usage of the specific formal terminology for the areas mentioned, in order to motivate and document appropriately the pipeline used for acquisition and processing. Learning skills: the study of capture, compression and signal processing techniques provides the basis for building complex audio and image processing software
Prerequisiti
Basi di programmazione e di Algoritmi.
Basic programming skills and algorithms.
Metodi didattici
Lezioni frontali (36 ore circa) e sessioni pratiche in laboratorio (12 ore circa). Nelle lezioni in aula vengono esposte le nozioni teoriche per ogni argomento affrontato, con esempi ed esercizi svolti sia dal docente, sia in collaborazione con gli studenti. Sulla piattaforma DIR sono indicati i libri di testo suggeriti ed è a disposizione degli studenti tutto il materiale studiato a lezione, sottoforma di slide dettagliate e di materiale integrativo, utili per uno studio approfondito anche a chi non riuscisse a seguire il corso in aula. Sono inoltre forniti esercizi e temi d’esame. Nelle lezioni in laboratorio, gli argomenti del corso vengono rivisti dal punto di vista implementativo e, lezione dopo lezione, si implementerà una pipeline completa in grado di acquisire, comprimere e processare immagini applicando diversi effetti. Si presenta inoltre il progetto che dev'essere consegnato come parte dell'esame. Sul DIR sono a disposizione le slide che presentano ogni passo della pipeline da implementare e le relative tecniche implementative, come riferimento e guida sia per chi ha seguito la lezione che per gli assenti.
Face-to-face lessons (36 hours, about) and practical laboratory sessions (12 hours, about). Face-to-face lessons present the theoretical notions for each topic, with examples and exercises carried out both by the professor and in collaboration with the students. The DIR platform indicates the suggested textbooks, and students are provided with all the material studied in the lessons, in the form of detailed slides and supplementary material, useful for a thorough study also for those who could not attend the class. Exercises and past exam are also provided. In the lectures in the lab, the course topics are reviewed from the implementation point of view and, at the end, a complete pipeline will be implemented, able to capture, compress and process images by applying different effects. The last lesson is devoted to the presentation of the final project that must be delivered as part of the exam. DIR also provides the slides featuring every component of the pipeline to be implemented and their implementation steps, as a reference and guide for those who can not attend the lessons.
Modalità di verifica dell'apprendimento
L'esame prevede una parte scritta e un progetto di laboratorio. Scritto: almeno 3 domande, ognuna delle quali su un diverso argomento del corso. Ogni domanda contiene sia un esercizio da svolgere, sia un quesito teorico a risposta aperta. Progetto: implementazione di algoritmi visti a lezione, con aggiunta di modifiche migliorative o customizzazioni. Il punteggio finale sarà calcomato come media pesata dei due contributi (0.66 per il voto dello scritto; 0.34 per il progetto di laboratorio), se e solo se sono entrambi positivi.
The exam includes a written part and a laboratory project. Written part: at least 3 questions, each of which on a different topic of the course. Each question contains both an exercise to be solved, and a theoretical question to be answered. Project: Implementation of multimedia algorithms, furtherly improvemed or customized. The final score will be calculated as the weighted average of the two contributions (0.66 for the vote of the script, 0.34 for the lab project) if and only if they are both positive.
Programma esteso
- Basi matematiche per l'elaborazione delle immagini - Codifica dei segnali: campionamento, quantizzazione, analisi in frequenza - Codifica delle immagini (immagini Raster, La percezione e la codifica dei colori, la codifica delle immagini raster, immagini GIF, JPEG, PNG) - Basi di elaborazione delle immagini (correzione dei colori, filtraggio ed elaborazione, algoritmi di fotoritocco) - Codifica del suono: formati (PCM, MP3) - Elaborazione del suono e applicazione di effetti (riduzione del rumore, effetto riverbero, ecc.)
- Basics of image-manipulation-oriented mathematics - Signal coding: sampling and quantization. - Image coding (Raster images, Perception and coding of colors, raster images coding, GIF, JPEG and PNG standards) - Image manipulation (Color correction, filtering, photo-editing) - Sound Coding and formats (PCM, MP3) - Sound manipulation and processing (noise reduction, echo, etc.)
Risultati di apprendimento attesi
- Comprensione dei concetti e dei teoremi visti a lezione - Analisi critica di sorgenti multimediali e scelta delle tecniche di acquisizione più adeguate - Applicazione delle tecniche di compressione ai segnali digitali, con valutazione critica del miglior formato di compressione per ogni tipo di segnale proposto - Valutazione della qualità di un prodotto multimediale e applicazione delle tecniche di recupero/miglioramento sulla base dei difetti rilevati - Capacità di implementazione delle tecniche viste a lezione e delle loro estensioni
- Understanding concepts and theorems studied in the lesson - Critical analysis of multimedia sources and selection of the most appropriate acquisition techniques - Application of compression techniques to digital signals, with critical evaluation of the best compression format for each type of signal proposed - Evaluation of the quality of a multimedia product and application of recovery / improvement techniques based on detected defects - Ability to implement all the mentioned techniques and their extensions
×
Print
Course
VALUTAZIONE DELLE PRESTAZIONI
Course ID
MF0168
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
FRANCESCHINIS Giuliana Annamaria
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano
Italian
Contenuti
Il corso definisce una serie di requisiti non funzionali che caratterizzano vari tipi di sistemi con particolare attenzione ai sistemi di calcolo e alle reti di calcolatori. Vengono presentati alcuni modelli matematici e metodi di analisi per la valutazione di prestazioni e affidabilità a partire dai modelli, utilizzabili in fase di progettazione o in momenti successivi quando il sistema oggetto di studio è operativo. Il corso prevede la sperimentazione di alcuni pacchetti software per la creazione di modelli di sistemi e la loro analisi con metodi analitici, numerici o simulativi.
The course focuses on some non functional requirements that must be considered when designing systems, in particular computing systems and computer networks. Some mathematical models are presented allowing one to describe and analyze the performance and dependability of systems. Models can be built and analyzed either in early design phases, or later when the system under study is operational. The course also includes practical exercises using software packages supporting the design of system models and their analysis through analytical or numerical methods or simulation.
Testi di riferimento
K. Trivedi, A. Bobbio, "Reliability and Availability Engineering: Modeling, Analysis and Applications", 2017 - Cambridge University Press J. Banks, J. S. Carson II, B. L. Nelson, David M. Nicol Discrete-Event System Simulation , Fifth edition Pearson Education 2010 Dispense varie o articoli scientifici scaricabili da DIR
K. Trivedi, A. Bobbio, "Reliability and Availability Engineering: Modeling, Analysis and Applications", 2017 - Cambridge University Press J. Banks, J. S. Carson II, B. L. Nelson, David M. Nicol Discrete-Event System Simulation , Fifth edition Pearson Education 2010 Lecture notes or scientific publications to be downloaded from DIR
Obiettivi formativi
Conoscenza e capacità di comprensione:Conoscere alcuni formalismi per la rappresentazione di modelli matematici (esprimibili anche in forma grafica) utili all’analisi dell’affidabilità e delle prestazioni di sistemi. Conoscere i principali metodi computazionali per l’analisi dei modelli (soluzione in forma chiusa, oppure soluzione con metodi di calcolo numerico, o tramite simulazione). Conoscere alcuni modelli di base e saper fare esempi di ambiti applicativi in cui tali modelli si possono efficacemente utilizzare. Capacità di applicare conoscenza e comprensione:Capacità di interpretare un modello ed i risultati ricavabili dalla sua analisi. Capacità di costruire il modello di un sistema tramite un determinato formalismo, definire gli indici di prestazione interessanti, calcolare questi ultimi utilizzando uno strumento software esistente o implementandone uno ad-hoc. Capacità di validare un modello confrontando i risultati della sua analisi con quelli calcolati tramite modelli alternativi o con misure effettuate su sistemi reali. Gli studenti dovranno raggiungere l'autonomia di giudizio rispetto al formalismo e ai metodi di analisi più adatti per affrontare un determinato problema. Dovranno saper scegliere il livello di dettaglio corretto per la descrizione del modello e degli indici di prestazione e scegliere gli strumenti software più adatti in base al formalismo e al metodo di analisi individuati.Gli studenti dovranno essere in grado di comunicare e spiegare le basi matematiche su cui si fondano i modelli e i relativi algoritmi di analisi. Dovranno inoltre essere in grado di descrivere i modelli sviluppati, giustificare le scelte fatte e illustrare l’interpretazione dei risultati ottenuti dall’analisi dei modelli.Gli studenti dovranno acquisire le conoscenze metodologiche necessarie per apprendere nuovi formalismi o metodi di analisi proposti nella letteratura scientifica e per implementare i relativi algoritmi.
Knowledge and understanding:Know and understand: (a) some formalisms for the representation of mathematical models (which may also have a graphical representation) that can be used to study system dependability and performance properties; (b) the main computational methods for model analysis (closed form solution, numerical solution, or simulation); (c) some basic models and be able to discuss examples of application of such models.Apply knowledge and understanding: Have the ability to: (a) provide an interpretation of a model expressed in a known formalism, and of the results that can be obtained by analizing it; (b) build the model of a system using a given formalism and define its performance/reliability indices of interest; (c) compute the indices using an existing software tool or building a new ad-hoc software analysis tool. (d) validate a model comparing the analysis results again those obtained from alternative models or measured on a real system.The students will achieve autonomy in judgement about what is the most appropriate formalism and analysis method to face a given problem. Will be able to choose the most appropriate detail level in describing the model and its performance indices, and choose the software tools that better support the chosen formalism and analysis method.Finally students shall be able to communicate and explain the mathematical basis on which the models and corresponding analysis algorithms have been developed. Moreover they will be able to describe the models they have built, justify the choices made in building the model and present an interpretation of the results of model analysis.The student shall acquire the methodological knowledge to learn new formalisms and analysis methods published in the scientific literature.
Prerequisiti
Corso di base in probabilità e statistica
Basic course in probability and statistics
Metodi didattici
Lezioni frontali, esercitazioni in aula e in laboratorio e esercizi da svolgere in autonomia.
Class lectures, exercises in class and in laboratory, and homeworks
Altre informazioni
Sulla piattaforma DIR sono disponibili: la copia elettronica delle slide utilizzate a lezione, esempi di testi d’esame, quiz di autovalutazione, informazioni generali sul corso e avvisi relativi allo svolgimento del corso e sugli esami.A complemento dei testi di riferimento vengono indicati articoli scientifici in lingua inglese per approfondire alcuni argomenti trattati durante il corso.
It is possible to download electronic copy of all slides of the lectures, perform self-assessment tests, read general information on the course and news about the lectures and the exam organization on the e-learning platform DIR .Besides the reference textbooks some scientific publications in English are proposed, to study in more detail some of the topics presented during the course.
Modalità di verifica dell'apprendimento
La verifica dell'apprendimento viene effettuata in itinere mediante esercizi da sviluppare durante il corso (incluse esercitazioni pratiche di costruzione ed analisi di modelli per specifici problemi utilizzando alcuni pacchetti software) e mediante compiti scritti o colloqui orali svolti dopo la fine del corso che comprenderanno da due a quattro domande (che possono essere articolate in più punti ed includere lo svolgimento esercizi) sugli argomenti trattati nel corso.A complemento dei testi di riferimento vengono indicati articoli scientifici in lingua inglese per approfondire alcuni argomenti trattati durante il corso.
The achievement of learning outcomes is evaluated through exercises developed all along the course (including practical exercises of model construction and analysis for specific problems using some software packages), and a written or oral examination after the end of the course, including from 2 to 4 questions (which in turn may comprise several points and include specific exercises) on the topics studied in the course.Besides the reference textbooks some scientific papers (in English) are proposed, to study in more detail some topics introduce in the course.
Programma esteso
Ripasso delle basi di calcolo delle probabilità e statistica necessarie per comprendere i modelli matematici proposti nel corso. Definizione di requisiti non funzionali di sistemi, con particolare riferimento ai sistemi di calcolo e alle reti di calcolatori: indici di prestazione e affidabilità.Formalismi per lo studio dell’affidabilità e presentazione di alcune tecniche di analisi.Modelli dinamici e stocastici del comportamento di sistemi: diagrammi di transizione di stato. Parametri quantitativi.Formalismi per la descrizione del comportamento di modelli dinamici e stocastici e relative tecniche di analisi.La simulazione ad eventi discreti: principi di base, generazione di numeri casuali realizzazione di variabili casuali, studio in transitorio e a regime di indici di prestazione o affidabilità, prove ripetute e metodo batch, analisi dell’output della simulazione tramite metodi statistici.
Review of the basics of probability theory and statistics needed to understand the mathematical models discussed within the course. Definition of non functional requirements of systems, in particular focusing on computing systems and computer networks: performance and dependability indices.Formalisms to describe and study system dependability problems and the available solution methods.Dynamic stochastic models describing systems behavior: state transition diagrams. Quantitative parameters.Formalisms to describe and study the behavior of dynamic stochastic models and their analysis techniques.Discrete event simulation: basic pronciples, random numbers and random variate generation, transient and steady state analysis, obtaining a sample of the measures of interest through simulation experiment repetitions or batch method; simulation output analysis through statistical methods.
Risultati di apprendimento attesi
Spiegare il concetto di modello e uso dell’astrazione per focalizzare l’attenzione sui soli aspetti rilevanti rispetto ad uno specifico problema.Ideare un (semplice) modello matematico di un dato sistema e mostrare come ricreare il suo comportamento dinamico tramite la simulazione.Costruire il modello di un sistema utilizzando uno specifico formalismo (proposto nel corso). Valutare l’adeguatezza di un formalismo (tra quelli proposti nel corso) per la modellazione di uno specifico sistema.Spiegare l’utilità dell’uso di modelli e della simulazione in vari domini applicativi.Spiegare i concetti di verifica e validazione di un modello, anche attraverso esempi concreti.Presentare i risultati dell’analisi (anche tramite simulazione) di un modello.Fornire una interpretazione dei risultati quantitativi ottenuti analizzando o simulando un modello e trarre opportune conclusioni sul comportamento del sistema modellato ed eventualmente indicare possibili modifiche al modello, e di conseguenza al sistema, per migliorarne le prestazioni o l’affidabilità.
Explain the concept of modeling and the use of abstraction to focus on the aspects relevant to a given problem.Devise a (simple) mathematical model of a system and show how its dynamics can be recreated through simulation.Build the model of a system using a specific formalism (presented in the course).Evaluate the adequacy of a given formalism (among those presented in the course) to model a specific system.Explain the benefits of using models and simulation in various application domains.Explain the meaning of model verification and validation, also providing practical examples.Present the results of the analysis (possibly through simulation) of a model.Provide an interpretation of quantitative results of model analysis or simulation, drive some conclusions on the behavior of the modelled system and possibly suggest changes in the system under study to improve its performance and/or dependability indices.
×
Print
Course
INTELLIGENZA ARTIFICIALE E SUPPORTO INTELLIGENTE ALLE DECISIONI
Course ID
MF0293
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
PORTINALE Luigi
Teachers
CFU
9
Teaching duration (hours)
72
Individual study time
153
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
ITALIANO
Italian
Contenuti
Il corso completo di INTELLIGENZA ARTIFICIALE E SUPPORTO ALLE DECISIONI si compone di due moduli: Intelligenza Artificiale (6 CFU) e Sistemi Intelligenti di Supporto alle Decisioni (3 CFU). Nel seguito le informazioni relative ai singoli moduli vengono riportate separatamente (considerare solo quelle del modulo a cui si e' interessati) INTELLIGENZA ARTIFICIALE: Algoritmi di ricerca nello spazio degli stati; Sistemi di ragionamento basato su casi; Rapresentazione di conoscenza incerta: probabilita' e Reti Bayesiane, Teoria delle decisioni e Diagrammi di Influenza. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Richiami di teoria delle decisioni; Utilita’ multi-attributo; Diagrammi di influenza; Decisioni one-shot e sequenziali; Decision-theoretic planning (Markov Decision Processes).
The course is composed by two modules: Artificial Intelligence (6 CFU) and Intelligent Decision Support Systems (3 CFU). Please consider only the information of the module you are interested in. ARTIFICIAL INTELLIGENCE State space search; Case-Based Reasoning; Uncertain knowledge representation: probability theory and Bayesian Networks; Introduction to Decision Theory. INTELLIGENT DECISION SUPPORT SYSTEMS Decision Theory, Multi-attribute utility, Influence diagrams, One-shot and sequential decisions, Decision-theoretic planning (Markov Decision Processes)
Testi di riferimento
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3a edizione), Prentice-Hall. Traduzione italiana pubblicata da Pearson Education.
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall.
Obiettivi formativi
INTELLIGENZA ARTIFICIALE: Introdurre le nozioni fondamentali dell’Intelligenza artificiale. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Modellare processi decisionali one-shot e sequenziali
ARTIFICIAL INTELLIGENCE: To introduce the fundamentals notions of AI systems INTELLIGENT DECISION SUPPORT SYSTEMS: Modeling one-shot and sequential decision processes
Prerequisiti
INTELLIGENZA ARTIFICIALE: ASD-I e ASD-II (consigliati), Calcolo delle Probabilita’ (consigliato). SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Intelligenza artifciale Calcolo delle probabilita'
ARTIFICIAL INTELLIGENCE: Suggested: Algorithms I and II, Probability and Statistics. INTELLIGENT DECISION SUPPORT SYSTEMS: Artificial Intelligence, Probability
Metodi didattici
Lezioni frontali in aula, esercitazioni tramite piattaforma Moodle, uso di strumenti software.
Lectures and exercises using Moodle and software tools.
Modalità di verifica dell'apprendimento
INTELLIGENZA ARTIFICIALE: Esame scritto integrato da eventuale esame orale. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Discussione di un progetto individuale
ARTIFICIAL INTELLIGENCE: Written and oral (not mandatory) exam INTELLIGENT DECISION SUPPORT SYSTEMS: Oral discussion of a project
Programma esteso
INTELLIGENZA ARTIFICIALE: Introduzione e cenni storici sull'AI. Ricerca nello spazio degli stati: ricerca path-based cieca ed euristica. L'algoritmo A*. Algoritmi di miglioramento iterativo: hill-climbing e simulated annealing; Cenni su problemi CSP. Algoritmi per giochi a 2 concorrenti: minimax e alfa/beta pruning. Rappresentazione della conoscenza: cenni su formalismi logici e a regole. Sistemi di Case-Based Reasoning; Conoscenza Incerta: richiami di calcolo delle probabilità. Bayesian Belief Networks (proprietà ed algoritmi) e uso di tool per il loro sviluppo (Genie, Hugin, ecc...). Introduzione alla Teoria delle decisioni. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Richiami di teoria delle decisioni. Utilita’ multi-attributo. Diagrammi di influenza Decisioni one-shot e sequenziali Decision-theoretic planning (Markov decision processes).
ARTIFICIAL INTELLIGENCE: Introduction and history of AI State space search: path-based blind and heuristic search. A* algorithm. Iterative improvement algorithms: hillclimbing and simulated annealing CSP problems Two players games: minimax and alpha/beta pruning Knowledge representations: hints on logical formalism. Case-Based Reasoning systems; the CBR-Works tool. Uncertain knowledge: probability theory, Bayesian Networks (properties and algorithms); BN tools (Genie, Hugin, etc...). Fundamentals of Decision theory. INTELLIGENT DECISION SUPPORT SYSTEMS: Decision Theory Multi-attribute utility Influence diagrams One-sot and sequential decisions Decision-theoretic planning (Markov Decision Processes)
Risultati di apprendimento attesi
INTELLIGENZA ARTIFICIALE: conoscere gli algoritmi di ricerca principali usati nell' IA, saper rappresentare conoscenza in sistemi intelligenti, conoscere gli algoritmi di inferenza tipici dei sistemi intelligenti moderni. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Saper modellare ed analizzare processi decisionali one-shot e sequenziali tramite modelli grafico-probabilistici
ARTIFICIAL INTELLIGENCE: to know main AI search algorithms, to be able to represent knowledge in intelligent systems, to know the main inference algorithms adopted in intelligent systems. INTELLIGENT DECISION SUPPORT SYSTEMS: being able to model ad analyze one-shot and sequential decision processes, using probabilistic graphical models.
×
Print
Course
CALCOLABILITA' E COMPLESSITA'
Course ID
S1421
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
EGIDI Lavinia
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano.
Italian.
Contenuti
Il corso di calcolabilità e complessità è una sorta di pausa di riflessione sull'informatica in sé. Non propone tecniche e strumenti per realizzare sistemi e risolvere problemi, ma si concentra sul significato di computazione, attraverso l'analisi dei modelli di calcolo e della loro potenza, e sulla inerente difficoltà dei problemi (non dei singoli algoritmi), mettendoli in relazione dal punto di vista delle risorse che richiedono. In questo corso ci si domanda se con un computer si può fare tutto: la risposta è no, in alcuni casi è proprio impossibile, in altri ci vuole troppo tempo o troppa memoria. Le risposte che si ottengono sono del tutto generali, valide e significative in qualunque ambito dell'informatica. Conoscere i limiti degli strumenti che si adoperano è fondamentale per essere in grado di porsi obiettivi raggiungibili, ridimensionando le richieste, accettando soluzioni approssimate. E gli strumenti, tecnici e cognitivi, che si acquisiscono per questo tipo di studio sono potenti e di ampia applicabilità.
The essence of this course is reasoning about computer science itself. The course doesn't offer techiniques and tools to implement systems and solve problems, but it rather concentrates on the meaning of computing, through the analysis of models of computation and of their power, on the inherent hardness of problems (not of single algorithms), relating them to each other from the point of view of the recources they require. The question asked in this course is whether computers can do anything: the answer is no, in some cases computer solving is utterly impossible, in others the time and memeory requirements are prohibitive. The answers are completely general, valid and meaningful in any field of computer science.Being aware of the limits of the tools that one uses is essential in order to be able to set reasonable goals, resizing requests as needed, accepting approximate solutions. The technical and cognitive tools acquired in this kind of analysis are powerful and widely applicable.
Testi di riferimento
Testo principale: Thomas A. Sudkamp, Languages and Machines, Pearson International Edition, 2006. Per alcune (poche) parti: C. Papadimitriou, Computational Complexity, Addison-Wesley, 1994. Consultazione, per l’NP-completezza: Garey-Johnson, Computers and Intractability, Freeman, 1979. Del materiale aggiuntivo è fornito sul sito online del corso.
Main text: Thomas A. Sudkamp, Languages and Machines, Pearson International Edition, 2006. For some (few parts): C. Papadimitriou, Computational Complexity, Addison-Wesley, 1994. Reference on NP-completeness: Garey-Johnson, Computers and Intractability, Freeman, 1979. Additional material is provided on the course's online site.
Obiettivi formativi
Conoscenza e capacità di comprensione: concetto di modello di calcolo, macchine di Turing, concetto di funzione calcolabile, ricorsività e ricorsiva enumerabilità di insiemi, classi di complessità in termini di tempo, P ed NP e loro rapporto, NP-completezza, complessità in termini di spazio; tecniche di simulazione, riduzione e diagonalizzazione; esistenza di problemi non decidibili e di problemi che richiedono troppe risorse di computazione per essere trattati in pratica Capacità di applicare conoscenza e comprensione: -capacità di confrontare modelli di calcolo -capacità di applicare metodologie di analisi della inerente difficoltà dei problemi -in particolare capacità di riconoscere il contesto in cui applicare le tecniche di simulazione, riduzione e diagonalizzazione -capacità di applicare le tecniche descritte in casi semplici. Come effetto collaterale, lo studente consoliderà le proprie competenze di programmazione. Autonomia di giudizio: Lo studente acquisirà strumenti , tecnici e cognitivi, che sono potenti e di ampia applicabilità, e apprenderà a riconoscere i limiti degli strumenti che l'informatico adopera, competenza fondamentale per essere in grado di porsi obiettivi raggiungibili, ridimensionando le richieste, e accettando soluzioni approssimate. Abilità comunicative: Per ottenere tali obbiettivi, lo studente acquisirà un linguaggio formale specifico. Inoltre lo studente migliorerà la propria padronanza della lingua inglese a livello tecnico informatico. Capacità di apprendere: lo studente affinerà il rigore delle proprie capacità di ragionamento logico. Mettendo in discussione l'onnipotenza degli strumenti di calcolo, lo studente avrà un nuovo punto di vista dal quale rivedere quanto appreso fino ad ora. Infine, gli strumenti tecnici e cognitivi che vengono sviluppati in questo corso sono applicabili a tutte le aree dell'informatica e dunque sono un arricchimento a prescindere dalle specifiche nozioni affrontate nel corso.
Knowledge and understanding: concept of model of computation, Turing machine, computable function, recursive and recursively enumerable sets, time complexity classes, P and NP and their mutual relationship, NP-completeness, space complexity; simulation, reduction and diagonalization techniques; existence of undecidable problems and of problems that require too many computational resources to be feasible in practice Applying knowledge and understanding:- comparing models of computation- applying methodologied for analyzing the inherent hardness of problems - in particular: ability to discern the context in which each of the techniques (simulation, reduction and diagonalization) is best to be applied- ability to apply the mentioned techniques to simple cases As a by-product, students will consolidate their own programming skills. Making judgements:The student will acquire technical and cognitive tools that are powerful and of wide applicability, and will learn to recognize the limits of the tools used by computer scientists; the latter is a fundamental competence to be able to set oneself reachable objectives, appropriately reducing requests and accepting approximate solutions. Communication skills: In order to attain such objectives, the student will acquire a specific formal language. Moreover the students will increase their proficiency in the technical English of computer science. Learning skills: The students will sharpen the rigor of their own logical reasoning skills. Challenging the idea of omnipotence of computational devices, the students will have a new point of view from which revisit all that they have learned so far. Finally the technical and cognitive tools developed in this course can be applied to any area of computer science and therefore constitute an enrichment independently of the specific notions around which they were introduced.
Prerequisiti
Conoscenza dei concetti fondamentali di programmazione, logica, analisi, e preferibilmente di architetture degli elaboratori e linguaggi formali. Capacità di programmare in Java.
Knowledge of the fundamental concept of programming, logic, analysis, and preferably computer architectures and formal languages. Java programming.
Metodi didattici
Il corso consta di lezioni teoriche in aula e di attività in laboratorio. L' attività in laboratorio è parte integrante del corso. A lezione vengono presentati in modo formale definizioni e teoremi (con le rispettive dimostrazioni) per comunicare le nozioni, lavorare sul rigore del ragionamento logico e insegnare la terminologia formale. In particolare viene posta enfasi sulle tecniche alla base delle dimostrazioni e dei ragionamenti, confrontandone l'applicazione in vari ambiti, per aiutare lo studente nella concettualizzazione delle stesse e per stimolarli ad acquisirle come strumento di lavoro di utilizzo piú vasto. Inoltre gli studenti vengono incoraggiati a partecipare suggerendo l'applicazione di tecniche, sviluppando il ragionamento con il richiamo di concetti fondamentali e risultati già presentati nel corso. In laboratorio si richiede agli studenti la realizzazione di progetti software per approfondire la comprensione dei modelli studiati e per cogliere fino in fondo il carattere costruttivo delle dimostrazioni di quasi tutti i teoremi presentati durante il corso. La partecipazione in laboratorio trasforma per ciascuno l'eventuale frequenza passiva in esigenza di confrontarsi attivamente con le nozioni e i risultati che si studiano, e specialmente con i ragionamenti seguiti. Sulla piattaforma DIR sono a disposizione: tutte le informazioni pratiche sul corso, indicazioni sui libri di testo e il programma, materiale didattico aggiuntivo, argomenti trattati e indicazioni bibliografiche per ogni singola lezione compilati subito dopo la lezione, specifiche ed eventuale materiale aggiuntivo per l'attività che si svolge in laboratorio. In tal modo, lo studente che frequenta può rivedere e approfondire l'attività di ciascuna lezione; lo studente che non frequenta ha a disposizione tutto il materiale per mantenersi al passo con il corso oppure per prepararsi in autonomia. Poiché il libro di testo consigliato è in inglese, lo studio sarà per lo studente uno strumento per migliorare la propria padronanza del linguaggio tecnico informatico in inglese.
The course consists of theoretical classes and hands on activity in lab. In class definitions and theorems (with proofs) are presented formally in order to communicate to students the notions, to work on the rigor of reasoning and to teach the formal terminology. In particular the techniques on which proofs are based are emphasized, and their applications in different areas are compared; this serves the double aim of helping the students to conceptualize these techniques and of stimulating them to acquire the techniques as a tool of wider usage. Moreover the students are encouraged to participate suggesting the application of techniques, developping reasonings by recalling fundamental concepts and results previously presented in the course. In lab the students are requested to realize software projects in order to understand in depth the models studied and in order to fully comprehend the constructive character of almost all the proofs of the theorems presented in this course. Participation to lab activity replaces the possibly passive attendance to classes with a necessity to actively measure oneself with the notions and the results studied and especially with the arguments presented. On the DIR platform students find: all the practical information on the course, information on textbooks and the program, additional didactic material, subject treated and bibliographic references for each class written soon after the class, specifics and if necessary additional material for the activity in lab. This way, students that attend classes can review and consolidate subjects presented in class or activities proposed in lab; students that don't attend classes can keep abreast of the course or study autonomously. Since the recommended textbook is in English, preparing for the exam will give the students the possibility to practice the technical language of computer science.
Altre informazioni
L'attività in laboratorio richiede una partecipazione attiva e individuale degli studenti e li induce a porsi dei quesiti (e spesso di conseguenza a porne al docente); in tal modo permette una regolare verifica del modo in cui gli argomenti vengono recepiti. L'attività prevede principalmente sviluppo in linguaggio Java: quindi al di là delle funzioni ai fini degli obiettivi formativi specifici del corso, è in generale per gli studenti un ulteriore momento per consolidare le proprie competenze di programmazione e per affinare le proprie capacità di utilizzo del linguaggio Java.
Hands-on activity requires active participation of the students, and leads the latter to ask themselves questions (and, as a consequence, often to ask questions to the instructor); this way it allows a regular monitoring of the way the subject is being understood. The activity in lab fundamentally requires programming in Java: therefore, beyond its importance as a means to reach the formative objectives of the course, it is in general an additional moment to consolidate the students' programming skills and to refine their competences as Java programmers.
Modalità di verifica dell'apprendimento
Esame orale L'esame orale consta in media di tre domande: una generale introduttiva sui metodi formali, una su argomenti di calcolabilità e una riguardante argomenti di complessità. Lo scopo è verificare che lo studente abbia compreso i concetti fondamentali e li sappia esporre con proprietà di linguaggio, e abbia acquisito gli strumenti metodologici e li sappia applicare. Pertanto viene richiesto da una parte di esporre definizioni e dimostrazioni, e dall'altra di ragionare su contesti leggermente modificati o di fare collegamenti tra argomenti diversi trattati nel corso, o di applicare le tecniche apprese a problemi visti durante il corso o simili. Durante il colloquio si verifica anche il livello di formalità raggiunto dallo studente nell'espressione e nel ragionamento. Il numero di domande poste all'orale è puramente indicativo perché, a seconda del modo in cui lo studente risponde (formalità, chiarezza, completezza, precisione,...), possono essere necessarie piú domande o ne possono bastare meno per verificare che gli obiettivi formativi siano stati raggiunti.
Oral exam The oral exam consists normally of three questions: one general introductive question on formal methods, one more specific on computability aspects and the third on complexity. The goal is to ascertain whether the student has understood the fundamental concepts and can present them with a formal language, and has acquired the methodological instruments and can apply them. Therefore, on one hand the student is requested to present definitions and proofs, and on the other hand the student must reason on slightly modified contexts or explore connections among different parts of the course. During the interview the level of formality, both in expression and reasoning, is also ascertained. The number of questions can vary, depending on the quality of the answers (with respect to clarity, completeness, precision, formality,...), since the final aim is to ascertain that the formative objectives have been reached.
Programma esteso
Introduzione alla calcolabilità: La prima parte di programma è volta all'acquisizione di tecniche formali e di strumenti per l'analisi e la formalizzazione del concetto di calcolabilità (Macchine di Turing, definizioni formali e funzionamento. Confronto di modelli diversi di macchina. Tecnica di simulazione. Funzioni calcolabili secondo Turing.) Segue una formalizzazione basilare di classi di difficoltà di problemi in base ad aspetti puramente di calcolabilità, senza tenere conto di limiti di risorse (Insiemi ricorsivi e ricorsivamente enumerabili. Enumeratori.). Il disorso prosegue con risultati generali e fondamentali che, nel seguire l'evoluzione storica, forniscono un primo raccordo con il mondo dell'informatica attuale (Tesi di Church, Codifica di macchine di Turing e macchina universale). Seguono risultati negativi che sottolineano i limiti degli strumenti informatici e vengono contestualmente forniti strumenti per l'estensione di tali risultati negativi (Diagonalizzazione, Esistenza di funzioni non calcolabili, Dimostrazioni del fatto che un insieme non è ricorsivo o non è ricorsivamente enumerabile, Indecidibilità, problema dell'HALT e riduzioni). Infine, la parte di calcolabilità si conclude rapportando gli strumenti e i risultati appresi, ad aspetti dell'informatica che si usano tutti i giorni o noti agli studenti da altri corsi (Importanza del costrutto "while" nei linguaggi di programmazione, Confronto di macchine di Turing con modelli di calcolo piú deboli (automi a stati finiti e a pila), grammatiche illimitate e dipendenti da contesto e ricorsività). Introduzione alla complessità strutturale: la parte di complessità relativizza l'analisi e la formalizzazione fatte precedentemente, nonché gli strumenti introdotti, ad una situazione piú realistica in cui le risorse sono limitate; si focalizza in particolare sul rapporto tra la difficoltà di problemi, e il significato delle classi di complessità nondeterministiche. (Misure di complessità, modelli e rappresentazione di problemi. Teorema di accelerazione lineare. Macchine di Turing non deterministiche, significato di non determinismo. Le classi P ed NP, problemi in NP, riduzioni polinomiali, NP-completezza, SAT e il teorema di Cook. Complessità in termini di spazio, relazioni tra complessità in termini di spazio e tempo, e spazio non deterministico e tempo; teorema di Savitch. Esistenza di problemi di complessità arbitraria, teoremi della gerarchia e funzioni time e space constructible.)
Introduction to Computability: The first part of the course aims at the acquisition of formal techniques and analysis tools, and to the fomalization of the concept of computability (Turing Machines, formal definitions and operation. Comparison of different machine models. Simulation technique. Turing computable functions). Following, the course offers a basilar formalization of classes of hardness of problems, based solely on computability aspects, with no reference to resource limitations. (Recursive and recursively enumerable sets. Enumerators). Then the presentation moves to general results and, following the track of historical evolution, gives a first connection to present-day computer science (Church thesis, Turing machines coding and universal Turing machine). Then negative results underline the limits of computer science tools; moreover tools for the extension of such negative results are provided (Diagonalization. Existence of non computable funcions. Proofs that sets are not enumerable or not recursively enumerable. Undecidability, Halting problem and reductions). The introduction to computability is concluded relating the tools and results learned to every-day computer science or to subjects known to students from other courses (Importance of the ""while"" construct in programming languages. Comparison of Turing machines with weaker models of computation, such as finite state and pushdown automata, unrestricted and context sensitive grammars, and recursivity). Introduction to structural complexity: The second part of the course relativizes the analysis and the formalization carried out in the introduction to computability, to a more realistic situation in which resources are limited; it focuses in particular on the relation among classes of problems distinguished in terms of computational hardness, and on the meaning of nondeterministic classes. (Complexity measures, models and problem representation. Linear speedup theorem. Non deterministic Turing machines and the meaning of non determinism. Classes P and NP, problems in NP, polynomial time reductions, NP-completeness, SAT and Cook's theorem Space complexity, deterministic space vs. deterministic time, non deterministic space vs. time; Savitch's theorem. Existence of problems of arbitrary complexity and hyerarchy theorems, time and space constructible functions).
Risultati di apprendimento attesi
Dare una definizione formale di macchina di Turing. Spiegare il significato di modello di calcolo. Descrivere la tecnica di simulazione. Applicare la tecnica su specifiche variazioni di macchina di Turing, e sul rapporto tra macchine di Turing e grammatiche formali. Definire e spiegare i concetti di funzione calcolabile, insiemi ricorsivi e ricorsivamente enumerabili. Presentare e discutere le tecniche per dimostrare la non ricorsività o la non ricorsiva enumerabilità di un insieme. Enunciare e spiegare il significato della Tesi di Church. Definire le classi di complessità in termini di tempi e di spazio. Definire e spiegare il significato di non determinismo. Definire il concetto di NP-completezza e la sua importanza. Analizzare il rapporto tra classi di complessità in funzione della variazione di risorse. Enunciare, spiegare e dimostrare i teoremi presentati a lezione. Analizzare la funzione delle specifiche ipotesi nei teoremi presentati a lezione. Mostrare applicazioni della tecnica di riduzione nell'opportuno ambito di utilizzo nel mondo della calcolabilita e in quello della complessità. Mostrare applicazioni della tecnica di diagonalizzazione nell'opportuno ambito di utilizzo nel mondo della calcolabilita e in quello della complessità. Proporre la tecnica giusta da utilizzare in una particolare variazione di qualche problema visto a lezione.
Give a formal definition of Turing machine. Explain the meaning of computational model. Describe the simulation technique. Apply simulation to specific variations of Turing machines and on Turing machines with respect to formal grammars. Define and explain the concepts of computable function, recursive and recursively enumerable sets. Present and discuss the technique to prove non recursivity or non recursive enumerability of a set. State and explain the meaning of Churche's Thesis. Define time and space complexity classes. Define and explain the concept of non determinism. Define the concept of NP-completeness and its importance. Analyze the relationship between complexity classes as a function of amounts of resources. State, explain and prove the theorems presented in class. Analyze the function of specific hypothesis in the theorems presented in class. Show an application of the reduction technique in the appropriate area of usage in computability or complexity. Show an application of the diagonalization technique in the appropriate area of usage in computability or complexity. Propose the right technique to be used on a specific variation of some problem seen in class,
×
Print
Course
BIOLOGIA COMPUTAZIONALE
Course ID
MF0378
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
MIGNONE Flavio
Teachers
CFU
3
Teaching duration (hours)
24
Individual study time
51
SSD
BIO/11 - BIOLOGIA MOLECOLARE
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
C
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
×
Print
Course
FONDAMENTI DI WEB SEMANTICO E PROBLEM SOLVING DICHIARATIVO
Course ID
MF0291
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
THESEIDER DUPRE' Daniele
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano
Italian
Contenuti
Ragionamento automatico. Rappresentazione della conoscenza e ragionamento con logiche descrittive. Rappresentazione della conoscenza e ragionamento mediante regole logiche: regole e logiche descrittive; la programmazione logica a vincoli; l'Answer Set Programming. Problem solving dichiarativo mediante strumenti di programmazione logica e ASP.
Automated reasoning. Knowledge representation and reasoning in description logics. Knowledge representation and reasoning with rules: rules and description logics; constraint logic programming; Answer Set Programming. Declarative problem solving using logic programming and ASP tools.
Testi di riferimento
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall 2010. P. Hitzler, M. Krötzsch, S. Rudolph, Foundations of Semantic Web, CRC Press, 2010. K. Marriott, P. Stuckey, Programming with Constraints: an Introduction, MIT Press, 1998. M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub, Answer Set Solving in Practice, Morgan and Claypool, 2012.
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall 2010. P. Hitzler, M. Krötzsch, S. Rudolph, Foundations of Semantic Web, CRC Press, 2010. K. Marriott, P. Stuckey, Programming with Constraints: an Introduction, MIT Press, 1998. M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub, Answer Set Solving in Practice, Morgan and Claypool, 2012.
Obiettivi formativi
Capacità di applicare diversi formalismi di rappresentazione della conoscenza dichiarativa, ragionamento e problem solving, conoscendone espressività e limitazioni e giudicandone l’appropriatezza.
Being able to apply different formalisms for declarative knowledge representation, reasoning and problem solving, being aware of their expressiveness and limitations, and being able to judge whether they are appropriate.
Prerequisiti
Logica Matematica.
Mathematical logic.
Metodi didattici
Lezioni frontali e sperimentazione in laboratorio. Le lezioni, oltre a descrivere i formalismi ne discutono le potenzialità e le limitazioni. Le esercitazioni permettono di conoscere strumenti software per utilizzare i diversi formalismi.
Lectures and practical activity in lab. Lectures describe the different formalism and discuss their power as well as their limitations. Practical activity allows students to know software tools for using the different formalisms.
Altre informazioni
La sperimentazione in laboratorio costituisce anche una verifica in itinere della comprensione e dell'apprendimento degli argomenti.
Lab activity is also used to verify on-the-fly the degree of knowledge and understanding of the subject.
Modalità di verifica dell'apprendimento
Verifica della soluzione di esercizi pratici. Esame orale o esonero scritto. La prova prevede diverse domande, riguardanti argomenti svolti in una parte diversa del programma, , ed atte a verificare il raggiungimento degli obiettivi formativi. La valutazione complessiva terrà conto dei risultati conseguiti nelle singole domande.
Evaluation of the solutions for practical exercises. Oral or written examination. The exam involves several questions on different subjects within the course contents; the questions are suited to verifying the achievement of the learning outcomes. The evaluation takes into account the answers to individual questions.
Programma esteso
Ragionamento automatico nella logica proposizionale, e cenni al caso del calcolo dei predicati del primo ordine. Rappresentazione della conoscenza e ragionamento con logiche descrittive, alla base della definizione di ontologie nel Semantic Web. Rappresentazione della conoscenza e ragionamento mediante regole logiche: regole e logiche descrittive; la programmazione logica a vincoli; l'Answer Set Programming. Problem solving dichiarativo mediante strumenti di programmazione logica e ASP.
Automated reasoning in propositional logic, and in first-order logic. Knowledge representation and reasoning in description logics, which is the basis for the use of ontologies in the Semantic Web. Knowledge representation and reasoning with rules: rules and description logics; constraint logic programming; Answer Set Programming. Declarative problem solving using logic programming and ASP tools.
Risultati di apprendimento attesi
Raggiungimento, in grado misurato dal voto, degli obiettivi formativi.
The achievement, up to a degree measured by grades, of the learning goals.
×
Print
Course
SICUREZZA
Course ID
S1621
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
EGIDI Lavinia
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano.
Italian.
Contenuti
Introduzione ai principi fondamentali di sicurezza delle reti e di crittografia, descrizione delle tecniche fondamentali, ed esempi di  applicazioni e protocolli.
Introduction to the basic principles of network security and cryptography, description of the fundamental techniques, applications and protocols.
Testi di riferimento
William Stallings, Cryptography and Network Security, quinta o sesta edizione, Pearson oppure Maurizio Cinotti, Internet Security, terza edizione, Hoepli Informatica, ISBN 978-88-203-3895-4 Del materiale aggiuntivo è fornito sul sito online del corso.
William Stallings, Cryptography and Network Security, fifth or sixth edition, Pearson or Maurizio Cinotti, Internet Security, terza edizione, Hoepli Informatica, ISBN 978-88-203-3895-4 Additional material is provided on the course's online site.
Obiettivi formativi
Conoscenza e capacità di comprensione: conoscere i principi basilari della sicurezza informatica, le tecniche crittografiche fondamentali e i dispositivi essenziali per la protezione di una rete di calcolatori. Applicazione di conoscenza e comprensione: deve essere capace, ad un livello minimo, di riconoscere vulnerabilità e deve essere in grado di proporre strumenti si protezione. Come beneficio aggiuntivo, lo studente volenteroso imparerà a implementare protocolli di sicurezza in Java, ad utilizzare alcuni strumenti di sicurezza e a configurare alcuni semplici sistemi. Autonomia di giudizio: avere acquisito la corretta percezione dei rischi di sicurezza e del modo in cui gli aspetti di sicurezza informatica si intrecciano con l'organizzazione di una rete. Abilità comunicative : deve avere acquisito terminologia tecnica specifica dell'area e deve saper discutere di aspetti di sicurezza, e di meccanismi di protezione. . Inoltre lo studente migliorerà la propria padronanza della lingua inglese a livello tecnico informatico. Capacità di apprendere: avendo appreso i principi findamentali sarà in grado in futuro di apprezzare e valutare tecnologie e protocolli nuovi che si basano sugli stessi principi.
Knowledge and understanding: know the basic principles of security, the fundamental cryptographic techniques and the essential devices to protect a computer network. Applying knowledge and understanding: students must be able, to a minimal extent, to recognize vulnerabilities and to propose protection tools. As an additional benefit, the motivated students will learn to implement security protocols in Java, to use some security tools and to configure some simple security systems. Making judgements: They must also acquire a correct perception of security risks and of the way security issues intertwine with the organization of a computer network. Communication skills: students must have acquired the specific technical terminology and must be able to sicuss security aspects and protection mechanisms. Moreover the students will increase their proficiency in the technical English of computer science. Learning skills: having acquired the fundamental principles the student will later be able to appreaciate and evaluate new technologies and protocols based on the same principles.
Prerequisiti
Conoscenza del funzionamento delle reti di calcolatori, programmazione in Java, nozioni base di utilizzo di Unix
Knowledge of the principles of operation of computer networks, Java programming, basic notions of Unix usage
Metodi didattici
Il corso è insegnato interamente in laboratorio. Ciascuna lezione è costituita da una presentazione degli argomenti nella quale gli aspetti tecnici vengono arricchiti da ampi riferimenti ad incidenti informatici recenti, seguita da attività pratica; gli studenti sono guidati nella realizzazione di attacchi informatici, per acquisire sensibilità riguardo alle vulnerabilità e per comprendere le caratteristiche e i limiti delle tecnologie e dei meccanismi di sicurezza presentati; sono seguiti nell'implementazione di software crittografico, e nella configurazione di sistemi di sicurezza per acquisire familiarità con gli strumenti software e il loro utilizzo. Gli argomenti trattati in ogni lezione insieme alle appropriate indicazioni bibliografiche e le indicazioni sull'attività pratica sono riportate sulla piattaforma DIR per permettere agli studenti che seguono il corso di rivedere o completare le attività proposte e di mantenersi al passo con il corso in caso perdano qualche lezione; inoltre questo permette agli studenti che non frequentano di svolgere autonomamente l'attività di laboratorio, e di seguire pur a distanza il corso delle lezioni. Inoltre sul DIR sono presenti documenti e link aggiuntivi a protocolli in uso, a notizie di cronaca sulla sicurezza informatica, ad organizzazioni che si occupano di sicurezza ecc, per stimolare la curiosità degli studenti e mantenerli aggiornati in un campo in veloce evoluzione. Poiché tale documentazione è per la maggior parte in inglese, lo studio sarà per lo studente uno strumento per migliorare la propria padronanza del linguaggio tecnico informatico in inglese. Infine gli studenti hanno a disposizione sul DIR un quiz di autovalutazione che ha lo scopo di incoraggiarli a ragionare in autonomia sugli argomenti presentati.
The course is entirely taught in lab. Each lesson begins with a presentation of the subject, during which technical aspects are enriched with references to recent security incidents. Hands on activity follows: students are guided in the realization of proof-of-concept security exploits, so that they acquire a feeling for vulnerabilities and understand the features and limits of security technologies and mechanisms; they are also guided in the implementation of cryptographic software, and in the configuration of security systems so that they acquire familiarity with software instruments and their use. Students can find on the DIR platform the subjects treated in each lesson, along with appropriate bibliographic references, and indications on the hands-on activity. This way students that attend the course can review or complete proposed activities and keep abreast of the course when they miss a class. This also enables non attending students to experiment on their own with the hands-on activity and to follow autonomosly the class. Moreover on DIR students can find additional material such as (pointers to) documents about protocols, links to security news, and links to sites of organizations that work on security etc, in order to stimulate the curiosity of the students and to keep them up-to-date in a field that changes quickly. Since most of such material is written in English, preparing for the exam will give the students the possibility to practice the technical language of computer science. Finally on DIR, students have access to a self-evaluation quiz that aims at encouraging the students to reason about the subjects taught in class.
Altre informazioni
L'attività in laboratorio richiede una partecipazione attiva e individuale degli studenti e li induce a porsi dei quesiti (e spesso di conseguenza a porne al docente); in tal modo permette una regolare verifica del modo in cui gli argomenti vengono recepiti. L'attività in laboratorio è pensata come strumento didattico per facilitare la comprensione e lo sviluppo della necessaria sensibilità, non come mezzo per insegnare ad utilizzare strumenti di sicurezza . Però lo studente volenteroso trae dall'attività in laboratorio anche utili competenze pratiche.
Hands-on activity requires active participation of the students, and leads the latter to ask themselves questions (and, as a consequence, often to ask questions to the instructor); this way it allows a regular monitoring of the way the subject is being understood. The activity in lab is thought as a way to ease comprehension and to develop the necessary sensitivity, and not as a means to teach usage of security tools. Yet, the motivated students gains from such activity also useful practival skills.
Modalità di verifica dell'apprendimento
Esame orale L'esame prevede un colloquio orale. Vengono poste tre domande allo studente (il numero di domande può variare ove necessario in base alle risposte, per verificare che gli obiettivi formativi siano stati raggiunti). Il colloquio si basa su due strumenti di verifica: la richiesta di descrizione di meccanismi o tecnologie presentate nel corso, al fine di verificare che lo studente abbia appreso i principi e i meccanismi fondamentali; la richiesta di discussione di semplici problemi di sicurezza o di variazioni di protocolli noti, per verificare che lo studente abbia acquisito la sensibilità ai rischi di sicurezza e una certa autonomia e senso critico nell'utilizzo degli strumenti appresi.
Oral exam The exam is oral. Students must in general answer three questions (although the number of questions can vary depending on the quality of the answers, since the goal is to ascertain that the student has attained the formative objectives). The interview uses basically two tools: it is verified that the student has learned the basic principles, mechanisms and technology taught in class and has acquired the appropriate technical language, through a request to describe some of the subjects; in order to verify that the student has acquired a feeling for security risks along with autonomy and critical skills in the use of security tools, the student is submitted simple security problems or minimal variations of known protocols and is asked to discuss them.
Programma esteso
-Introduzione alla sicurezza. Vulnerabilità e requisiti di sicurezza. - Politica di sicurezza - Crittografia a chiave simmetrica. Sistemi di cifratura a blocchi e a flusso. Principi di confusione e diffusione. DES e 3DES, AES, RC4. Cifratura di messaggi lunghi. - Crittografia a chiave pubblica. RSA, Diffie-Hellman e DSA: uso, attacchi, protocolli e standard.Introduzione alla crittografia a curve ellittiche: ECDH ed ECDSA. - Confronto tra i sistemi di crittografia a chiave pubblica e a chiave simmetrica. Schema ibrido. Scambio di segreti e generazione di chiavi simmetriche. IES ed ECIES. - Funzioni di hash crittograficamente sicure. Collisioni. Struttura delle funzioni hash. Esempi di funzioni hash. - Message Authentication Codes. Confronto con le funzioni hash. HMAC. - Autenticazione di messaggi a chiave pubblica e non ripudiabilità. - Il tempo: nonce e timestamp. Sincronizzazione. - Certificati digitali. Autorità di certificazione e Registration Authority. Liste di revoca. Protocollo OCSP. - Schema Autentication Authorization Accounting (AAA). Autenticazione: paradigmi login/password, challenge/response e timestamp. - VPN. Cenni su IPsec. Come applicazione dei principi studiati: SSL/TLS, SSH. - Firewall. Architettura di un firewall. Principi fondamentali. Bastion Host. DMZ. - Filtri di pacchetti statici e dinamici. Access list. Proxy.
- Introduction to network and computer security. Vulnerabilities and security requirements. - Security policy - Symmetric key cryptography. Block and stream ciphers. Confusion and diffusion principles. DES and 3DES, AES, RC4. Modes of operation of block ciphers. - Public key cryptography. RSA, Diffie-Hellman and DSA: usage, attacks, protocols and standards. Introduction to Elliptic Curve Cryptography: ECDH and ECDSA. - Symmetric key ciphers vs. public key ciphers. Hybrid scheme. Exchange of a secret and symmetric key derivation. IES and ECIES. - Cryptographic hash functions. Properties and structure. Collisions. Examples. - Message Authentication Codes. Comparison with hash functions. - Public key message authentication. Non repudiability - Time: nonces and timestamps. Syncronization. - Public key certificates. Certification and Registration authorities. Certificate revocation lists. OCSP protocol. - Authentication Authorization and Acconting scheme (AAA). Authentication paradigms: login/password, challenge/response and timestamp - VPNs. Hints on IPsec. As an application of the principles introduced in the course: SSL/TLS and SSH. - Firewalls. Firewall architectures. Fundamental principles. Bastion Hosts. DMZ. - Static and dynamic packet filtering. Access lists. Proxies.
Risultati di apprendimento attesi
Descrivere i requisiti di sicurezza Descrivere i tipi di attacchi Spiegare le differenze tra la crittografia a chiave simmetrica e quella a chiave pubblica Spiegare cos'è un cifrario e saper distinguere tra le varie classi di cifrari Spiegare la funzione e i requisiti delle funzioni hash in crittografia Spiegare come si ottengono meccanismi per garantire l'integrità Spiegare le caratteristiche e il funzionamento della firma digitale Spiegare cosa sono i certificati digitali e illustrarne la funzione Spiegare i meccanismi per l'autenticazione (identificazione sicura) Spiegare i principi di sicurezza delle reti e illustrare gli strumenti che si utilizzano in questo ambito Anlizzare i requisiti di sicurezza garantiti da un protocollo proposto Proporre un protocollo per garantire requisiti di sicurezza (anche ispirandosi a protocolli reali) Analizzare le funzionalità e i limiti di strumenti diversi come filtri di pacchetto a livello rete e proxy o filtri di pacchetti a livello applicativo
Describe security requirements Describe kinds of attacks Explain the differences between symmetric key and public key crytpography explain what is a cipher and distinguish among different classes of ciphers Explain the utility of and requirements for hash functions in cryptography Explain how to obtain a mechanism to guarantee integrity Explain the characteristics of digital signatues and how they work Explain what are digital certificates and what is their function Explain the mechanisms for authentication (secure identification) Explain the principles of network security and illustrate the tools that are used in this area Analyze the security services garanteed by a proposed protocol Propose a protocol to guarantee specified security requirements (also borrowing from real protocols) Analyze functionalities and limits of different tools such as networrk level packet filters and proxies or application level packet filters
×
Print
Course
Intelligenza Artificiale
Course ID
MF0057
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
PORTINALE Luigi
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
ITALIANO
Italian
Contenuti
Il corso completo di INTELLIGENZA ARTIFICIALE E SUPPORTO ALLE DECISIONI si compone di due moduli: Intelligenza Artificiale (6 CFU) e Sistemi Intelligenti di Supporto alle Decisioni (3 CFU). Nel seguito le informazioni relative ai singoli moduli vengono riportate separatamente (considerare solo quelle del modulo a cui si e' interessati) INTELLIGENZA ARTIFICIALE: Algoritmi di ricerca nello spazio degli stati; Sistemi di ragionamento basato su casi; Rapresentazione di conoscenza incerta: probabilita' e Reti Bayesiane, Teoria delle decisioni e Diagrammi di Influenza. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Richiami di teoria delle decisioni; Utilita’ multi-attributo; Diagrammi di influenza; Decisioni one-shot e sequenziali; Decision-theoretic planning (Markov Decision Processes).
The course is composed by two modules: Artificial Intelligence (6 CFU) and Intelligent Decision Support Systems (3 CFU). Please consider only the information of the module you are interested in. ARTIFICIAL INTELLIGENCE State space search; Case-Based Reasoning; Uncertain knowledge representation: probability theory and Bayesian Networks; Introduction to Decision Theory. INTELLIGENT DECISION SUPPORT SYSTEMS Decision Theory, Multi-attribute utility, Influence diagrams, One-shot and sequential decisions, Decision-theoretic planning (Markov Decision Processes)
Testi di riferimento
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3a edizione), Prentice-Hall. Traduzione italiana pubblicata da Pearson Education.
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall.
Obiettivi formativi
INTELLIGENZA ARTIFICIALE: Introdurre le nozioni fondamentali dell’Intelligenza artificiale. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Modellare processi decisionali one-shot e sequenziali
ARTIFICIAL INTELLIGENCE: To introduce the fundamentals notions of AI systems INTELLIGENT DECISION SUPPORT SYSTEMS: Modeling one-shot and sequential decision processes
Prerequisiti
INTELLIGENZA ARTIFICIALE: ASD-I e ASD-II (consigliati), Calcolo delle Probabilita’ (consigliato). SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Intelligenza artifciale Calcolo delle probabilita'
ARTIFICIAL INTELLIGENCE: Suggested: Algorithms I and II, Probability and Statistics. INTELLIGENT DECISION SUPPORT SYSTEMS: Artificial Intelligence, Probability
Metodi didattici
Lezioni frontali in aula, esercitazioni tramite piattaforma Moodle, uso di strumenti software.
Lectures and exercises using Moodle and software tools.
Modalità di verifica dell'apprendimento
INTELLIGENZA ARTIFICIALE: Esame scritto integrato da eventuale esame orale. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Discussione di un progetto individuale
ARTIFICIAL INTELLIGENCE: Written and oral (not mandatory) exam INTELLIGENT DECISION SUPPORT SYSTEMS: Oral discussion of a project
Programma esteso
INTELLIGENZA ARTIFICIALE: Introduzione e cenni storici sull'AI. Ricerca nello spazio degli stati: ricerca path-based cieca ed euristica. L'algoritmo A*. Algoritmi di miglioramento iterativo: hill-climbing e simulated annealing; Cenni su problemi CSP. Algoritmi per giochi a 2 concorrenti: minimax e alfa/beta pruning. Rappresentazione della conoscenza: cenni su formalismi logici e a regole. Sistemi di Case-Based Reasoning; Conoscenza Incerta: richiami di calcolo delle probabilità. Bayesian Belief Networks (proprietà ed algoritmi) e uso di tool per il loro sviluppo (Genie, Hugin, ecc...). Introduzione alla Teoria delle decisioni. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Richiami di teoria delle decisioni. Utilita’ multi-attributo. Diagrammi di influenza Decisioni one-shot e sequenziali Decision-theoretic planning (Markov decision processes).
ARTIFICIAL INTELLIGENCE: Introduction and history of AI State space search: path-based blind and heuristic search. A* algorithm. Iterative improvement algorithms: hillclimbing and simulated annealing CSP problems Two players games: minimax and alpha/beta pruning Knowledge representations: hints on logical formalism. Case-Based Reasoning systems; the CBR-Works tool. Uncertain knowledge: probability theory, Bayesian Networks (properties and algorithms); BN tools (Genie, Hugin, etc...). Fundamentals of Decision theory. INTELLIGENT DECISION SUPPORT SYSTEMS: Decision Theory Multi-attribute utility Influence diagrams One-sot and sequential decisions Decision-theoretic planning (Markov Decision Processes)
Risultati di apprendimento attesi
INTELLIGENZA ARTIFICIALE: conoscere gli algoritmi di ricerca principali usati nell' IA, saper rappresentare conoscenza in sistemi intelligenti, conoscere gli algoritmi di inferenza tipici dei sistemi intelligenti moderni. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Saper modellare ed analizzare processi decisionali one-shot e sequenziali tramite modelli grafico-probabilistici
ARTIFICIAL INTELLIGENCE: to know main AI search algorithms, to be able to represent knowledge in intelligent systems, to know the main inference algorithms adopted in intelligent systems. INTELLIGENT DECISION SUPPORT SYSTEMS: being able to model ad analyze one-shot and sequential decision processes, using probabilistic graphical models.
×
Print
Course
PROBLEM SOLVING DICHIARATIVO
Course ID
MF0379
Academic Year
2018/2019
Year of rule
2018/2019
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
THESEIDER DUPRE' Daniele
CFU
3
Teaching duration (hours)
24
Individual study time
51
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
C
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento
Italiano
Italian
Contenuti
Ragionamento automatico. Rappresentazione della conoscenza e ragionamento con logiche descrittive. Rappresentazione della conoscenza e ragionamento mediante regole logiche: regole e logiche descrittive; la programmazione logica a vincoli; l'Answer Set Programming. Problem solving dichiarativo mediante strumenti di programmazione logica e ASP.
Automated reasoning. Knowledge representation and reasoning in description logics. Knowledge representation and reasoning with rules: rules and description logics; constraint logic programming; Answer Set Programming. Declarative problem solving using logic programming and ASP tools.
Testi di riferimento
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall 2010. P. Hitzler, M. Krötzsch, S. Rudolph, Foundations of Semantic Web, CRC Press, 2010. K. Marriott, P. Stuckey, Programming with Constraints: an Introduction, MIT Press, 1998. M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub, Answer Set Solving in Practice, Morgan and Claypool, 2012.
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall 2010. P. Hitzler, M. Krötzsch, S. Rudolph, Foundations of Semantic Web, CRC Press, 2010. K. Marriott, P. Stuckey, Programming with Constraints: an Introduction, MIT Press, 1998. M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub, Answer Set Solving in Practice, Morgan and Claypool, 2012.
Obiettivi formativi
Capacità di applicare diversi formalismi di rappresentazione della conoscenza dichiarativa, ragionamento e problem solving, conoscendone espressività e limitazioni e giudicandone l’appropriatezza.
Being able to apply different formalisms for declarative knowledge representation, reasoning and problem solving, being aware of their expressiveness and limitations, and being able to judge whether they are appropriate.
Prerequisiti
Logica Matematica.
Mathematical logic.
Metodi didattici
Lezioni frontali e sperimentazione in laboratorio. Le lezioni, oltre a descrivere i formalismi ne discutono le potenzialità e le limitazioni. Le esercitazioni permettono di conoscere strumenti software per utilizzare i diversi formalismi.
Lectures and practical activity in lab. Lectures describe the different formalism and discuss their power as well as their limitations. Practical activity allows students to know software tools for using the different formalisms.
Altre informazioni
La sperimentazione in laboratorio costituisce anche una verifica in itinere della comprensione e dell'apprendimento degli argomenti.
Lab activity is also used to verify on-the-fly the degree of knowledge and understanding of the subject.
Modalità di verifica dell'apprendimento
Verifica della soluzione di esercizi pratici. Esame orale o esonero scritto. La prova prevede diverse domande, riguardanti argomenti svolti in una parte diversa del programma, , ed atte a verificare il raggiungimento degli obiettivi formativi. La valutazione complessiva terrà conto dei risultati conseguiti nelle singole domande.
Evaluation of the solutions for practical exercises. Oral or written examination. The exam involves several questions on different subjects within the course contents; the questions are suited to verifying the achievement of the learning outcomes. The evaluation takes into account the answers to individual questions.
Programma esteso
Ragionamento automatico nella logica proposizionale, e cenni al caso del calcolo dei predicati del primo ordine. Rappresentazione della conoscenza e ragionamento con logiche descrittive, alla base della definizione di ontologie nel Semantic Web. Rappresentazione della conoscenza e ragionamento mediante regole logiche: regole e logiche descrittive; la programmazione logica a vincoli; l'Answer Set Programming. Problem solving dichiarativo mediante strumenti di programmazione logica e ASP.
Automated reasoning in propositional logic, and in first-order logic. Knowledge representation and reasoning in description logics, which is the basis for the use of ontologies in the Semantic Web. Knowledge representation and reasoning with rules: rules and description logics; constraint logic programming; Answer Set Programming. Declarative problem solving using logic programming and ASP tools.
Risultati di apprendimento attesi
Raggiungimento, in grado misurato dal voto, degli obiettivi formativi.
The achievement, up to a degree measured by grades, of the learning goals.
Print guide
Print
Year Course ID Course Teachers SSD Curriculum Site CFU Agenda web
1 MF0057 Artificial Intelligence Portinale Luigi INF/01 All ALESSANDRIA 6 Not available
1 MF0293 Artificial Intelligence and Intelligent Decision Support Systems Portinale Luigi INF/01 All ALESSANDRIA 9 Lessons schedule
1 MF0288 BUSINESS INTELLIGENCE: DATA WAREHOUSE, TEMPORAL ASPECTS AND DECISION SUPPORT Terenziani Paolo, Montani Stefania INF/01 All ALESSANDRIA 9 Lessons schedule
1 MF0289 BUSINESS INTELLIGENCE: TEMPORAL ASPECTS AND DECISION SUPPORT Terenziani Paolo, Montani Stefania INF/01 All ALESSANDRIA 6 Not available
1 S1421 COMPUTABILITY AND COMPLEXITY Egidi Lavinia INF/01 All ALESSANDRIA 6 Lessons schedule
1 MF0378 COMPUTATIONAL BIOLOGY Mignone Flavio BIO/11 All ALESSANDRIA 3 Lessons schedule
1 MF0379 Declarative Problem Solving Giordano Laura, Theseider Dupre' Daniele INF/01 All ALESSANDRIA 3 Not available
1 S1422 FOUNDATIONS OF PROGRAMMING LANGUAGES Giannini Paola INF/01 All ALESSANDRIA 6 Lessons schedule
1 MF0291 Foundations of semantic web and declarative problem solving Giordano Laura, Theseider Dupre' Daniele INF/01 All ALESSANDRIA 6 Lessons schedule
1 MF0377 GAME THEORY Fragnelli Vito SECS-S/06 All ALESSANDRIA 3 Lessons schedule
1 MF0294 HIGH PERFORMANCE COMPUTING Anglano Cosimo Filomeno, Canonico Massimo INF/01 All ALESSANDRIA 6 Lessons schedule
1 S1429 Intelligent Decision Support System Portinale Luigi INF/01 All ALESSANDRIA 3 Not available
1 S0596 MULTIMEDIA SYSTEMS Leonardi Giorgio INF/01 All ALESSANDRIA 6 Lessons schedule
1 MF0286 Optimization Methods Fragnelli Vito MAT/09 All ALESSANDRIA 6 Lessons schedule
1 MF0168 Performance Evaluation Franceschinis Giuliana Annamaria INF/01 All ALESSANDRIA 6 Lessons schedule
1 S1621 SECURITY Egidi Lavinia INF/01 All ALESSANDRIA 6 Lessons schedule
2 MF0295 Computational Statistics Bongiorno Enea Giuseppe MAT/06 All ALESSANDRIA 6 Lessons schedule
2 I0496 Computer forensic Anglano Cosimo Filomeno INF/01 All ALESSANDRIA 6 Lessons schedule
2 MF0387 Deep Learning Saitta Lorenza INF/01 All ALESSANDRIA 3 Lessons schedule
2 S0069 Final proof PROFIN_S All ALESSANDRIA 37 Not available
2 MF0287 INFORMATION RETRIEVAL Manzini Giovanni INF/01 All ALESSANDRIA 6 Lessons schedule
2 MF0292 MACHINE LEARNING Portinale Luigi INF/01 All ALESSANDRIA 6 Lessons schedule
2 MF0229 Other language knowledges NN All ALESSANDRIA 2 Lessons schedule
2 MF0168 Performance Evaluation Franceschinis Giuliana Annamaria INF/01 All ALESSANDRIA 6 Lessons schedule
Data synched: 17/08/2020, 01:05