Alessandro Pluchino. Dipartimento di Fisica e Astronomia and INFN sezione di Catania Università di Catania - Italy



Documenti analoghi
Introduzione al Linguaggio di Programmazione

Funzioni in C. Violetta Lonati

Gestione Risorse Umane Web

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

MANUALE PARCELLA FACILE PLUS INDICE

TECNICHE DI SIMULAZIONE

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

FPf per Windows 3.1. Guida all uso

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

Registratori di Cassa

7.4 Estrazione di materiale dal web

Il calendario di Windows Vista

Il controllo della visualizzazione

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Il Programma... 3 I moduli... 3 Installazione... 3 La finestra di Login... 4 La suite dei programmi... 6 Pannello voci... 10

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

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

STRUMENTI DI PRESENTAZIONE MODULO 6

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Il Sistema Operativo (1)

Plate Locator Riconoscimento Automatico di Targhe

Database 1 biblioteca universitaria. Testo del quesito

Guida Compilazione Piani di Studio on-line

LA REALTA SEMPLIFICATA NEL MODELLO

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Compilatore risorse display grafico LCD serie IEC-line

Introduzione al MATLAB c Parte 2

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

Manuale Terminal Manager 2.0

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

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

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

Guida all uso di Java Diagrammi ER

GPEWEB UTENTE INTESTATARIO/PROFESSIONISTA

5. Fondamenti di navigazione e ricerca di informazioni sul Web

G P E W E B U T E N T E I N T E S T A T A R I O / P R O F E S S I O N I S T A

Manuale per i redattori del sito web OttoInforma

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Semplice progetto con Arduino simpatico G-meter col quale misurare e registrare le accelerazioni del proprio veicolo

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Office 2007 Lezione 02. Le operazioni più

NOVITÀ SITI COMMERCIALISTA

PRODUZIONE PAGELLE IN FORMATO PDF

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

Esercizio 1: trading on-line

1. Le macro in Access 2000/2003

Metodi Stocastici per la Finanza

PHOTOSHOP BREVE TUTORIAL

Java: Compilatore e Interprete

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO

Approccio stratificato

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

I satelliti. Accesso Remoto

MODULO 5 Appunti ACCESS - Basi di dati

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

2 D: Come posso esaminare / cancellare le pagine visitate in passato? 3 D: Come posso individuare specifiche pagine visitate in passato?

Esercizio data base "Biblioteca"

Soluzione dell esercizio del 2 Febbraio 2004

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

CamiGas-Digigas: Manuale Referente

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Esercizi di JavaScript

Tecniche grafiche per il disegno a mano libera il segno espressivo

Soluzione dell esercizio del 12 Febbraio 2004

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Allocazione dinamica della memoria - riepilogo

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D

SIFORM MANUALE VOUCHER FORMATIVI A DOMANDA AZIENDALE

GUIDA ALL UTILIZZO DI MF QUICKEN

Disegni di Ricerca e Analisi dei Dati in Psicologia Clinica. Rcmdr

ESERCITAZIONI DI ELETTRONICA I

Editor vi. Editor vi

How-to PDFCreator Cos è Cosa fa Come funziona Creare un PDF

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

1.0 GUIDA PER L UTENTE

Iniziativa Comunitaria Equal II Fase IT G2 CAM Futuro Remoto. Esercitazione. Creazione di Diagrammi di Gantt con Win Project

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

Struttura logica di un programma

LINGUAGGI DI PROGRAMMAZIONE

GEOGEBRA I OGGETTI GEOMETRICI

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Guida Software GestioneSpiaggia.it

FUNZIONI DI IMPAGINAZIONE DI WORD

Brochure Internet. Versione The Keyrules Company s.r.l. Pagina 2 di 8

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Introduzione a ROOT. 1. Informazioni generali

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Selezionando la sezione Avviso Bonario, si apre la schermata seguente:

MICHELANGELO Piattaforma autorizzativa per la gestione di interventi riservata ai fornitori

Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

Antonio Guerrieri UTILIZZO DEL COMPUTER E GESTIONE DEI FILE IN MS WINDOWS

Office 2007 Lezione 08

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

Transcript:

Alessandro Pluchino Dipartimento di Fisica e Astronomia and INFN sezione di Catania Università di Catania - Italy Group web page: www.ct.infn.it/~cactus

Cosmologia, Astronomia, Astrofisica, Teoria della Relativitá Generale... Fisica Nucleare e particellare, Meccanica Quantistica, GUT, Teoria delle Stringhe,... Nascita delle Scienze Fisiche XVI secolo

anni Settanta anni Ottanta anni Novanta Teoria delle Catastrofi Studia i punti critici che modificano bruscamente il comportamento di un sistema Teoria del Caos Sistemi a pochi gradi di libertá, non linearitá, caos deterministico, sensibilità alle condizioni iniziali ed effetto farfalla, autosimilarità, geometria frattale Teoria della Complessità Sistemi a molti gradi di libertá, criticità autoorganizzata, sistemi lontani dall equilibrio termodinamico con interazioni a lungo range, sistemi at the edge of chaos, networks e fenomeni emergenti

Modelli Matematici Teoria Modelli Verbali Modelli Simulativi

Il software NETLOGO, sviluppato originariamente da Uri Wilensky nel 1999 presso il Center for Connected Learning and Computer-Based Modeling della Northwestern University (http://ccl.northwestern.edu/netlogo/), offre un ambiente di sviluppo ideale per la realizzazione di modelli di simulazioni ad agenti, di networks e di sistemi dinamici.

All interno di NETLOGO é possibile riprodurre molte delle caratteristiche di un sistema complesso, studiare la sua evoluzione nel tempo e visualizzarla in tempo reale all interno di un laboratorio virtuale 2D o 3D. NETLOGO é stato scritto in JAVA ma é completamente programmabile per mezzo di un meta-linguaggio ad oggetti semplificato basato sulla sintassi del Logo (S.Papert, anni 60) ed introdotto originariamente nell ambiente Starlogo, il progenitore di Netlogo creato all MIT nel 1990 (M.Resnick).

L ambiente di sviluppo di NETLOGO interpreta direttamente il codice senza bisogno di compilarlo, quindi al suo interno é possibile, in tempo reale: - interagire con il sistema attraverso pulsanti e sliders per modificare i parametri di controllo; - visualizzare variabili, grafici e istogrammi relativi alla simulazione; - importare/salvare immagini e dati da/su files esterni;

E possibile inoltre: - effettuare set di esperimenti al variare delle condizioni iniziali o dei parametri di controllo; - lanciare le simulazioni piú pesanti in modalitá off-line su computer remoti; - usufruire di una ricca libreria di modelli di esempio da cui prendere spunto e di un help pratico ed ipertestuale; - salvare le proprie simulazioni come applet JAVA e visualizzarle immediatamente dentro un web browser.

Corrispondo ai pixel del mondo virtuale e sono quindi immobili. Possono cambiare colore o contenere informazioni sotto forma di variabili proprietarie

Sono oggetti in grado di muoversi, cambiare colore, forma e proprietá, anche stavolta sotto forma di variabili proprietarie.

Vediamo qualche esempio per familiarizzare con l interfaccia grafica:

In NETLOGO si possono definire 3 tipi di variabili: Esistono in esemplari unici e sono visibili da qualunque punto del codice. Vengono dichiarate fuori da ogni altra procedura e aggiornate col comando set nome_var valore oppure direttamente dall interfaccia di sviluppo attraverso gli Sliders, gli Switch o i Chooser

Esistono anch esse in esemplari unici e sono visibili solo all interno della routine dove sono state dichiarate con let nome_var valore

Appartengono alle turtles (turtles-own) o alle patches (patches-own) e sono replicate per ciascuna di esse (in JAVA sarebbero attributi degli oggetti appartenenti alle classi turtles e patches ).

who xcor, ycor heading color shape size label turtles-own [var1 var2...] breed [boxes box ] breed [cars car ] pxcor, pycor pcolor plabel plabel-color patches-own [pvar1 pvar2...]

Precedono le procedure vere e proprie e servono a dichiarare le variabili globali, le breeds e le variabili proprietarie. Il loro corpo é delimitato da parentesi quadre.

In NETLOGO tutto il codice del modello risiede nello stesso listato, suddiviso in procedure che possono essere destinate all esecuzione da parte del modello, delle patches o delle turtles. Le procedure possono essere di due tipi diversi: Sono richiamate da altre subroutines oppure direttamente dall interfaccia grafica per mezzo della pressione di un button. Possono prendere valori in ingresso ma non restituiscono alcun valore in uscita. Iniziano sempre con la parola chiave to e finiscono con end.

In NETLOGO tutto il codice del modello risiede nello stesso listato, suddiviso in procedure che possono essere destinate all esecuzione da parte del modello, delle patches o delle turtles. Le procedure possono essere di due tipi diversi: Sono chiamati da altri reporters o subroutines. Possono prendere valori in ingresso e restituiscono sempre un valore in uscita, attraverso il comando report. Iniziano sempre con la parola chiave toreport e finiscono con end.

Le due principali subroutines, presenti in quasi tutte le simulazioni create con Netlogo sono: Chiamata dal relativo pulsante sull interfaccia grafica: serve ad inizializzare le variabili, lo spazio virtuale e gli eventuali grafici. Serve anche: - a creare le turtles che verranno usate nella simulazione e a fissarne le condizioni iniziali; - ad inizializzare le patches e gli altri elementi d ambiente; Chiamata dal relativo pulsante sull interfaccia grafica: serve a fare partire la simulazione, a far muovere le turtles o a cambiare stato alle patches. In realtá di solito contiene le istruzioni per eseguire un singolo run della simulazione. Attivando peró la casella Forever si impone alla routine di ripetersi fino a quando non venga nuovamente premuto il pulsante GO.

Il comando crt n crea n turtles nell origine. In alternativa sprout n [commands] crea n turtles sulla patch corrente ed esegue i comandi contenuti nel blocco. Uno dei comandi principali di Netlogo é la parola chiave ask, applicabile sia alle turtles che alle patches. Il comando fd é l abbreviazione di forward e fa avanzare le turtles

Vediamo ora il listato di un nuovo modello di esempio che arricchisce il precedente introducendo due sottospecie (breeds) di turtles, i cani e i gatti, che avranno un comportamento diverso: i gatti si muoveranno a caso; i cani invece si muoveranno cercando di inseguire uno dei gatti ad essi piú vicini.

Arrivati a questo punto, potremmo sentire l esigenza di complicare ulteriormente il comportamento dei cani e dei gatti, per esempio facendo sí che i cani mangino gli eventuali gatti che finiscono sulla loro stessa patch e che i gatti cerchino di sfuggire agli attacchi dei cani. Basta poco peró per rendersi conto che ci mancano ancora degli importanti elementi di programmazione indispensabili per consentire agli agenti di compiere simili scelte: passiamo dunque ad introdurre le cosiddette strutture per il controllo di flusso.

if condition [ commands ]...dove condition é un espressione boolena ifelse condition [ commands1 ] [ commands2 ] ifelse-value condition [ value1 ] [ value2 ] loop [ commands ]...per uscire dal loop si usa il comando stop repeat number [ commands ] while [conditions] [ commands ] foreach list [ commands ] sono in pratica degli array ;; si applica agli elementi di liste tipo ;; mylist = [2 7 10 "Bob"]. Con: set mylist lput 42 mylist ;; mylist diventa [2 7 10 "Bob" 42]

plot number Incrementa il valore x della plot-pen corrente di un intervallo plot-peninterval, e poi disegna un punto (o tratto di linea, o barra) al nuovo valore di x e al valore di y pari al valore della variabile number. Inizializzazione del grafico plotxy number1 number2 Muove la plot-pen corrente al punto di coordinate (number1, number2). Se la plot-pen é down, verrá disegnata una linea, una barra, o un punto (a seconda del modo della penna).

Inizializzazione dell istogramma histogram-from agentset [ variable ] Disegna un istogramma mostrando la distribuzione di frequenza (pdf) dei valori della variabile proprietaria variable di un certo agentset (ad esempio turtles). L altezza delle barre rappresenta il numero di agenti con il valore della variabile compreso in un dato range. histogram-list list Come sopra, solo che i valori per creare l istogramma sono presi da una lista (array).

http://www.ct.infn.it/cactus/