Simulazione

“Tutto il popolo ceco è una banda di simulanti”
Jaroslav Hašek: Il Buon Soldato Švejk

Cosa è la Simulazione

A un livello più generale, la Simulazione dovrebbe essere considerata come una forma di Cognizione. (Cognizione = azione o processo di acquisizione della conoscenza.) Ci sono tre metodi basilari per ottenere informazioni (conoscenza) sulla realtà oggettiva: Esperimento, Analisi, Simulazione. Prendiamo un esempio pratico per dimostrare la natura di questi tre metodi. Il sistema in esame è una stazione di servizio con un addetto. La domanda è "qual è il tempo medio trascorso da un'auto nella stazione di servizio". Per ottenere la risposta abbiamo tre possibilità:

Esperimento:

prendere cronometri e misurare il tempo che ogni auto trascorre nella stazione. Contare le auto, alla fine sommare tutti i tempi e dividerli per il numero di auto.

Analisi:

usare una formula della Teoria delle Code per calcolare direttamente il tempo medio trascorso nel sistema. Per usare una formula dovrete assumere un certo modello di code che significa una semplificazione considerevole del sistema reale e avrete bisogno di alcuni parametri quantitativi (qui intensità di arrivo - numero di auto che arrivano per unità di tempo e intensità di servizio - numero di auto servite per unità di tempo).

Simulazione:

scrivere un modello di simulazione che genera casualmente gli arrivi delle auto e la durata dei servizi. Deve anche sequenziare correttamente tutte le attività per avere una corrispondenza uno-a-uno con il sistema reale. Anche l'osservazione, la raccolta di dati statistici e la valutazione devono essere programmate (per ogni auto calcolare il tempo trascorso, accumulare questi tempi, contare il numero di auto, alla fine calcolare e visualizzare la media).

Questi tre metodi non possono essere classificati perché tutti hanno vantaggi e svantaggi. Possono essere confrontati solo nel contesto di un determinato caso tenendo conto di vari criteri. Tuttavia alcune verità basilari sono evidenti:

L'esperimento è sempre il metodo più accurato, che dovrebbe essere utilizzato ogni volta che sia fattibile. Sfortunatamente molto spesso l'esperimento è:
- Troppo pericoloso (comportamento di un reattore nucleare in situazioni critiche, atterraggio con un aereo con un motore spento, ecc.)
- Troppo costoso (tutti i casi che causano danni, esperimenti lunghi che studiano il throughput di una rete dati usando linee telefoniche affittate, ecc.)
- Non possibile affatto se il sistema in esame non è disponibile (valutazione di più alternative possibili nella fase di progettazione.)

L'analisi (soprattutto matematica) è tipicamente basata su forti assunzioni che raramente sono vere nella vita pratica. Un altro possibile svantaggio dei metodi analitici è l'apparato troppo complicato utilizzato e/o il calcolo troppo lungo. Un esempio di questo è l'analisi delle Reti di Code. D'altra parte l'uso di formule dà in genere risultati veloci e è possibile verificare un gran numero di alternative inserendo semplicemente diversi valori dei parametri nella formula(e). I metodi sperimentali sono in genere molto più lunghi. Un altro problema dell'analisi è la disponibilità dei parametri necessari. La loro misurazione esatta non è necessariamente fattibile o impossibile nella fase di progettazione. L'uso di dati stimati o dati presi da altri sistemi simili diminuisce la credibilità dei risultati.

La simulazione è anche un metodo sperimentale. Invece di sperimentare con il sistema reale, gli esperimenti sono eseguiti con il modello di simulazione (il cui design è quindi il punto chiave degli studi di simulazione). Anche la simulazione ha molti svantaggi. Ecco i più importanti:

- Creazione troppo impegnativa dei modelli di simulazione. La programmazione dei modelli di simulazione in linguaggi generali (come Pascal) è troppo difficile. Ci sono linguaggi di simulazione efficienti ma la loro padronanza rappresenta un grande investimento iniziale non sempre giustificato. Ci sono strumenti di simulazione basati tipicamente su qualche tecnica grafica che semplificano o addirittura automatizzano la creazione dei modelli di simulazione di una certa classe di sistemi. Se vuoi sapere di più su uno di tali strumenti, vai alla pagina Reti di Petri.

- Conoscenza limitata del sistema in simulazione. Prima di tutto alcuni parametri quantitativi devono essere noti. Nell'esempio sopra citato è necessario generare intervalli casuali tra gli arrivi e tempi di servizio casuali. Qui la simulazione è molto più flessibile dell'analisi - i linguaggi di simulazione supportano la generazione di numeri casuali con praticamente qualsiasi distribuzione. Nell'esempio sopra citato entrambe le cifre casuali possono basarsi su qualsiasi (ad es. ottenuta sperimentalmente) distribuzione. Tuttavia qualsiasi distribuzione richiede o diversi parametri (se è teorica) o direttamente la Funzione di Distribuzione (se la distribuzione è ottenuta tramite misurazione). Può esserci anche qualcosa nel sistema (tipicamente nella fase di progettazione) che non può essere quantificato e spesso è necessario accettare il fatto che potrebbero esserci aspetti di cui non siamo affatto consapevoli.

- Calcolo troppo lungo. Un esempio è l'analisi di grandi sistemi con molti componenti che lavorano in parallelo. Poiché l'applicazione del vero parallelismo è ancora poco comune, tali sistemi sono simulati da un programma eseguito da un singolo processore. Le attività parallele vengono quindi eseguite una alla volta (anche se l'utente ha l'impressione di un parallelismo e durante la progettazione del modello di simulazione "pensa in parallelo"). Il risultato di questo è il fatto che la simulazione potrebbe essere molto più lenta del tempo reale (1 secondo del tempo del modello impiega 10 minuti del tempo CPU). Questo ovviamente disabilita l'applicazione della simulazione nel controllo in tempo reale.

Una regola generale potrebbe essere così:

"Se l'esperimento è fattibile, utilizzarlo. È sempre il miglior metodo perché tutti gli aspetti sono presi in considerazione. Anche se altri metodi sono stati utilizzati durante la fase di progettazione, l'esperimento può servire come valutazione finale del sistema. Se l'esperimento non è fattibile, cercare di trovare un metodo analitico appropriato. Se non è disponibile, utilizzare la simulazione."

La simulazione non è solo l'ultima risorsa come sembra nella regola sopra. La simulazione può contribuire molto alla comprensione del sistema in analisi non solo fornendo risposte alle domande che erano state originariamente date. Molto spesso la creazione del modello di simulazione è la prima occasione in cui alcune cose vengono prese in considerazione. La specifica del sistema simulato può (e spesso lo fa) rivelare errori o ambiguità nella progettazione del sistema. Quindi la simulazione può aiutare molto evitando aggiornamenti futuri molto costosi del sistema pronto.

  • picture of bottled water
  • winter phone cliparts
  • number 40 cliparts
  • bear time cliparts
  • coloring pages of chipmunks
  • printable fantasy coloring pages
  • wild animal pictures to print
  • squid cliparts
  • Home