Tecniche di Simulazione: Introduzione. N. Del Buono:



Documenti analoghi
Fasi di creazione di un programma

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

Automazione Industriale (scheduling+mms) scheduling+mms.

TECNICHE DI SIMULAZIONE

Introduzione alla Simulazione Numerica

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Parte 4. Progettazione di una simulazione

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

Calcolatori Elettronici A a.a. 2008/2009

Verifica e Validazione del Simulatore

FONDAMENTI di INFORMATICA L. Mezzalira

Corso di. Dott.ssa Donatella Cocca

Introduzione al MATLAB c Parte 2

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Lezione 8. La macchina universale

Database. Si ringrazia Marco Bertini per le slides

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Criteri di valutazione (domande guida per autovalutarsi)

Approccio stratificato

Metodologie di programmazione in Fortran 90

PROGETTO EM.MA PRESIDIO

MService La soluzione per ottimizzare le prestazioni dell impianto

Introduzione al package ARENA

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Il database management system Access

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Funzioni in C. Violetta Lonati

Coordinazione Distribuita

OSSERVAZIONI TEORICHE Lezione n. 4

Gestione del workflow

La distribuzione Normale. La distribuzione Normale

Disciplina: SISTEMI AUTOMATICI. Classi: III AES PROF. IANNETTA SIMONE PROF. SAPORITO ETTORE. Ore settimanali previste: 4

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

La Metodologia adottata nel Corso

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

RETI DI TELECOMUNICAZIONE

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

4 3 4 = 4 x x x 10 0 aaa

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE

Officina Meccanica. Analisi, progetto e sviluppo

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Traccia delle soluzioni

SISTEMI OPERATIVI. Deadlock (blocco critico) Domande di verifica. Luca Orrù Centro Multimediale Montiferru 04/06/2007

E F G H I

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Descrizione di un algoritmo

Cosa dobbiamo già conoscere?

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Linguaggi di programmazione

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Rendering air show e verifica della sincronizzazione

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI

Schedulazione delle attività di un progetto in presenza di multi-calendari

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

INFORMATICA 1 L. Mezzalira

la formazione finanziaria è il miglior investimento per il tuo domani

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Esempi di algoritmi. Lezione III

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

I database relazionali (Access)

Appunti di Sistemi Elettronici

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

2. Leggi finanziarie di capitalizzazione

3. Introduzione all'internetworking

11. Analisi statistica degli eventi idrologici estremi

Soluzione dell esercizio del 12 Febbraio 2004

Concetti di base di ingegneria del software

LA STATISTICA si interessa del rilevamento, dell elaborazione e dello studio dei dati; studia ciò che accade o come è fatto un gruppo numeroso di

Riconoscere le caratteristiche funzionali di un Nozioni fondamentali di un sistema operativo.

Real Time Control (RTC): modalità di invio dei dati

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

Lezione 1. Introduzione e Modellazione Concettuale

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Capitolo II. La forma del valore. 7. La duplice forma in cui si presenta la merce: naturale e di valore.

Testi di Esercizi e Quesiti 1

Relazioni statistiche: regressione e correlazione

(a cura di Francesca Godioli)

Linguaggi e Paradigmi di Programmazione

Un po di statistica. Christian Ferrari. Laboratorio di Matematica

Strutturazione logica dei dati: i file

Forniscono competenze che favoriscono l inserimento nel mondo del lavoro, danno un importante riconoscimento, in termini di crediti, in alcuni ambiti

Lezioni di Matematica 1 - I modulo

Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive.

Gestione della politica monetaria: strumenti e obiettivi corso PAS. Mishkin, Eakins, Istituzioni e mercati finanziari, 3/ed.

Piano dei fabbisogni di capacità

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

2. Simulazione discreta: approcci alla simulazione

Corso di Analisi dei Processi Aziendali

ARTICOLO TECNICO Smart-MED-Parks: il Software

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

e-dva - eni-depth Velocity Analysis

Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e

Transcript:

Tecniche di Simulazione: Introduzione N. Del Buono:

2 Che cosa è la simulazione La SIMULAZIONE dovrebbe essere considerata una forma di COGNIZIONE (COGNIZIONE qualunque azione o processo per acquisire conoscenza) Esistono tre diversi metodi per estrarre conoscenza : Sperimentazione Analisi Simulazione

Che cosa è la simulazione: un esempio Esempio: consideriamo una stazione di servizio con un solo addetto e calcoliamo il tempo medio speso da un automobile nella stazione di servizio. Tre diverse possibilità per rispondere al quesito posto! 1. Esperimento: misurare il tempo che ogni auto spende nella stazione, contare il numero di auto alla fine sommare tutti i tempi e dividere per il numero di automobili 3

4 Che cosa è la simulazione: un esempio 2. Analisi: usare la Teoria delle Code per calcolare il tempo medio speso nel sistema. (Assunzioni: (i) scelta del modello di code semplificazione del sistema reale (ii) scelta dei parametri quantitativi intensità di arrivo- numero di auto per unità di tempo- intensità di servizio-numero di auto servite per unità di tempo).

5 Che cosa è la simulazione: un esempio 2. Simulazione: Scrivere un modello di simulazione che generi in modo random gli arrivi delle auto e la durata del servizio Attenzione: sequenziare tutte le attività in modo che ci sia una corrispondenza 1-1 con il sistema reale! Da programmare: osservazioni, accumulo delle statistiche, valutazione

Che cosa è la simulazione: vantaggi e svantaggi Ciascuno dei tre metodi considerati possiede alcuni vantaggi e svantaggi I tre metodi possono essere confrontati solo in particolari casi e considerando diversi criteri Possiamo comunque effettuare alcune osservazioni. 6

Che cosa è la simulazione: vantaggi e svantaggi Esperimento: metodo più accurato da preferire quando è fattibile. Svantaggi - Possibile pericolosità - Troppo costoso - Impossibile da effettuare se il sistema da investigare non è disponibile 7

Che cosa è la simulazione: vantaggi e svantaggi Analisi: (più matematico) basata su forti assunzioni che generalmente non sono soddisfatte dai sistemi reali Svantaggi - Difficoltà di stesura del modello analitico - Disponibilità dei parametri 8

Che cosa è la simulazione: vantaggi e svantaggi Simulazione: metodo sperimentale. La sperimentazione è effettuata con un modello di simulazione invece che con il sistema reale. Punto chiave della simulazione: costruzione del modello. Svantaggi Creazione di un modello efficiente e implementazione al calcolatore (scelta del linguaggio general purpose o simulation oriented!) 9

Che cosa è la simulazione: vantaggi e svantaggi Limitata conoscenza del sistema da simulare (necessario conoscere alcuni parametri qualitativi (nell esempio intervalli di tempo per gli arrivi e per il servizio) La simulazione è più flessibile dei metodi analitici linguaggi di simulazione sono dotati di routine per la generazione di numeri random con assegnata distribuzione Time consuming 10

11 Quando scegliere la simulazione: regola generale 1. Scegliere l esperimento quando è possibile. 2. Altrimenti cercare un metodo analitico appropriato 3. Usare la simulazione come ultima risorsa. La simulazione contribuisce alla creazione di modelli in cui particolari aspetti vengono analizzati per la prima volta. Può rivelare errori o ambiguità nel modello considerato Può evitare costosi updating di un sistema esistente

12 Simulazione Continua I linguaggi si simulazione continua sono stati sviluppati alla fine degli anni 50 per simulatori di Computer Analogici. La simulazione su computer analogici si basa sulla creazione di sistema elettronico analogico il cui comportamento è descritto dallo stesso modello matematico (equazioni differenziali) che viene utilizzato per investigare il sistema reale.

13 La simulazione su computer analogici Il sistema elettronico è creato interconnettendo dei blocchi standard basati su amplificatori operazionali modificati per agire come integratori, addendi e altre unità funzionali L utente agisce sul sistema elettronico applicato opportuni input e misurando poi il voltaggio a determinati punti di output. Il cambio di voltaggio rappresenta una funzione del tempo che coincide con la funzione che descrive le variazioni nel sistema originale (la cui natura fisica può essere del tutto differente)

14 La simulazione su computer analogici OGGI Problema principale dei computer analogici è l implementazione analogica di alcune operazioni (es. moltiplicazione, generazione di ritardo, ecc) I computer digitali effettuano queste operazioni in modo semplice quindi OGGI la simulazione continua si effettua su di essi. Comunque i computer analogici effettuano l integrazione meglio di quelli digitali (che usano metodi numerici imprecisi e lenti) Uso di computer ibridi

Linguaggi per la simulazione continua Linguaggi per la simulazione continua vengono classificati in: Block oriented simulation languages Expression oriented continuous languages 15

Simulazione Continua: Block oriented simulation languages Basati sulla metodologia dei computer analogici Il sistema deve essere espresso come un diagramma a blocchi che definisce le interconnessioni tra le unità funzionali e i loro parametri qualitativi "Programmare" significa inserire le interconnessioni dei blocchi e la loro descrizione L utente aggiunge istruzioni e/o direttive che controllano la simulazione Se il sistema è descritto da equazioni differenziali deve essere convertito in un diagramma a blocchi Esempi di blcchi: integrators, limiters, delays, constant values adders holders gain (coefficienti) 16

17 Simulazione Continua: Expression oriented continuous languages Basati sulla stesura di espressioni (equazioni) che rappresentano il modello simulato Il sistema deve essere da un insieme di equazioni L utente aggiunge statements e/o direttive per controllare la simulazione Controllare la simulazione selezionare il metodo di integrazione, il passo di integrazione, le variabili da osservare, l intervallo per raccogliere i dati, durata della simulazione ecc.

Simulazione Discreta La simulazione discreta si occupa dei sistemi le cui dinamiche (secondo il livello di astrazione adottato ) possono essere considerate come una sequenza di eventi in istanti discreti di tempo I linguaggi per la simulazione discreta controllo della giusta sequenza delle attività del modello. Si possono classificare in: Flowchart oriented languages Activity oriented languages Event oriented languages Process oriented languages 18

19 Simulazione Discreta: Flowchart oriented languages Linguaggi GPSS (General Purpose Simulation System) L utente deve osservare la dinamica del sistema come un flusso attraverso un diagramma a blocchi delle cosiddette Transactions Le Transactions sono generate seguendo un percorso attraverso la rete dei blocchi e poi distrutte all uscita. In ciascun blocco le transactions possono essere ritardate, processate o passate ad altri blocchi I blocchi sono rappresentati come istruzioni che effettuano delle attività del modello

Simulazione Discreta: activities oriented languages Non sono basati sulla stesura esplicita delle attività del sistema Descrizione delle condizioni che causano ciascuna attività (schedulazione se la condizione è quella che un certo istante sia raggiunto) L algoritmo che controlla la simulazione incrementa ripetutamente la variabile temporale e verifica le condizioni di tutte le attività Svantaggi: valutare tutte le condizioni ad ogni passo ( time consuming ) Vantaggi: concettualmente semplice, implementazione in un linguaggio generale ad alto livello 20

Simulazione Discreta: event oriented languages Basati sulla schedulazione e cancellazione degli eventi futuri Approccio generale La dinamica del sistema da simulare è una sequenza di eventi relativamente indipendenti. Ogni evento può schedulare e/o cancellare un altro evento Presenza di una routine ( event notice ) che tiene traccia degli eventi schedulati (l event notice contiene il tempo, il tipo di evento altri user data) Presenza di un calendario degli eventi ( calendar ) che ordina ogni event notice a seconda del tempo di schedulazione 21

Simulazione Discreta: event oriented languages Dopo il completamento di una event routine il sistema rimuove l event notice con il tempo più basso dal calendario degli eventi aggiorna il modello sistema (variabile temporale) e esegue la routine corrispondente. Il processo viene ripetuto fino a che il calendario si svuota o il programma si arresta per altri motivi Esempio di linguaggio SIMSCRIPT 22

23 Simulazione Discreta: process oriented languages Basati sulla non indipendenza degli eventi Un evento è visto come una consequenza di eventi precedenti (cioè e sempre possibile definire una sequenza di eventi ( detti processi ) che può essere riguardata come entità di un modello di simulazione ad un livello di gerarchia più alto I processo hanno una dimensione I sistemi basati su processi astratti sono molto vicini ai sistemi reali fatti di diversi oggetti che esistono ed agiscono in parallelo interferendo l un l altro Esempi MODSIM, SIMSCRIPT II.5, SIMULA la classe SIMULATION.