„AgentPy“ išsiskiria tarp agentų pagrįstų modeliavimo (ABM) sistemų dėl jo integruoto požiūrio, mokslinio dėmesio ir optimizavimo šiuolaikinėms interaktyvioms skaičiavimo aplinkoms. Skirtingai nuo daugelio ABM struktūrų, kuriose daugiausia dėmesio skiriama atskiroms modeliavimo proceso dalims, „AgentPy“ įtraukia kelias užduotis, reikalingas agentams pagrįstai modeliavimui, pavyzdžiui, modelio projektavimui, interaktyviems modeliavimams, skaitmeniniams eksperimentams ir duomenų analizei vienoje vieningoje aplinkoje, kuri yra ypač pritaikyta naudoti su „Python“ „Ipython“ ir „Jupyter Notebook“ sąsajomis. Ši integracija palengvina sklandų darbo eigą nuo modelio koncepcijos per eksperimentavimą iki analizės, nekeičiant įrankių ar aplinkos. „AgentPy“ dizainas pabrėžia mokslinį griežtumą, palaikančias savybes, plačiai naudojamas eksperimentiniam modelio vertinimui, įskaitant parametrų mėginių ėmimą, Monte Karlo eksperimentus, stochastinius procesus, lygiagrečią skaičiavimą ir jautrumo analizę. Šios galimybės yra įtrauktos į sistemą, kad padėtų tyrėjams vykdyti didelio masto, sistemingus jų modelių tyrimus.
Palyginti su kitais ABM rėmais, „AgentPy“ priima labai modulinę ir pitoninę struktūrą, kur pats modelis centralizuoja vaidmenis, dažnai padalintus skirtinguose komponentuose kituose rėmuose. Pavyzdžiui, „AgentPy“ aplinka ir globalūs kintamieji yra tiesiogiai modelio klasėje, kartu su agentais ir scenarijaus parametrais. Agentų koordinavimo ir agento sprendimų priėmimo procesai, kuriuos gali būti tvarkomi atskiri planavimo moduliai kitose sistemose, tokiose kaip Mesa, yra integruoti į „agentų sąrašo“ klasę, supaprastinant agentų elgesio įgyvendinimą ir vykdymą. Šis dizaino pasirinkimas suteikia paprastumo kodavimui, išlaikant galimybę atstovauti sudėtingoms sąveikoms. Modeliavimo veiksmai yra įtraukti į modelio metodą, vadinamą „žingsniu“, kuris automatiškai naudojamas vykdymo metu, skatinant modeliavimo laiko progreso aiškumą.
„AgentPy“ taip pat apima pažangų eksperimentinį dizainą ir valdymą. Skirtingai nuo kai kurių rėmų, kurie veikia pavienius modeliavimus arba pateikia tik pradinius parametrų šluotų įrankius, „AgentPy“ siūlo „eksperimento“ modulį, leidžiantį atlikti daugybę scenarijų su kintamaisiais parametrais. Tai įgalina patikimą vertinimą per parametrų erdves ir padidina atkuriamumą. Parametrai eksperimentuose paprastai pateikiami kaip žodynų sąrašai, leidžiantys lanksčiai aprašyti kelias scenarijaus konfigūracijas, kurios vėliau automatiškai vykdomos ir įrašomos eksperimentavimo metu. Modelis turi prieigą prie šių parametrų vykdymo metu, o ne tik inicijavimo metu, o tai padidina dinaminių modelio koregavimo lankstumą modeliavimo metu.
„AgentPy“ ekosistema yra optimizuota interaktyviam skaičiavimui, kuris išskiria ją iš tradicinių ABM aplinkų, tokių kaip „NetLogo“ ar „Repast“, kuri gali būti atskirti ar pagrįsti GUI. Integracija su „Jupyter“ nešiojamaisiais kompiuteriais suteikia vartotojams galimybę vykdyti modeliavimą, vizualizuoti rezultatus ir atlikti analizę reaktyviai, iteraciškai, palaikant šiuolaikines mokslines darbo eigas, kurios sklandžiai maišo kodą, rezultatus ir pasakojimą. Interaktyvaus skaičiavimo optimizavimas taip pat palaiko laipsnišką modelio kūrimą ir derinimą, o tai yra vertinga tyrėjams, kurie laipsniškai kuria sudėtingus modelius. Duomenų analizės įrankiai, įskaitant tiesioginį eksportą į bendrus mokslinius duomenų formatus, yra šios integruotos vizijos dalis, padedanti tiltuoti modeliavimą ir analizę neišeinant iš aplinkos.
„AgentPy“ dėmesys moksliniam naudojimui taip pat pasireiškia palaikant pažangias statistinius ir eksperimentinius metodus. Modeliai gali įtraukti stochastinius procesus natūraliai ir paleisti Monte Karlo modeliavimą su įmontuotu paralelizmu, padidindamas efektyvumą tiriant modelio kintamumą ir netikrumą. Skirtingai nuo bendrosios paskirties ABM struktūrų, kurioms gali prireikti išorinių ar pasirinktinių įrankių plačioms eksperimentinėms sąrankoms, „AgentPy“ suteikia šias galimybes, todėl jis yra ypač tinkamas akademiniam ir į tyrimus orientuotą modeliavimą, kai griežtas eksperimentas ir patvirtinimas yra pirminiai rūpesčiai.
Palyginti su kitomis populiariomis ABM sistemomis, tokiomis kaip Mesa, atsiranda kai kurie struktūriniai ir filosofiniai skirtumai. „Mesa“, dar viena „Python“ pagrindu sukurta ABM sistema, paprastai naudoja planuotojo modulį, atskirtą nuo modelio, skirto agentų aktyvacijoms organizuoti, ir skirtas duomenų rinkėjas rezultatų kaupimui. Mesa architektūra skatina modulinius susirūpinimą keliančius dalykus atskiriems komponentams, modeliams, aplinkai, planavimui ir duomenų rinkimui. Šis modulinis požiūris skatina lankstumą, tačiau gali padidinti naujų vartotojų sudėtingumą. Priešingai, „AgentPy“ sujungia kai kuriuos iš šių aspektų dėl paprastumo ir integracijos. Mesa siūlo keletą agentų aktyvavimo režimų ir reikalauja aiškios planavimo priemonės specifikacijos, tuo tarpu „AgentPy“ agentų aktyvinimas netiesiogiai tvarko agentų sąrašuose.
Be to, „Mesa“ ir „AgentPy“ skiriasi savo eksperimentiniu požiūriu: Mesa istoriškai palaiko partijų paleidimus ir duomenų eksportą pirmiausia naudodamiesi papildomomis priemonėmis arba meniu pagrįstomis sąsajomis, tuo tarpu „AgentPy“ integruoja parametrų šluotą ir paketinį eksperimentą kaip pagrindinių sistemos ypatybes. Ši griežta integracija į „AgentPy“ atspindi jos orientaciją į išsamų modelio tyrinėjimą ir mokslinį atkuriamumą, tuo tarpu MESA gali labiau patikti vartotojams, kurie teikia pirmenybę moduliškumui ir lankstumui naudodamiesi išoriniais įrankiais.
Be Mesa, palyginti su tokiomis rėmais kaip „NetLogo“ ir „Repast“ pabrėžia tolesnius skirtumus. „NetLogo“ tradiciškai yra atskira programa, turinti savo scenarijaus kalbą, skirtą lengvai naudoti ir greitą prototipų kūrimą, ypač švietimo tikslais, tačiau jai trūksta tiesioginio „Python“ sąveikos ir integracijos su mokslinėmis bibliotekomis. „Repast“ siūlo dideles didelio masto modelių galimybes, tačiau visų pirma yra „Java“ pagrindu ir gali būti mažiau prieinamos „Python“ vartotojams. Taigi „AgentPy“ „Python“ pagrindas ir integracija į mokslinius krūvas daro jį natūralesniu pasirinkimu tyrėjams ir kūrėjams, dirbantiems „Python“ ekosistemoje, kurie nori sklandžiai panaudoti „Python“ duomenų mokslo ir vizualizacijos įrankius.
Apibendrinant galima pasakyti, kad pagrindiniai skirtumai, išskiriantys „AgentPy“, išskyrus kitus agentais pagrįstas modeliavimo sistemas, yra:
- Integruota darbo eiga: modelio projektavimo, modeliavimo, eksperimentų ir analizės kapsuliavimo vienoje python aplinkoje.
- Mokslinė orientacija: su integruota parametrų atrankos palaikymu, Monte Karlo eksperimentai, stochastiniai procesai ir jautrumo analizė.
- „Python“ ir „Interactive Computing“ optimizavimas: sklandus naudojimas „IPYTHON“ ir „Jupyter“ aplinkose iteraciniam ir interaktyviam modelio kūrimui.
- Supaprastinta architektūra: Aplinkos, modelio ir agentų planavimo užduočių derinimas per mažiau pagrindinių komponentų, kad būtų galima supaprastinti modelio įgyvendinimą.
- Išplėstinis eksperimentinis valdymas: lanksčių scenarijų paketo ir parametrų prieigos palaikymas.
- Stiprus ryšys su „Python Scientific Tools“: duomenų analizės ir vizualizacijos palengvinimas nepaliekant modeliavimo aplinkos.