Agent-baserad modellering ( ABM) är en simuleringsmetod som utforskar beteendet hos decentraliserade agenter och hur sådant beteende bestämmer beteendet för hela systemet som helhet. I motsats till systemdynamik bestämmer analytikern agenternas beteende på individnivå, och det globala beteendet uppstår som ett resultat av många agenters aktivitet (bottom-up-modellering).
Agentbaserad modellering inkluderar cellulära automater , element från spelteori, komplexa system, multiagentsystem och evolutionär programmering, Monte Carlo-metoder, använder slumptal.
Den första agentbaserade modellen utvecklades i slutet av 1940 -talet . Därefter bidrog utvecklingen av mikrodatorer till vidareutvecklingen av denna riktning och förmågan att genomföra datorsimuleringar.
Huvudtanken bakom agentbaserade modeller är att bygga ett "beräkningsverktyg" (som är en uppsättning agenter med en viss uppsättning egenskaper) som låter dig simulera verkliga fenomen. Det slutliga målet med processen att skapa en ABM är att spåra påverkan av fluktuationer hos agenter som verkar på mikronivå på indikatorerna på makronivån.
Det är allmänt accepterat att agentbaserade modeller härstammar från John von Neumanns datorer, som är teoretiska maskiner med förmåga till självreproduktion . John von Neumann föreslog användning av maskiner som följer detaljerade instruktioner för att skapa exakta kopior av sig själva. Därefter förbättrades detta tillvägagångssätt av von Neumanns vän - Stanislav Ulam , som föreslog att avbilda bilen på papper - som en uppsättning celler på ett gitter. Detta tillvägagångssätt var början på utvecklingen av cellulära automater .
Den mest kända implementeringen av en cellulär automat var spelet " Livet ", som föreslagits av John Horton Conway , som skiljer sig från von Neumann-maskinen i ganska enkla regler för agenternas beteende.
Användningen av AOM för sociala system härstammar från programmeraren Craig Reynolds arbete , där han försökte simulera aktiviteten hos levande biologiska medel ("Artificiellt liv"-modellen).
Agentbaserade modeller bygger på tre huvudidéer:
Det dominerande metodologiska tillvägagångssättet är det tillvägagångssätt där jämvikten eller pseudo-jämvikten för ett system som innehåller många medel beräknas. Samtidigt kan själva modellerna, med hjälp av enkla beteenderegler, ge mycket intressanta resultat.
ABM består av agenter som interagerar dynamiskt enligt vissa regler . Miljön där de interagerar kan vara ganska komplex.
Intelligens. Samtidigt bör denna egenskap vara måttlig så att agenter inte kan lära sig något mer som går utöver spelets regler.
Att ha ett livssyfte. Plats i tid och rum. Detta hänvisar till någon "habitat", som kan representeras både i form av ett rutnät (som i spelet " Livet ") och i form av en mycket mer komplex struktur. Ibland är resultatet av interaktionen mellan agenter i "habitatet" en jämvikt, ibland - en pågående utvecklingsprocess , och ibland - en oändlig cykel utan en definitiv lösning.
AOM anses vara ett komplement till traditionella analysmetoder . De senare tillåter oss att karakterisera systemets jämvikt , och AOM tillåter oss att undersöka möjligheten att erhålla ett sådant tillstånd. AOM kan förklara orsaken till sådana fenomen som: terroristorganisationer , krig , börskrascher, etc.
Helst kan ABM hjälpa till att identifiera kritiska tidpunkter efter vilka nödkonsekvenserna kommer att vara oåterkalleliga.
Sedan mitten av 1990-talet har AOM använts för att lösa en mängd olika kommersiella och tekniska problem. Exempel på uppgifter är:
I dessa och andra tillämpningar definieras beteendestrategier med hänsyn till beteendet hos en uppsättning individuella atomära medel och deras interaktioner. Således kan AOM hjälpa till att studera påverkan av agenters individuella beteende på utvecklingen av hela systemet.
Ett av programmen för att utveckla AOM är den kostnadsfria NetLogo- applikationen . NetLogo utvecklades ursprungligen som ett pedagogiskt verktyg, men nu används det inte bara av studenter utan också av tusentals forskare. Detta program används ofta på universitet för att lära eleverna grunderna i AOM. StarLogo - programmet har liknande funktionalitet .
Ett verktyg för att implementera ett bredare utbud av uppgifter inom området ABM är programmet Swarm . Den använder programmeringsspråket Objective-C och kan rekommenderas till C -programmerare, inte bara proffs utan även nybörjare. Du kan även programmera i Swarm-miljön i Java-språket . Vi noterar även några fler program: MASON , Repast ( Java används ), EcoLab ( C++ används ), Cormas ( SmallTalk används ).
Program