An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8:...

24
Bill Rand Assistant Professor of Business Management Poole College of Management North Carolina State University An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models

Transcript of An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8:...

Page 1: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

BillRand AssistantProfessorofBusinessManagement

PooleCollegeofManagementNorthCarolinaStateUniversity

An Introduction to Agent-Based Modeling

Unit 8: History of ABM and Classic Models

Page 2: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

Unit8Overview

• CellularAutomata• GeneticAlgorithmsandCAS• Logo• Object-OrientedProgramming• Parallelism• Graphics

Page 3: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

JohnvonNeumann

• Helpeddeveloponeofthefirstcomputers,ENIAC

• Wantedtodevelopself-replicatingmachines

• CollaboratingwithStanislawUlamcreateCellularAutomata

• developedtheUniversalConstructorwith29states

Page 4: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

JohnConwayandtheGameofLife

• UsedaGoboardtoinvestigateCA• GameofLife:

1. Ifacellhasthreeneighborsitbecomesalive(birth)

2. Ifithastwoorthreeneighborsitstaysalive(persistence)

3. Anyothercombinationmeansthecelldies(overcrowdingorloneliness)

• Self-reproducingandUniversalComputer

Page 5: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

ArthurW.BurksandStephenWolfram

• ArthurW.BurkscarriedonvonNeumann’swork

• TheoryofSelf-ReproducingAutomata(1966)

• StephenWolfram• Conductedacensusofthe1-DCAruleswithradius=1

• uniform,random,cyclical,andcomplex

• madetheclaimthatthewholeworldcouldbemodeledusingCA

• AlsocreatedMathematica

Page 6: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

RelationshipbetweenCAandABM

• DevelopersofearlyABMwereawareofCA• NoevidencethatearlyABMersthoughoftheirmodelsasCA

• Thesetupsaresimilar• eachcellcanbeviewedasanagent• vonNeumann’smodelswerefirstcomputationalmodelsofbiologicalsystems

• CAschedulerissimilar• Wolfram’sclassificationissimilartocurrentattemptstoclassifycomplexsystems

Page 7: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

JohnHolland• InspiredbyHebb’sideasaboutneuronsandRosenblatt’sworkontheperceptron,Hollanddecidedtobuildacomputationalmodelofevolutionaryadaptation

• In1975publishedAdaptationinNaturalandArtificialSystems,describingtheGeneticAlgorithm

• HollandwasalsoinfluencedbySamuel’sworkoncheckers,andstartedtothinkabouthowtocreateadaptiveagents

Page 8: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

EarlySFIandEconomicModeling• HollandbecameinvolvedintheSantaFeInstitutearound1985

• In9/1987,hepresentedsomeofhisideasaboutadaptiveagentsatameetingoftheeconomyasacomplexadaptivesystem

• workedwithBrianArthur,BlakeLeBaron,RichardPalmer,andPaulTaylertocreatetheSantaFeArtificialStockMarket

• in8/1986,JohnReed,CEOofCiticorpmetatSFIwithKenArrow,BrianArthur,andJohnHollandtogethertothinkaboutnewwaystomodeleconomics,ledtoSwarm

• JohnMillerandJohnHollandpublishthe1991paperon“ArtificialAdaptiveAgentsinEconomicTheory”

• ManyofthesemodelswereinspiredbyHerbertSimon’sworkonBoundedRationality

HerbertSimon

Page 9: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

TheBACHGroup

• HollandwasalsoamemberofagroupofresearchersatMichiganknownastheBACHgroup:• ArthurBurks,RobertAxelrod,MichaelCohenandJohnHolland

• Thisgroupalsoinspiredtwoprominentgraduatestudentswhocontinuedtoworkinthisspace:• MelanieMitchellandStephanieForrest

Page 10: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

HollandandHiddenOrder

• Workingwiththisgroup,Hollandstartedtodeveloptheclassifiersystem

• Thisledtotheideaofaworldwherenever-endingnoveltycouldevolve,Echo

• ThiswasdescribedinaStanislawUlamlecture,whichbecamethebook,HiddenOrder(1993)

Page 11: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

SeymourPapertandLogo

• StudiedwithPiagetinSwitzerland

• Inthelate1960s,SeymourPapertwasappointedco-directorofMIT’sArtificialIntelligenceLabwithMarvinMinsky

• Papert,Feurzeig,BorrowandSolomoncreatedLogoin1969

• LogoisbasedonLisp,butwasdesignedtogivechildrenaccesstoprogramming

Page 12: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

TheTurtle• Theturtlewasdevelopedpost-Logotoaidstudentsinlearningthelanguage

• Theturtleisa“body-syntonic”object• Theearlyturtlesweremechanicalandtetheredtothecomputer,butsoonbecamevirtualandvisual

• Logowasintroducedtoschoolsandmillionsofchildrenparticipatedinusingit

• TheLogoturtlemayhavebeenthefirstcomputationalagentinwideuse

Page 13: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

NetLogoandLogo

• NetLogotookmuchofitssyntaxfromLogo• Alsoborrowedtheslogan,“lowthreshold,highceiling”

• TheinfluenceofLogoisnotonlyinNetLogo,butmanyABMlanguages

• Theideaofvisualizingagentsmovingarounda2-DspaceisdrawnfromLogo

Page 14: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

TheExpansionoftheFunction

• Afunctioninaprogramminglanguagewasoriginallysomethingthattookanumberasaninputandgaveanumberasanoutput

• JohnMcCarthy’sworkonLisp(1958)expandedthenotionoffunction,buildinguponAlonzoChurch’slambdacalculus(1932)byallowingfunctionstotakeotherfunctionsasinputs

• However,Lispstillkeptfunctionsanddataseparate,e.g.,youneededdifferentadditionoperatorsfordifferentdatatypes

Page 15: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

TheCreationofObject-OrientedProgramming

• DahlandNygaarddevelopedsimulationsformaritimeships,andcreatedthenotionofa“class”,whichwasanobjectthatcombineddataandfunctionsinthelanguageSimula

• Buttheterm“object-orientedprogramming”wasnotuseduntilthedevelopmentofSmalltalkbyAlanKayandcolleagues(1972) AlanKay

Page 16: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

OOandABM

• Agentsareofteninstantiatedasclasses(orwhatNetLogocallsbreeds)

• Thenotionofobject-orientedprogrammingisthattheseclassescancontaindifferentdatafields,anddifferentfunctionscanbeappliedtothem

Page 17: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

ActorModel• CarlHewittatIBM(1973)developedtheActormodelofprogramming(formalizedbyBishopandSteiger)

• ThismodelsimplifiedSmalltalkandSimulaandwasinfluencedbyPapert’sworkonbody-syntonicreasoningandKay’sworkonOO

• Actorscanonlydoafewthings:send/receivemessages,createotheractors,manipulatemessages

• Eachactorhasanaddresstheonlywaytomessageanactoristoknowtheiraddress

• Eachactorhasalimitednumberofaddressesitcanknow

• Actorsareinherentlyconcurrent

Page 18: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

OOProgramming

• EventuallyallofthisresultedinthemodernOOlanguages• C++,Objective-C,CocoaandtheABMplatforms

• ActorsinfluencedABMinmanyways:• anemphasisonconcurrentcomputation• localinteractions• boundedinteractionspaces• dynamic• thenotionofbehaviorsandpropertiesofindependententities

Page 19: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

Parallelism

• Inthe1980sDannyHillisdevelopedanarchitectureforaparallelcomputerhecalleda“connectionmachine”

• UnliketraditionalvonNeumannmachinestherewasn’tasingleCPU,butinsteadthousandsoflow-cost,low-capacityprocessorsconnectedtogether

• UsedaframeworkknownasSingleInstruction,MultipleData(SIMD)

• HillisfoundedThinkingMachinestocommercializethisproduct

Page 20: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

ParallelProgrammingLanguages

• Bytheendofthe80sspecialprogramminglanguages,suchasStarLispandC-Starweredevelopedtoprogramthismachine

• CM-2had65,536processors• Datawasspreadacrosstheprocessors• Documentretrievalandobjectrecognitionwereearlysuccesses

• Veryusefulforcellularautomata• StarLogo(anearlyformofABM)waswritteninStarLisp

Page 21: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

ParticleSystems

• Earlyonincomputergraphics,visualizationswereaccomplishedbyusinglargeflatsurfacesandtextures

• Butsurfacesdon’tworkwellforsmoke,stars,light,orevenbirds

• Neededapointrepresentation(Reeves,1983),whichcametobeknownasparticlesystems

Page 22: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

RelationshiptoABM

• Particlessystemsalsoexhibitemergentphenomenon

• Theyexhibitagentinteractioninthesensethatwhenmanyparticlescometogetheritlookslikeanobject

Page 23: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

Boids

• ParticleSystemspartiallyinspiredCraigReynoldstodeveloptheBoidsmodel

• Threesimplerulescreatetheflockingpatterns

• ShortlyafterReynoldspresentedBoidsatSIGGRAPH’87,ChrisLangtonheldthefirstorganizedworkshoponArtificialLife

• ArtificialLifehasthegoalofcreatinglife-likeobjectsinacomputeranddrawsonBoids,CA,andGAs

Page 24: An Introduction to Agent-Based Modeling8.pdf · An Introduction to Agent-Based Modeling Unit 8: History of ABM and Classic Models. Unit 8 Overview • Cellular Automata • Genetic

Unit8Overview

• CellularAutomata• AdaptiveAgentsandGeneticAlgorithms

• LogoandtheTurtle• Object-OrientedProgramming

• Parallelism

• ParticleSystems• Unit8Slides• Unit8Test