Politecnico di Torino | |||||||||||||||||
Anno Accademico 2017/18 | |||||||||||||||||
01QXJPF Complex systems modelling project |
|||||||||||||||||
Corso di Laurea Magistrale in Physics Of Complex Systems (Fisica Dei Sistemi Complessi) - Torino/Trieste/Parigi |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
Presentazione
Il corso si propone di fornire metodi matematici e computazionali per lo studio di modelli minimali di sistemi complessi esistenti in diverse aree scientifiche (Fisica, Biologia, Economia), mettendone in luce i meccanismi microscopici a diverse scale spaziali e temporali. Il lavoro progettuale di gruppo, di tipo computazionale, da svolgersi in aula sotto la supervisione del docente, sarà parte essenziale del corso, che culminerà con lo svolgimento di un lavoro progettuale individuale.
Alcuni concetti teorico-matematici fondamentali della dinamica non-lineare e dei processi stocastici, anche per sistemi estesi e in presenza di strutture disordinate, verranno discussi in lezioni introduttive, svolte alla lavagna e poi affrontati mediante esempi ed applicazioni nel laboratorio computazionale. Alcune delle nozioni teoriche, trattate in maniera introduttiva nel presente corso e analizzate mediante esempi, saranno poi oggetto di studio più approfondito nei corsi specialistici proposti al secondo anno. |
Risultati di apprendimento attesi
Da un punto di vista concettuale, il corso si propone di trasmettere allo studente conoscenza di alcune nozioni matematiche e probabilistiche fondamentali per affrontare l’analisi del comportamento dei sistemi complessi. Assieme alle conoscenze teoriche, gli studenti apprenderanno metodi algoritmici e numerici necessari per la risoluzione computazionale dei problemi affrontati. Obiettivo principale del corso è quello di portare lo studente ad una corretta integrazione delle conoscenze teoriche e delle tecniche computazionali, in modo da poter affrontare autonomamente lo studio di sistemi complessi differenti da quelli considerati a lezione. Questa integrazione di competenze sarà necessaria per affrontare con successo lo studio del progetto individuale finale. Nel lavoro a gruppi, gli studenti impareranno ad interagire e confrontarsi nella risoluzione di problemi di natura modellistica e computazionale (quali gradi di libertà inserire nei modelli, il tipo di interazioni, comprendere la rilevanza della componente stocastica del problema). Infine, il corso permetterà anche di sviluppare una visione critica che consenta agli studenti di comprendere le differenze tra i modelli matematici proposti e i sistemi reali e, alla luce delle proprietà osservate e dei metodi di analisi impiegati, valutarne i limiti di validità e il potenziale predittivo.
|
Prerequisiti / Conoscenze pregresse
Elementi di teoria della probabilità, minima conoscenza dei metodi numerici e di linguaggi di programmazione, conoscenza di base di meccanica statistica.
|
Programma
Il corso è organizzato nel modo seguente:
• Breve introduzione al linguaggio di programmazione Python • Elementi di dinamica non-lineare, metodi di integrazione numerica di equazioni differenziali ordinarie. Esempi e applicazioni per il lavoro individuale e a gruppi (scelte tra): modelli epidemici SIS, modelli predatore-preda di Lotka-Volterra, autoregolazione genica, oscillatori non-lineari, circuiti caotici. • Introduzione ai processi stocastici, Master equation, kinetic Monte-Carlo, calcolo alla Ito, equazioni differenziali stocastiche. Esempi e applicazioni per il lavoro individuale e a gruppi (scelte tra): effetto del rumore termico su una particella in un potenziale quadratico, transizioni indotte dal rumore, risonanza stocastica, oscillazioni indotte dal rumore demografico, tempo di estinzione di una epidemia. • Sistemi a tanti gradi di libertà, dinamica diffusiva, formazione di domini e strutture spaziali, ruolo della dimensionalità del sistema, metodi MonteCarlo e integrazione numerica di equazioni alle derivate parziali. Esempi e applicazioni per il lavoro individuale e a gruppi (scelte tra): cinetica di reazione e diffusione, modelli di segregazione spaziale, instabilità di Turing, onde di Fisher e di shock. • Introduzione ai sistemi disordinati, reti e grafi random, tecniche ricorsive su grafo, effetto di campi esterni ed interazioni disordinate. Esempi e applicazioni per il lavoro individuale e a gruppi (scelte tra): valanghe e processi a cascata su reti random, sincronizzazione di oscillatori accoppiati, rottura dell’ergodicità in modelli con accoppiamenti disordinati. |
Organizzazione dell'insegnamento
Il corso si articolerà in una parte di lezioni frontali in aula (~ 25%), una parte di lezioni nel laboratorio computazionale (~ 25%) ed una parte di lavoro individuale e di gruppo seguito dal docente (~ 50%).
Per ogni argomento trattato, verrà quindi fornita una lezione introduttiva, svolta alla lavagna e tesa a trasmettere le nozioni teorico-matematiche fondamentali, seguita da una lezione dal carattere più pratico, svolta nel laboratorio computazionale, in cui saranno esposti i metodi numerici e algoritmici necessari per lo svolgimento di problemi relativi all’argomento trattato. Vi sarà poi una serie di lezioni, indicativamente alla fine di ognuna delle quattro parti in cui è suddiviso il programma del corso, dedicate al lavoro individuale e di gruppo. Queste lezioni, svolte al calcolatore sotto la guida del docente, riguarderanno l’applicazione delle nozioni apprese, sia teoriche che algoritmiche, a problemi specifici di natura interdisciplinare. |
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Dispense teoriche e codici in python forniti dal docente.
Testi di approfondimento: S. Strogatz, "Non-linear Dynamics and Chaos", Westview Press 2015. C.W. Gardiner, "Stochastic Methods: a Handbook for the Natural and Social Sciences", Springer 2009. P. Krapivsky, S. Redner, E. Ben-Naim, "A kinetic view of Statistical Physics", Cambridge University Press 2010. Articoli su riviste scientifiche forniti dal docente. |
Criteri, regole e procedure per l'esame
Il lavoro progettuale di gruppo svolto in classe non sarà valutato ai fini del voto finale, ma servirà per acquisire le nozioni computazionali e il metodo di lavoro che poi individualmente gli studenti dovranno applicare al progetto finale. Ai fini della valutazione, gli studenti dovranno svolgere individualmente un breve progetto su un argomento affine a quelli del corso, e concordato con il docente. Il progetto dovrà contenere una parte computazionale e dovrà essere presentato nella forma di una breve relazione (5-10 pagine) almeno una settimana prima della data dell’appello in cui lo studente intende sostenere l’esame. Tale progetto dovrà essere discusso brevemente (15-20 minuti) alla lavagna assieme al docente che potrà verificare la comprensione della materia trattata mediante alcune domande sul contenuto del progetto (sia sugli aspetti teorici che algoritmici e numerici). La relazione scritta sul progetto svolto potrà valere un massimo di 30 punti, mentre la discussione sarà utilizzata (per un massimo di 5 punti) per integrare il voto finale nel caso in cui la relazione non fosse pienamente soddisfacente o nel caso essa possa essere meritevole di lode.
|
Orario delle lezioni |
Statistiche superamento esami |
|