« Retorikmagasinet | Main | Tiden och dubbeltittandet »

augusti 23, 2003

Growing Artificial Societies - recension

Recension av boken Growing Artificial Societies: Social Science from the Bottom Up av Joshua Epstein och Robert Axtell.

Denna mycket fascinerande och tankeväckande bok handlar om agentbaserad modellering (agent-based modeling) som försöker skapa/simulera komplexa, emergenta, fenomen utifrån enkla och lokala regler för beteende hos agenter.

Boken ligger perfekt i linje med de två böcker jag nyss läst: Turtles, Termites, and Traffic Jams: Explorations in Massively Parallel Microworlds av Mitchel Resnick och Micromotives and Macrobehavior av Thomas Schelling. (Det är i och för sig inte speciellt förvånande eftersom jag designade läsrutten med tanke på detta.) Se även mina anteckningar om bland annat dessa böcker på Agent-baserad modellering - simuleringar av emergenta fenomen och Matematiska och statistiska "självklarheter".

Huvudtemat i boken är, som dess underrubrik anger, att bygga sociala samhällen från botten och upp. Detta till skillnad från de förhärskande sociala teorierna (inklusive ekonomiska) som bygger modeller och studerar samhället "från toppen". Det finns i boken en genomgående stark kritik mot detta topp-modell-bygge, speciellt ekonomiska teorier. Tyvärr är det (centrala) kapitlet om handel och ekonomi det mest tekniska, men jag tror att man (som jag) även utan djup ekonomisk utbildning kan få utbyte av kapitlet. Mer om detta nedan.

Den föreliggande boken är rätt mycket mer teknisk än de två ovan nämnda böckerna, och är i vissa delar rätt snårig, men i de flesta fallen beror det på att simuleringen som görs innehåller många element (regler) som ska diskuteras. Jag tycker dock att den är generellt sett är mycket klar i sin genomgång.

En rekommendation är att man skaffar den version av boken som inkluderar en CD-ROM med det program (Sugarscape) som författarna utvecklat, eftersom kan man då själv leka med systemet. Tyvärr gjorde jag inte detta, och har inte sett Sugarscape-systemet annat än på bild eller delar som implementerats i andra system. Det finns mängder av "animeringar" (bildsekvenser) av de gjorda simuleringarna så det går ändå att följa författarnas diskussioner.

Tack och lov hade jag, innan jag läste boken, lekt med snarlika system (speciellt NetLogo, se blogganteckningen Agent-baserad modellering- simuleringar av emergenta fenomen), vilket gjorde att jag kunde förstå ("läsa") bilderna utan några större problem. Utan denna förberedande övning är jag osäker på om det skulle gå så lätt. Till skillnad från NetLogo, Swarm och RePast är Sugarscape dock inget generellt modelleringsverktyg som man kan programmera hur man vill; däremot finns, enligt boken, en massa parametrar man kan ändra.

En varning är möjligen på sin plats: När jag läste Resnicks bok satt jag många timmar och studerade, ändrade, funderade kring och lekte med motsvarande modeller som finns i NetLogo. Det tar tid, men är samtidigt mycket lärorikt.

Av samma anledning tror jag att läsning av åtminstone någon av ovan nämnda böcker kan vara en bra introduktion till det agentbaserade synsättet. Epstein & Axtell förklarar i och för sig rätt ingående sitt agent-baserade synsätt, men det skadar nog inte med en kompletterande bild. Schellings bok är närmre rent ämnesmässigt (båda handlar om sociala/ekonomiska fenomen) men har inte samma tekniska referensram som E & A. Resnicks bok har däremot samma tekniska grund (datorbaserad simulering på en spelplan) men behandlar mest andra typer av fenomen, t.ex. biologiska såsom eldflugors synkronisering och myrsamhällens "intelligenta" beteenden.

Jag läste böckerna i ordningen: Resnick, Schelling, Epstein & Axtell.

'Growing Artificial Societies' är alltså en genomgång av olika typer av (sociala) fenomen som uppstår (emergerar) i olika sociala sammanhang, t.ex.

Detta görs genom att simulera agenters beteende på en mycket enkel "spelplan" (Sugarscape), med 50 X 50 rutor fyllda med socker (och senare även med krydda). Sockret motsvarar näring eller vad som helst som är åtråvärt. En agent har en metabolism som innebär att man måste äta en viss mängd socker annars dör man. Varje agent har också en "vision" som gör att man kan se ett visst antal rutor i de fyra väderstrecken.

Simuleringarna går till ungefär så här:
Först definierar man olika regler som gäller för simuleringen både vad gäller rutorna och agenterna. En av de enklaste regeluppsättningarna är följande:

Det finns också en regel för hur en agent förflytta sig över spelplanen vid varje omgång. Oftast innebär det att agenten ska undersöka alla rutor den kan se (med sin begränsade vision) och flytta sig till den ruta som är "bäst" enligt något kriterium, t.ex. där det finns störst mängd socker. Varianter som utvecklas senare i boken använder en lite mer komplicerad "utility function" där man även tar hänsyn till sådant som andra agenters sockerinnehav.

Simuleringen går nu ut på att man "släpper agenterna lösa" och ser vad som händer. I ovanstående enkla modell, med evigt liv och allt är det inte så väldigt mycket som händer, förutom att man kan studera hur välfärden (hur mycket socker agenterna äger) fördelas. Men när man slår på flera (lokala) regler för agenterna och regler hur sockret växer blir det genast intresserantare.

Man ska här notera att det är lokala, decentralicerade, regler för agenterna som gör att ett visst fenomen uppstår. Det finns ingen som helt centralstyrning. Det är också den stora poängen med dessa simuleringar: utifrån enkla (eller rätt enkla) regler kan man få fram fenomen som är (verkar vara) mycket komplexa. På ett flertal ställen skriver författarna (ungefär): om vi skulle visa detta fenomens utveckling men utan att först ha förklarat reglerna, skulle nästan alla antaga att det finns en central, allvetande, intelligens som styr beteendet. Både Resnik och Schelling gör många liknande kommentarer.

De fenomen som uppstår är sådana som man troligen inte kan lista ut genom att studera reglerna, och det är därför fenomenen kallas emergenta: det är fenomen på en annan nivå är de regler som framkallar dem. Omvänt är det mycket svårt att utifrån ett fenomen lista ut vilka regler som gäller. De i boken framförda agent-baserade simuleringarna kan ses som ett redskap att träna upp denna förmåga. (Resnick bok har just detta tränings-/utbildningsmoment som sitt främsta syfte.)

I de flesta av kapiteln beskriver författarna först ett fenomen som de vill kunna "frammana" (simulereras), t.ex. handel. Från en enkel modell med ett fåtal regler bygger man etappvis upp en modell som visar att detta fenomen faktiskt uppstår. Detta görs föredömligt pedagogiskt även om vissa diskussioner (främst vad gäller handel) kan vara väl så intrikata, vilket till stor del beror på ämnets komplexitet.

Andra regler som man efterhand lägger på grundmodellen och sedan studerar effekterna av är:

Det utbyten som görs (reproduktion, arv, lån, smitta) sker endast med de (närmsta) grannarna, dvs helt lokalt.

Analyserna som görs är ofta av aggregerad form, t.ex. medelvärdet av "priset" (på socket), fördelningen av välstånd (som ofta blir snedfördelad), standardavvikelse av pris etc. Återigen är det mest i kapitlet om handel där man använder de mer avancerade teknikerna.

De mängder av regler som skapas simuleras med smått geniala tekniker såsom sökning i binärsträngar etc som kan verka stötande enkla i början. Författarna diskuteras olika sätt att implementera de önskade fenomenen och försöker att välja regler som är så "enkla" som möjligt. "Enkelt" definieras dock inte utan det är ett godtyckligt element som man helt enkelt får köpa. Det intressanta är att enkelheten och de detaljerade diskussionerna om implementationerna gör att man ("vem som helst") mycket väl kan gå vidare och skapa ett eget system för att implementera dessa regler (men tyvärr går det inte att göra sådant i Sugarscape).


Handel
Detta kapitel är mycket intressant även för en sådan som mig som har glömt merparten av det jag läste i nationalekonomi i början av 80-talet. (Varför gick jag inte vidare med detta ämne, det är egentligen riktigt intressant! Spelteori studeras ju där numera.) Jag är alltså egentligen inte tillräckligt insatt i de teorier som kritiseras för att veta hur revolutionerande resultaten var eller hur de står sig nu.

I Resnicks bok blev jag lite tveksam till dennes (i och för sig övergripande) kommentarer om det kapitalistiska systemets alla fördelar med fri handel, och att det skulle vara så mycket bättre än alla andra system. Epstein & Axtell verkar dock inte vara riktigt så odelat positiva till en laissez-faire-ekonomi och kritiserar sådana teorier med hjälp av sina simuleringar.

Man kritiserar den neo-klassicistiska teorin med dess optimala jämvikt, och menar att den inte håller när man simulerar med (decentraliserade) agenter. (Se vidare detaljer i boken. )

Man visar hur olika typer av handel (utbyte av socker mot krydda mellan två grann-agenter) uppstår och påverkar det genomsnittliga priset. Man kommer fram till att det inte behövs någon "osynlig hand" (Adam Smiths 'invisible hand') för att få fram många av de fenomen som vi ser i det verkliga livet.

På flera ställen i boken, där de kritiserar existerande teorier, är just kritiken att de förhärskande modellerna kräver att de deltagande är homogena med avseende på beteenden, och finns det olika grupper så är de homogena inom gruppen. Med den agent-baserade modellen kan man göra varje agent unik (t.ex. slumpa fram unika egenskaper för varje agent) och sedan studera effekterna av detta.

En massa roliga fotnoter finns det också, men jag kollade upp endast ett fåtal av dem under läsningen. En sak jag exempelvis blev nyfiken på, men inte gått vidare med, är hur pengar uppstår. Det beskrivs tydligen i Money as a Medium of Exchange in an Economy with Artificial Agents av Marimon, McGrattan och Sargent (i Journal of Economic Dynamics and Control 14, 1990). Tyvärr har jag inte lyckats hitta detta paper. Någon?

Sjukdomar och immunsystem
Detta är ett kort kapitel där författarna kritiserar den "centralstyrda" SIR-modellen (som använder differentialekvationer) och menar att deras egen agent-styrda modell är väl så bra, eller bättre. Här låter man sjukdomarna vara en bitsträng och immunskyddet vara en annan (längre) bitsträng, och man blir sjuk om sjukdomsbitsträngen inte finns med i immunbitsträngen. För varje omgång byter man dock en bit (1 mot 0 och 0 mot 1) i immunsträngen så att man kan bli immun efter ett antal omgångar. Några fascinerande tankegångar om detta görs. Det är naturligtvis en variant av genetiska algoritmer, men det är roligt att de får med även detta i sin modell.

Andra saker som tas upp i boken:


I det sista summerande och framåtblickande kapitlet diskuteras bland annat (alltför) kort de rent vetenskapliga problem som kan finnas med agentbaserad modellering. Ett argument som de framför som mycket viktigt för denna metod är att man kan skapa dataunderlag eller tidsserier som går att analyseras på "vanligt" sätt. De diskuterar dock väldigt lite de rent metodologiska problemen med sitt angreppssätt, t.ex. hur man objektivt avgör vilka regler som är relevanta eller korrekta eller hur man jämför olika modeller.

Möjligen ser författarna denna kritik som irrelevant eftersom de argumenterar att om man väl kan visa att ett specifikt fenomen kan simuleras med agenter, och man behöver då inte att skapa "centralistiska matematiska monsterteorier" (min term) för att förklara fenomenen. Det är sedan "bara" att finjustera de (lokala) reglerna för att skapa en vällödig teori. Författarna är dock medvetna om de rent beräkningsmässiga problemen med detta: för att simulera relativt enkla agent-system krävs en herrans massa datakraft. Men de litar på att någon kommer fram till effektiva algoritmer.

En av anledningarna till att jag läser denna typ av böcker (om agent-baserad modelleing, emergensteori, självorganiserande system etc) är att jag vill förstå det vetenskapliga rum som frambringade de teorier kring komplexa nätverk som jag, och många andra, är så fascinerade av. Boken 'Growing Artificial Societies' är ett litet steg på vägen även om det inte nämns speciellt mycket konkret som leder fram till Duncan Watts/Steven Strogatz paper Collective dynamics of 'small-world' networks (PDF) och Duncan Watts bok Small Worlds: The Dynamics of Networks between Order and Randomness .

Lite skoj är den alternativa topologin på de sista sidorna. Där nämns en Ring World, där agenterna befinner sig i en ring och kan endast se framåt/bakåt (vänster/höger) på denna ring. Det fenomen som framkommer är en mer avancerad form av de trafikstockningar som Resnick diskuterar i sin bok. Avlägset påminner det om topologin för Watts/Strogatz modell, men det är avlägset.

Litteratur och länkar

Nästa bok jag läser i detta fascinerande ämne blir troligen The Complexity of Cooperation av Robert Axelrod eller The Sciences of the Artificial av Herbert A. Simon, fast jag kanske låter någon annan skoj bok slinka emellan.


Slutord
Denna bok har varit mycket rolig och tankeväckande att läsa. Egentligen inte för att jag är intresserad av de sociala fenomenen som sådana (vilket jag är) utan för att agent-baserad modellering verkar vara en teknik som kan användas till "allting". Och jag tänker nu inte bara på ren vetenskaplig forskning utan även på sådant som "useless modeling" som kanske inte leder vetenskapen framåt. Jämför detta med vad jag skriver om simulering av sannolikhetsteoretiska problem i Lite om resampling, simulering, sannolikhetsproblem etc. och blogganteckningen Resampling - Statistik utan tårar.

Om inte annat har jag märkt att jag i (mer eller mindre seriösa) diskussioner enklare kan komma fram till alternativa lösningar än de vanliga centraliserade förklaringarna, dvs de som går ut på att det måste finnas en ledare som leder eller en allvetande guddom som styr eller skapar. (Richard Dawkins bok The Blind Watch Maker: Why the Evidence of Evolution Reveals a Universe Without Design diskuterar bland annat detta i samband med biologin och utvecklingen av livet. Det är en bok jag måste läsa någon gång!)


Invit
Eftersom jag ännu inte har sett eller lekt med det riktiga Sugarscape-systemet med det är jag intresserad av att se det. Om du har ett sådant system skulle jag kunna tänka mig att resa några mil för att leka med det. Hör gärna av dig i så fall till mig.

Posted by hakank at augusti 23, 2003 12:57 FM Posted to Agentbaserad modellering | Komplexitet/emergens