25.10.2005seminario swarm 2005 20061 seminario su swarm 2005-2006 pietro terna [email protected]...

28
25.10.2005 Seminario Swarm 2005 2006 1 Seminario su Swarm 2005- 2006 Pietro Terna [email protected] web.econ.unito.it/terna

Upload: celso-venturini

Post on 01-May-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 1

               

Seminario su Swarm 2005-2006

Pietro Terna

[email protected]

web.econ.unito.it/terna

Page 2: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 2

               = Sciame (di …)

Page 3: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 3

               

Primo semestre

25.10 aula 12

8.11 aula 12 introduzione al C

22.11 aula 12 segue C, con Java e primi passi in Swarm

29.11 aula 12

6.12 aula 12

con prosecuzione nel secondo semestre

(sempre dalle 17.30 alle 19)

Page 4: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 4

               

“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 (anche come .pdf)

a http://web.econ.unito.it/terna/swarm/

questo è seminario_swarm05-06-20051025.ppt o .pdf

Page 5: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 5

               

useremo Swarm 2.2 (il sito di Swarm è: www.swarm.org)

nella versione per Java

distribuirò un CD (con le istruzioni per installarlo)

per chi usa Linux le cose sono facilitate/complicate

Page 6: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 6

               

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/

(in cygwin è compreso il programma ps2pdf che …)]

Page 7: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 7

               

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)

Un tutorial molto interessante (University of Essex, Centre for Computational Finance and Economic Agents) si trova a:

http://www.essex.ac.uk/ccfea/swarm/SwarmTutorial/web/swarm_tutorial.htm

Una introduzione (userbook in ps) tecnica è a eco83.econ.unito.it/swarm/materiale/manIntrSwarm/userbook-0.9-html.tar.gz

Page 8: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 8

               

molto importanti, soprattutto per chi usa Linux, le FAQ gestire da Paul Johnson a: http://www.ku.edu/~pauljohn/SwarmFaq/SwarmOnlineFaq.html

vedere anche la home page http://lark.cc.ukans.edu/~pauljohn/

per Java, i riferimenti sono:

una miniguida utile preparata da Marco Remondino eco83.econ.unito.it/swarm/materiale/prontuarioJavaDiRemondino/ProntuarioJava.zip

il fondamentale lavoro di Bruce Eckel, Thinking in Java, www.mindview.net/Books/TIJ/

per il C: http://eco83.econ.unito.it/swarm/materiale/unaGuidaAlC/GUIDAC.ZIP

Page 9: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 9

               

Tutorial Staelin

seconda versione (sempre provvisoria), con testo e file preparati da Staelin, ahttp://eco83.econ.unito.it/swarm/materiale/jtutorial/JavaTutorial.zip

Page 10: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 10

               

• 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: Objective C o Java)

• contenuti del seminario: dai rudimenti di C e Java al tutorial di Swarm in Java, ai modelli di impresa (jES e jESOF), di agenti con reti neurali (bpct), alle simulazioni di borsa (sum)

Page 11: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 11

               

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

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

Pietro Terna (2001), Creating Artificial Worlds: A Note on Sugarscape and Two Comments, http://jasss.soc.surrey.ac.uk/4/2/9.html

Pietro Terna (2002), Simulazione ad agenti in contesti di impresa. Sistemi intelligenti, 1, XVI,pp.33-51, http://web.econ.unito.it/terna/deposito/simimpr.pdf

Pietro Terna (2003), La simulazione come strumento di indagine per l'economia. Sistemi intelligenti, 2, XV, pp.347-376, http://web.econ.unito.it/terna/deposito/rovereto_terna.pdf

Page 12: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 12

               

http://web.econ.unito.it/terna/deposito/bpct.pdfP.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: Agent-Based Modelling and Object Oriented Programming. Dordrecht and London, Kluwer Academic.

http://web.econ.unito.it/terna/deposito/book2terna_pdf.zipP.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.

I testi sopra appartengono a due libri su Swarm

Page 13: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 13

               

Nuovo libro

Pietro Terna, Riccardo Boero, Matteo Morini, Michele Sonnessa (2006), Simulazione, modelli ad agenti e scienze sociali, il Mulino

Page 14: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 14

               

_______________________________________

Agenti

_______________________________________

Page 15: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 15

               

Page 16: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 16

               

_______________________________________

Introduzione su simulazione ed esperimenti mentali

_______________________________________

Page 17: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 17

               

da www.icosystem.com

Collegamento a game_launch.htm.lnk

pt

A

B

pt pensa che A lo difenda da B

oppure di dover difendere A da B

animazione

Page 18: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 18

               

from http://www.rennard.org/alife/english/antsgb.html

go

+ un ostacolo (clic)__

Collegamento a ants.html.lnk

Page 19: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 19

               

Due parole chiave, non sempre ben usate: emergenza e complessità

• emergenza imprevista o imprevedibile

• complicato o complesso

Page 20: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 20

               

“Competitori” di Swarm:

JAS, http://jaslibrary.sourceforge.net/

Ascape, http://www.brook.edu/dynamics/models/ascape/

Repast, http://repast.sourceforge.net/

Starlogo, http://el.www.media.mit.edu/groups/el/Projects/starlogo/

NetLogo, http://www.ccl.sesp.northwestern.edu/netlogo/

SDML (fondato su SmallTalk, ma soprattutto sulla programmazione dichiarativa vs. imperativa): http://www.cpm.mmu.ac.uk/sdml/

l’elenco potrebbe continuare, con ABLE, http://www.alphaworks.ibm.com/tech/able

con DAML, www.daml.org

con AnyLogic, http://www.xjtek.com/anylogic/

. . .

Page 21: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

21

               

Swarm = biblioteca di funzioni e protocollo d’uso (l’esempio fa riferimento ad uno dei capitoli del tutorial, simpleObserverBug2)

modelSwarm

build objects

schedule object step

activate “glue”

run modelSwarm

grid . . . foodSpace

Bug

aBug

bugList

aBugaBug

aBugaBug

aBug

aBug

Page 22: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

22

               

Swarm = biblioteca di funzioni e protocollo d’uso (l’esempio fa riferimento ad uno dei capitoli del tutorial, simpleObserverBug2)

modelSwarm

build objects

schedule object step

activate “glue”

run modelSwarm

grid . . . foodSpace

Bug

aBug

bugList

aBugaBug

aBugaBug

aBug

aBug

run obseverSwarm

Page 23: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

23

               

Swarm = biblioteca di funzioni e protocollo d’uso (l’esempio fa riferimento ad uno dei capitoli del tutorial, simpleObserverBug2)

modelSwarm

build objects

schedule object step

activate “glue”

run modelSwarm

grid . . . foodSpace

Bug

aBug

bugList

aBugaBug

aBugaBug

aBug

aBug

run obseverSwarm

probe

Page 24: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 24

               

E’ ora di vedere qualcosa . . .E’ ora di vedere qualcosa . . .

simpleObserverBug2 (in Java)

langtonAntSpace.2 (in ObjC)

jheatbugs con valori standard; min-max 170-310; min 170-31000 e 30-10000

jES e jES OF

(riferimento http://web.econ.unito.it/terna/jes/ )

Page 25: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 25

               

Page 26: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 26

               

Page 27: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 27

               

Tesi su:

• simulazione aziendale (e rappresentazione della conoscenza)

• simulazione di sistemi e reti di agenti

• simulazione di borsa

• simulazione e esperimenti

• simulazione dell’economia e didattica

applicazioni nella consulenza (es. http://internet.cybermesa.com/~rfrye/complexica/biosgroup.htm oppure www.icosystem.com), nella finanza, nella logistica, nei grandi eventi

Page 28: 25.10.2005Seminario Swarm 2005 20061 Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

25.10.2005 Seminario Swarm 2005 2006 28

               

UML, Unified Modeling Language: www.uml.org

Eclipse, www.eclipse.org/