Seminario su Swarm 2001-2002 Pietro Terna [email protected] web.econ.unito.it/terna 24.10.2001 Seminario Swarm 2001 2002 1 = Sciame (di …) 24.10.2001 Seminario Swarm 2001 2002 2 Primo semestre [24.10 aula 12] 7.11 aula 12 introduzione al C 14.11 aula 12 segue C, con Java e primi passi in Swarm 28.11 aula 12 19.12 aula 12 (sempre dalle 17.15 alle 19) 24.10.2001 Seminario Swarm 2001 2002 3 “nostro” sito a http://eco83.econ.unito.it/swarm/ iscriversi alla mailing list seminarioswarm (vedi sopra per le istruzioni) inoltre è utile http://eco83.econ.unito.it/swarm/materiale/ questo file ppt e i successivi sono/saranno in linea a http://web.econ.unito.it/terna/swarm/ e a http://eco83.econ.unito.it/swarm/materiale/pptDelSeminario01-02/ questo è seminarioSwarm01-02-20011024.ppt 24.10.2001 Seminario Swarm 2001 2002 4 useremo Swarm 2.2 il sito di Swarm è: www.swarm.org (situazione del progetto) esiste anche http://sf.net/projects/swarm la versione 2.2 si trova a ftp://ftp.swarm.org/pub/swarm/binaries/w32/latest/ nome del file Swarm-2.2-pretest-2.tar.gz (48 M) con Windows, Swarm si usa con cygwin (cygwin.com) con 50 M di download (cygwin è anche utile per imparare il C) avremo un CD (e le istruzioni per installarlo) per chi usa Linux le cose sono facilitate/complicate 24.10.2001 Seminario Swarm 2001 2002 5 Una vista generale di Swarm (Minar et al., 1996) è a http://www.swarm.org/archive/overview.ps [per chi ha problemi con i file ps (in Windows), si consiglia l’uso di gsview, vedere http://www.cs.wisc.edu/~ghost/ ] Una introduzione in italiano a Swarm (sia nella versione Objective C, sia in quella Java, si trova a: http://alex.unipmn.it/activities/corso.html (ad opera di Marie-Edith Bissey) Una introduzione (userbook in ps) tecnica è a eco83.econ.unito.it/swarm/materiale/manIntrSwarm/userbook-0.9.tar.gz Per il C suggerisco http://eco83.econ.unito.it/swarm/materiale/unaGuidaAlC/GUIDAC.ZIP in formato doc 24.10.2001 Seminario Swarm 2001 2002 6 molto importanti, soprattutto per chi usa Linux, le FAQ gestire da Paul Johnson a: http://lark.cc.ukans.edu/~pauljohn/SwarmFaq/FAQ.html vedere anche la home page http://lark.cc.ukans.edu/~pauljohn/ per Java, i riferimenti saranno sia ad una miniguida utilissima preparata da Marco Remondino eco83.econ.unito.it/swarm/materiale/prontuarioJavaDiRemondino/ProntuarioJava.zip sia ad altro materiale on line, tra cui il fondamentale lavoro di Bruce Eckel, Thinking in Java, www.mindview.net/Books/TIJ/ 24.10.2001 Seminario Swarm 2001 2002 7 Tutorial Staelin seconda versione (sempre provvisoria), con testo e file preparati da Staelin, a http://eco83.econ.unito.it/swarm/materiale/jtutorial/JavaTutorial.zip 24.10.2001 Seminario Swarm 2001 2002 8 • A che cosa serve Swarm • Agent based computational economics • “terza via” dei modelli (letterari, matematici, di simulazione): D.Parisi (2001), Simulazioni – La realtà rifatta nel computer, il Mulino; sito di Leigh Tesfatsion http://www.econ.iastate.edu/tesfatsi/ace.htm • la scelta della programmazione a oggetti (Swarm da Objective C a Java) • contenuti del seminario: dai rudimenti di C e Java al tutorial di Swarm in Java, ai modelli di impresa (jve), di agenti con reti neurali (bpct), alle simulazioni di borsa (sum) 24.10.2001 Seminario Swarm 2001 2002 9 Letture, iniziando da un Journal on line JASSS, The Journal of Artificial Societies and Social Simulation a http://jasss.soc.surrey.ac.uk/ Pietro Terna (1998), Simulation Tools for Social Scientists: Building Agent Based Models with SWARM, http://jasss.soc.surrey.ac.uk/1/2/4.html Pietro Terna (2001), Creating Artificial Worlds: A Note on Sugarscape and Two Comments, http://jasss.soc.surrey.ac.uk/4/2/9.html Troy J. Strader, Fu-Ren Lin and Michael J. Shaw (1998) , Simulation of Order Fulfillment in Divergent Assembly Supply Chains, http://jasss.soc.surrey.ac.uk/1/2/5.html 24.10.2001 Seminario Swarm 2001 2002 10 http://web.econ.unito.it/terna/deposito/bpct.pdf P.Terna (2000), Economic Experiments with Swarm: a Neural Network Approach to the Self-Development of Consistency in Agents' Behavior, in F. Luna and B. Stefansson (eds.), Economic Simulations in Swarm: AgentBased Modelling and Object Oriented Programming. Dordrecht and London, Kluwer Academic. http://web.econ.unito.it/terna/deposito/book2terna_pdf.zip P.Terna (2001), Cognitive Agents Behaving in a Simple Stock Market Structure, in F.Luna and A.Perrone (eds.), Agent-Based Methods in Economics and Finance: Simulations in Swarm. Dordrecht and London, Kluwer Academic. http://www.wkap.nl/book.htm/0-7923-7419-3 Due libri su Swarm! 24.10.2001 Seminario Swarm 2001 2002 11 Due parole chiave, non sempre ben usate: emergenza e complessità • emergenza imprevista o imprevedibile • complicato o complesso 24.10.2001 Seminario Swarm 2001 2002 12 Agenti in Swarm: PS, CS, GA, ANN, f(), ES, generico SW Per simulazione di: sistemi economici, fisici, biologici … di sistemi sw (per prove simulate di grandi sistemi??) “Competitori”: Ascape, http://www.brook.edu/dynamics/models/ascape/ Starlogo, http://el.www.media.mit.edu/groups/el/Projects/starlogo/ SDML (fondato su SmallTalk, ma soprattutto sulla programmazione dichiarativa vs. imperativa): http://www.cpm.mmu.ac.uk/sdml/ 24.10.2001 Seminario Swarm 2001 2002 13 Swarm = biblioteca di funzioni e protocollo d’uso (l’esempio fa riferimento ad uno dei capitoli del tutorial, simpleObserverBug2) grid . . . foodSpace modelSwarm build Bug objects aBug bugList schedule object step activate “glue” run modelSwarm aBug aBug aBug aBug aBug aBug 24.10.2001 Seminario Swarm 2001 2002 14 Swarm = biblioteca di funzioni e protocollo d’uso (l’esempio fa riferimento ad uno dei capitoli del tutorial, simpleObserverBug2) grid . . . foodSpace modelSwarm build Bug objects aBug bugList schedule object step activate “glue” run modelSwarm aBug aBug run obseverSwarm aBug aBug aBug aBug 15 Swarm = biblioteca di funzioni e protocollo d’uso (l’esempio fa riferimento ad uno dei capitoli del tutorial, simpleObserverBug2) grid . . . foodSpace modelSwarm build Bug objects aBug bugList schedule object probe step activate “glue” run modelSwarm aBug aBug run obseverSwarm aBug aBug aBug aBug 16 E’ ora di vedere qualcosa . . . simpleObserverBug2 (in Java) langtonAntSpace.2 (in ObjC) jheatbugs con valori standard; min-max 170-310; min 170 jVEFrame e jve.ppt (riferimento http://web.econ.unito.it/terna/jve/jve.pdf ) 24.10.2001 Seminario Swarm 2001 2002 17 24.10.2001 Seminario Swarm 2001 2002 18 24.10.2001 Seminario Swarm 2001 2002 19 Tesi su: • simulazione aziendale (e rappresentazione della conoscenza) • simulazione di borsa • simulazione e esperimenti • simulazione dell’economia e didattica applicazioni nella consulenza (es. www.biosgroup.com), nella finanza, nella logistica, nei grandi eventi 24.10.2001 Seminario Swarm 2001 2002 20 UML, Unified Modelingn Language: www.uml.org ArgoUML, Object-oriented design tool with cognitive support (OpenSource): argouml.tigris.org Together, a www.togethersoft.com (per la licenza: scrivermi [email protected] indicando l’impegno ad un uso solo di studio, nonché fornendomi un indirizzo postale) 24.10.2001 Seminario Swarm 2001 2002 21