Basso sklaidos modelis su sąveikaujančiais elementais – agentais

Tokio tipo modeliai, nors yra sudėtingiau kuriami bei turi sudėtingesnę struktūrą, paprastai gali tiksliau atvaizduoti tiriamus reiškinius, nes pačiu savo veikimo principu jie panašesni į realias sistemas. Agentai gali būti labai įvairūs – pavieniai žmonės, vairuotojai, prekybos centro lankytojai, keleiviai, namų ūkiai, transporto priemonės, įmonės ir kt.

Šį modelį interneto naršyklės lange galite pasileisti ir interaktyviai valdyti, paspaudus paveikslėlį žemiau (modelis atsivers kitame naršyklės lango skirtuke): modelis

pagr_ekr


 

Sukursime Basso sklaidos modelį modeliavimo programa „AnyLogic“1, pasinaudoję kitu kompiuterinio modeliavimo būdu – agentų modeliavimu, kuomet modelyje nepriklausomi elementai – agentai – sąveikauja tarpusavyje pagal tam tikras nustatytas taisykles.

Pasirinkime, kad kursime naują modelį ir įrašykime jo pavadinimą.

1

Pasinaudokime kompiuterinio modelio su agentais kūrimo šablonu:

2

Paspaudę mygtuką „Kitas“, įrašykime agento pavadinimą ir jų pradinį skaičių.

3

O sekančiame lange – aplinkos, kurioje jie bus atvaizduojami, dydį, pavyzdžiui, stačiakampį su 300 x 300 pikselių kraštinėmis.

4

Nurodykime, kad bus naudojamas tinklas, jame agentai bus išdėstyti atsitiktiniu būdu bei bus parodomi sąryšiai tarp agentų:

5

Patiems agentams valdyti – jų būsenai keisti – bus panaudojama paprasta būsenų diagrama – joje galima nurodyti, kokioms sąlygoms įvykus, agentas – potencialus vartotojas, virs agentu, turinčiu kitą būseną – vartotojo.

6

Paspaudę mygtuką baigti, grįšime į modelio kūrimo langą, kuriame jau bus sukurti pagrindiniai jo elementai.
Čia galima pakeisti aktyvaus objekto klasės ir aplinkos pavadinimus, pakeisti kitas jų savybes – dydį, spalvą.

6a

Sukuriame du kintamuosius, kurie kaups statistinę informaciją, gaunamą iš būsenų diagramos – skaičiuos atitinkamose diagramos būsenose esančius agentus – vartotojus ir potencialius vartotojus.

6aa

Dabar agento būsenos diagramoje aprašysime, kaip agentas – potencialus vartotojas, virsta vartotoju. Tai gali įvykti dėl dviejų priežasčių – reklamos bei kitų vartotojų poveikio.
Vieną pereigą (transition) pavadiname Reklama, jos greitį nulems kintamasis ReklamosEfektyvumas, įvestas pagrindiniame modelio lange. Be to, įvykus šiam pokyčiui, kintamasis Įsigyjimas_dėl_Reklamos padidės vienu vienetu.

7

Kitą įsigyjimo skatinimo būdą skatina vartotojų tarpusavio atsiliepimai – grįžtamasis ryšys. Kiekvienas agentas per kompiuterinio modelio laiko vienetą gali turėti tam tikrą kontaktų skaičių su kitais agentais, o jie įsigys gaminį su tam tikra tikimybe.
Atsitikus šiam įvykiui, sukuriama žinutė „Pirk“, ir tuomet įvyksta pereiga ĮsigyjimasDėlAsmKontaktų – dar vienas potencialus vartotojas tampa vartotoju.

8

Agento – vartotojo – žinutė „Pirk“ sukuria įvykį ĮsigyjimasDėlAsmKontaktų – dar vienas potencialus vartotojas tampa vartotoju, ir kintamasis Įsig_dėl_Asm_kontaktų padidėja vienetu.

9

Taip pat nurodysime, kad, kuomet vienas agentas gauna žinutę iš kito agento, ji būtų siunčiama ir į statistiką kaupiančius kintamuosius.

6b

Praktiškai tai yra visa modelio vidinė veikimo logika, ir belieka sukurti modelio veikimo stebėjimo ir analizės elementus, pavyzdžiui, grafikus, bei galimybę jį valdyti, keičiant pradinius modelio parametrų nustatymus.


 

Basso sklaidos modelis su sąveikaujančiais elementais – agentais (tęsinys)

Sukuriame parametrus, kuriuos vėliau modelyje bus galima valdyti – Bendrą vartotojų skaičių, Kontaktų skaičių, Įsigyjimo tikimybę, Reklamos efektyvumą, bei kintamuosius – Įsigijimą dėl asmeninių kontaktų ir Įsigijimą dėl reklamos (tai, kaip ir ankstesniame Basso sklaidos modelyje, yra atitinkamos tikimybės).

9a

Įkeliame priklausomybės nuo laiko grafiką ir nurodome, kokių kintamųjų kitimas jame turėtų būti rodomas.

10

Analogiškai sukuriame ir kitus norimus grafikus.

10a

Valdymui į pagrindinį eksperimento langą įkeliame kintamąjį, pavyzdžiui, vart_sk – jame bus saugoma bendro vartotojų skaičiaus (agentų skaičiaus) reikšmė, ir slankiklį susiejame su šiuo kintamuoju.
Lygiai taip pat sukuriame ir kitus slankiklius kitų parametrų valdymui.
Nurodome, kad eksperimente būtų naudojami šių slankikliais pakeistų parametrų reikšmės.

12

Dabar modelį galima paleisti interneto naršyklės lange, keisti parametrus ir stebėti jo veikimą.
Galima pastebėti, kad vartotojų ir potencialių vartotojų kreivės, nors turi tas pačias eigos tendencijas kaip ir klasikinio Basso sklaidos modelio atveju, jau nėra tokios tolygios – tai lemia atsitiktinis agentų sąveikos pobūdis.

Nors ir kiek sudėtingesnis, agentų modelis atveria dideles modelio tobulinimo galimybes, ko neleistų modeliai, sukurti nesiremiant agentų koncepcija – tai yra įvesti sąlygas, atitinkančias realias situacijas, pavyzdžiui, galima užduoti, kad sąveikautų (perduotų vienas kitam informaciją apie gaminį) tik agentai, esantys ne toliau nei nurodytu atstumu vienas nuo kito, priklausantys tam tikrai grupei (pavyzdžiui, besinaudojantys tuo pačiu interneto socialiniu tinklu) arba po vieno gaminio įsigijimo, jį suvartojus, tas pats asmuo galėtų įsigyti jį dar kartą.
Tai pademonstruosime kituose kompiuteriniuose modeliuose.

Agentų modeliai, nors yra sudėtingiau kuriami bei turi sudėtingesnę struktūrą, paprastai gali tiksliau atvaizduoti tiriamus reiškinius, nes pačiu savo veikimo principu jie panašesni į realias sistemas. Agentai gali būti labai įvairūs – pavieniai žmonės, vairuotojai, prekybos centro lankytojai, keleiviai, namų ūkiai, transporto priemonės, įmonės ir kt.modelis

pagr_ekr