EuraStudy
Appunti/Informatica/Simulazione e modelli computazionali
Appunti · InformaticaIT · Maturità

Simulazione e modelli computazionali

Simulare significa far «vivere» un modello di un fenomeno reale all'interno del calcolatore, per osservarne il comportamento quando l'esperimento diretto è impossibile, costoso o pericoloso. Questo argomento collega l'informatica alle altre scienze: si costruisce un modello (deterministico o probabilistico), lo si traduce in un algoritmo, lo si esegue per produrre dati e infine si validano i risultati confrontandoli con la realtà. Il filo conduttore è il ciclo «modello → simulazione → validazione», con un'attenzione costante ai limiti e all'attendibilità di ciò che la macchina restituisce.

5 sezioni·~25 min di lettura·4 competenze·Livello Base 1 · Standard 3 · Approfondimento 1·Verificato · 07/2026

T·131313 / 14
Profilo d’esame
Utilizzare l'informatica per costruire modelli e simulare il comportamento di sistemi e fenomeni realiInterpretare criticamente i risultati di una simulazione, riconoscendo le ipotesi e i limiti del modello adottatoCollegare la simulazione computazionale alle altre discipline scientifiche (Fisica, Scienze, Matematica) in un'ottica di modellizzazioneDistinguere modelli deterministici e probabilistici e impiegare i numeri pseudo-casuali per le simulazioni stocastiche
Operatori:spiegadescrivicostruisciimplementaanalizzainterpretaconfrontaclassificagiustificavaluta

livello base

È richiesto saper distinguere modello e simulazione, riconoscere modelli deterministici e probabilistici e descrivere il ciclo modello → simulazione → validazione su un esempio semplice.

livello avanzato

L'indirizzo Scienze Applicate approfondisce l'implementazione di una simulazione (anche Monte Carlo) in un linguaggio di programmazione, l'analisi quantitativa dei dati prodotti e la valutazione dell'errore, in raccordo con Fisica e Matematica.

Profondità

Profondità di lettura: Approfondimento

Testo

Dimensione del testo: Standard

Contenuti · 5 sezioni▾
  1. Simulazione e modelli computazionali
    • 01Modelli e simulazione di fenomeni reali○
    • 02Modelli deterministici e modelli probabilistici◐
    • 03Numeri pseudo-casuali e metodo Monte Carlo (cenni)●
    • 04Costruire una semplice simulazione◐
    • 05Analisi dei dati e validazione del modello◐
§ 01

Modelli e simulazione di fenomeni reali#

●○○BaseLPOSA-informatica-CS-simulazione: concetto di modello e di simulazione computazionale di un fenomeno reale

Punti chiave

Un «modello» è una rappresentazione semplificata di un fenomeno reale che ne conserva soltanto gli aspetti rilevanti per lo scopo dello studio: descrivere la realtà in ogni dettaglio sarebbe impossibile, perciò si scelgono le variabili significative (le grandezze che descrivono lo stato del sistema) e le relazioni tra di esse, trascurando consapevolmente tutto il resto. La qualità di un modello non sta nel «somigliare» al fenomeno, ma nel rispondere bene alle domande per cui è stato costruito.
La «simulazione computazionale» consiste nell'eseguire il modello sul calcolatore facendo evolvere le sue variabili nel tempo (o al variare dei parametri) per osservare come si comporta il sistema. Si simula soprattutto quando l'esperimento reale è impossibile (l'evoluzione di una galassia), troppo costoso (il crash-test di mille automobili), troppo lento o troppo veloce (il decadimento radioattivo, una reazione chimica), oppure pericoloso (la diffusione di un'epidemia o di un incendio). La macchina diventa così un «laboratorio virtuale».
Conviene tenere distinti tre piani: il «fenomeno reale» (ciò che accade nel mondo), il «modello» (la sua descrizione formale, fatta di variabili, ipotesi e relazioni matematiche o logiche) e la «simulazione» (l'esecuzione algoritmica del modello che produce dati). Un errore frequente è confondere i risultati della simulazione con la realtà: essi sono soltanto la conseguenza delle ipotesi del modello, e valgono quanto valgono quelle ipotesi.
Per questo la modellizzazione è un «processo ciclico» e non un atto unico: si costruisce un modello, lo si simula, si confrontano i risultati con i dati reali (validazione) e, se l'accordo è insufficiente, si raffina il modello (si aggiungono variabili, si correggono le relazioni, si modificano i parametri) e si ripete. Ogni giro migliora l'aderenza alla realtà entro i limiti che ci si è dati. È il cuore del «pensiero computazionale» applicato alle scienze (Fig. 1).

Il ciclo di modellizzazione e simulazione

Ciclo di modellizzazione e simulazioneGrafo, Fenomeno reale → Modello, Modello → Simulazione, Simulazione → Confronto e validazione, Confronto e validazione → ModelloFenomenorealeModelloSimulazioneConfronto evalidazioneraffina
Fig. 1Dal fenomeno reale si costruisce un modello, lo si simula e se ne confrontano gli esiti coi dati reali (validazione); lo scarto raffina il modello.
Esempio svolto

Classificare le fasi di uno studio simulativo

Un gruppo di studenti vuole prevedere la temperatura di una tazza di tè che si raffredda. Riconosci, nelle azioni elencate, a quale fase del ciclo di modellizzazione appartiene ciascuna: (a) ipotizzano che la velocità di raffreddamento sia proporzionale alla differenza con la temperatura ambiente; (b) scrivono un programma che aggiorna la temperatura ogni minuto; (c) misurano col termometro la temperatura reale e la confrontano con quella calcolata; (d) poiché lo scarto è grande, rivedono il valore della costante di raffreddamento.

  1. 01Fase (a)

    Stabilire le ipotesi e le relazioni tra le variabili è la costruzione del MODELLO (qui un modello deterministico ispirato alla legge di Newton del raffreddamento).

  2. 02Fase (b)

    Tradurre il modello in un algoritmo eseguibile che fa evolvere la temperatura nel tempo è la SIMULAZIONE.

  3. 03Fase (c)

    Confrontare i valori prodotti con i dati misurati è la VALIDAZIONE.

  4. 04Fase (d)

    Correggere un parametro per migliorare l'accordo è il RAFFINAMENTO, che riporta al modello e fa ripartire il ciclo.

Risultato: (a) modello, (b) simulazione, (c) validazione, (d) raffinamento: le quattro azioni ricostruiscono esattamente un giro completo del ciclo modello → simulazione → validazione → raffinamento.

Obiettivo Maturità

  • Saper definire con precisione «modello» e «simulazione» e spiegare con un esempio perché si simula al posto di sperimentare direttamente (impossibilità, costo, tempo, pericolo).
  • Saper descrivere e ordinare correttamente le fasi del ciclo modello → simulazione → validazione → raffinamento, riconoscendolo come processo iterativo.

Errori frequenti

  • Confondere il modello con il fenomeno reale e presentare i risultati della simulazione come «la verità», dimenticando che dipendono dalle ipotesi adottate.
  • Pensare che un modello «migliore» sia sempre quello più dettagliato: aggiungere variabili inutili lo rende più complesso e fragile senza migliorarne le risposte, contro il principio di semplicità (parsimonia).

Approfondimento

I modelli e le simulazioni si classificano lungo alcuni assi utili a scegliere lo strumento giusto. Un modello è continuo se le variabili di stato cambiano con continuità nel tempo (la temperatura di un corpo) o discreto se cambiano a scatti in istanti separati (il numero di clienti in fila); è statico se descrive una situazione a un istante fissato o dinamico se ne descrive l'evoluzione. Le simulazioni dinamiche si realizzano poi in due stili diversi. Nella simulazione a passo di tempo (time-driven) si avanza l'orologio di un intervallo fisso «Δt» e a ogni passo si aggiornano tutte le variabili, approccio comodo per i fenomeni continui approssimati. Nella simulazione a eventi discreti (event-driven) l'orologio salta direttamente all'istante del prossimo evento significativo (l'arrivo di un cliente, la fine di un servizio), gestiti in una coda di eventi ordinata per tempo: è l'approccio efficiente per i sistemi a coda, dove fra un evento e l'altro «non succede nulla» e simulare ogni istante sarebbe uno spreco. Sul piano metodologico vale il principio di parsimonia (rasoio di Occam): fra due modelli che spiegano ugualmente bene i dati si preferisce il più semplice, perché ha meno parametri da stimare, è meno soggetto al sovradattamento ed è più facile da comprendere e validare. Aggiungere dettagli oltre il necessario non è sinonimo di realismo, ma spesso di fragilità.

Ripasso attivo

Si vuole studiare con una simulazione il traffico a un incrocio regolato da un semaforo. Individua almeno tre variabili rilevanti del modello, due ipotesi semplificatrici che adotteresti e una grandezza che ti aspetti come risultato della simulazione; spiega poi perché in questo caso la simulazione è preferibile a un esperimento sul traffico reale.

Richiamo attivo

Ricorda i punti chiave — poi rivela.

Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM))

§ 02

Modelli deterministici e modelli probabilistici#

●●○StandardLPOSA-informatica-CS-simulazione: modelli deterministici e modelli probabilistici

Modello deterministico e modello probabilistico a confronto

Deterministico e probabilisticofigura a più pannelli, 2 pannelli, Dati: Deterministico — Grafo, 2 nodi, 1 archi; Probabilistico — Grafo, 4 nodi, 3 archiDeterministico e probabilisticoS₀esito unicoDeterministicoS₀ABCProbabilistico
Fig. 2Con lo stesso stato iniziale S₀ il modello deterministico porta sempre allo stesso esito; il modello probabilistico a esiti diversi, per effetto del caso.

Punti chiave

Un modello è «deterministico» quando, fissati lo stato iniziale e i parametri, la sua evoluzione è univocamente determinata: la stessa condizione di partenza produce sempre lo stesso risultato. È il caso tipico dei fenomeni descritti da leggi fisiche, come la caduta di un grave o il moto di un pendolo, dove il futuro del sistema è calcolabile dalle equazioni che lo governano.
Un modello è «probabilistico» (o stocastico) quando incorpora il caso: l'evoluzione dipende da eventi aleatori e quindi due esecuzioni con gli stessi dati iniziali possono dare esiti diversi. Si usa quando il fenomeno è intrinsecamente casuale (il lancio di un dado, il decadimento di un atomo) oppure quando l'incertezza e la variabilità sono parte essenziale del problema (le code agli sportelli, la diffusione di un contagio, l'andamento di un mercato).
La scelta tra i due tipi non è una questione di gusto ma dipende dal fenomeno e dallo scopo: lo stesso sistema può essere modellato in modo deterministico «in media» oppure in modo probabilistico se interessa la dispersione dei risultati. Spesso un modello probabilistico va eseguito molte volte: una singola simulazione fornisce un esito possibile, mentre solo l'insieme di tante esecuzioni (le «repliche») permette di stimare valori medi, probabilità e variabilità.
Una conseguenza importante è la «riproducibilità». In un modello deterministico ripetere l'esecuzione restituisce un risultato identico. In un modello probabilistico ciò non accade, a meno di controllare la sorgente di casualità: come vedremo, fissando il «seme» del generatore pseudo-casuale si può rendere ripetibile anche una simulazione stocastica, requisito prezioso per il collaudo e la verifica dei programmi.
xˉ=1N∑i=1Nxi\bar{x} = \frac{1}{N}\sum_{i=1}^{N} x_ixˉ=N1​i=1∑N​xi​

Media campionaria

Stima del valore atteso ottenuta da N repliche di una simulazione probabilistica: x_i è l'esito della i-esima esecuzione. Aumentando N la media campionaria tende a stabilizzarsi attorno al valore teorico.

Esempio svolto

Stima di un valore medio da repliche di una simulazione

Una simulazione probabilistica del tempo di attesa (in minuti) a uno sportello viene eseguita 5 volte e produce gli esiti: 4, 6, 3, 7, 5. Stima il tempo medio di attesa e spiega perché 5 repliche danno una stima soltanto provvisoria.

  1. 01Sommare gli esiti

    Si sommano i cinque valori ottenuti dalle repliche.

  2. 02Dividere per N

    La media campionaria si ottiene dividendo per il numero di repliche N = 5.

  3. 03Valutare l'attendibilità

    Con sole 5 repliche la media è molto sensibile al caso: la dispersione dei dati (da 3 a 7) è ampia rispetto alla media, quindi la stima è poco stabile.

Risultato: Il tempo medio stimato è 5 minuti; per ottenere una stima affidabile occorre aumentare il numero di repliche, così che la media campionaria si stabilizzi attorno al valore atteso.

Obiettivo Maturità

  • Saper distinguere con esempi propri un modello deterministico da uno probabilistico, motivando perché un dato fenomeno richiede l'uno o l'altro.
  • Saper giustificare perché un modello probabilistico va eseguito molte volte (repliche) prima di trarre conclusioni, mentre uno deterministico dà già con una sola esecuzione il suo risultato.

Errori frequenti

  • Credere che «probabilistico» significhi «inaffidabile» o «approssimato»: la casualità è una scelta di modellizzazione legittima, e da molte repliche si ottengono stime stabili e quantificabili.
  • Trarre conclusioni da una sola esecuzione di un modello probabilistico, scambiando un singolo esito casuale per il comportamento tipico del sistema.

Approfondimento

La distinzione fra deterministico e imprevedibile è più sottile di quanto sembri: esistono sistemi deterministici che sono di fatto impredicibili a lungo termine, i sistemi caotici. In essi una variazione infinitesima delle condizioni iniziali si amplifica esponenzialmente nel tempo (dipendenza sensibile dalle condizioni iniziali, il celebre «effetto farfalla»), sicché, pur essendo il modello perfettamente deterministico, la precisione finita con cui si conoscono i dati di partenza rende la previsione praticamente impossibile oltre un certo orizzonte — è ciò che limita le previsioni meteorologiche. Determinismo, dunque, non implica prevedibilità. Sul versante probabilistico, il motivo per cui molte repliche danno stime affidabili è la legge dei grandi numeri: la media di N esiti indipendenti converge al valore atteso al crescere di N. Ma quanto velocemente? L'errore tipico della media (l'errore standard) decresce come «σ/√N», dove «σ» è la deviazione standard del fenomeno: per dimezzare l'incertezza sulla stima occorre quadruplicare le repliche. È la stessa legge «1/√N» che governa la lentezza del metodo Monte Carlo, e spiega perché le simulazioni stocastiche di alta precisione richiedano un numero enorme di esecuzioni — un limite intrinseco del metodo, non un difetto di implementazione.

Ripasso attivo

Per ciascuno dei seguenti casi indica se conviene un modello deterministico o probabilistico, motivando: (1) calcolare dopo quanti secondi un sasso lanciato verso l'alto a velocità nota tocca terra; (2) stimare il tempo medio di attesa dei clienti a una cassa di supermercato; (3) prevedere la posizione di un pianeta tra un anno; (4) stimare la probabilità che, lanciando tre dadi, la somma sia 10.

Richiamo attivo

Ricorda i punti chiave — poi rivela.

Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM))

§ 03

Numeri pseudo-casuali e metodo Monte Carlo (cenni)#

●●●ApprofondimentoLPOSA-informatica-CS-simulazione: uso dei numeri pseudo-casuali; cenni al metodo Monte Carlo

Stima di pi greco con il metodo Monte Carlo

Stima di π con Monte CarloGrafico di x²+y²=1, zeri in x = 1, intercetta sull’asse y in y = 1, decrescente, nell’intervallo x da 0 a 10.20.40.60.810.20.40.60.81x²+y² = 1yx
Fig. 3Si generano punti casuali nel quadrato di lato 1; la frazione che cade nel quarto di cerchio (x²+y² ≤ 1, punti pieni) stima π/4, quindi π ≈ 4·(dentro/totale).

Punti chiave

Per simulare il caso il calcolatore, che è una macchina deterministica, usa generatori di «numeri pseudo-casuali»: sequenze prodotte da una formula deterministica ma che superano i test statistici di casualità, cioè appaiono casuali pur essendo perfettamente calcolabili. Da qui il prefisso «pseudo»: non sono veramente casuali, ma lo sembrano abbastanza da poter essere usati nelle simulazioni.
Ogni generatore parte da un valore iniziale detto «seme» (seed): fissato il seme, l'intera sequenza è determinata. Questo è un vantaggio decisivo per la scienza: rendere ripetibile una simulazione stocastica (stesso seme → stessa sequenza → stessi risultati) permette di verificare un programma, riprodurre un esperimento numerico e confrontare correttamente varianti del modello. In linguaggi come Python la funzione che genera numeri casuali nell'intervallo [0, 1) è il mattone di base con cui si costruiscono tutti gli altri eventi aleatori.
Il «metodo Monte Carlo» è la tecnica che sfrutta numeri pseudo-casuali per stimare una grandezza generando moltissimi campioni casuali e calcolandone una frequenza o una media. L'idea-chiave è che la «frequenza relativa» di un evento (numero di successi diviso numero di prove) tende alla sua probabilità al crescere delle prove (legge dei grandi numeri); così un problema deterministico, come il calcolo di un'area, si risolve «sparando» punti a caso e contando quanti cadono dentro la regione di interesse.
L'esempio classico è la «stima di π». Si generano molti punti casuali nel quadrato di lato 1 (con 0 ≤ x < 1 e 0 ≤ y < 1) e si conta quanti cadono dentro il quarto di cerchio di raggio 1 centrato nell'origine, cioè quelli per cui x² + y² ≤ 1. Poiché l'area del quarto di cerchio è π/4 e quella del quadrato è 1, il rapporto «dentro/totale» approssima π/4, da cui si stima π. La precisione cresce lentamente con il numero di punti: per dimezzare l'errore tipico occorre circa quadruplicare le prove (l'errore decresce all'incirca come 1/√N) (Fig. 5).
π≈4⋅NdentroNtotale\pi \approx 4 \cdot \frac{N_{\text{dentro}}}{N_{\text{totale}}}π≈4⋅Ntotale​Ndentro​​

Stima Monte Carlo di pi greco

Il rapporto tra i punti caduti nel quarto di cerchio (x^2 + y^2 <= 1) e i punti totali approssima l'area del quarto di cerchio, cioe pi/4; moltiplicando per 4 si stima pi.

ε∼1N\varepsilon \sim \frac{1}{\sqrt{N}}ε∼N​1​

Andamento dell'errore

L'errore tipico di una stima Monte Carlo decresce all'incirca come 1 su radice di N: per dimezzarlo occorre quadruplicare il numero N di prove.

Esempio svolto

Una stima di pi greco con 1000 punti

Una simulazione Monte Carlo genera 1000 punti casuali nel quadrato unitario e ne trova 786 con x² + y² ≤ 1. Calcola la stima di π risultante e commenta brevemente l'accuratezza.

  1. 01Rapporto dentro/totale

    Si calcola la frazione di punti caduti nel quarto di cerchio.

  2. 02Applicare la formula

    La stima di π è quattro volte tale rapporto.

  3. 03Commentare

    Il valore 3.144 differisce da π ≈ 3.14159 di circa 0.0024. Con soli 1000 punti l'errore tipico è dell'ordine di qualche centesimo: per migliorarlo di un ordine di grandezza servirebbero circa 100 volte più punti.

Risultato: π ≈ 3.144, in buon accordo con il valore vero a meno di pochi millesimi; l'accuratezza cresce lentamente, all'incirca come 1/√N.

Obiettivo Maturità

  • Saper spiegare perché i numeri generati dal calcolatore sono detti «pseudo-casuali» e quale ruolo svolge il seme (riproducibilità).
  • Saper descrivere il principio del metodo Monte Carlo (frequenza relativa che approssima una probabilità/un rapporto di aree) e impostare la stima di π col rapporto dentro/totale.

Errori frequenti

  • Affermare che i numeri pseudo-casuali sono «veramente casuali»: sono generati da una formula deterministica e, dato il seme, l'intera sequenza è prevedibile.
  • Confondere la condizione del cerchio: il punto è interno quando x² + y² ≤ 1 (raggio 1), non x² + y² ≤ r con altri valori, e dimenticare il fattore 4 nel passare da π/4 a π.

Approfondimento

Vale la pena aprire la «scatola» del generatore pseudo-casuale. Il più semplice è il generatore congruenziale lineare (LCG), che produce la sequenza con la ricorrenza «X_nuovo = (a·X + c) mod m» a partire dal seme; scelti bene i parametri «a», «c» e «m», la sequenza percorre moltissimi valori prima di ripetersi. Ogni PRNG ha infatti un periodo — la lunghezza della sequenza prima che ricominci identica, essendo il generatore deterministico e finito — e un LCG mediocre ha periodo corto e correlazioni nascoste che possono falsare una simulazione; per questo si usano generatori di qualità come il Mersenne Twister, dal periodo enorme. I generatori producono numeri uniformi in «[0, 1)», ma spesso servono altre distribuzioni: le si ottiene trasformando l'uniforme, per esempio con il metodo dell'inversione (si applica l'inversa della funzione di ripartizione desiderata) o con tecniche di accettazione-rifiuto. Un'avvertenza importante: la prevedibilità dei PRNG li rende inadatti alla crittografia, dove chi conoscesse il seme potrebbe riprodurre l'intera sequenza; lì si usano generatori crittograficamente sicuri o sorgenti di vero rumore fisico. Quanto al metodo Monte Carlo, la sua lentezza è quantificabile: l'errore tipico decresce come «1/√N», quindi per aggiungere una cifra decimale di precisione (dividere l'errore per 10) occorre moltiplicare le prove per 100 — ecco perché conviene, quando possibile, affiancargli tecniche di riduzione della varianza.

Ripasso attivo

Descrivi a parole l'algoritmo Monte Carlo per stimare π: quali numeri casuali servono, quale condizione decide se un punto è «dentro», come si combina il conteggio finale per ottenere la stima di π. Spiega infine perché aumentare di 100 volte il numero di punti riduce l'errore tipico solo di circa 10 volte.

Richiamo attivo

Ricorda i punti chiave — poi rivela.

Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM))

§ 04

Costruire una semplice simulazione#

●●○StandardLPOSA-informatica-CS-simulazione: costruzione di semplici simulazioni di fenomeni naturali, fisici o sociali; implementazione in un linguaggio di programmazione

Diagramma di flusso del ciclo di simulazione

Ciclo di simulazioneGrafo, Inizio → inizializza stato, inizializza stato → arresto ?, arresto ? → passo di aggiornamento, passo di aggiornamento → registra dati, registra dati → arresto ?, arresto ? → Fine (analizza)Inizioinizializzastatoarresto ?passo diaggiornamentoregistra datiFine (analizza)nociclosì
Fig. 4Finché non si verifica la condizione di arresto, si aggiorna lo stato e si registrano i dati; al termine si analizzano i dati raccolti.

Punti chiave

Costruire una simulazione significa tradurre il modello in un «algoritmo eseguibile». Lo schema ricorrente è semplice e potente: si fissano lo stato iniziale e i parametri, poi si itera un «passo di aggiornamento» che fa avanzare lo stato (nel tempo o nello spazio dei tentativi), registrando di volta in volta le grandezze di interesse, finché non si raggiunge una condizione di arresto. È il cuore di moltissime simulazioni a tempo discreto.
Il «passo temporale» Δt (o, nelle simulazioni stocastiche, il numero di prove) è una scelta cruciale. Nei modelli continui approssimati a passi discreti si aggiorna lo stato di piccoli incrementi: ad esempio, nel raffreddamento di un corpo si calcola la nuova temperatura sottraendo a ogni passo una quantità proporzionale alla differenza con l'ambiente. Un Δt più piccolo rende la simulazione più fedele ma più lenta; un Δt troppo grande introduce errori grossolani: è il primo compromesso da governare.
La struttura del programma riusa i fondamenti già noti (ripasso): variabili per lo stato, un ciclo (iterazione) per il passo di aggiornamento, una selezione per le decisioni (ad esempio «il punto è dentro il cerchio?») e, per i modelli probabilistici, il generatore pseudo-casuale. Modularizzare con sottoprogrammi — uno per il passo, uno per la raccolta dati — rende la simulazione leggibile e riutilizzabile.
È buona pratica separare nettamente tre responsabilità: il «motore» della simulazione (che fa evolvere lo stato), la «raccolta dei dati» (che memorizza i risultati a ogni passo) e la «presentazione» (tabelle, grafici). Questa separazione, oltre a migliorare la qualità del codice, riflette la logica scientifica: prima si producono i dati, poi li si analizza e infine li si confronta con la realtà, come vedremo nella sezione di validazione (Fig. 7).
Tn+1=Tn−k (Tn−Ta)T_{n+1} = T_n - k\,(T_n - T_a)Tn+1​=Tn​−k(Tn​−Ta​)

Passo di aggiornamento (raffreddamento)

Regola iterativa a tempo discreto: la nuova temperatura T al passo n+1 si ottiene sottraendo a quella attuale una quota proporzionale (costante k) alla differenza con la temperatura ambiente T_a.

Esempio svolto

Tre passi di una simulazione di raffreddamento

Simula il raffreddamento di un corpo con temperatura iniziale T₀ = 90 gradi, temperatura ambiente Tₐ = 20 gradi e costante k = 0.1 per passo, secondo la regola Tₙ₊₁ = Tₙ − k·(Tₙ − Tₐ). Calcola la temperatura dopo i primi tre passi.

  1. 01Passo 1

    Si applica la regola partendo da T₀ = 90.

  2. 02Passo 2

    Si ripete usando T₁ = 83.

  3. 03Passo 3

    Si ripete usando T₂ = 76.7.

Risultato: Dopo tre passi: T₁ = 83 gradi, T₂ = 76.7 gradi, T₃ = 71.03 gradi. La temperatura decresce avvicinandosi progressivamente ai 20 gradi dell'ambiente, con incrementi sempre più piccoli.

Obiettivo Maturità

  • Saper descrivere lo schema generale di una simulazione a tempo discreto: stato iniziale, ciclo di aggiornamento, registrazione dei dati, condizione di arresto.
  • Saper riconoscere il ruolo del passo Δt (o del numero di prove) e il compromesso tra fedeltà del risultato e costo di calcolo.

Errori frequenti

  • Dimenticare di inizializzare lo stato o la condizione di arresto, ottenendo un ciclo che non parte correttamente o che non termina.
  • Aggiornare lo stato e nello stesso passo usarlo già modificato per altri calcoli, falsando l'evoluzione: in un passo vanno prima letti tutti i valori «vecchi» e poi scritti quelli «nuovi».

Approfondimento

Il passo di aggiornamento di molte simulazioni continue è, in realtà, il metodo di Eulero per le equazioni differenziali. La legge del raffreddamento di Newton dice che la temperatura cala a un ritmo proporzionale alla differenza con l'ambiente; discretizzandola con un passo «Δt» si ottiene proprio la regola iterativa «T_nuovo = T − Δt·k·(T − T_ambiente)», che è un passo di Eulero: si sostituisce alla variazione istantanea (la derivata) il suo valore moltiplicato per un piccolo intervallo. Da qui l'importanza della scelta di «Δt»: se è troppo grande, il metodo di Eulero non solo perde accuratezza ma può diventare instabile, producendo oscillazioni crescenti e valori privi di senso fisico; ridurlo migliora la fedeltà al prezzo di più iterazioni. Un secondo accorgimento, cruciale nelle simulazioni in cui molte celle o molti agenti evolvono insieme, è l'aggiornamento sincrono: si devono leggere tutti i valori «vecchi» e solo dopo scrivere tutti i valori «nuovi», usando due copie dello stato; se si aggiornasse una cella e la si riusasse subito per calcolarne un'altra, si mescolerebbero istanti diversi, falsando l'evoluzione. È la regola che governa gli automi cellulari, come il celebre «Gioco della vita» di Conway o un modello di diffusione di un'epidemia (tipo SIR) su una griglia, in cui lo stato di ogni cella al prossimo istante dipende dallo stato attuale dei suoi vicini.

Ripasso attivo

Progetta (in pseudocodice o in un linguaggio a tua scelta) una simulazione del raffreddamento di un corpo: parti da una temperatura iniziale di 90 gradi, una temperatura ambiente di 20 gradi e una costante k = 0.1 per passo; a ogni passo la temperatura diminuisce di k volte la differenza con l'ambiente. Indica lo stato iniziale, il passo di aggiornamento, la condizione di arresto e quali dati registreresti.

Richiamo attivo

Ricorda i punti chiave — poi rivela.

Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM))

§ 05

Analisi dei dati e validazione del modello#

●●○StandardLPOSA-informatica-CS-simulazione: raccolta, elaborazione e interpretazione dei dati; validazione del modello tramite confronto tra risultati simulati e dati reali

Confronto tra dati simulati e dati reali

Dati simulati e dati realiGrafico di simulato, intercetta sull’asse y in y = 5, decrescente, nell’intervallo x da 0 a 10246810123456simulatoTtempo
Fig. 5La curva è l’andamento simulato (es. una temperatura nel tempo); i punti sono i valori reali misurati. Piccoli scarti tra i due validano il modello.

Punti chiave

Una simulazione produce «dati», non verità: l'ultima fase del ciclo consiste nel raccoglierli, elaborarli e interpretarli criticamente. Si calcolano sintesi statistiche (medie, valori massimi e minimi, dispersione), si tracciano grafici dell'andamento nel tempo e si individuano tendenze. Strumenti come i fogli di calcolo o le librerie di un linguaggio di programmazione rendono questa analisi accessibile anche su grandi quantità di dati.
La «validazione» è il confronto sistematico tra i risultati simulati e i dati reali misurati. Se l'accordo è buono entro la tolleranza richiesta, il modello è considerato valido «per quello scopo»; se lo scarto è significativo, occorre indagarne le cause — ipotesi troppo grossolane, parametri mal stimati, passo temporale inadeguato — e raffinare il modello. Un modello validato per un certo intervallo di condizioni non è necessariamente valido al di fuori di esso: la validità è sempre circoscritta.
Per quantificare lo scarto si usano misure d'errore. L'«errore assoluto» è la differenza (in valore assoluto) tra valore simulato e valore reale; l'«errore relativo» è tale differenza rapportata al valore reale, ed è più informativo perché adimensionale e confrontabile tra grandezze diverse. Su una serie di dati si possono usare l'errore medio o lo scarto quadratico medio per giudicare l'aderenza complessiva.
Riconoscere i «limiti» del modello fa parte della validazione, non è un suo fallimento. Ogni modello incorpora semplificazioni e una simulazione può soffrire anche di errori numerici (arrotondamento, passo troppo grande) e, nei modelli stocastici, di variabilità statistica. L'atteggiamento corretto è dichiarare le ipotesi, stimare l'errore e usare la simulazione consapevolmente: è ciò che distingue l'uso scientifico dello strumento da una fiducia ingenua nel numero che appare sullo schermo (Fig. 9).
Eass=∣vsim−vreale∣E_{\text{ass}} = |v_{\text{sim}} - v_{\text{reale}}|Eass​=∣vsim​−vreale​∣

Errore assoluto

Differenza in valore assoluto tra il valore prodotto dalla simulazione e il valore reale misurato; si esprime nella stessa unita di misura della grandezza.

Erel=∣vsim−vreale∣∣vreale∣E_{\text{rel}} = \frac{|v_{\text{sim}} - v_{\text{reale}}|}{|v_{\text{reale}}|}Erel​=∣vreale​∣∣vsim​−vreale​∣​

Errore relativo

Errore assoluto rapportato al valore reale: e adimensionale e spesso espresso in percentuale, cosi da confrontare l'accuratezza di grandezze diverse.

Esempio svolto

Calcolo dell'errore in una validazione

Una simulazione prevede una temperatura di 71 gradi dopo 10 minuti; la misura reale è 68 gradi. Calcola l'errore assoluto e l'errore relativo percentuale, e valuta se l'accordo è accettabile per una tolleranza richiesta del 5%.

  1. 01Errore assoluto

    Si calcola la differenza in valore assoluto tra simulato e reale.

  2. 02Errore relativo

    Si rapporta l'errore assoluto al valore reale.

  3. 03In percentuale

    Si moltiplica per 100 per esprimerlo in percentuale.

Risultato: L'errore assoluto è 3 gradi e l'errore relativo è circa 4.41%, inferiore alla tolleranza del 5%: l'accordo è accettabile per questo scopo, ma resta valido solo per le condizioni testate e va confermato con altri confronti.

Obiettivo Maturità

  • Saper spiegare in che cosa consiste la validazione (confronto simulato/reale) e saper calcolare errore assoluto ed errore relativo tra un valore simulato e uno misurato.
  • Saper discutere criticamente i limiti di una simulazione (ipotesi del modello, errori numerici, variabilità statistica) e la validità sempre circoscritta del modello.

Errori frequenti

  • Considerare un modello «valido in assoluto» dopo un solo confronto riuscito, dimenticando che la validità vale solo per le condizioni testate.
  • Confondere errore assoluto ed errore relativo, o riportare l'errore relativo come numero puro senza accorgersi che si esprime spesso in percentuale.

Approfondimento

La qualità di una simulazione si giudica su due piani che conviene distinguere nettamente, riassunti dalla coppia «verifica e validazione» (V&V). La verifica risponde alla domanda «ho costruito bene il modello?», cioè controlla che l'implementazione traduca correttamente le equazioni e sia priva di bug (è il testing del programma). La validazione risponde alla domanda «ho costruito il modello giusto?», cioè se il modello, pur corretto nel codice, rappresenta davvero il fenomeno reale. Un programma può essere verificato ma non validato (calcola esattamente le formule sbagliate) e viceversa. Un tranello sottile è tarare il modello sui dati disponibili e poi vantarne l'accordo proprio con quegli stessi dati: è sovradattamento (overfitting), l'analogo di un algoritmo che «impara a memoria» invece di generalizzare. La pratica corretta separa i dati in un insieme di calibrazione, con cui si stimano i parametri, e un insieme di validazione, indipendente, con cui si misura davvero la capacità predittiva. Per quantificare l'aderenza su una serie non basta un singolo errore: si usano indici come lo scarto quadratico medio (RMSE), il coefficiente di correlazione fra simulato e reale e, per i modelli stocastici, gli intervalli di confidenza che accompagnano ogni stima con la sua incertezza. Dichiarare l'incertezza è parte integrante di un risultato scientifico: un numero senza la sua stima d'errore, come ricordava il capitolo sul calcolo numerico, è un numero di cui non ci si può fidare.

Ripasso attivo

Una simulazione del raffreddamento prevede dopo 10 minuti una temperatura di 71 gradi; la misura reale con il termometro è 68 gradi. Calcola l'errore assoluto e l'errore relativo percentuale, poi spiega che cosa potresti modificare nel modello per migliorare l'accordo e perché un solo confronto non basta a dichiararlo valido.

Richiamo attivo

Ricorda i punti chiave — poi rivela.

Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM)) · Esame di Stato del secondo ciclo — quadri di riferimento e griglie di valutazione (Ministero dell'Istruzione e del Merito (MIM))

Contenuti

Sezione -- / 05

    • 01Modelli e simulazione di fenomeni reali○
    • 02Modelli deterministici e modelli probabilistici◐
    • 03Numeri pseudo-casuali e metodo Monte Carlo (cenni)●
    • 04Costruire una semplice simulazione◐
    • 05Analisi dei dati e validazione del modello◐

0/5 Letti

Dagli appunti all'allenamento

Simulazione e modelli computazionali

Consolida questo argomento con domande dalla banca dati.

~25
min
4
Competenze
Esercitati

Riferimenti e fonti

Fonti

Ministero dell'Istruzione e del Merito (MIM)

  • Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento
  • Esame di Stato del secondo ciclo — quadri di riferimento e griglie di valutazione

Argomento precedente

Computazione e calcolo numerico

Argomento successivo

Principi teorici della computazione

EuraStudy·Appunti T·13·MMXXVI

Continua con l'argomento successivo: il percorso viene conservato.