« Applåder och panik | Main | Kort om R och simulering - ett praktikfall »

augusti 12, 2003

Agent-baserad modellering - simuleringar av emergenta fenomen

Tidigare har jag skrivit om komplexa nätverk, lite om emergenta (självorganiserande) fenomen, se t.ex. vissa av mina anteckningar i kategorin Dynamiska system.

Just nu kollar jag in agent-baserad modellering (agent based modeling), som är ett sätt att modellera bland annat sådana fenomen. Nedanstående är en liten länkdump och kommentarer.

Ett av de systemen som jag ofta använder för att "leka med" sådana simuleringar är NetLogo. Fördelen med NetLogo, jämfört med andra (såsom de utomordentliga Swarm och RePast, som egentligen är mer kompetenta) är dels att det finns en massa färdiga exempel (cirka 120 följer med paketet), dels - och kanske framförallt - att det är mycket enkelt att skapa en Java-applet av simuleringen. Möjligen ska man använda Swarm, Repast eller andra system för att göra professionella simuleringar, men NetLogo är rackarna bra att prototypa med. NetLogo använder en variant av Logo, ett Lisp-inspirerat språk, vilket kan medföra vissa inkörningsproblem, och tyvärr är dokumentationen inte helt uttömmande.

Här är några av de simuleringarna jag rekommenderar att man först tittar på. Har man läst lite böcker om komplexa nätverk känner man nog igen det mesta.

Samtliga sidor har en rätt bra introduktion som förklarar fenomentet och vad som händer i simuleringen. Själva simulerings kör man via länken "Run Xxxxx in your browser". På simuleringssidan finns även källkoden (skrivit i ett Logo-liknande språk).
För samtliga simuleringar gäller det att först klicka på "Setup" och sedan på "Go". För att stoppa simuleringen: klicka på Go igen. Om man har ändrat parametrar måste kan klicka på Setup och sedan Go, vissa parametrar kan man ändra i realtid.

Hör av dig om du har några problem eller andra kommentarer kring NetLogo. Jag har suttit en del med detta och kan kanske hjälpa till.


En fullständig lista på modeller att leka med finns i Models Library. Samtliga dessa följer med utvecklingsversionen av programmet. som kan laddas ner via detta formulär. Det finns även Community Models.

Böcker då, finns det inga böcker att läsa om detta? Ah, roligt att du frågade!

Tyvärr finns det rätt få böcker skrivna specifikt om agentbaserad modellering. Några böcker som jag tycker är bra och med flera exempel är


En sista not: Tyvärr har jag inte hittat något riktigt bra system som simulerar kompelxa nätverk av den typ Watts/Strogatz/Barabasi/andra har studerat. T.e.x har RePast en del sådana funktioner och Indigo har även lite skoj saker, men inte tillräckligt kraftfulla för att vara riktigt användbara.

Någon som vet något sådant system? Det får gärna vara skrivet i Java, men det är absolut inget krav.

Posted by hakank at augusti 12, 2003 11:54 FM Posted to Agentbaserad modellering | Komplexitet/emergens | Social Network Analysis/Complex Networks