modelime ekonomike tË bazuara nË sisteme me …zhvillimet e shumta në fushën e inteligjencës...
TRANSCRIPT
REPUBLIKA E SHQIPËRISË
UNIVERSITETI I TIRANËS
FAKULTETI I EKONOMISË
DEPARTAMENTI I STATISTIKËS DHE INFORMATIKËS SË ZBATUAR
DISERTACION
MODELIME EKONOMIKE TË BAZUARA NË
SISTEME ME AGJENTË INTELIGJENT
Në kërkim të gradës shkencore “Doktor i shkencave”
Kandidati: Udhëheqës:
Igli Hakrama Prof. Dr. Neki Frashëri
Tiranë, 2019
i
DEKLARATË E ORIGJINALITETIT
Unë i nënshkruari Igli Hakrama, deklaroj me përgjegjësi të plotë personale se ky punim
përfaqëson punimin tim origjinal, përveç materialeve të referuara sipas rregullave të
shkrimit akademik për kërkim shkencor. Gjithashtu deklaroj se ky punim nuk është
përdorur më parë në Universitetin e Tiranës apo edhe në universitete të tjera.
Igli Hakrama
Tiranë, 2019
© Copyright: Igli Hakrama, Tiranë, 2019
Përmbajtja e këtij punimi është totalisht autentike. Të gjitha të drejtat e rezervuara.
ii
ABSTRACT
The continuous developments in the field of artificial intelligence have created new opportunities for the
use of techniques in different fields. One of the major contributors of the artificial intelligence is the
economic field through the many techniques it provides by developing solutions to economic problems.
Nowadays, there exist many economic problems that need new and better problem-solving techniques.
The successive economic crises have shocked the worldwide scientific community and the need to study
the economy by using a new approach has become very necessary. Agent-based modeling is a new
method used in many different domains and its usage in economic field might be a solution of these
problems. This method allows building economic models based on intelligent agent and to analyze them
through simulations. These simulations are also known in literature as artificial economy.
In this work, it is included a detailed literature research on the topic. Initially it is analyzed the possibility
of applying agent-based models in economy, where new requirements of their development are
identified. Then the research continues over the possibility of building economic models based on
intelligent agent systems, where different development tools and methodologies are analyzed for their
development. Later, it is considered the development of two experimental agent-based models for a
specific economic problem developed by using two different development tools. As a further research
work, it is taken into consideration an artificial economy model as a new approach of economic study,
which is designed and built by using two different development tools. Detailed development steps are
given for such simulation models, whom may be used as a future reference for developing future similar
models. This research work ends with a comparison of the used methods and suggestions for the
development of future artificial economies.
Keywords: agent-based modeling, intelligent agent, artificial economy, multi-agent system
iii
ABSTRAKT
Zhvillimet e shumta në fushën e inteligjencës artificiale kanë hapur horizonte të reja të përdorimit të
teknikave të saj në fusha të ndryshme. Fusha e ekonomisë qëndron si një nga kontribuuesit më të mëdhenj
në fushën e inteligjencës artificiale në saj të teknikave të zhvilluara për zgjidhjen e problemeve të saj. Në
ditët e sotme qëndrojnë një numër i madh problemesh në fushën ekonomike që kërkojnë një studim të
ndryshëm nga teknikat e përdorura deri më tani. Krizat e njëpasnjëshme ekonomike kanë tronditur të
gjithë komunitetin shkencor dhe nevoja e studimit ekonomik me një qasje të re është bërë tashmë më se
e nevojshme. Modelimi i bazuar në agjentë është një metodë e re e përdorur në shumë fusha të ndryshme
dhe zbatimi i saj në fushën ekonomike është një zgjidhje e mundshme e problemeve të saj. Kjo metodë
lejon ndërtimin e modeleve ekonomike të bazuara në agjentë inteligjent dhe analizimin e tyre me anë të
simulimeve. Këto simulime njihen ndryshe në literaturë edhe me emrin ekonomia artificiale.
Në këtë punim është përfshirë një hulumtim i gjerë në literaturë. Fillimisht është analizuar mundësia e
përdorimit të modeleve të bazuara në agjentë në ekonomi, ku edhe janë identifikuar hapësira për zhvillim
të tyre. Më tej është hulumtuar mbi mundësinë e ndërtimit të modeleve ekonomike të bazuara në sisteme
me agjentë inteligjent, ku janë analizuar mjetet zhvilluese dhe metodologjitë e ndryshme për ndërtimin
e tyre. Në vazhdim të punimit është trajtuar zhvillimi i dy modeleve eksperimentale të bazuara në agjentë
të ndërtuara për një problem specifik ekonomik të zhvilluara me dy mjete të ndryshme zhvillimi. Më tej
në punim trajtohet modeli i një ekonomie artificiale si një qasje e re studimi ekonomik, e cila është
projektuar dhe zhvilluar duke përdorur dy mjete të ndryshme të zhvillimit. Në të tregohen me detaje
hapat e ndërtimit të këtyre modeleve simuluese, të cilat mund të përdoren në ndërtimin e modeleve të
ngjashme në të ardhmen. Ky punim përfundon me një krahasim të metodave të përdorura dhe sugjerime
për krijimin e ekonomive artificiale të ardhshme.
Fjalë Kyçe: modelimi i bazuar në agjentë, agjent inteligjent, ekonomia artificiale, sisteme multi-agjent
iv
FALENDERIME
Në përfundim të kësaj pune disa vjeçare që ishte rrjedhojë e një pune të vazhdueshme
dhe sfide me vetveten për përfundimin e saj, dua të falënderoj të gjithë ata që më kanë
mbështetur gjatë këtij udhëtimi.
Një falënderim i veçantë shkon për udhëheqësin tim Akademik Prof. Dr. Neki Frashëri
për sugjerimet e vyera dhe mbështetjen e plotë gjatë këtij punimi. Gjithashtu dua të
falenderoj kolegun tim Prof. Dr. Betim Çiço, i cili me këshillat e tij më ka inkurajuar
për përfundimin e kësaj pune dhe Prof. Dr. Kozeta Sevrani për mbështetjen e dhënë
gjatë këtyre viteve në kryerjen e këtij punimi. Falenderoj edhe stafin e Departamentit
të Statistikës dhe Informatikës së Zbatuar, të gjithë kolegët dhe miqtë që më kanë
mbështetur përgjatë këtij udhëtimi shkencor.
Dua të falenderoj me përzemërsi edhe familjen time për mbështetjen dhe inkurajimin e
vazhdueshëm që më kanë dhënë gjatë gjithë periudhës së punimit të kësaj pune
doktorature.
v
PËRMBAJTJA
DEKLARATË E ORIGJINALITETIT ................................................................... I ABSTRACT .............................................................................................................. II ABSTRAKT............................................................................................................. III FALENDERIME..................................................................................................... IV
PËRMBAJTJA ..........................................................................................................V LISTA E TABELAVE .......................................................................................... VII LISTA E FIGURAVE.......................................................................................... VIII LISTA E KODEVE...................................................................................................X LISTA E SHKURTIMEVE ................................................................................... XI
KAPITULLI 1: PËRMBLEDHJE E STUDIMIT ............................................... 1 1.1. Hyrje ....................................................................................................... 1
1.2. Qëllimi i studimit .................................................................................... 2
1.3. Objektivat e Kërkimit ............................................................................. 3 1.4. Analiza e literaturës, pyetjet kërkimore dhe hipotezat ........................... 3 1.5. Metodologjia e përdorur ......................................................................... 5 1.6. Struktura e studimit ................................................................................ 6
KAPITULLI 2: NJË KËNDVËSHTRIM HISTORIK ....................................... 8 2.1. Hyrje ....................................................................................................... 8
2.2. Historiku i Inteligjencës Artificiale ........................................................ 8 2.3. Inteligjenca Artificiale dhe Ekonomia ................................................. 13 2.4. Përfundime ........................................................................................... 15
KAPITULLI 3: EKONOMIA ARTIFICIALE ................................................. 16 3.1. Hyrje ..................................................................................................... 16
3.2. Sisteme komplekse adaptuese .............................................................. 20
3.3. Ekonomia llogaritëse e bazuar në agjentë ............................................ 23
3.4. Tipat e agjentëve të propozuar ............................................................. 31 3.5. Përfundime ........................................................................................... 35
KAPITULLI 4: MODELIMI DHE SIMULIMI I BAZUAR NË AGJENT ... 37 4.1. Hyrje ..................................................................................................... 37 4.2. Modelimi dhe Simulimi ........................................................................ 38 4.3. Zhvillimi i konceptit të agjentit ............................................................ 50 4.4. Sistemet multi-agjent ............................................................................ 53 4.5. Përfundime ........................................................................................... 58
KAPITULLI 5: ANALIZA DHE KRAHASIME TË METODAVE
ZHVILLUESE TË NJË MODELI SIMULIMI ME AGJENT .......................... 60 5.1. Hapat për ndërtimin e një modeli simulimi me agjentë ....................... 60 5.2. Modelimi dhe zhvillimi i ABM-ve ....................................................... 64
5.3. Modelimi dhe zhvillimi i MAS ............................................................ 68 5.4. Rast Studimi: EURACE dhe Jamel ...................................................... 75 5.5. Përfundime ........................................................................................... 80
KAPITULLI 6: NJË ANALIZË KRAHASUESE TË ZHVILLIMIT TË DY
MODELEVE SIMULUESE TË BAZUARA NË AGJENT ................................ 82 6.1. Hyrje ..................................................................................................... 82 6.2. Modelimi dhe simulimi i terminalit detar me NetLogo ....................... 82 6.3. Modelimi dhe ndërtimi i një magazine virtuale me Jason .................... 89 6.4. Një vlerësim krahasues ......................................................................... 99
vi
KAPITULLI 7: MODELIMI DHE NDËRTIMI I NJË EKONOMIE
ARTIFICIALE ME MJETIN E ZHVILLIMIT REPAST ............................... 102 7.1.Hyrje .................................................................................................... 102 7.2. Përshkrimi i modelit të ekonomisë artificiale ..................................... 102 7.3. Analiza e modelit të ekonomisë artificiale ......................................... 104
7.4. Veçoritë e mjetit të zhvillimit Repast ReLogo ................................... 112 7.5. Projektimi i modelit ............................................................................ 113 7.6. Ndërtimi i mjedisit simulues të ekonomisë artificiale ........................ 119
KAPITULLI 8: PROJEKTIMI DHE NDËRTIMI I NJË EKONOMIE
ARTIFICIALE ME MJETIN E ZHVILLIMIT JACAMO.............................. 126 8.1. Hyrje ................................................................................................... 126 8.2. Veçoritë e mjetit të zhvillimit JaCaMo .............................................. 126 8.3. Projektimi i Ekonomisë artificiale ...................................................... 134
8.4. Ndërtimi i ekonomisë artificiale me JaCaMo ..................................... 140
KAPITULLI 9: ANALIZIM DHE KRAHASIM I REZULTATEVE
EKSPERIMENTALE TË EKONOMISË ARTIFICIALE ............................... 147 9.1. Hyrje ................................................................................................... 147
9.2. Përshkrimi i të dhënave eksperimentale dhe rezultateve të marra ..... 147 9.3. Analiza e rezultateve të nxjerra nga simulimet ................................. 149
9.4. Përfundime dhe krahasime ................................................................. 156
KAPITULLI 10: KONKLUZIONE DHE REKOMANDIME ...................... 161 10.1. Përmbledhje e punës kërkimore ....................................................... 161 10.2. Konkluzione ..................................................................................... 163 10.3. Rekomandime dhe punë të mëtejshme ............................................. 164
10.4. Kontributi i punimit .......................................................................... 165
REFERENCAT ..................................................................................................... 166
APENDIKS / SHTOJCA ...................................................................................... 182 Appendix A / Shtojca A ............................................................................ 182
vii
LISTA E TABELAVE
Tabela 3-1: Ngjashmëritë midis automatës qelizore dhe dinamikës socialekonomike 18
Tabela 3-2: Kufizimet e teorisë ekonomike dhe veçoritë e simulimit ......................... 19
Tabela 4-1: Hapat e modelimit dhe simulimit ............................................................. 41
Tabela 4-2: Ndryshimet midis modeleve tradicionale dhe ABM-ve ........................... 49
Tabela 5-1: Krahasime midis mjeteve ABM ............................................................... 67
Tabela 5-2: Tabelë përmbledhëse me veçoritë e metodologjive ................................. 71
Tabela 5-3 Ndryshimet midis mjeteve të zhvillimit MAS ........................................... 74
Tabela 6-1: Rezultatet për çdo funksion shërbimi dhe vinça ....................................... 88
Tabela 6-2: Ndryshimet themelore midis NetLogo dhe Jason................................... 101
Tabela 9-1: Të dhënat e kompjuterit .......................................................................... 147
Tabela 9-2: Të dhënat fillestare eksperimentale ........................................................ 147
Tabela 9-3: Tabelë përmbledhëse rezultatesh ............................................................ 148
Tabela 9-4: Koha e marrjes së rezultateve të ekonomive artificiale .......................... 156
Tabela 9-5: Ndryshimet themelore midis RePast ReLogo dhe JaCaMo ................... 158
viii
LISTA E FIGURAVE
Figura 3-1 Sisteme komplekse adaptuese .................................................................... 22
Figura 3-2 Llojet e eksperimenteve me subjekte njerëzore dhe agjent kompjuterik ... 29
Figura 3-3 Agjenti Softuerik ekonomik nën këndvështrimin ndërdisiplinar ............... 32
Figura 4-1 Modelimi dhe simulimi në këndvështrimin shkencor ................................ 40
Figura 4-2 Arkitektura BDI ......................................................................................... 55
Figura 4-3 Modelimi i një mjedisit me disa agjentë .................................................... 57
Figura 5-1 Hapat e ndërtimit të simulimit ABM me zhvillim rritës dhe përsëritës ..... 62
Figura 5-2 Modeli ekonomik EURACE ...................................................................... 76
Figura 5-3 Struktura e mjetit të zhvillimit FLAME ..................................................... 78
Figura 5-4 Simulimi i ekonomisë në Jamel ................................................................. 79
Figura 6-1 Përshkrimi i veprimeve në sheshin e magazinimit ..................................... 83
Figura 6-2 Paraqitja e modelit simulues të terminalit .................................................. 88
Figura 6-3 Paraqitja me tre dimensione e simulimit .................................................... 88
Figura 6-4 Diagrami i aktiviteteve suimlejn të furnizimit me artikull ......................... 91
Figura 6-5 Diagrami i sekuencave për nxjerrjen e artikujve ........................................ 92
Figura 6-6 Skema strukturore e simulatorit të magazinës virtuale .............................. 93
Figura 6-7 Skema strukturore e simulatorit të magazinës virtuale .............................. 98
Figura 7-1 Rrjedha e ndërveprimeve të modelit të ekonomisë artificiale .................. 102
Figura 7-2 Njësitë ekonomik, rolet dhe lidhjet midis tyre në ekonominë artificiale . 103
Figura 7-3 Diagrami me raste përdorimi për Individin .............................................. 105
Figura 7-4 Diagrami i aktiviteteve të punës ............................................................... 106
Figura 7-5 Diagrami me raste përdorimi për Firmën ................................................. 107
Figura 7-6 Diagrami i aktiviteteve për punësim-prodhim ......................................... 108
Figura 7-7 Diagrami sekuence për individin dhe firmën ........................................... 114
Figura 7-8 Diagrami sekuencë i menaxhimit të pasurisë së individit ........................ 116
Figura 7-9 Diagrami sekuencë për veprimet e depozitimit dhe huamarrjes .............. 117
Figura 7-10 Diagrami klasë i modelit të ekonomisë artificiale .................................. 118
Figura 7-11 Ndërfaqja grafike e simulimit ................................................................ 124
Figura 8-1 Pamja e tre dimensioneve të mjetit JaCaMo ............................................ 132
Figura 8-2 Struktura mjetit të zhvillimit JaCaMo ...................................................... 133
Figura 8-3 Diagrami Sekuencë e menaxhimit të parave ............................................ 136
Figura 8-4 Diagrami sekuencë i punësimit ................................................................ 138
Figura 8-5 Diagrami klasë që përmbledh MAS, artefaktet me klasat mbështetëse ... 139
Figura 8-6 Struktura e ndërtimit të ekonomisë artificiale .......................................... 140
ix
Figura 8-7 Paneli i konfigurimeve në JaCaMo .......................................................... 141
Figura 9-1 Grafikët e produktit të brendshëm bruto në ekonomitë artificiale ........... 150
Figura 9-2 Grafikët e totalit të inventarëve në ekonomitë artificiale ......................... 150
Figura 9-3 Grafikët e të dhënave financiare të firmave në ekonomitë artificiale ...... 151
Figura 9-4 Grafikët e rendimentit të firmave në ekonomitë artificiale ...................... 152
Figura 9-5 Grafikët e çmimeve mesatare të produkteve në ekonomitë artificiale ..... 152
Figura 9-6 Grafikët e kërkesë-ofertës totale në ekonomitë artificiale ....................... 153
Figura 9-7 Grafikët e pagës bazë mesatare për lloj firme në ekonomitë artificiale ... 153
Figura 9-8 Grafikët e të dhënave financiare të personave në ekonomitë artificiale .. 154
Figura 9-9 Grafikët e interesave bankar në ekonomitë artificiale .............................. 155
Figura 9-10 Grafikët e likuiditetit bankar në ekonomitë artificiale ........................... 155
x
LISTA E KODEVE
Lista 6-1: Inicializimit të agjentëve në NetLogo ......................................................... 85
Lista 6-2: Inicializimi me vlera të simulimit në NetLogo ............................................ 86
Lista 6-3: Logjika e hapave në funksionin “go” .......................................................... 87
Lista 6-4: Logjika e zgjedhjes së kamionit me funksion shërbimi CL ........................ 87
Lista 6-5: Konfigurimet bazë të MAS për simulimin e magazinës ............................. 94
Lista 6-6: Kryerja e veprimeve nga agjenti koordinator .............................................. 95
Lista 6-7: Besimet dhe sjelljet e agjentit paketues pirun ............................................. 96
Lista 6-8: Logjika e kryerjes së veprimeve me anë të klasës “WareEnv.java” ........... 97
Lista 7-1: Logjika e ndërtimit të një agjenti me ReLogo ........................................... 112
Lista 7-2: Krijimi, vendosjet dhe hapat e një simulimi me ReLogo .......................... 113
Lista 7-3: Përcaktimi i të dhënave hyrëse në panelin e përdoruesit ........................... 120
Lista 7-4: Monitorimi i kërkuesve të punës nga klasa UserObserver ....................... 120
Lista 7-5: Krijimi i agjentëve në metodën ‘setup()’ të klasës UserObserver ............ 121
Lista 7-6 Thirrja e agjentëve nga metoda ‘go()’ e klasës UserObserver ................... 122
Lista 7-7: Hapat e sjelljeve të agjentit Person dhe kontrolli i pagës më të mirë në klasën
“Person.groovy” ......................................................................................................... 123
Lista 8-1: Shembull sintakse për besimet, planet dhe qëllimet në Jason ................... 127
Lista 8-2: Shembull i veprimeve të brendshme në Jason ........................................... 128
Lista 8-3: Shembull i ndërveprimit me artefakte në Jason ........................................ 129
Lista 8-4: Shembull i krijimit të artefaktit “ArtEnv” ................................................. 130
Lista 8-5: Konfigurimi i mjedisit simulues në JaCaMo ............................................. 141
Lista 8-6: Krijimi i artefaktit “Panel” dhe arritja e krijimit të agjentëve në agjentin
koordinator ................................................................................................................. 142
Lista 8-7: Planifikimi kohor i simulimit dhe thirrja e veprimeve ditore të agjentëve në
agjentin koordinator ................................................................................................... 142
Lista 8-8: Operacionet e punësimit në artefaktin ‘FirmEnv.java’ ............................. 144
Lista 8-9: Disa nga veprimet e klasës funksionale rnd .............................................. 145
Lista 8-10: Inicializimi i besimeve për secilin agjent të ekonomisë artificiale .......... 145
xi
LISTA E SHKURTIMEVE
ABM Agent-Based Modeling
ACE Agent-based Computational Economics
ACL Agent Communication Language
AGI Artificial General Intelligence
AQ Automata Qelizore
AOP Agent-Oriented Programming
AOSE Agent-Oriented Software Engineering
BDI Belief-Desire-Intention
CAS Complex Adaptive Systems
DAI Distributed Artificial Intelligence
DES Discrete Event System
DSGE Dynamic Stochastic General Equilibrium
EOP Environment-Oriented Programming
EWA Experienced-Weighted Attraction
GIS Geographic Information System
IA Inteligjenca Artificiale
IPL Information Processing Language
IoT Internet of Things
JVM Java Virtual Machine
KQML Knowledge Query and Manipulation Language
MAS Multi-Agent System
ML Machine Learning
MVC Model-View-Controller
OOP Object Oriented Programming
OR Operational Research
PBB Produkti i Brendshëm Bruto
RMI Remote Method Invocation
UML Unified Modeling Language
XML eXtensible Markup Language
1
KAPITULLI 1: PËRMBLEDHJE E STUDIMIT
1.1. Hyrje
Për një kohë të gjatë, ekonomistët janë përpjekur të studiojnë ekonominë duke përdorur
modele matematikore lehtësisht të përcaktueshme prej tyre. Shumë prej këtyre
modeleve janë bazuar mbi disa supozime jo realiste të ekonomisë dhe duke supozuar
kushte perfektë që duheshin plotësuar. Shumë prej politik bërësve në ekonomi kanë
marrë vendime bazuar mbi këto modele, dhe shumë prej tyre kanë dështuar në
supozimet e tyre duke e çuar ekonominë në kriza të njëpasnjëshme të saj. Për këtë arsye
shumë kërkues janë munduar të përdorin metoda të tjera për të studiuar ekonominë dhe
shumë prej këtyre metodave janë të bazuara në përdorimin e kompjuterëve.
Zhvillimet e shumta teknologjike të dhjetëvjeçarëve të fundit kanë shtyrë kërkues nga
fusha të ndryshme të gjejnë zgjidhje me anë të metodave kompjuterike. Një nga nxitësit
kryesorë të këtij zhvillimi është padyshim fusha ekonomike me problemet e saj të
shumta që lidhen edhe me probleme reale të përditshmërisë njerëzore. Modelet
matematikore të përdorura në fushën ekonomike kanë dhënë një ndikim shumë të madh
në zhvillimin e fushës informatike. Kjo në vetvete ka ndikuar më tej në përdorimin e
sistemeve kompjuterike në zgjidhjen e shumë problematikave të fushës ekonomike. Në
këtë këndvështrim shohim zgjidhje në lidhje me mbledhjen, përpunimin statistikor dhe
analizimin e të dhënave. Në këtë zhvillim të ndërsjellët të këtyre dy fushave, në pamje
pa ndonjë lidhje të drejtpërdrejt me njëra tjetrën, në vitet e fundit i është shtuar edhe
fusha e inteligjencës artificiale (IA). Kjo fushë e lindur nga bashkimi i shumë
koncepteve nga disiplina të ndryshme dhe e aplikuar kryesisht në fushën e informatikës,
ka dhënë një kontribut të madh në zgjidhjen e shumë problemeve që janë komplekse në
natyrën e tyre. Ndër konceptet e saj më të spikatura është koncepti i agjentit, i cili është
i huazuar nga fusha e studimit të ekonomisë por i trajtuar në një këndvështrim të ri.
Në ditët e sotme shihet një lëvizje e madhe për përdorimin e kësaj fushe në shumë
aspekte të jetës, dhe kryesisht në zgjidhje të mundshme në fushën ekonomike. Në këtë
aspekt mund të themi se është investuar shumë nga kërkues të ndryshëm sidomos në
pjesën e gërmimit të dhënave, dhe trajtimit të tyre me anë të algoritmeve të zhvilluar në
fushën e IA-së. Kjo ka ndihmuar dhe përmirësuar fushën ekonomike në marrjen e
vendimeve për të zgjidhur problemet e saj. Pavarësisht zhvillimit të këtyre metodave,
është parë që ka probleme në zbatimin e tyre apo edhe në kuptimin e arsyeve të
problematikave të ndodhura në ekonomi. Kjo mund të argumentohet me pjesën e
modelimeve ekonomike, të cilat nuk përfaqësojnë në mënyrë të plotë dhe reale sistemin
ekonomik. Arsyeja e lidhur me këtë është që ekonomia është një sistem kompleks, i cili
nuk mund të modelohet plotësisht me modele matematikore, apo me modele përafruese
të cilat shpesh çojnë në një paraqitje jashtë realitetit të këtyre modeleve. E njëjta gjë
ndodh edhe me teknikat klasifikuese të fushës së IA-së, të cilat duhen përdorur me
kujdes të madh dhe në raste të veçanta të studimit të ekonomisë. Në lidhje me këtë
problem, në fushën e IA-së është parë që ekziston një këndvështrim tjetër në lidhje me
metodat e bazuara në agjentë që nuk janë eksploruar aq sa duhet nga ekonomistët.
Metodat e bazuara në agjentë janë pjesë themelore e fushës së IA-së, dhe janë të
zhvilluara mbi konceptin e agjentit. Me anë të tyre mund të ndërtohen sisteme të
ngjashme me ato reale, dhe mund të studiohen në karakteristikat e tyre bazë. Këto
metoda janë përdorur në fushën e IA-së si një mjet për modelimin e aspekteve të
ndryshme të inteligjencës. Bazuar edhe në konceptet bazë të jetës artificiale, këto
2
metoda mund të arrijnë të shpjegojnë kompleksitetin dhe dinamikat e një sistemi
ekonomik real duke e trajtuar atë si një ekonomi artificiale. Pavarësisht se ky koncept
është i gjendur më herët në literaturë në përdorimet e modelimeve të ekonometrisë dhe
të serive kohore, qasja e re e saj në fushën e IA-së konsideron edhe bazat e vetë-
organizimit dhe të evolucionit. Kjo do të thotë që ekonomia artificiale bazohet në
modelim dhe simulim të ekonomisë. Në këtë këndvështrim, tashmë metodologji të reja
janë shfaqur sikurse edhe propozime mbi to janë bërë. Shumica e këtyre metodave të
bazuara në agjentë përfshijnë përdorimin e modeleve të bazuara në agjentë (“Agent-
Based Modeling” - ABM) dhe sistemeve multi-agjent (“Multi-Agent Systems” - MAS).
Të dy këto metodologji janë në thelb të njëjta dhe bazohen në konceptin e agjentit, por
të trajtuara në këndvështrime të ndryshme, ku ABM-të janë përdorur në shpjegimin e
fenomeneve me anë të agjentëve dhe MAS janë përdorur në projektimin e agjentëve
për probleme specifike.
Në këtë punim doktorate, është trajtuar mundësia e ndërtimit të një ekonomie artificiale
bazuar mbi metodikat e përmendura më sipër. Në mënyrë që kjo të arrihet, fillimisht
është trajtuar një këndvështrim historik i ndërlidhjes midis ekonomisë dhe fushës së IA-
së. Më pas, është bërë një hulumtim i thelluar në literaturë mbi fushën e re të ekonomisë
artificiale ku janë vënë në dukje edhe arritjet dhe sugjerimet nga kërkues të ndryshëm.
Duke u bazuar mbi llojin e problematikës që shfaqin sistemet ekonomike, janë studiuar
fillimisht sistemet komplekse adaptuese (“Complex Adaptive Systems” - CAS), të cilat
konsiderohen gjerësisht nga modelet e bazuara në agjent. Si një pjesë e rëndësishme e
këtij punimi është bërë një studim mbi teknikat ekzistuese të modelimit dhe simulimit
dhe në vazhdim janë krahasuar me modelimin e bazuar me agjent. Më pas është studiuar
koncepti i agjentit nën këndvështrimin e fushës së IA-së dhe zhvillimi i tij me anë të
sistemeve multi-agjent.
Në këtë studim është përfshirë një analizë dhe krahasim i metodave të ndryshme të
zhvillimit të modeleve me agjent. Këtu janë analizuar hapat e ndërtimit të një modeli
simulimi me agjentë, janë analizuar dhe krahasuar mjetet e ndryshme të zhvillimit dhe
është trajtuar një rast studimi i dy përpjekjeve për ndërtimin e një ekonomie artificiale.
Pas këtyre evidentimeve është kryer një analizë krahasuese të dy eksperimenteve të
kryera për trajtimin e një problemi specifik të ekonomisë artificiale, me anë të dy
mjeteve të zhvillimit. Dhe më pas është trajtuar një modelim ekonomik në trajtën e
ekonomisë artificiale me dy mjete zhvilluese që mundësojnë edhe ndërtimin e agjentëve
inteligjent. Ky studim përfshin një analizë krahasuese të zhvillimit të këtyre modeleve
simuluese të bazuara në agjent inteligjent, ku përfshihen teknikat, hapat dhe mjetet e
zhvillimit të përdorura në trajtimin e modeleve ekonomike.
1.2. Qëllimi i studimit
Krizat e shumta ekonomike të dhjetëvjeçarit të fundit i kanë dhënë një shtysë studiuesve
të ndryshëm për të gjetur qasje të reja në studimin e ekonomisë dhe parandalimin e
krizave në të ardhmen. Një nga këto qasje është e lidhur me përdorimin e fushës së IA-
së në trajtimin e problematikave ekonomike. Nën fushën e IA-së gjenden të përdorura
shumë prej metodave të saj në fushën ekonomike, por metodat e bazuara në agjentë
janë ato që kanë një potencial më të madh zbatimi në modelimet ekonomike që
ndihmojnë studiuesit e ekonomisë të studiojnë dhe parandalojnë kriza të mundshme në
të ardhmen. Të motivuar nga çfarë u përmend, qëllimi i këtij punimi është të studiohet
rëndësia e përdorimit të modeleve të bazuara në agjent në ekonomi, si edhe të
analizohen metodat e ndryshme të përdorimit të tyre.
3
Ky punim përqendrohet në modelet e agjentëve të cilët përdoren në simulimet dhe
modelimet ekonomike, duke vënë në dukje edhe propozime në modelimin e tyre.
Gjithashtu me anë të këtij punimi pritet të ndërtohen disa modele ekonomie që
mbështeten në modele të bazuara në agjentë inteligjent, ku këto agjentë veprojnë si njësi
ekonomike të pavarura, heterogjene dhe racionale. Në vazhdim të këtij punimi, pritet
edhe një analizë dhe krahasim i metodave të përdorura për ndërtimin e modeleve të tilla
ekonomike. Qëllimi përfundimtar i këtij studimi është propozimi i metodave të duhura
të bazuara në sisteme me agjentë inteligjent për tu përdorur në problemet e ndryshme
ekonomike, si edhe zbatimi i tyre praktik në fushën ekonomike.
1.3. Objektivat e Kërkimit
Objektivi fillestar i çdo punimi është hulumtimi në literaturë për problematikat e lidhura
me temën e trajtuar. Në mënyrë të ngjashme në këtë punim është trajtuar një hulumtim
në literaturë i cili u zgjerua në bazë të disa pyetjeve kërkimore të formuluara gjatë punës
analizuese të saj. Në këtë aspekt pyetja fillestare kërkimore e formuluar është e lidhur
me një nevojë për të studiuar bashkëveprimin e dy fushave e studimit të IA-së dhe
ekonomisë. Përgjatë hulumtimit paraprak të literaturës u vu në dukje një nevojë për
hulumtime të mëtejshme në fushën e modelimeve ekonomike me anë të agjentëve
inteligjent. Në këtë stad të punimit pyetjet kërkimore ishin të shumta dhe trajtimi i tyre
kërkoi vendosjen e objektivave të qarta të punimit në drejtim të modeleve ekonomike
të trajtuara me anë të metodave të bazuara në agjentë. Në arritjen e qëllimit
përfundimtar të këtij punimi ndihmuan këto objektivat kryesorë të vendosura:
1. Të paraqes lidhjen midis fushës së IA-së dhe ekonomisë duke përcaktuar më
tej hapësirat për kërkim në lidhje me këto fusha studimi.
2. Të paraqes konceptet kryesore të modelimeve ekonomike të bazuara në
agjentë inteligjent dhe teknikat e përdorura deri më sot të modelimit dhe
simulimit.
3. Analizimi i teknikave të përdorura në ndërtimin e simulimeve dhe modelimeve
me agjentë inteligjentë, si edhe analizimi i mjeteve të zhvillimit të tyre për të
përcaktuar mjetet e mundshme për zhvillimin e modelimeve ekonomike të
bazuara në agjentë.
4. Analizimi, modelimi, ndërtimi dhe krahasimi i dy modeleve simulimi me
agjentë të përdorura në probleme specifike në ekonomi.
5. Arritja e modelimit, projektimit dhe ndërtimit të një ekonomie artificiale me
anë të modelimit të bazuar në agjentë.
6. Projektimi dhe ndërtimi i një ekonomie artificiale duke përdorur praktikat më
të mira të simulimit MAS me agjentë inteligjent dhe arritja e saj me hapa të
njëjtë të zhvillimit me modelet e bazuara në agjent.
1.4. Analiza e literaturës, pyetjet kërkimore dhe hipotezat
Në bazë të objektivave të vendosur në këtë punim është kryer një analizë e gjerë e
literaturës, e cila është kryer në katër faza të saj. Përgjatë kësaj pjese janë ngritur dhe
trajtuar disa pyetje kërkimore, të cilat mundësuan studimin në detaje të fushës së
studimit, problematikave të saj si edhe qasjeve të ndryshme të përdorura. Në vijim
paraqiten pyetjet kërkimore për secilën fazë të literaturës, si edhe pyetjet kërkimore të
ngritura për zhvillimet eksperimentale të punimit.
Pyetjet kërkimore e ngritura gjatë fillimit të punës kërkimore që përbën edhe fazën e
parë hulumtuese janë:
4
Si është lidhja midis fushës se IA dhe asaj Ekonomike? - Kjo pyetje hulumton në
kontekstin historik të zhvillimit të këtyre fushave dhe zbatimin e ndërsjellët të metodave
të zhvilluara në këto dy fusha.
Cili është trendi i zhvillimit te këtyre fushave? - Roli i kësaj pyetje kërkimore është
zbulimi i trendëve në fushat përkatëse në lidhje me njëra tjetrën. Kjo pyetje na ndihmon
në gjetjen e mundshme të hapësirave për studim të mëtejshëm.
Cila është hapësira për studim?- Qëllimi i fazës së parë në literaturë është zbulimi i
hapësirave për studim, në mënyrë që të identifikojmë hapësirën e duhur për studim. Në
bazë të saj u përcaktua edhe studimi i mëtejshëm mbi modelet ekonomike të bazuara
në sisteme me agjentë inteligjent.
Pas marrjes së përgjigjeve të pyetjeve kërkimore të fazës së parë ku është identifikuar
hapësira për studim, në fazën e dytë të hulumtimit në literaturë janë trajtuar pyetjet e
mëposhtme kërkimore:
Cilat janë konceptet përbërëse të ekonomisë artificiale? Pse është e nevojshme studimi
i ekonomisë me anë të modeleve të bazuara në agjentë? Dhe cilat janë nevojat për
zhvillim në këtë fushë?
Këto pyetje identifikojnë konceptet kryesore teorike të kësaj fushe të re studimi,
studiojnë rëndësinë që modelet e bazuara në agjentë kanë në studimin e ekonomisë, dhe
nevoja e përdorimit të tyre në zgjidhjen e problemeve ekonomike. Nëpërmjet tyre
arrihet edhe hulumtimi mbi nevojat për zhvillim të kësaj fushe duke u bazuar mbi
sugjerimet e dhëna nga studiues të ndryshëm.
Faza e tretë hulumtuese përqendrohet në modelet e bazuara në agjent ku pyetjet e
ngritura kërkimore janë:
Cilat janë avantazhet e ABM-ve kundrejt teknikave tradicionale të modelimit dhe
simulimit? Cilat janë konceptet kryesore të agjentit inteligjent?
Qëllimi i këtyre dy pyetjeve kërkimore është të vërë në dukje avantazhet e metodave të
bazuara në agjentë në zgjidhjen e problemeve të ndryshme, pavarësisht disiplinave ku
ato zbatohen.
Në fazën e katërt dhe përfundimtare të analizës së literaturës janë trajtuar disa pyetje
kërkimore në lidhje me zhvillimin e modeleve simuluese në ekonomi. Në këtë fazë
pyetjet e formuluara janë:
Cilat janë hapat ekzistuese që mundësojnë ndërtimin e modeleve simuluese të bazuara
në agjent? Cilat janë mjetet ekzistuese ABM që mundësojnë krijimin e modeleve
ekonomike të bazuar në agjent? Cilat janë metodologjitë më të mira të AOSE që
ndihmojnë në arritjen e modeleve simuluese me agjent? Cilat janë mjetet ekzistuese
MAS që mundësojnë krijimin e modeleve ekonomike të bazuar në agjent?
Me anë të këtyre pyetjeve kërkimore janë hulumtuar dhe analizuar hapat e ndërtimit të
modeleve të bazuara në agjentë, mjetet e ndryshme zhvilluese dhe metodologjitë e
mundshme për krijimin e tyre.
Gjithashtu në këtë fazë përfundimtare janë formuluar edhe dy pyetje kërkimore që
trajtohen me anë të një rasti studimi:
A është arritur ndërtimi i ndonjë modeli ekonomik të bazuar në sisteme me agjentë?
Cilat janë mangësitë e modeleve ekonomike të simuluara me anë të sistemeve me
agjentë deri më tani?
5
Përgjigjet e këtyre dy pyetjeve zbulojnë nëse është arritur ndërtimi i modeleve
ekonomike me anë të modeleve të propozuara në këtë punim, si edhe për gjetjen e
mangësive të tyre. Këto pyetje përmbyllin edhe pjesën e hulumtimit të literaturës në
funksion të qëllimit të këtij punimi. Për të arritur këtë qëllim janë ngritur disa pyetje
kërkimore të cilat kërkojnë zhvillime eksperimentale për trajtimin e tyre dhe që
përbëjnë pjesën kryesore të këtij punimit. Këto pyetje kërkimore janë si më poshtë:
A është i mundur modelimi dhe ndërtimi i një simulimi me agjentë të një problemi
specifik në ekonomi?
A mundëson mjeti i zhvillimit NetLogo simulimin e problemeve specifike të ekonomisë
dhe a i plotëson kushtet për trajtimin me agjentë inteligjent?
Po mjeti i zhvillimit Jason a e mundëson simulimin e problemeve specifike të ekonomisë
dhe a është një zgjidhje më e mirë për zhvillimin e simulimeve me agjentë inteligjent?
A është e mundur modelimi dhe ndërtimi i një simulimi të bazuar në sisteme me agjentë
inteligjent të një ekonomie artificiale?
A mundëson mjeti i zhvillimit RePast ReLogo simulimin e një ekonomie artificiale me
anë të projektimit të saj në të?
A është e mundur zhvillimi i një simulimi të një ekonomie artificiale edhe në mjetin e
zhvillimit JaCaMo?
Cilat janë ndryshimet dhe avantazhet e secilit mjet zhvillimi në zhvillimin e simulimeve
të një ekonomie artificiale?
A mund të përcaktohet një udhërrëfyes për hapat e ndërtimit të një ekonomie artificiale
me anë të sistemeve me agjentë inteligjent?
Në bazë të këtyre pyetjeve kërkimore të ngritura janë formuluar hipotezat e këtij
punimi, të cilat janë të paraqitura si më poshtë:
H1: Simulimi i modeleve ekonomike me anë të koncepteve të agjentit inteligjent është e
nevojshme në fushën ekonomike dhe ka nevojë për zhvillim të mëtejshëm.
H2: Modelimi dhe simulimi i bazuar në agjent është teknika më e mirë për problemet
komplekse ekonomike.
H3: Teknikat e simulimit të bazuar në agjent mund të përdoren në probleme specifike
ekonomike duke përdorur mjetet ABM dhe MAS.
H4: Modelimi dhe ndërtimi i një ekonomie artificiale me anë të ABM-ve (me RePast)
është i mundur dhe funksional.
H5: Ndërtimi i një ekonomie artificiale me anë të mjeteve të zhvillimit MAS (JaCaMo)
duke përdorur hapat e përcaktuar për modelimet ekonomike të bazuara në agjentë është
i mundur.
1.5. Metodologjia e përdorur
Në studimin e kryer është përdorur një ndarje e punës kërkimore në dy pjesë të
rëndësishme: pjesa e analizës së literaturës dhe pjesa e zhvillimeve eksperimentale.
Në pjesën e analizës së literaturës është përdorur një strategji e ndarë në katër faza, e
cila përfshin në çdo fazë analiza, krahasime dhe hulumtime në literaturë. Faza e parë
trajton fillimin e punës kërkimore ku u krye një analizë e gjerë e literaturës, dhe ku
6
tregohen hapësirat e mundshme për studim. Faza e dytë trajton një hulumtim i thelluar
në konceptet bazë të temës së studimit ku edhe identifikohen edhe problematikat e
ndryshme të hasura deri më tani. Faza e tretë bazohet mbi përfundimet e fazës së dytë,
dhe kryen një analizë krahasuese të teknikave tradicionale të përdorura me teknikat e
studimit tonë. Në fazën përfundimtare të pjesës së analizës së literaturës është kryer një
studim i plotë mbi metodikat e përdorura për të arritur ndërtimin e sistemeve me
agjentë. Kjo fazë përfshin analizimin e metodikave për realizimin e modeleve
simuluese të bazuara në agjentë si edhe identifikimin dhe krahasimin e mjediseve për
zhvillim për këto modele.
Në bazë të rezultateve të marra nga analiza e literaturës janë kryer katër zhvillime
eksperimentale që përbëjnë pjesën kryesore të kësaj pune shkencore. Në këtë pjesë janë
analizuar zgjidhjet e dhëna, si edhe janë krahasuar eksperimentet duke vënë në dukje
ndryshimet dhe avantazhet e secilës metodë zhvillimi të kryer. Pas kësaj analize dhe
krahasimeve të secilës zgjidhjeje, paraqitet një rrugë e përgjithshme për ndërtimin e
simulimeve të modeleve ekonomike të bazuara në sisteme me agjentë inteligjent.
1.6. Struktura e studimit
Struktura e studimit përbëhet nga nëntë kapituj bashkë me këtë kapitull të parë.
Kapitulli i dytë përfshin një këndvështrim historik të fushës së inteligjencës artificiale,
ku analizohen të gjithë faktorët që kanë ndikuar në zhvillimin e kësaj fushe. Në të
trajtohet edhe lidhja e hershme e kësaj fushe me fushën ekonomike. Gjithashtu jepet
një tablo e trendëve të përdorimit të fushës së IA-së në fushën ekonomike dhe hapësirat
e vëna re për kërkime të mëtejshme shkencore.
Kapitulli i tretë përfshin një hulumtim të gjerë në literaturë mbi fushën e ekonomisë
artificiale e cila është baza e modelimeve ekonomike të bazuar në agjentë. Në këtë
kapitull trajtohet natyra e kësaj fushe të re, lidhja e saj me sistemet komplekse adaptuese
siç është edhe ekonomia dhe trajtimi i tyre me anë të ekonomisë llogaritëse të bazuar
në agjentë (“Agent-based Computational Economics” - ACE). Në vazhdim trajtohen
edhe specifika të ACE-së, avantazhet e saj dhe kritika ndaj saj dhe ndalemi në tipat e
agjentëve të propozuar nga ky komunitet. Ky kapitull shërben si baza kryesore mbi të
cilën i gjithë ky punim mbështetet.
Kapitulli i katërt përfshin një hulumtim më të thellë mbi modelimin dhe simulimin të
bazuar mbi agjentë inteligjent. Në këtë kapitull fillimisht trajtohen mënyrat e ndryshme
të modelimit dhe simulimit, karakteristikat e tyre dhe më pas bëhet një analizë
krahasuese midis tyre dhe modeleve të bazuara me agjentë (ABM). Më pas trajtohet
koncepti i agjentit inteligjent, arkitekturat e ndryshme të ndërtimit të tij dhe ndërtimi i
sistemeve multi-agjent.
Kapitulli i pestë fillon me një hulumtim mbi hapat për ndërtimin e një modeli simulues
me agjentë. Më pas vazhdon me një hulumtim në mjetet e zhvillimit ABM dhe një
analizë krahasuese midis këtyre mjeteve. Në vazhdim trajtohet modelimi dhe zhvillimi
në sistemet MAS, ku analizohet nën kontekstin e inxhinierisë së softuerit të orientuar
ndaj agjentit. Në këtë pjesë trajtohen metodologjitë e ndryshme të përdorura në MAS,
dhe më pas bëhet një analizë e mjeteve të zhvillimit të sistemeve MAS. Në fund të këtij
kapitulli trajtohen edhe dy raste studimi të ndërtimit të një ekonomie artificiale, nga ku
nxirren përfundime mbi punën në vazhdim.
Kapitulli i gjashtë përfshin dy punime eksperimentale të një problemi specifik të
ekonomisë artificiale. Në këto punime shfaqet metodika e përdorur në modelimin e
7
problemit dhe ndërtimit të tyre. Punimi i parë diskuton mbi problemin e terminalit të
kontejnerëve në portin e Durrësit, ndërsa punimi i dytë diskuton mbi problemin e
procesit të magazinimit në një magazinë. Këto punime janë punuar me dy mjete të
ndryshme zhvillimi, përkatësisht mjeti i zhvillimit NetLogo është i përdorur në punimin
e parë dhe mjeti i zhvillimit Jason në punimin e dytë. Ky kapitull mbyllet me një
vlerësim krahasues të metodikave të përdorura në këto dy punimeve dhe një analizë
krahasuese për dy mjetet e zhvillimit të përdorura.
Kapitulli i shtatë përfshin modelimin dhe ndërtimin e një ekonomie artificiale me mjetin
e zhvillimit RePast. Fillimisht jepet një përshkrim i modelit të ekonomisë artificiale që
konsiderohet për zhvillim dhe më pas analizohet në detaje ky model, ku edhe
përcaktohen gjendjet e agjentëve, vendosjet e tyre fillestare dhe kërkesat e simulimit.
Më pas vazhdohet me veçoritë e mjetit të zhvillimit RePast ReLogo. Pasi kemi
shpjeguar mjetin e zhvillimit vazhdojmë me projektimin e modelit, ku specifikisht
projektojmë veprimet e agjentëve dhe më pas kalojmë në detajimin teknik për
realizimin e tij. Kjo pjesë shoqërohet edhe me disa diagrame të gjuhës së modelimit të
unifikuar (“Unified Modeling language” – UML) që ndihmojnë në projektimin e
zgjidhjes. Në pjesën e fundit të kapitullit shpjegohen specifikat e ndërtimit të mjedisit
simulues të kësaj ekonomie artificiale.
Kapitulli i tetë trajton përsëri modelin e ekonomisë artificiale të shpjeguar në kapitullin
e shtatë, por tashmë duke e zhvilluar atë me mjetin e zhvillimit JaCaMo. Në këtë
kapitull, shpjegohet fillimisht veçoritë e mjetit zhvillues JaCaMo bashkë me detaje të
përdorimit të saj. Në vazhdim shpjegohet projektimi i plotë i ekonomisë artificiale nën
këndvështrimin e këtij mjedisi zhvillues. Kjo pjesë është e shoqëruar gjithashtu me
diagrame përkatëse UML, që ndihmojnë në projektimin e saj. Më pas shpjegohen
metodikat e përdorura për ndërtimin e ekonomisë artificiale duke përdorur sistemet me
agjentë inteligjentë. Ky kapitull mbyllet me disa specifikime të rëndësishme rreth
ndërtimit të ekonomisë artificiale me mjetin zhvillues JaCaMo.
Kapitulli i nëntë paraqet një analizë të detajuar të rezultateve eksperimentale të nxjerra
nga simulimet e ekonomisë artificiale në simulatorët e ndërtuar në kapitujt shtatë dhe
tetë. Në fillim të këtij kapitulli përshkruhen të dhënat fillestare të modeleve, të
kompjuterit ku kryhen këto eksperimente dhe më pas përshkruhen rezultatet e
gjeneruara. Në vazhdim kryhet një analizë e rezultateve të nxjerra nga simulimet, e cila
përfshin një analizë të detajuar mbi të dhënat ekonomike të gjeneruara në formë grafike.
Më pas bëhet dhe një analizë funksionale të simulimeve përkatëse. Në pjesën e fundit
të këtij kapitulli kryhet një analizë krahasuese e zhvillimit të simulimeve të ekonomisë
artificiale me mjetet RePast dhe JaCaMo, si edhe përcaktohen disa hapa të nevojshme
gjatë ndërtimit të simulimeve të tilla.
Kapitulli i dhjetë përmban përfundimet e punimit dhe rekomandimet e saj.
8
KAPITULLI 2: NJË KËNDVËSHTRIM HISTORIK
2.1. Hyrje
Historia e inteligjencës artificiale fillon që në lashtësi, kur njerëzit filluan të fantazojnë
për qenie artificiale që kishin inteligjencë dhe që kryenin veprime të njëjta si njerëzit.
Ishin pikërisht mitet dhe veprat e qytetërimeve të lashta si ato Greke, Egjiptiane,
Kineze, etj.., që i vunë në mendime disa nga kontribuesit kryesor të shkencës dhe artit.
Heroni i Aleksandrisë ishte ndër të parët që arriti të krijonte një mekanizëm automatik
që i përngjante njeriut në veprime (McCorduck, 2004). Vlen për tu përmendur Aristoteli
me përshkrimin e tij të silogjizmave, një metodë formale dhe e mendimit mekanik, e
cila u përshkrua që në vitet 350 para erës sonë (Russell & Novig, 2010).
Ishin vitet 1600-1700 kur përsëri filozofë, shkrimtarë dhe matematicienë të ndryshëm
do fillonin të mendonin përsëri për aspektet e inteligjencës artificiale. Pikërisht në këto
vite kemi filozofë si Renè Descartes që mendonin se njerëzit ishin thjesht makina
komplekse, apo matematicien si Blaise Pascal që ndërtoi llogaritësin mekanik
(Buchanan, 2005). Po në vazhdimësi kemi Gottfried Leibniz, i cili kontribuoi duke
përmirësuar llogaritësin mekanik (makina llogaritëse) dhe zbuloi sistemin binar (i cili
ishte në përdorim në Kinë që në lashtësi). Rreth viteve 1850 kemi makinën e parë
llogaritëse të programueshme nga Charles Babbage dhe Ada Lovelace, si edhe punimet
e para për të formalizuar semantikën nga matematicieni Bernard Bolzano. George
Boole hulumtoi në ligjësitë e veprimeve të mendjes duke i shprehur ato në gjuhë
simbolike matematikore (McCorduck, 2004). Në vitin 1912 “El Ajedrecista” ishte
automati i parë që luante lojën e shahut (Vigneron, 1914), i krijuar nga Leonardo Torres
y Quevedo. Ky automat ishte loja e parë që luante në mënyrë automatike kundrejt
lëvizjeve të kundërshtarëve. Punimet e Bertrand Russell dhe Alfred North Whitehead
mbi bazat e matematikës, në vitet 1910-1927, ndihmoi në zhvillimin e logjikës formale.
Të gjitha këto zhvillime ndihmuan në konceptimin dhe krijimin e fushës së inteligjencës
artificiale.
Në pjesët e mëposhtme do të flasim për historinë e inteligjencës artificiale ku në pjesën
e pare përshkruhet inteligjenca artificiale nën kontekstin historik bashkë me idetë dhe
personat që kontribuan ne këtë fushë. Në pjesën e dytë do të flitet mbi zhvillimet dhe
lidhjet historike të inteligjencës artificiale dhe ekonomisë dhe pionierët e kësaj fushe.
2.2. Historiku i Inteligjencës Artificiale
2.2.1. Fillimet
Inteligjenca Artificiale u formalizua si fushë në vitet 1956, por ajo kishte filluar të
mendohej si e tillë vite më përpara. Kurt Gödel ishte i pari që vendosi bazat teorike të
shkencave kompjuterike me punimin e tij mbi gjuhët universale formale dhe kufizimet
e vërtetimit dhe llogaritjes (Gödel, 1931). Ai ndërtoi sisteme formale të cilat lejonin
vetë formulimet që flisnin për vetveten, duke rrjedhur nga një procedurë llogaritëse për
vërtetim teoreme, ku pikërisht për këtë ai ndërtoi një gjuhë programimi i bazuar në
numra të plotë. Gjithashtu Gödel vazhdoi edhe me ndërtimin e deklarimeve që pohojnë
mos-vërtetueshmërinë e tyre, duke treguar kështu që matematika e zakonshme nuk
mund të vërtetonte çdo deklarim të vërtetë, ky punim u quajt “Teorema Gödel e pa-
plotësisë”. Duke u bazuar mbi punimet e tij të para që ndihmuan edhe vetë fushën e
shkencave kompjuterike, Gödel mund të vlerësohet si personi i parë që filloi punimet
në fushën e inteligjencës artificiale (Schmidhuber, 2007). Më vonë Në vitin 1936 Alan
Turing prezantoi Makinën Turing (Turing, 1936) për të riformuluar rezultatet e Gödel
bashkë me shtesat e bëra nga Alonzo Church për njehsimin lamda. Në vitin 1941
9
Konrad Zuse ndërtoi programin e parë funksional kompjuterik duke përdorur sistemin
binar dhe bit-et e përdorura nga Leibniz.
Punimi i parë i njohur nga të gjithë në fushën e inteligjencës artificiale, është pikërisht
punimi i Warren McCulloch dhe Walter Pins në vitin 1943, ku jepen bazat e “rrjetave
artificiale neurale” (Russell & Novig, 2010). Ata propozuan një model neuronesh
artificiale të cilët kishin dy gjendje 0 ose 1, ku 1 ishte gjendja e ngacmuar e neuronit që
varet edhe nga neuronet fqinjë. Neuronet lidhen me njëri-tjetrin nëpërmjet lidhjeve
logjike duke formuar struktura të thjeshta rrjetash, ku këto rrjeta mundet edhe të
mësojnë (McCulloch & Pitts, 1943). Më vonë Donald Hebb tregoi një rregull
përditësimi për modifikimin e fuqisë lidhëse midis neuroneve (Hebb, 1949), ky rregull
sot njihet si “Hebbian Learning”.
Gjatë periudhës 1943-1950, pati shumë zhvillime dhe punime shkencore që ndikuan në
formimin e fushës së inteligjencës artificiale. Vlejnë të përmenden punimi i Claude
Shannon mbi bazat e teorisë së informacionit dhe shpjegimi i tij mbi entropinë e
informacionit (Shannon, 1948), propozimi i matematikanit Alan Turing mbi vlerësimin
nëse një makinë është ose jo inteligjente (Turing, 1950), e cila njihet sot si “Testi i
Turingut”.
2.2.2. Themelimi i fushës IA
John McCarthy mblodhi rreth tij Claude Shannon, Marvin Minsky dhe Nathaniel
Rochester për të organizuar një shkollë verore në vitin 1956 në kolegjin e Dartsmouth.
Në propozimin e bërë prej tyre u kërkua të realizohej një studim prej dy muajsh, ku 10
kërkues të interesuar në teorinë automata, rrjetat neurale dhe inteligjencën, do të
punonin për të studiuar inteligjencën artificiale (McCarthy, Minsky, Rochester, &
Shannon, 1955). Në këtë mbledhje u bashkuan edhe Herbert Simon, Allen Newell,
Trenchard More, Arthur Samuel, Oliver Selfridge dhe Ray Solomonoff. Së bashku,
pjesëmarrësit vunë në dukje nevojën e krijimit të fushës së inteligjencës artificiale, dhe
ishte pikërisht në këtë konferencë ku kjo fushë e re filloi punimet e saj. Kërkuesit që
morën pjesë u quajtën edhe baballarët e inteligjencës artificiale moderne (Lungarella,
Iida, Bongard, & Pfeifer, 2007).
Gjatë punimeve të mbledhjes në Dartsmouth, u prezantua edhe programi i parë i
inteligjencës artificiale i cili ishte “Logic Theorist”, i shkruar nga Newell, Shaw dhe
Simon. Bazuar mbi këtë u zhvillua edhe “General Problem Solver” në vitin 1957, e
cila u përdor si një makinë universale e zgjidhjes së problemeve, ku çdo problem i
formalizuar në simbolikë mund të zgjidhej nëpërmjet saj (Newell, Shaw, & Simon,
1959). Për ta realizuar këtë tre kërkuesit zhvilluan një gjuhë programimi e njohur si
gjuha e përpunimit të informacionit (“Information Processing Language” - IPL), e cila
përdorte një mënyrë të përpunimit të simbolikës listore e cila u përdor edhe në gjuhën
e programimit LISP, të zhvilluar më vonë nga McCarthy në vitin 1958 (McCarthy J. ,
1958).
2.2.3. Zhvillimi i IA
Siç evidentohet edhe nga kërkues të tjerë, fokusi i punimeve të para ishin nga
këndvështrimi i përpunimit të informacionit, ku vetë truri i njeriut shihej si një
përpunues informacioni. Ky këndvështrim i dha shtysë si shkencës së inteligjencës
artificiale ashtu edhe studimit të trurit në përgjithësi, pikërisht në vitet 1956 (Steels,
2007). Ideja ishte se nëse arrije ta përshtatje mënyrën e përpunimit të informacionit,
hapi tjetër thjesht do të ishte bërja e punës dhe hetimi në detaje i shembujve konkretë.
10
Ajo çka u mendua në fillim ishte se mund të gjendej një rregull i përgjithshëm i cili
mund të shpjegonte inteligjencën. Por gradualisht me shtimin e punëve të shumta
kërkimore u bë e qartë se inteligjenca kërkonte sasi të mëdha informacioni kompleks
dhe të përpunuara saktë e mirë.
Gjatë viteve të para të fushës së inteligjencës artificiale, pati një interesim të madh nga
publiku i cili dha fonde të shumta për zhvillimin e kësaj fushe. Grupe të shumta kërkimi
filluan të merreshin me ndërtimin e sistemeve artificiale që do të simulonin, barazonin
apo edhe të tejkalonin aftësitë mendore dhe ato fizike të njeriut. Një problem i madh që
doli në pah pas pak vitesh kërkimi ishte se për shkak të kompleksitetit dhe aftësive të
kufizuara të kompjuterëve në atë kohë, kompjuterët nuk mundeshin të zgjidhnin sikur
edhe probleme të qarta me hapësirë të vogël mundësish zgjedhjeje. Për këtë shkak, gjatë
viteve 1960 kërkuesit u përqendruan në krijimin e modeleve që i zgjidhnin këto modele
duke u bazuar mbi heuristikën. Qëllimi kryesor i tyre ishte të organizonin procesin e
kërkimit, të shfaqnin heuristikën në formën e funksioneve vlerësuese apo rregullave, si
dhe për të mësuar vetë atë si pjesë e zgjidhjes së problemit. Në këtë kohë u bë e
zakonshme që edhe inteligjenca artificiale të njihej me emrin “kërkimi heuristik”.
Në fund të viteve 1960 u bë e qartë se nuk ishte vetëm heuristika e rëndësishme, por
edhe mënyra se si e shfaqim informacionin rreth problemit. Nën këtë këndvështrim të
ri u lind nevoja e kërkimeve në drejtim të mënyrave të shfaqjes dhe përpunimit të dijes,
kjo për të shmangur kërkimin dhe kombinimet e pafundme të botës reale (Steels, 2007).
Disa nga punimet e bëra gjatë këtyre viteve nga të cilat mund të përmendim është
SAINT (Slagle, 1963), një program i cili bazohej në zgjidhjen e problemeve me fushë
të kufizuar të cilat u njohën më vonë si “microworld”. Punime të tjera ishin punimet e
Widrow për “Adalinet” dhe Rosenblat për “perceptronet”, që ishin metoda të
përmirësuara të mësuarit Hebb.
Në vitet 1970, idetë dhe teknologjitë për kërkimin heuristik dhe për përpunimin e dijes
u përdorën për sistemet e para eksperte. Këto sisteme eksperte ishin projektuar për të
zgjidhur probleme në fushat e mjekësisë dhe inxhinierisë, dhe çuan në një analizë më
të thelluar të zgjidhjes së problemit duke e parë atë nga ana e dijeve të specialistëve të
fushës (Steels & McDermott, 1993). Ndër këto sisteme mund të përmendim programin
“DENDRAL”, i cili u zhvillua nga Ed Feigenbaum, Buchanan dhe Lederberg
(Buchanan, Sutherland, & Feigenbaum, 1969) për fushën e kimisë për gjetjen e
strukturave molekulare. Më vonë, vetë Feigenbaum i drejtoi kërkimet në projektin e
programimit heuristik, i cili zhvilloi metodologji të reja mbi zhvillimin e sistemeve
eksperte, nga ku u zhvillua edhe projekti pasardhës “MYCIN”.
Pas sukseseve të sistemeve eksperte të para, shumë biznese dhe industri filluan të
investojnë në këtë fushë ku shumë prej tyre kishin edhe grupet e tyre të inteligjencës
artificiale që punonin mbi këto sisteme eksperte. Nga fillimi i viteve 1980, këto
aplikime u bënë një pjesë kryesore e inteligjencës artificiale dhe treguan se kërkimet në
këtë fushë kishin qenë në drejtimin e duhur. Përqendrimi në ndërtimin e këtyre
sistemeve eksperte solli edhe ngadalësimin e punimeve kërkimore përgjatë këtyre
viteve.
2.2.4. Dimri i IA
Pavarësisht zhvillimeve të shumta pozitive në fushën e inteligjencës artificiale, ka pasur
edhe mbyllje projektesh të shumta nëpër institucionet kërkimore dhe universitete
përgjatë viteve 1970 dhe 1980. Kjo e lidhur me faktin se shumë nga këto projekte nuk
mundën të jepnin rezultatet e pritshme, për shkak edhe të fuqisë së kufizuar
11
kompjuterike për llogaritjet e shumta të tyre. Kjo periudhë u quajt “dimri i inteligjencës
artificiale”. Këtë emërtim e mori nga kërkuesit që i shpëtuan heqjes së fondeve në vitin
1974, ku ata shpëtuan për shkak të zhvillimit të sistemeve eksperte (Crevier, 1993). Kjo
periudhë pati dy nën-periudha, e para ishte në vitet 1974 deri më 1980, ku shumë
kërkime si p.sh kërkimet mbi rrjetat neurale dhe perceptronëve të cilat pothuajse u
ndaluan. U vështirësua marrja e fondeve për projektet e përgjithshme të fushës së
inteligjencës artificiale, ku vetëm projektet që kishin misionin e qartë mundeshin të
përfitonin. Po në këtë kohë u rrit edhe numri i kritikëve të fushës, të cilët mendonin se
nuk duhet investuar në të. Kjo nën-periudhë përfundoi me sukseset e sistemeve
eksperte. Nën-periudha e dytë fillon pikërisht me dështimin e kompanive që ndërtonin
sistemet eksperte të cilat përdornin makinat LISP në fillimin e viteve 1980, kjo për
faktin se në atë kohë sapo u zhvilluan kompjuterët personal që ishin më të lirë. Makinat
LISP ishin kompjuterë të optimizuar me gjuhën e programimit LISP e cila ishte dhe
gjuha e preferuar e inteligjencës artificiale. Pavarësisht kësaj, gjuha CLISP u zhvillua
për kompjuterët personal, dhe sistemet eksperte të mëparshme ishin shumë të shtrenjta
për tu mirëmbajtur. Ndikimet e kësaj periudhe janë ndierë edhe për shumë vite më pas.
2.2.5. Koncepte të reja në IA
Që në punimet e para pas krijimit të inteligjencës artificiale, u vu në dukje një ndarje e
punimeve në dy drejtime. Nga njëra anë ishin punimet që u përqendruan në përpunimin
simbolik, dhe nga ana tjetër ishin punimet e përqendruara në përpunimin nën-simbolik
ose siç quhej ndryshe teoria e lidhshmërisë (“connectionism”). Gjatë 20 viteve të para
u zhvillua më shumë përpunimi simbolik, kjo pasi edhe vetë kërkuesit u munduan të
japin zgjidhje problemeve duke përdorur pasqyrimin simbolik, pra duke gjetur një
zgjidhje matematikore apo edhe heuristike. Gjatë mesit të viteve 1980, disa grupe
kërkuesish rifilluan punimet në rrjetat neurale të cilat bazoheshin në përpunimin nën-
simbolik. Ata rikthyen vëmendjen e kërkuesve të tjerë të fushës në punimet e para si
Perceptroni i Rosenblat, algoritmet e të mësuarit me “backpropagation”. Rikthimi në
këto punime solli disa avancime në fushat e përpunimit të sinjaleve apo edhe modeleve
të mësuarit.
Këto modele të lidhshmërisë së sistemeve inteligjente u panë si konkurrent direkt të
metodave të përpunimit simbolik dhe metodave logjike të përdorura deri në atë kohë.
Por ajo që u vërejt ishte se zhvillimi i këtyre modeleve ndihmoi edhe në përmirësimin
e metodave të përpunimit simbolik. Kombinimi i këtyre dy këndvështrimeve e çoi këtë
fushë në një nivel më të lartë të kërkimeve shkencore dhe zhvillimit të tyre.
Në vitet në vijim ky zhvillim në fushën e inteligjencës artificiale i dha shtysë njohjes
dhe përdorimit të saj si një metodologji shkencore, ku hipotezat e saj duhej të
provoheshin dhe rezultatet duhej të analizoheshin në mënyrë rigoroze për rëndësinë e
tyre (Cohen, 1995). Duke filluar nga ky moment inteligjenca artificiale përfshin në
vetvete edhe konceptet e vjetra të teorisë së probabilitetit. Rrjetat Bayes, Modelet e
fshehura Markoviane dhe modelet e shumta probabilitare gjetën aplikim të gjerë në
diagnozat mjekësore, në robotikë, në njohjen e modeleve, etj.
Pavarësisht këtyre zhvillimeve, në fillimin e viteve 1990, u pa e nevojshme të
shtoheshin edhe elementë të tjerë në formimin e inteligjencës dhe aftësisë së përshtatjes
të saj. Dy elementët kryesorë që u identifikuan ishin pikërisht trupi dhe mjedisi, si dy
elementët që përbëjnë të sjellurit në mënyrë inteligjente (Steels & Brooks, 1994). Duke
qenë se trupi u identifikua me agjentët dhe mjedisi ishte fusha ku këta agjentë vepronin,
pikërisht për këtë arsye ju dha përparësi marrjes së informacionit nga mjedisi. Nëse më
12
përpara punimet e shihnin problemin duke e zgjidhur atë në bazë të njohurive, në vitet
në vijim ajo u pa edhe në bazë të sjellurit. Ideja ishte që të zgjidheshin probleme në
mjedise të hapura ku nuk kishte njohuri fillestare për to, pra ku një agjent merr vendime
mbi mjedisin ku ndodhet. Me këtë zhvillim dhe me zhvillimin e teknologjisë përgjatë
1990, kërkuesit u rikthyen në idenë e vjetër të ndërtimit të robotëve (Russell & Novig,
2010). Kjo ide u mbështet mbi fushën e inteligjencës së shpërndarë artificiale e shfaqur
që në vitet 1975, e cila merret kryesisht me zhvillimin e zgjidhjeve të shpërndara për
problemet (Chaib-Draa, Moulin, Mandiau, & Millot, 1992). Koncepti bazë i saj është
zgjidhja e problemeve komplekse të mësuarit, planifikimit dhe vendimmarrjes.
Me zhvillimin e idesë së agjentëve vendimmarrës, u zbulua se ishte e nevojshme që
këta agjentë, ashtu si edhe qeniet e gjalla të komunikonin dhe ndërvepronin me njëri
tjetrin. Kjo do të sillte edhe lindjen e sistemeve multi-agjent, të njohura me shkurtimin
MAS në fushën e inteligjencës artificiale, të cilat përqendroheshin në mënyrën se si
inteligjenca mund të shpërndahej në grup dhe se si këto agjentë bashkëveprues mund
të zgjidhnin problemin më shpejtë dhe më saktë. Një nga mjediset më kryesore ku këta
agjentë inteligjentë do të përdoreshin më tepër ishte pikërisht interneti. Sistemet e
inteligjencës artificiale janë të zakonshme në programet e bazuara në web. Këto sisteme
janë baza e shumë aplikimeve të reja, ku mund të përmendim motorët e kërkimit,
sistemet e ndryshme rekomanduese, sisteme të ndryshme automatike për
vendimmarrje, përmbledhëse, filtrimi, e shumë zgjidhje të tjera.
Me rritjen e fuqisë llogaritëse të kompjuterëve dhe ruajtjes së të dhënave, fusha e
inteligjencës artificiale është pasuruar me analizat dhe punimet e shumta që bëhen në
të. Thjesht me zbatimin e disa algoritmeve të thjeshtë janë arritur rezultate më të larta
seç mund të mendohej disa vite më parë nga algoritmet më të optimizuar. Sot problemi
i “ngushtimit të dijes” në inteligjencën artificiale, pra problemi i shprehjes së gjithë
njohurive që sistemi ka nevojë, mund të zgjidhet duke përdorur metodat e të mësuarit
nga të dhënat që kanë në dispozicion (Halevy, Norvig, & Pereira, 2009).
Një ide e re midis studiuesve të fushës së inteligjencës artificiale është dhe nën fusha e
inteligjencës së përgjithshme artificiale (“Artificial General Intelligence” – AGI). Kjo
fushë kërkon për një algoritëm universal të mësuari dhe veprimi në çdo mjedis
(Goertzel & Pennachin, 2007).
Këndvështrimet e sotme mbi zhvillimin e inteligjencës artificiale janë të përqendruara
kryesisht në kërkimet se si ontologjitë dhe sistemet e simboleve mund të dalin në një
grup agjentësh dhe me çfarë mekanizmash mund të vazhdojnë të zhvillohen dhe bëhen
më komplekse. Ky këndvështrim quhet dinamika semiotike (Steels L. , 2006), dhe
arrihet duke përdorur mjete dhe teknika të njëjta me kërkimet në shkencat sociale që
merren me dinamikat shoqërore, vendimmarrjet ekonomike, etj. Grupet e kërkimit në
dinamikat semiotike kanë pasur rezultatet e para, ku vlejmë të përmendim grupe
robotësh me aftësi vetë-organizuese që komunikojnë me një gjuhë të tyren apo edhe
sisteme software që komunikojnë dhe japin rezultate në grup. Këto eksperimente
përfshijnë brenda tyre njohuri nga rrjetat neurale dhe trupëzimi për komunikimin me
simbolikë dhe përdorin teknika të specializuara të përpunimit simbolik. Zhvillimet e
internetit drejt grupimeve sociale dhe zhvillimeve të njohurive të përbashkëta, e kanë
bërë këtë fushë kërkimi më të rëndësishme dhe më të prekshme. Ajo çfarë kërkon
shoqëria sot është se si një agjent i caktuar software ose edhe robot të veprojë
suksesshëm në një botë komplekse dhe dinamike.
13
2.3. Inteligjenca Artificiale dhe Ekonomia
Nën këndvështrimin historik, fusha e matematikës u zhvillua fillimisht për të trajtuar
probleme të përditshme të jetës social-ekonomike dhe teknike. Zhvillimi i mendimit
filozofik dhe matematikor solli edhe zhvillimin e vetë mendimit ekonomik, ku ky i
fundit u bë edhe promotor i vetë këtyre mendimeve. Ky zhvillim i ndërsjellët përgjatë
shekujve XVI deri më XIX, solli edhe një sërë zhvillimesh të shumta në fushën
matematikore dhe ekonomike dhe që kulmuan në fillim vitet e shekullit të XX.
Shkenca e ekonomisë i pati fillimet e saj që në vitin 1776, kur filozofi Adam Smith
publikoi librin me titull “Pasuria e Kombeve” (Smith, 1776). Edhe pse që në lashtësi
ka pasur punime mbi mendimin ekonomik, ishte pikërisht Adam Smith që e trajtoi atë
si shkencë, duke përdorur idenë që ekonomitë janë të përbëra nga agjentë të veçuar që
mundohen të maksimizojnë mirëqenien e tyre personale. Brenda kësaj ideje u
formalizuan metoda të ndryshme për studimin e fushës ekonomike, me anë të metodave
matematikore. Shumë matematikanë të kohës u angazhuan në modelime të ndryshme
të problemeve ekonomike. Ekonomistët studiojnë se si njerëzit bëjnë zgjedhje që çojnë
në të ardhura preferenciale ose siç njihet ndryshe “dobi”. Bazat e këtij trajtimi janë
dhënë nga Jeremy Bentham dhe më vonë ky trajtim është formuluar matematikisht nga
Leon Walras dhe i përmirësuar nga Frank Ramsey. Më vonë, gjatë fillim viteve të
shekullit të XX, John von Neumann dhe Oskar Morgenstern e riformuluan teorinë e
“dobisë” në atë që njihet sot si teoria moderne e dobisë, si edhe vazhduan në zhvillimin
e teorisë së lojërave në ekonomi (von Neumann & Morgenstern, 1944).
Zhvillimet e shumta të atyre viteve, respektivisht në fushën matematikore dhe
statistikore në funksion të zhvillimeve ekonomike, solli me vete edhe krijimin e fushës
së kërkimeve operacionale (“Operational Research” - OR). Kjo fushë u përdor
fillimisht për zgjidhjen e problemeve të ndryshme kryesisht në industri dhe në ushtri,
sidomos gjatë periudhave të luftërave të atyre viteve. Kjo fushë u fuqizua akoma më
tepër me hyrjen e pajisjeve llogaritëse, apo siç njihen ndryshe kompjuterët. Vetë fusha
e kërkimeve operacionale pati ndikimin e saj edhe në zhvillimin e teknikave llogaritëse
në këto kompjutera, dhe së bashku me të edhe në zgjidhjen e problemeve me karakter
ekonomik. Kjo solli edhe zhvillimin e algoritmeve të ndryshme të cilat u bë pjesë e
qenësishme e fushës së kërkimeve operacionale si edhe e fushës së shkencave
kompjuterike. Pikërisht këto zhvillime të këtyre fushave, vunë në dukje nevojën për
bashkimin e tyre dhe fushave të tjera si neurologjia, psikologjia në një disiplinë të vetme
për studimin e inteligjencës artificiale (IA) (McCarthy, Minsky, Rochester, & Shannon,
1955). Shumë studiues dhe kërkues shkencor u përfshinë në këtë fushë të re
ndërdisiplinore, e cila filloi të zhvillohej shumë në zgjidhjen e problemeve të ndryshme.
Kjo i dha shtysë në këtë mënyrë edhe fushave të tjera si kërkimet operacionale,
informatikës, statistikës si edhe vetë fushës ekonomike.
Një prej studiuesve fillestar në IA ishte edhe ekonomisti Herbert Simon, i cili kontribuoi
në këtë fushë duke përdorur teknikat ekonomike të vendimmarrjes. Me zhvillimin e
kompjuterëve, si edhe hyrjen e kompjuterëve personal, ndikimi i IA dhe OR arriti
kulmet e saj. Futja e metodave të sistemeve eksperte (Buchanan, Sutherland, &
Feigenbaum, 1969), në zgjidhjen e problemeve të ndryshme të fushës ekonomike, pati
ndikimin e parë pozitiv në ekonomi. Rikthimi në vëmendje i rrjetave neurale në IA të
cilat janë zbatime të statistikës, apo përdorimi i simulimeve me algoritme heuristik të
zhvilluara në fushën e kërkimeve operacionale (Zahedi, 1987), sjellin në vëmendje një
ndërveprim të ndërsjellët midis rezultateve të fushës ekonomike dhe inteligjencës
14
artificiale. Një fokus i veçantë iu është dhënë problemeve të shumta të optimizimit, ku
të dyja fushat kanë dhënë kontributin e tyre dhe kanë ndihmuar njëra-tjetrën.
Fillimi i viteve 90 solli edhe risitë e saj në IA dhe ekonomi. Përdorimi masiv i
kompjuterëve solli edhe zhvillimin e bizneseve të cilat përdornin këto kompjutera për
të zgjidhur problemet e shumta të tyre (NRC, 1999). Në këtë këndvështrim u pa një
përdorim i shumë teknikave të IA, tanimë të përfshira si zgjidhje në shumë programe
kompjuterike. Një zhvillim interesant i këtyre viteve deri më sot është bashkimi i
metodave statistikore në studimin e ekonomisë me ato të inteligjencës artificiale,
konkretisht algoritmeve të mësuarit të përmbledhura në atë që njihet ndryshe si
“Machine Learning” (ML). Ishte pikërisht ky bashkim i metodave të statistikës me ato
të ML dhe bazave të dhënave që solli edhe lindjen e teknikave për përpunimin dhe
analizimin e të dhënave (Mannila, 1996). Këto teknika njihen ndryshe me emërtimin
“Data Mining”. Përdorimi i tyre edhe sot është i një rëndësie të veçantë edhe për
bizneset e ndryshme, pasi sot shumica e bizneseve i përdorin këto teknika për analiza
të ndryshme financiare, në kërkime tregjesh të reja apo edhe vlerësim produkti. Kjo
teknikë është pjesë themelore e asaj qe quhet “Knowledge Discovery”, e cila përfshin
disa hapa që nga selektimi, përpunimi, transformimi, “Data Mining” dhe Interpretimi
apo vlerësimi i njohurisë (Fayyad, 1996).
Në vitin 2001, si vazhdim i këtij drejtimi u vu në dukje një tjetër disiplinë e quajtur
“Data Science” ose shkenca të dhënave e cila ka në përdorim pikërisht algoritmat e
zhvilluar në IA (Cleveland, 2001). Kjo fushë ndërdisiplinore ka si qëllim analizat e të
dhënave për të nxjerrë njohuri apo edhe informacione nga të dhënat në forma të
ndryshme (Dhar, 2013). Aplikimet e saj shihen kryesisht në fushat ekonomike, të
biznesit dhe financës. Gjithashtu si pjesë e shkencave të dhënave, si edhe vazhdimësi
të teknikave “data mining” sot po vihet në dukje teknika e “Process Mining”, e cila
vendos ura lidhëse midis modelimeve të proceseve të biznesit dhe inteligjencës së
biznesit (van der Aalst, 2016).
Përveç ndikimit të dukshëm të IA në shkencat e të dhënave të cilat u aplikuan
konsiderueshëm në ekonomi, përsëri gjatë viteve 90 e tutje ka pasur zhvillime të tjera
në lidhje me ekonominë. Ishte pikërisht koncepti i agjentit, një term shumë i njohur deri
në ato vite sidomos në fushën ekonomike, i cili u mor në konsideratë nga IA. Një interes
të madh pati edhe në teoritë e vendimeve dhe racionalizimeve të Herbert Simon dhe se
si këto teknika të përdoreshin në sisteme me agjentë (Wellman, 1995), ku agjenti ka
rolin e vendimmarrësit në një model. Nocioni i agjentit inteligjent mori pikërisht këto
koncepte nga teoria e vendimmarrjes, teoria e lojërave në ekonomi apo edhe teoria e
kontrollit dhe u zhvillua në zgjidhjen e problemeve të IA në robotikë, automatikë dhe
në programe kompjuterike.
Një lëvizje rreth përdorimit direkt të inteligjencës artificiale në fushën ekonomike filloi
këto vite për të simuluar procese ekonomike. Shume punime si ai i Holland dhe Miller
për agjentët e adaptueshëm artificial në teorinë ekonomike (Holland & Miller, 1991),
punimet e Arifovic (Arifovic, 1991) mbi algoritmat gjenetik (Arifovic & Eaton, 1994),
si edhe punimet e Arthur ku me kryesori ishte për të mësuarit dhe përshtatja në ekonomi
(Arthur, 1992) u vunë në dukje. Këto punime u bazuan kryesisht në algoritmat gjenetik
dhe sistemet klasifikuese të Holland dhe në përpunimin e simboleve të Herbert Simon,
te dyja këto të zhvilluara nën fushën e IA. Të njëjtët persona u bënë edhe iniciuesit e
programit kërkimor ekonomik në Santa Fe, një institut i cili do merrej me studimin e
kompleksitetit me anën e IA. Në këtë institut, u krijua edhe simulatori i parë bazuar mbi
agjentë në ekonomi i njohur si tregu artificial i aksioneve (Palmer, Arthur, Holland,
15
LeBaron, & Taylor, 1994), i cili shënoi edhe fillimin e modeleve të bazuar në agjentë.
Ecuria e tyre pati zhvillim kryesisht në fushat e shkencave natyrore, për tu rikthyer
përsëri në vëmendje këto vitet e fundit (Farmer & Foley, 2009).
2.4. Përfundime
Kjo pjesë zbulon një lidhje të hershme midis fushës së inteligjencës artificiale dhe
fushës ekonomike. Duhet thënë se bazat e inteligjencës artificiale janë dhënë pikërisht
nga zhvillimi i metodave matematikore dhe mendimeve për zgjidhjen e problematikave
të ndryshme të fushës ekonomike. Teoritë bazë të mendimit ekonomik të filluara nga
filozofi Smith dhe shumë teori të tjera ekonomike të zhvilluara për zgjidhjen e
problematikave reale ekonomike janë të përfshira në brenda fushës multi-disiplinore të
IA. Kjo lidhje arrin kulmin në përfshirjen e konceptit të agjentit, një koncept ky i
përdorur gjerësisht në modelimet e ndryshme të fushës ekonomike. Ky koncept gjendet
i përdorur gjerësisht në fushën e IA në zgjidhjen e problematikave të ndryshme, duke
sjellë më vonë edhe zhvillimin e MAS. Në kontekstin e bashkëveprimit të fushës së IA
me fushat e statistikës dhe OR-se sollën krijimin e metodikave të përdorura në Data
Mining. Sot me rritjen teknologjike dhe mundësive të përdorimit të saj me anë të
sistemeve IoT, ka sjellë zhvillimin e këtyre metodave brenda disiplinës së Data Science,
ku sot përqendrohet më shumë në zhvillimin e teknikave analizuese të dhënave.
Duke pasur parasysh që IA është një shkencë eksperimentale, e cila teston dhe vlerëson
modele të ndryshme të cilat mund të jenë të lidhura me inteligjencën në tërësi. Një lidhje
e fushës IA dhe asaj ekonomike mbetet e hapur për tu shfrytëzuar në përdorimin e saj
në modelimet ekonomike. Një lidhje e tillë është trajtuar edhe në punimin e (Chen &
Kao, 2016), ku theksohet se idetë e zhvilluara në fushën e IA janë të zbatueshme edhe
në trajtimin e problematikave të modeleve ekonomike sot. Në këtë këndvështrim shihet
se trendi i ri i përdorimit të fushës IA do të jetë në ndërtimin e modeleve ekonomike që
përfshijnë idetë e saj. Një lëvizje e tillë tashmë ka filluar, dhe kjo vihet në dukje edhe
në këtë punim i cili konsideron avantazhet e arritura në fushën e IA dhe mundësitë për
krijimin e modeleve simuluese ekonomike. Për një studim më të detajuar të kësaj
mundësie, në kapitullin pasardhës do të trajtohet ekonomia artificiale, si një fushë e cila
merret pikërisht me simulimin kompjuterik të modeleve ekonomike.
16
KAPITULLI 3: EKONOMIA ARTIFICIALE
3.1. Hyrje
Që në fillimet e studimeve ekonomike, ekonomistët janë përpjekur të shpjegojnë
ekonominë duke punuar me sisteme qe ata mund t’i përcaktonin duke përdorur
ekuacione në mënyrë që t’i zgjidhnin problemet në mënyrë analitike. Ekonomistët nuk
kanë marrë parasysh apo anashkaluar problemet apo sistemet që nuk mund të
zgjidheshin për shkak të kompleksitetit të tyre. Disa nga studiuesit ekonomistë janë
përpjekur të përdorin modele të përafërta, por në shumicën e rasteve kjo ka çuar në
keqinterpretimin e sistemeve ekonomike.
Gjatë shekullit të njëzet, shumë hulumtues janë munduar të gjejnë mënyra të reja,
kryesisht të bazuara në analizat matematikore, për të shpjeguar sistemet ekonomike.
Ekonometria është një ndër fushat që u bë shumë popullore midis kërkuesve të fushës
ekonomike (Louçã, 2007). Hyrja në përdorim i kompjuterëve i nxiti ekonomistët të
përdornin programe kompjuterike të specializuara në analizat e ekonometrisë. Kjo i
ndihmoi ata për të studiuar dhe shpjeguar dinamikat e ekonomisë, si edhe për tu
përpjekur për të zgjidhur problemet e ndryshme të saj.
Në vitet e fundit u bë akoma më e dukshme se përdorimi i të tilla mjeteve nuk ishte e
mjaftueshme për analizimin e faktorëve që ndikojnë në modelet ekonomike. Një
problem i madh është pikërisht grumbullimi i të dhënave të agjentëve individual
ekonomik, ku secili prej tyre është i ndryshëm nga njëri-tjetri dhe përbërja e tyre
ndryshon gjatë gjithë kohës duke qenë dinamike (Gallegati, Palestrini, Delli Gatti, &
Scalas, 2006). Pikërisht për këtë shkak lindi dhe nevoja për të zgjidhur probleme
komplekse të kësaj natyre që përfshin ekonominë në tërësi, dhe fusha e cila merret me
të quhet ekonomia artificiale.
Koncepti i ekonomisë artificiale nuk është i ri në fushën e ekonomisë. Ky koncept
gjendet i përdorur në fillimet e veta si riprodhim në mënyrë bindëse dhe empirike i
serive kohore, në të cilin mund të përfaqësohej numerikisht modeli ekonomik (Backus,
Gregory, & Telmer, 1993). Edhe pse seritë kohore mund të përdoren për të analizuar
ekonominë nga karakteri i transaksioneve të ndërveprimeve të saj, përsëri kishte nevojë
për të shfaqur ekonominë nën një këndvështrim të ri dhe më të gjerë. Në përgjithësi
ekonomistët nuk u besojnë të dhënave të pyetësorëve, pasi pritshmëria e të pyeturit në
kohën e të përgjigjurit, mund të ndryshojë nga pritshmëria në momentin e të
përgjigjurit. Për këtë arsye, në punimin e Marey (Marey, 2000) u prezantua si zgjidhje
pikërisht eksperimentimi me “njerëz artificial”, duke kryer simulime kompjuterike me
agjent, ku sjellja e tyre bëhet sipas një përshkrimi matematikor që iu vendoset në
program. Në këtë mënyrë ne e dimë me siguri se cilat janë pritshmëritë e pjesëmarrësve
në kohën e transaksioneve. Këtu ideja e kësaj mënyre është të simulojë një model teorik
me disa vlera fillestare të kënaqshme dhe studimi se cilat supozime teorike çojnë në
rregullsi statistikore të serive kohore të gjeneruara që ngjasojnë me rregullsitë e
vërejtura. Ekonomi artificiale të tilla që bazohen në modelet e agjentëve për përcaktimin
e çmimeve të aseteve janë ndër trajtimet më të hershme në literaturë, si p.sh punimi i
Backus (Backus, Gregory, & Stanley, 1989), por që nuk kanë arritur të riprodhojnë seri
kohore bindëse.
3.1.1. Një mendim ndryshe
Në po këtë kohë, David Lane në punimin e tij me titull bota artificiale dhe ekonomiksi
pjesa e parë (Lane, 1993) në revistën “ekonomiksi evolucionar”, hodhi idenë e “botës
artificiale”. Në këtë punim bota artificiale u përkufizua si “modele stokastike të
17
implementueshme në kompjuter që përbëhen nga një grup entitetesh të nivelit mikro, të
cilat ndërveprojnë me njëri-tjetrin dhe me një mjedis, në mënyra të përcaktuara”.
Kushtet fillestare të një bote artificiale përcaktojnë gjendjen e mjedisit, popullatën e
entiteteve të nivelit mikro si edhe të atributet e tyre. Këto kushte fillestare së bashku me
dinamikën e botës artificiale prodhojnë një historik, ose siç quhet ndryshe një sekuencë
kohore të gjendjeve të botës. Qëllimi i modelimit të kësaj bote artificiale është të zbuloj
nëse ky historik shfaq “karakteristika emergjente” interesante. Një karakteristikë
emergjente është një veçori e historikut që:
mund të përshkruhet në terma të mbledhshëm, pa ndonjë referencë ndaj
atributeve të entiteteve,
qëndron përgjatë periudhave kohore më të gjata se shkalla kohore e mikro
ndërveprimeve,
dhe kundërshton shpjegimin me reduktim të supozimeve të karakteristikave
mikro të botës artificiale.
Lane argumenton se botët artificiale janë modele të mirë përcaktuara matematikore, por
që teoremat interesante rreth karakteristikave emergjente nuk mund të vërtetoheshin me
mjetet e deriatëhershme. Për këtë argumentim Lane dha tre arsye:
Së pari, botët artificiale janë të projektuara të jenë novatore ose sisteme të
hapura. Pra, ndryshimi i mjedisit të entiteteve të nivelit të ulët që i rrit ato vetë,
sjell ristrukturime emergjente të cilat transformohen vetë. Si rezultat i kësaj
është e vështirë aplikimi i metodave matematikore për të gjetur gjendjen
ekuilibër dhe nuk ka metodologji për studimin e karakteristikave të fenomeneve
të përkohshme.
Së dyti, karakteristikat emergjente janë domosdoshmërish funksione komplekse
të historisë së atributeve të entiteteve të nivelit mikro nga ndërveprimet e të
cilave ata vetë janë formuar.
Së treti, duket e qenësishme hipoteza se kapaciteti i një sistemi për të prodhuar
një organizatë hierarkike emergjente është një funksion i kompleksitetit të saj,
në atributet e komponentëve ose në rregullat e ndërveprimeve.
Këto ishin edhe arsyet për të cilat, autori i botëve artificiale u referua për nevojat e
implementimit në kompjuter. Në një punim të mëvonshëm të po atij viti (Lane, 1993),
autori bën analogjinë e qartë të botës artificiale me ekonominë artificiale duke shtuar
se është e nevojshme për të modeluar agjentët ekonomik bazuar mbi sistemet e
klasifikimit të John Holland. Në këtë këndvështrim, ai hedh tezën që të mos modelohen
më agjentët si aktor racional, siç ishte rasti në ekonominë neoklasike, por të modelohen
agjent që mësojnë. Gjithashtu, Lane vuri në dukje se qëllimi i eksperimentimit të
ekonomisë artificiale është gjetja e llojeve të regjimeve të strukturuara ekonomike që
mund të ndodhin dhe për të parë se si ato varen nga parametrat e sistemit dhe
karakteristikat e agjentëve. Ndryshe nga modelet e ekuilibrit të përgjithshëm,
ekonomitë artificiale janë në thelb dinamike, ku modeluesi i tyre është më i përqendruar
në modelimin e ndërveprimeve të agjentëve ekonomik, rregullimet institucionale të tyre
si dhe mënyrat e përfitimit të agjentëve nga mundësitë e këtyre rregullimeve.
Konfigurimet e saj duhet të jenë të luajtshme dhe shumë detaje institucionale duhet të
specifikohen.
3.1.2. Ekonomia dhe jeta artificiale
Një këndvështrim i ri i ekonomisë artificiale u dha nga Batten (Batten, 2000), i cili dha
idenë e marrjes parasysh të përdorimit të bazave të vetë-organizimit dhe bashkë-
18
evolucioni. Ai u bazua në shprehjen e Alfred Marshall për sa i përket ekonomisë, e cila
duhet të jetë pjesë e degës së biologjisë me studimin e jetës social-ekonomike dhe jo e
mekanikës. Kjo e bën atë më kulturore dhe dinamike, e jo vetëm financiare dhe
transaksione. Në këtë qasje të re, sfida kryesore mbetet krijimi i një metodologjie
sintetike ku sjellja e agjentëve ekonomik analizohet dhe vlerësohet. Kjo mënyrë
sintetike na çon përtej shikimit të jetës ekonomike siç ne e njohim dhe ta shohim atë
me konceptin e ri të jetës ekonomike siç mund të jetë. Kjo mënyrë ishte bërë e qartë pas
përdorimit në fushën e Jetës Artificiale (Steels & Brooks, 1994), ku konceptet e
inteligjencës artificiale si trupëzimi dhe mjedisi ishin përdorur si pjesë e sjelljes të
agjentëve inteligjent. Në tabelën e mëposhtme tregohet ngjashmëria midis automatës
qelizore dhe dinamikës social-ekonomike, e cila tregon edhe njëherë rëndësinë e
përdorimit të metodave të fushës së jetës artificiale në ekonominë artificiale.
Tabela 3-1: Ngjashmëritë midis automatës qelizore dhe dinamikës social-
ekonomike1
Automata Qelizore (AQ) Dinamika Social-Ekonomike
Elementët
bazë
Qelizat janë njësia bazë ose
atomet e AQ
Agjentët individual janë njësia bazë
e ekonomisë
Gjendjet e
mundshme
Qelizat marrin një nga gjendjet e
mundshme
Agjentët kanë modele mendore të
cilat i lejojnë ato të bëjnë zgjedhje
nga alternativat
Ndërvarësia Gjendja e qelizës ndikon te
gjendja e qelizës më të afërt
Zgjedhjet e bëra nga një agjent
ndikojnë te zgjedhja e agjentit tjetër
Aplikimet
dhe Detyrat
Modelimi i emergjencës së
rendit, rezultatet makro
shpjegohen nga rregullat mikro,
dhe rrugë vartësia e proceseve
dinamike
Detyrat kryesore
përfshijnë: kuptimin e emergjencës
së rendit, marrëdhënieve makro dhe
mikro, dhe dinamika ekonomike
Për shkak se ekonomia artificiale do të merrej me shumë agjent të cilët simulojnë sjellje
të ndryshme të agjentëve ekonomik, metodologjia e gjeneruesve të sjelljes nga fusha e
jetës artificiale (Langton, 1995) duhet të përdoret. Kjo i lejon fushës së ekonomisë
artificiale përdorimin e koncepteve të vetë-organizimit, rritjes, zhvillimit, evoluimit,
përshtatjes dhe shumë veçori të tjera të fushës që mund të vetë-gjenerohen duke
përdorur algoritmet e inteligjencës artificiale.
3.1.3. Mendimet sot për ekonominë artificiale
Një përkufizim jo zyrtar është dhënë nga Izquierdo (Izquierdo & Izquierdo, 2015), të
cilët e përkufizojnë ekonominë artificiale si “fusha kërkimore që mundohet të
përmirësoj kuptimin tonë mbi proceset social-ekonomike me ndihmën e simulimit
kompjuterik”. Ata e shpjegojnë këtë fushë duke u mbështetur mbi dy terma, kuptimi
dhe simulimi kompjuterik. Me termin kuptim, ne kuptojmë zbulimin e të rastësishmes,
d.m.th. të gjesh marrëdhëniet shkakësore midis vëzhgimeve dhe kjo në ekonominë
artificiale bëhet përmes ndërtimit të modeleve. Llojet e këtyre modeleve të analizuara
dhe projektuara në ekonominë artificiale janë modele formale të implementuara me
gjuhë programimi, e jo në formalizma matematikore si në fushën e ekonomiksit teorik.
Këtu ndërtohen modelet formale të proceseve social-ekonomike në mënyrë që t’i
1 E përshtatur nga tabela 5.2 e librit të Batten (Batten, 2000)
19
kuptojmë ato akoma më mirë. Modeli formal interpretohet nga një sistem formal që
është një bashkësi aksiomash dhe rregullash të njohura ndryshe si supozimet e modelit
dhe të shprehura në një gjuhë formale. Pasi këto supozime janë programuar në një
simulator kompjuterik të ekonomisë artificiale, ne thjesht mund të trajtojmë rezultatet
e simulimit si implikime të këtyre supozimeve. Eksplorimi i modelit bëhet duke marrë
rezultatet e simulimit të modelit disa herë për vendosje të ndryshme të variabëlve që
modeli përmban. Pra ne përdorim një proces deduktiv për të ndërtuar modelin nga
vëzhgimet e botës reale apo edhe për ndryshimet e mundshme të variabëlve, dhe më
pas një qasje induktive bëhet mbi një numër simulimesh për të gjetur rrugëzgjidhje rreth
sjelljes së modelit. Mënyra apo qasja e simulimit kompjuterik, si metodë për gjenerimin
e implikimeve formale, ka si karakteristikë përcaktuese pikërisht kombinimin e
konkluzioneve deduktive dhe induktive.
Nën kontekstin e teorisë ekonomisë, studiuesi vendos supozime duke thjeshtuar
modelet e marra në konsideratë, duke dalë në këtë mënyrë jashtë realitetit ekonomik të
situatës që studiohet. Në tabelën e mësipërme tregohen në mënyrë të përmbledhur
kufizimet e teorisë ekonomisë si dhe veçoritë që mund të eksplorohen me anë të
simulimit kompjuterik në ekonominë artificiale.
Tabela 3-2: Kufizimet e teorisë ekonomike dhe veçoritë e simulimit2
Kufizime tradicionale të teorisë
ekonomike
Veçoritë që mund të eksplorohen me
simulim kompjuterik
Agjent përfaqësues ose një vazhdimësi
agjentësh
Agjentë të përfaqësuar në mënyrë të qartë
dhe individuale
Racionaliteti Përshtatja në nivel individual ose në nivel
popullate
Informacioni perfekt dhe i plotë Informacion lokal dhe asimetrik
Fokusimi në ekuilibrat statik Fokusimi në dinamikat jashtë ekuilibrit
Deterministike (të përcaktuara) Probabilitare (stokastike)
Analiza nga lart-poshtë Sintezë nga poshtë-lart
Rastësore ose rrjetë e plotë
ndërveprimesh
Rrjetë ndërveprimesh arbitrare
Rol i vogël i hapësirës fizike Përfaqësim i qartë i hapësirës fizike
Popullata të pafundme Popullata të fundme
Preferencë për zgjidhje unike Varësia e rrugëzgjidhjeve dhe rastësia
historike
Përkufizime të tjera rreth ekonomisë artificiale janë dhënë edhe gjatë konferencave me
të njëjtin titull të filluara që në vitin 2005. Autorë si Bruun (Bruun, 2006) apo Consiglio
(Consiglio, 2007) e kanë përkufizuar ekonominë artificiale si përfaqësuese e një qasje
të re metodologjike ku ekonomitë, apo edhe strukturat sociale modelohen si sisteme të
agjentëve heterogjen ndërveprues me aftësi njohjeje që evoluojnë. Nën studimin e
ekonomisë artificiale janë prezantuar edhe të rejat dhe zhvillimet shkencore te fushave
si ekonomia dhe financa llogaritëse e bazuar në agjentë, modelimet dhe simulimet e
bazuara në agjentë, etj...
Një tjetër përkufizim i dhënë nga Herndandes dhe të tjerë (Hernández, Posada, &
López-Paredes, 2009) gjendet në parathënien e punimeve të konferencës së vitit 2009
2 Kjo tabelë është bazuar në punimin e Izquierdo (Izquierdo & Izquierdo, 2015)
20
mbi ekonominë artificiale, ku e trajtojnë ekonominë artificiale si ekonomi
eksperimentale që përdor agjentë softuer. Ata e mendojnë atë si një disiplinë midis
ekonomisë, modelimeve të bazuara në agjentë dhe inteligjencës artificiale të
shpërndarë. Ata e trajtojnë fushën e ekonomisë artificiale akoma në fillimet e saj, por
që me rritjen e aplikimeve të ABM-ve të përqendruara ka rezultuar në zhvillimin e
shpjegimeve më të mira të fakteve ekonomike. Simulimet janë përdorur në ekonomi
për të zgjidhur modele të mëdha ekonometrie, simulime të proceseve mikro në shkallë
të gjerë dhe marrjes së zgjidhjeve numerike për projektime politikash nga modelet e
përcaktuara nga lart-poshtë. Por këto përdorime nuk marrin avantazhet e ofruara nga
inteligjenca artificiale dhe llogaritja e shpërndarë, ekonomia artificiale mund të marrë
avantazhe pikërisht prej tyre. Në parathënien e konferencës pasardhëse (LiCalzi,
Milone, & Pellizzari, 2010), u trajtuan tre përcaktime mbi ekonominë artificiale:
Ekonomia artificiale lidh disiplinat si ekonomia, shkencat e menaxhimit dhe
shkencave kompjuterike me një theks mbi rolin e agjentëve, heterogjenitetit dhe
evolucionit.
Ekonomia artificiale lidh problemet ekonomike dhe qasje që vijnë nga fusha
kërkimore të ndryshme, të bashkuara nga nevoja e përdorimit në një
këndvështrim të gjerë të simulimeve, metodave numerike dhe heuristikës.
Ekonomia artificiale është e përbërë nga një rrjet i gjerë kërkuesish që duan të
kombinojnë problemet, idetë dhe zgjidhjet, në një mënyrë novatore që
inspirohen nga fushat e përmendura më lart.
Ndërsa në parathëniet e konferencave pasardhëse (Osinga, Hofstede, & Verwaart,
2011) dhe (Teglio, Alfarano, Camacho-Cuena, & Ginés-Vilar, 2012), u vu në dukje roli
i ekonomisë artificiale në trajtimin e krizës ekonomike në sistemet financiare botërore
publike dhe private. Ekonomia artificiale është e aftë të trajtojë probleme të tilla duke
përfshirë njohuri të ndryshme në modele. Hapi i vendosjes së një bashkësie konceptesh
si imitimi i sjelljes njerëzore sociale, nuk është i ri në këtë fushë dhe përmirësimet në
modelime në këto lloje konceptesh mund të përmirësojnë sjelljet emergjente të sistemit.
Në parathëniet e dy konferencave të fundit (Leitner & Wall, 2014) dhe (Amblard,
Miguel, Blanchet, & Gaudou, 2015) me tematikë ekonominë artificiale, përmenden si
pjesë përbërëse të qenësishme pikërisht modelet e bazuara në agjentë, ekonomia
llogaritëse e bazuar në agjentë dhe sistemet multi-agjent.
3.2. Sisteme komplekse adaptuese
Teoria e kompleksitetit në vetvete është një fushë e re, ndërdisiplinore që u zhvillua nga
teoria e sistemeve e viteve 1960. Kjo teori merret kryesisht me ndërveprimet dhe ciklet
kthyese të sistemeve që vazhdimisht ndryshojnë, të cilat i studion kryesisht duke
vlerësuar paqartësinë dhe jo-linearitetin e tyre (Grobman, 2005). Teoria e
kompleksitetit njihet ndryshe edhe si studimi i sistemeve komplekse. Ajo i ka fillimet
e saj në Institutin Santa Fe të New Mexicos ku edhe njihet ndryshe me emrin sisteme
komplekse adaptuese (“Complex Adaprive Systems” - CAS) i cili është një rast i
veçantë i sistemeve komplekse (Chan, 2001). Përkufizimi i parë i CAS gjendet pikërisht
në punën e Cowan dhe Feldman (Cowan & Feldman, 1986), ku ata e trajtuan si një
sistem i përbërë nga një numër elementësh të bashkuar, veçoritë e së cilës janë të
modifikueshme si rezultat i ndërveprimeve në mjedis. Duke parë literaturën CAS
shfaqet më tepër si një nocion se sa si një klasifikim formal, ajo gjendet edhe me
emërtime të tjera si sisteme dinamike komplekse adaptuese apo edhe si sisteme sociale
komplekse adaptuese të përmendur në punimin e (Miller & Page, 2007).
21
Sistemet komplekse adaptuese janë të bazuara kryesisht në punimin e Holland
(Holland, 1992), në të cilin ai e përkufizon CAS si sisteme dinamike të afta për t’u
përshtatur dhe evoluar me ndryshimin e mjedisit. Analiza e CAS bëhet nga kombinimi
i disa metodave teorike, të aplikuara dhe eksperimentale kryesisht me anë të
simulimeve. Një CAS nuk ka ndonjë ekuacion apo rregull qe e kontrollon sistemin, por
ka pjesëza ndërvepruese dhe të shpërndara me pak ose aspak kontroll qendror ku secila
prej tyre udhëhiqet nga rregullat e saj. Secila prej këtyre rregullave mund të ndikojë në
rezultat, sikurse edhe në veprimet e pjesëzave të tjera. Rezultati i kësaj strukture të
bazuar në rregulla kërkon për procedura evolucionare që i mundësojnë sistemit të
përshtatet ndaj mjedisit rrethues. Sipas këtij këndvështrimi ku pjesët bazë të sistemit
shihen si bashkësi rregullash, sistemi duhet të bazohet mbi tre mekanizma kyç:
Paralelizmi, i cili lejon sistemin të përdori rregullat individuale, pra duke lejuar
bashkësinë e rregullave për të shpjeguar dhe vepruar ndaj situatave të
ndryshueshme.
Konkurrenca, e cila lejon sistemin të zgjedhë midis rregullave në bazë të
situatave, duke treguar fleksibilitet dhe transferuar eksperiencat e saj.
Rikombinimi, i cili luan një rol kyç në procesin e zbulimit duke krijuar rregulla
të reja nga pjesë rregullash të testuara.
Të gjitha këto mekanizma lejojnë CAS-in t’i përshtatet mjedisit të tij duke përdorur
mundësitë e përgjigjes kohë pas kohe. Sistemi balancon marrjen e informacionit dhe
aftësive, me efiçencën e përdorimit të informacionit dhe aftësive që ka, ose ndryshe
balancon eksplorimin me shfrytëzimin.
Në punimin e mëvonshëm të Holland (Holland, 2006), në mënyrë të ngjashme u
ripërcaktuan katër mekanizma me po të njëjtat ide, te cilat janë paralelizmi, veprime të
kushtëzuara, modulariteti dhe e fundit përshtatja dhe evolucioni që përfshin edhe
metodat e inteligjencës artificiale. Në figurën 1 tregohet një sistem CAS i përshtatur
nga punimi i (North & Macal, 2007), i cili vendos në dukje karakterin kompleks të
sistemeve të tilla që janë edhe të zakonshme në natyrë, shoqëri dhe në ekonomi.
22
Figura 3-1 Sisteme komplekse adaptuese3
Në mënyrë të përgjithshme mund të themi se CAS aplikohet në sisteme që kanë këto
tre veçori (Saitta & Zucker, 2013):
1. Kanë numër të madh njësish që ndërveprojnë me njëri tjetrin
2. Sjellja e tyre nuk përcaktohet nga sjellja e njësive, por del nga ndërveprimet e
tyre si bashkësi, pra duke treguar përshtatje dhe inteligjencë,
3. Shfaqin fenomene kritike si pasojë e informacionit të kufizuar të njësive.
Duke marrë në konsideratë këto veçori, mund të shihet se sistemet ekonomike i kanë
këto veçori. Për të mund të themi se ka numër të madh njësish ekonomike që mundohen
të marrin vendime, si edhe jo të gjitha njësitë kanë informacion të plotë se çfarë
vendimesh marrin ose bëjnë të gjitha njësitë e tjera ekonomike. Këto njësi mundohen
të jenë inteligjente duke kryer llogaritje si edhe përshtaten me ndryshime e tregut. Kjo
e bën sistemin ekonomik shumë tërheqëse ndaj kërkuesve për të simuluar, modeluar
dhe pastaj studiuar rezultatet e saj.
Nga një këndvështrim i fushës së inteligjencës artificiale, sistemet CAS duhet të
përfshijnë tre veçori të rëndësishme (Gevel & Noussair, 2013):
Përfshirja e njësive reaguese të afta për të treguar atribute të ndryshme në bazë
të ndryshimit të kushteve të mjedisit.
Përfshirja e njësive të drejtuar drejt qëllimit e cila drejton disa prej reagimeve
drejt arritjes së qëllimeve të saj.
Përfshirja e njësive planifikuese që mundohet të kontrolloj mjedisin për arritjen
e këtyre qëllimeve.
Një numër i madh aspektesh të CAS janë modeluar përgjithësisht me aparat
matematikor si ekuacione diferenciale apo edhe simulime Monte Carlo, pra me
thjeshtimin e pjesëve të ndërlikuara dhe më pas bashkimin e tyre (Boccara, 2010).
Sidoqoftë, duke vlerësuar këto veçori të sistemeve CAS, ne mund të themi se është e
nevojshme përdorimi i metodave të bazuara në agjentë për të trajtuar pikërisht këto lloje
3 E përshtatur nga punimi i (North & Macal, 2007)
23
sistemesh. Një zgjidhje të tillë e shfaq edhe Axelrod (Axelrod, 1997) në librin e tij ku
prezanton modelet e bazuara në agjentë si zgjidhje të aspekteve të CAS. Në trajtimin e
ekonomisë si një sistem CAS, shohim se ajo trajtohet gjerësisht me metoda të bazuara
në agjentë, të cilat njihen ndryshe si ekonomia llogaritëse e bazuar në agjentë.
3.3. Ekonomia llogaritëse e bazuar në agjentë
Ekonomia llogaritëse e bazuar në agjentë ose siç njihet shkurt ACE është studimi
llogaritës i proceseve ekonomike të modeluara si sisteme dinamike të agjentëve
ndërveprues (Tesfatsion, 2006). ACE është një fushë e re kërkimore e cila po zhvillohet
këto vitet e fundit dhe e cila përdor metodat e bazuara në agjentë. ACE është marrë në
shqyrtim nga fusha e ekonomisë artificiale që në fillimet e saj dhe është pjesë e
rëndësishme e saj. Ajo është trajtuar edhe në fushën e ekonomisë eksperimentale.
Ato trajtohen brenda fushës së ekonomisë llogaritëse ACE si pjesë e disiplinës së
sistemeve komplekse dinamike adaptuese ose siç quhet edhe ndryshe CAS. Kjo është
edhe për faktin se problemet ekonomike janë CAS, pasi kanë një numër të madh njësish
ekonomike të përfshira në ndërveprime midis tyre dhe paralele. Këto ndërveprime të
tyre në një numër të madh shfaqin rregulla makroekonomike si p.sh rregullat e tregtisë
apo edhe normat e sjelljes, të cilat ndikojnë edhe në mënyrën e të bërit të vetë këtyre
ndërveprimeve. Rezultati është një sistem i ndërlikuar dhe dinamik i lidhjeve të
përsëritura të rastit që lidhin sjelljet individuale, rrjetet e ndërveprimeve dhe rezultatet
e mirëqenies sociale. Pavarësisht se kjo lidhje reaguese midis strukturave mikro dhe
makro ekonomike ka qenë në fokus të shumë studiuesve për kohë shumë të gjatë, madje
që në kohën e Smith (Smith, 1776), ekonomistët kanë vuajtur për mjete për të modeluar
këtë lidhje numerikisht me kompleksitetin e saj të plotë.
Përparimet e fundit në metodat e mjeteve llogaritëse dhe analitike, ka rritur mundësitë
e mjeteve modeluese për ekonomistët. Si një mjet i ri në ndihmë të ekonomistëve janë
edhe simulimi dhe modelimi i bazuar në agjentë, ose siç njihet ndryshe ABM. ABM-të
ofrojnë disa avantazhe krahasuar me metodologjitë e tjera për kërkimet ekonomike.
ABM-ja është një model i përbërë nga agjentë autonom të vendosur në një mjedis
ndërveprues ose siç mund të mendohet ndryshe, është një shoqëri (Chen, 2008).
Simulimi i këtij modeli në kompjuter është mënyra më praktike për shfaqjen e
dinamikave ekonomike dhe kjo përbën edhe avantazhin e saj kryesor. Agjentët autonom
në këto modele mund të mendojnë, mësojnë, përshtaten apo edhe të marrin vendime
strategjike bazuar mbi një bashkësi specifikimesh dhe rregullash që i jepen në fillim.
Në modelet e ACE-së këta agjent mund të jenë entitete ekonomike, sikurse edhe sociale,
biologjike dhe fizike.
Zakonisht termi agjent nga shkencat kompjuterike njihet si një pjesëz programi që
përfshin të dhënat bashkë me metodat e të sjelljeve që veprojnë mbi këto të dhëna.
Disa nga këta të dhëna janë të arritshme nga agjentët e tjerë, ndërsa të tjera janë private
dhe të pa arritshme nga agjentët e tjerë. Në këtë mënyrë agjentët mund të marrin veçori
reale të individëve si konsumator, punëtor, apo edhe të grupimeve sociale si familjet,
firmat, deri te institucione si tregjet dhe sistemet rregullatorë. Agjentët mund të kenë
edhe veçori fizike si infrastruktura, hapësira gjeografike si edhe biologjike.
Njëkohësisht ndërveprimi i agjentëve lejon praninë e strukturave hierarkike si p.sh
firma që ka punëtorë, aksionarë dhe konsumator. Agjentët që formojnë këto struktura
duhet të sillen në bazë të rregullave të mjedisit që ata formojnë dhe të veprojnë në
mënyrë të përbashkët.
24
Një karakteristikë e këtyre modeleve është që parametrat agregate si konsumi, kursimet,
investimet, e të tjerë që janë njësi bazë në analizën ekonomike, nuk mund të modelohen
në një model ACE. Ato thjesht mund të jenë rezultate të saj në bazë të vendimeve të
agjentëve autonomë.
Në punimin e Richiardit (Richiardi, 2012) thuhet se përdorimi i ACE-ve nuk është i
kufizuar vetëm me analizën e sistemeve komplekse CAS. ACE është e vlefshme edhe
në marrjen e një ideje të shpejtë për dinamikën që sistemi mund të prodhojë si edhe në
hetimin e plotë të modeleve që nuk mund të analizohen me analizat tradicionale.
Hulumtimet e ACE udhëhiqen nga dy çështje themelore (Tesfatsion, 2002). Çështja e
parë ka të bëjë me natyrën përshkruese, e cila përqendrohet në shpjegimin konstruktiv
të sjelljes emergjente globale. P.sh arsyet se pse tregjet e decentralizuara ekonomike
botërore kanë vazhdimësi dhe janë zhvilluar në bazë të disa rregullsive globale të
vetëvendosura pa ndonjë planifikim apo kontroll, si edhe se si këto rregullsi janë
gjeneruar nëpërmjet ndërveprimeve të agjentëve autonom. Çështja e dytë ka të bëjë me
natyrën normative, ku vëmendja është në gjetjen e modeleve alternative të ekonomisë
që mund të rrisin tepricën e konsumit, fitimet e shitësit, apo edhe rritjen e mirëqenies.
Këtu shihet se si funksionon i gjithë mekanizimi ekonomik, ku për një entitet ekonomik
mund të shohim se cili është ndikimi i tij në ekonomi. Në këtë rast mund të shohim se
si mund të ndikojë në ekonomi një rregull tregtar apo një politikë qeveritare.
Vëmendja e ACE në sistemet e vetë-organizuara nuk është i ri (Tesfatsion, 2002).
Ekonomia tradicionale ka studiuar me metoda sasiore, teorike dhe eksperimentale
proceset nga të cilat një rregull i caktuar mund të dalë nga sjelljet në nivel mikro. Ajo
çka e bën ACE të rëndësishme qëndron te mënyrat e përdorimit të mjeteve llogaritëse,
ku mund të nxjerrim katër mënyra kyçe të përdorimit të tyre (Tesfatsion, 2003). E para,
sistemet llogaritëse ndërtohen duke i populluar ato me agjent heterogjen të cilët
përcaktojnë ndërveprimet e tyre me agjentët e tjerë dhe me mjedisin e tyre në bazë të
normave sociale, rregullave të sjelljes dhe të dhënave të marra si eksperiencë. E dyta,
agjentët përshtatin vazhdimisht sjelljet e tyre për të kënaqur preferencat e tyre, ku edhe
shfaqin vetorganizim. E treta, proceset evolucionare konsiderohen si procese natyrore
që veprojnë mbi sjelljet e agjentit, kjo lejon eksperimentimin e hapur të tyre me rregulla
të reja. E fundit, botët ekonomike të modeluara mund të rriten në kohë reale dhe ngjarje
të reja mund të krijohen nga ndërveprimi agjent me agjent apo edhe agjent me mjedis
pa ndërhyrje nga jashtë.
Një eksperiment në ACE fillon me ndërtimin e ekonomisë me një numër të caktuar
agjentësh nga modeluesi i saj. Këto agjentë mund të përfshijnë agjentë ekonomik
sikurse edhe agjentë të tjerë që përfaqësojnë fenomene mjedisore apo edhe sociale.
Modeluesi përcakton gjendjen fillestare të ekonomisë duke vendosur atributet fillestare
të agjentëve. Ato mund të përfshijnë karakteristikat e tipit, normat e sjelljes së
brendshme, modelet e komunikimit dhe të mësuarit, dhe informacione të brendshme të
ruajtura në të rreth vetes dhe agjentëve të tjerë. Më pas modeli evoluohet pa
ndërveprimin e modeluesit. Të gjitha ngjarjet që ndodhin nxirren nga historiku i
ndërveprimeve agjent me agjent. Më pas janë pikërisht këto të dhëna që analizohen nga
studiuesit e ekonomisë. Kjo mënyrë e krijimit të dhënave sintetike njihet edhe si qasja
nga poshtë-lart në studimin e ekonomisë dhe është karakteristika kryesore e ACE.
3.3.1. Fushat e hulumtimit të ACE
ACE është një fushë e gjerë hulumtimi dhe përdorimet e saj varen nga kombinimet e
teknikave që përdoren te agjentët artificial. Në shikimin e përgjithshëm të punimeve në
25
fushën e ACE, ka një klasifikim të hulumtimit në ACE në tetë fusha kërkimore të
përcaktuara nga Tesfatsion (Tesfatsion, 2003):
1. Të mësuarit dhe mendja e trupëzuar
2. Evoluimi i normave të sjelljes
3. Modelimi nga poshtë-lart i proceseve të tregut
4. Formimi i rrjetave ekonomike
5. Modelimi i organizatave
6. Projektimi i agjentëve kompjuterik për tregjet e automatizuara
7. Eksperimentime paralele me agjentë real dhe kompjuterik
8. Ndërtimi i laboratorëve llogaritës ACE
Secila nga këto fusha kërkimore të ACE na tregon rreth përdorimeve të ndryshme të
modeleve të ACE. Në pjesën e mëposhtme do të shpjegojmë secilën prej tyre me
mundësitë e aplikimit të tyre.
3.3.1.1. Të mësuarit dhe mendja e trupëzuar
Çështja kryesore në këtë fushë kërkimore të ACE-së është se si të modelojmë trurin e
agjentëve kompjuterik që popullojnë mjediset e zhvillimit të ACE-së. Algoritmet e para
të përdorura në ACE janë zhvilluar duke pasur në mendje objektivat optimale dhe
përdorimi i tyre me kujdes në proceset shoqërore. Por për proceset ekonomike të
automatizuara është e nevojshme përdorimi i duhur i algoritmeve të mësuarit bazuar në
kriteret optimale ku strategjitë e agjentëve bashkë-evoluojnë mbi bazën e ndonjë kriteri
fitness të jashtëm. Në disa raste procesesh reale të ekonomisë botërore, ACE duhet të
përdorë algoritme të mësuarit që përfshijnë objektiva reale njerëzore dhe sjellje
vendimmarrëse të tyre. Për shkak të ndryshimeve të shumta në eksperimentimet
laboratorike midis sjelljes njerëzore reale dhe atyre të bazuara mbi teoritë tradicionale
të agjentit racional, u pa e nevojshme pasja e një modelimi më të mirë të sjelljes së
agjentit. Për këtë është sugjeruar qasja e mendjes së trupëzuar, e cila përfshin ide nga
robotika, neuroshkenca, psikologjia dhe inteligjenca artificiale. Në shumë punime janë
sugjeruar përdorime të algoritmeve të ndryshme, ku raste të tilla të studiuara për raste
të veçanta janë të shumta. Ndër to veçojmë punime si p.sh. të mësuarit me përforcim
reagues i përdorur në vendimmarrje lokale bazuar mbi informacion, mendim dhe
ndërveprim (Sinitskaya & Tesfatsion, 2015), përdorimi i rrjetave neurale për ACE
(Seiffertt & Wunsch, 2012), si edhe të mësuarit në thellësi në modelet e bazuara në
agjentë (van der Hoog, 2016). Pavarësisht këtyre punimeve, asnjë nga këto algoritmet
nuk punojnë siç duhet në çdo rast. Për këtë sugjerohet që të ndërtohet një ACE e cila i
mëson agjentit formën se si të mësojë, pra i jep mundësinë agjentit të dijë të zgjedhë kë
algoritëm të përdorë për çdo rast (Gevel & Noussair, 2013).
3.3.1.2. Evoluimi i normave të sjelljes
Koncepti i normës është përkufizuar në lloje të ndryshme nga shumë studiues, por më
i njohuri në fushën e agjentëve është Axelrod (Axelrod, 1997). Ai e përkufizon normën
si një vendosje sociale ku individët veprojnë në një mënyrë të caktuar dhe dënohen nëse
i shmangen asaj. Ekzistenca e tyre është një çështje se si ne e shohim atë dhe lejon
studimin e rritjes apo zvogëlimit të normës si një proces evoluimi. Përdorimi i
eksperimenteve në metodat me agjentë, tregon se si mund të zhvillohet bashkëpunimi
midis agjentëve të vetë-interesuar të palidhur më parë nëpërmjet reciprocitetit të
sjelljeve të pakta të këtyre agjentëve. Përdorimi i ACE ka treguar se sjellje të
përbashkëta mund të dalin në pah nga ndërveprimet e agjentëve me rregulla të thjeshta
sjelljeje. Në këtë fushë kërkimi ne shohim stabilitetin e institucioneve ekonomike dhe
26
normave sociale të bazuara mbi to, sikurse studiojmë edhe zhvillimin e institucioneve
dhe normave sociale.
Kjo ide ka inkurajuar marrjen në konsideratë të racionalizimit të kufizuar dhe
dinamikave evolucionare. Një punim shumë i rëndësishëm është ai i Epstein (Epstein,
2001), i cili përdor modelet e bazuara në agjentë për të studiuar një aspekt të evolucionit
të normave sociale bazuar mbi kohën e mendimit të agjentit për një sjellje. Në bazë të
saj u pa se kjo kohë është në përpjesëtim të zhdrejtë me fuqinë e normës që lidhet me
këtë sjellje. Pra, sapo një normë sjelljeje vendoset në një shoqëri, individët mundohen
të zbatojnë normën pa e menduar atë. Kjo mënyrë i mëson agjentët të mësojnë se si të
sillen, ose ndryshe i lejon ato të mësojnë se sa duhet të mendohen se si të sillen.
Në këtë fushë të kërkimit në ACE shihet qartë ndikimi i fushës së teorisë së lojërave,
siç vihet në dukje edhe nga punimet e Albin dhe Foley (Albin & Foley, 2001), sikurse
edhe në zgjidhjen e tyre me anën e modeleve të bazuara në agjentë të shfaqur në
punimin rreth dinamikave sociale të Young (Young, 2006). Gjithashtu si e ardhmja e
kërkimit në ACE shihet evolucioni i normave të sjelljes në situata veprimi kolektiv.
3.3.1.3. Modelimi nga poshtë-lart i proceseve të tregut
Një nga fushat më të gjalla të kërkimit në ACE është studimi i mundësive vetë-
organizuese të proceseve tregtare. Në studimin e hershëm të Marks (Marks, 1992), u
përdor një model i ngjashëm me ACE për një treg oligopoli për të hetuar se si çmimet
e vendosura nga firmat mund të konkurrojnë. Ky model u bazua mbi algoritmet
gjenetike për modelimin e firmave. Veprimet e mutacioneve dhe rikombinimit u
aplikuan në mënyrë të përsëritur në strategjitë e çmimeve të firmave, si një mënyrë për
eksperimentimin e ideve të reja dhe marrjes pjesë në një mimikë sociale duke përshtatur
aspekte të strategjive të përdorura nga firmat me shumë fitim. Një rezultat nga
eksperimentet e këtij modeli ishte shfaqja e çmimeve optimale të maksimizuara midis
firmave pa ndonjë përplasje çmimi eksplicite. Ky ishte mbase një nga punimet e para
të ACE, dhe për shumë ekonomistë ishte diçka e panjohur për rezultatet që ky evolucion
i bashkëpunimit nga poshtë-lart jepte.
Shumë lloje tregjesh janë studiuar me ACE, ku mund të përmendim tregjet financiare,
tregu i punës, tregjet e elektricitetit, tregjet e shit-blerjeve, etj. Metodat tradicionale të
përdorura në tregjet financiare bazuar mbi supozimet e zgjedhjes racionale dhe
efiçencës së tregut nuk kanë dhënë një shpjegim të plotë për shumë probleme të saj.
Për shkak të këtyre vështirësive, tregjet financiare janë bërë një nga fushat më aktive
për modeluesit e ACE. Punimi i LeBaron (LeBaron, 2006), bën një studim mbi modelet
ACE në financë kryesisht në modele ku përdorimi i mjeteve të ACE janë kritike për
procesin e përpilimit të modeleve që japin njohuri në rëndësinë dhe dinamikën e
investitorëve heterogjen në mjediset financiare. Në po këtë punim ai i quan këto modele
si financa llogaritëse të bazuara në agjentë (ACF). Modelet e ACF për tregjet financiare
lejojnë agjentët të formojnë pritshmëri duke përdorur sisteme të ndryshme klasifikimi
që i lejojnë ata të shpjegojnë rregullsi të ndryshme të shfaqura në të dhënat financiare.
Punimi i Kyrtsoy dhe Sornette (Kyrtsou & Sornette, 2012) prezanton ide të reja dhe
zgjidhje për krizat financiare të viteve 2008, duke sjellë një përmbledhje punimesh nga
tregjet financiare, teorinë e kompleksitetit dhe modelet e bazuara në agjentë.
Përdorim të mjeteve të ACE shihen edhe në tregjet e bursave p.sh. në punimin e
Creamer (Creamer, 2012) është përdorur një metodë e bazuar në agjentë ku agjenti
është implementuar duke përdorur algoritmet e të mësuarit. Ky model i quajtur
Logitboost arrin të kalibrojë një model tregtie duke kombinuar versionet e ndryshme të
27
algoritmeve si rrjetat neurale, algoritmin gjenetik, si edhe algoritmin e të mësuarit.
Gjithashtu punime janë parë edhe në tregjet e këmbimit valutor.
Në tregjet e energjisë elektrike janë bërë gjithashtu disa punime të bazuara në agjentë.
Njëri prej tyre është ai Li dhe Tesfatsion (Li & Tesfatsion, 2009), të cilët diskutojnë
përfitimet e përdorimit të metodave me agjent në tregjet elektrike duke dhënë si zgjidhje
një mjet ACE të quajtur AMES. Gjithashtu një punim tjetër i mëvonshëm i Ringler dhe
të tjerë (Ringler, Keles, & Fichtner, 2016) realizuan një rishikim literature të gjithë
punimeve të bazuara në teknikat e modelimit dhe simulimit me ACE për analizimin e
tregjeve dhe rrjetave inteligjente elektrike. Shumë nga kërkimet në ACE përqendrohen
në evoluimin e strukturave institucionale horizontale, ndërkohë që ekonomitë reale
janë shumë hierarkike dhe kjo hierarki e lejon individin të zgjedhë informacionin e
duhur në botën komplekse.
3.3.1.4. Formimi i rrjeteve ekonomike
Një aspekt i rëndësishëm i tregjeve jo konkurruese me agjentë ndërveprues në mënyrë
strategjike është mënyra në të cilën agjenti përcakton partnerët e tyre të transaksionit, i
cili ndikon formën e rrjeteve të transaksionit që evoluojnë dhe vazhdojnë me kalimin e
kohës. Transaksionet analizohen me metodat e kostove të transaksioneve ekonomike,
por kjo pa u mbështetur në dinamikat e të mësuarit, përshtatjes dhe inovacionit, si edhe
pa zhvillimin e besimit reciprok. Studimet fillestare të ACE përqendrohen në formimet
endogjene të rrjeteve tregtare si në punimet e Albin dhe Foley (Albin & Foley, 2001),
Vriend (Vriend, 1995) dhe Kirman (Kirman & Vriend, 2001). Në këto studime
shqetësimi kryesor qëndron në shfaqjen e rrjeteve tregtare midis blerësve dhe shitësve
të cilët përcaktojnë partnerët tregtar në bazë të eksperiencave të mëparshme. Në tregjet
e punës (Neugart & Richiardi, 2014) është studiuar lidhja midis strukturave të tregut,
rrjeteve ndërvepruese midis punëdhënësit dhe punëmarrësit, sjellja në punë dhe
rezultatet e mirëqenies. Një problem i studiuar në këtë kategori kërkimesh është mënyra
se si rrjeta e ndërveprimeve ekonomike përcaktohet nga zgjedhja e matur e partnerit
tregtar apo edhe e rastit. Ndërveprimi mund të jetë një situatë loje ku partnerët zgjedhin
veprime strategjike ku fitimi që marrin nga rezultati i zgjedhjes mund të mos jetë i
njohur. Kjo do të sillte që secili prej tyre do kalonte një proces ku zgjedhja e tyre do
varej nga zgjedhjet e mëparshme të tyret dhe të partnerit tregtar.
3.3.1.5. Modelimi i organizatave
Organizatat përbëhen nga një grup njerëzish që grupohen në bazë të një qëllimi të
përbashkët ose një kriteri që vetë grupi e vendos nga qëllimet e veta. Organizatat shihen
si sisteme komplekse CAS. Në studimet e ACE mbi tregjet, vendoset theksi mbi efektet
e llojeve të veçanta të rregullave të sjelljes në firma mbi dinamikën e çmimeve, rritjen
dhe strukturën e tregut. Një model tregu ACE mund të eksplorojë se si struktura e tregut
dhe organizimi i brendshëm i secilës firmë pjesëmarrëse do të ndikonte në rregullat
optimale të sjelljes të vetë firmave pjesëmarrëse.
Në punimin e Chang dhe Harrington (Chang & Harrington, 2006), organizata shihet si
një koleksion agjentësh që ndërveprojnë me njëri tjetrin për të plotësuar detyrat e dhëna.
Performanca e një organizate në këtë model të bazuar në agjentë përcaktohet nga
strukturat formale dhe joformale të ndërveprimeve të agjentëve që përcaktojnë mënyrat
e komunikimit, ndarjen e detyrave të përpunimit të informacionit, shpërndarjen e
autoritetit vendimmarrës dhe sigurimin e nxitësve. Studimi i organizatave në fushën e
ACE ka lejuar studimin e saj në mënyrë sasiore brenda parametrave ekonomik.
28
3.3.1.6. Projektimi i agjentëve kompjuterik për tregjet e automatizuara
Kontraktimi i automatizuar nëpërmjet agjentëve kompjuterik përveç kohës së punës
mund të rritin edhe efiçencën e kërkimit në aplikime të caktuara. Në këtë fushë është
një numër i madh kërkuesish që janë përfshirë në projektimin e agjentëve kompjuterik
për tregjet e automatizuara. Në shumë raste sisteme komplekse me shumë agjentë janë
zhvilluar në zgjidhjen e këtyre tregjeve që mund t’i gjejmë sot të implementuara në
jetën tonë të përditshme. Këto sisteme na ndihmojnë sot në zgjedhjet tona në tregje të
automatizuara në internet.
Nën kontekstin e fushës kërkimore të ACE, këto metoda janë parë nën syrin e simulimit
të veprimeve të agjentëve si dhe se sa të rëndësishme janë rrjetat e ndërveprimeve për
parashikimin e tregjeve. Nëse efektet e ndërveprimeve janë të dobëta, si në tregjet e
ankandeve, atëherë aspektet strukturore të tregjeve si numri i blerësve dhe shitësve,
kostoja dhe madhësia janë përcaktuesit kryesor të rezultateve të saj. Strukturat e çdo
tregu të ndryshëm duhet të lidhen me tendencat relativisht të thjeshta të shpërndarjes së
prodhimit në përgjigje të strukturave me kushte të ndryshueshme. Nëse efektet e
ndërveprimeve janë të forta, siç janë në tregjet e punës, atëherë strukturat e çdo tregu
të ndryshëm mund të lidhet me shpërndarjet e mundshme të prodhimit tregtar. Kjo
mund të ndahet në dy ose më shume grupe të veçanta që i përkasin rrjeteve të
ndërveprimeve të veçanta.
Në punimin e MacKie-Mason dhe Wellman (MacKie-Mason & Wellman, 2006) mbi
tregjet e automatizuara dhe agjentët tregtues, tregohet se automatizimi kompjuterik ka
potencial të transformojë hartimin dhe veprimet e tregjeve, si edhe të sjelljeve të
agjentëve që tregtojnë në të. Në këtë punim flitet rreth nevojave të zhvillimit të një loje
teorike tregtie në të cilën agjentët veprojnë duke bërë blerje dhe shitje të shumëfishta
bazuar mbi preferencat e tyre të ndryshueshme. Ne këtë mënyrë ne mund të shohim
edhe rezultatet e politikave të ndryshme, si rregulla të ofertë-kërkesës apo taksave që
mund të vendosim mbi të mirat.
3.3.1.7. Eksperimentime paralele me agjentë real dhe kompjuterik
Eksperimentet me subjekte njerëzore kanë qenë gjithmonë një metodologji e
rëndësishme ekonomike (Roth, 1995), por ajo që nuk mund të dihet saktësisht është se
pse subjekti njerëzor bën një zgjedhje të caktuar. Në shumë raste mendimet dhe
preferencat e njeriut ndikohen nga zgjedhjet e tij dhe kjo mund të përfshijë edhe gabime
në veprime. Në eksperimentet me agjentë kompjuterik në ACE, modeluesi vendos
kushtet fillestare dhe më pas agjentët me kalimin e kohës zhvillojnë së bashku rregullat
e sjelljes. Në këtë mënyrë modeluesi mund të gjej arsyet e këtij evolucioni në filiz duke
iu kthyer të dhënave sintetike të krijuara. Ekziston një mundësi për sinergji midis
eksperimenteve me njerëz dhe atyre me agjentë kompjuterik. Sjellja e subjekteve
njerëzore mund të përdoret si udhëheqëse e rregullave të sjelljes së agjentëve
kompjuterik, ndërsa sjellja e këtyre të fundit mund të përdoret për të formuluar hipoteza
rreth sjelljeve të subjekteve njerëzore.
29
Figura 3-2 Llojet e eksperimenteve me subjekte njerëzore dhe agjent
kompjuterik4
Në figurën e mësipërme, duken qartazi rastet e studimeve të mundshme me agjentë
kompjuterik dhe me subjekte njerëzore.
3.3.1.8. Ndërtimi i laboratorëve llogaritës ACE
Shumë ekonomist përdorin modelet kompjuterike për testimin e ekonomisë.
Ekonomisti i njohur Robert Lucas (Lucas, 1987), ka thënë se “teoria nuk është një
koleksion pohimesh rreth sjelljes së ekonomisë por është një bashkësi udhëzimesh për
ndërtimin e një sistemi paralel analog apo një ekonomie imituese”. Nëpërmjet kësaj
deklarate ai nënkuptoi nevojën e ekonomistëve për zhvillimin e laboratorëve llogaritës
që mund të programohen në bazë të këtyre udhëzimeve të nxjerra nga teoria ekonomike.
Zhvillimi i mjeteve kompjuterike solli nevojën e përdorimit të modeleve llogaritëse të
bazuara në agjent për testimin e këtyre teorive. Por fakti se këto modele nuk mund të
përdoren pa njohuri të mjaftueshme të gjuhëve të programimit e ka bërë të vështirë
përdorimin e tyre nga ekonomistët dhe ka nevojë për programues të aftë për përdorimin
e këtyre mjeteve. Ndërtimi i laboratorëve llogaritës i jep mundësinë ekonomistëve të
marrin modele të bëra gati të cilat mund të ndryshohen sipas nevojave të tyre.
Për ndërtimin e laboratorëve llogaritës në ACE, përdoren metodologji të ndryshme.
Zakonisht ndërtimi i tyre kërkon një studim rigoroz të sistemeve komplekse të
shpërndara me shumë agjentë nëpërmjet eksperimentimeve të kontrolluara. Kjo sjell
një problem të madh drejtuar programuesve në lidhje me ndërtimin e një laboratori
llogaritës të veçantë për çdo rast apo të ndërtohet vetëm një platformë e vetme shumë
funksionale. Një problem tjetër është mënyra e shfaqjes të rezultateve nga
eksperimentet e kryera, nëse duhet të jenë thjesht përshkruese apo vetëm vizuale pa
4 Bazuar mbi punimin e Tesfatsi, online: http://www2.econ.iastate.edu/tesfatsi/SpectrumSlide.LT.pdf
30
mbingarkesë informacioni. Gjithashtu problem është edhe vlerësimi i gjetjeve duke i
krahasuar me të dhënat e marra nga burime të tjera.
Një çështje tjetër e rëndësishme dhe e pazgjidhur është nevoja e sigurimit që gjetjet nga
eksperimentimi janë të qëndrueshme duke reflektuar aspektet bazë të një aplikimi
ekonomik dhe jo thjesht veçoritë harduerike dhe softuerike të përdorura për
implementimin e eksperimenteve. Përveç kësaj, është e nevojshme që modelet e
ndërtuara të bëhen publike me kodin e plotë në mënyrë që të analizohet edhe nga
studiues të tjerë për vlefshmërinë e modelit.
Zgjedhja e parametrave është e rëndësishme në modelet ACE, sikurse edhe shkalla apo
koha e eksperimentimit. Duhet pasur parasysh se përdorimi i kohëve të tej zgjatura të
eksperimentimit nuk sjell dobi dhe ndonjëherë sjell rezultate të gabuara. Disa studime
e lejojnë këtë për të gjetur rregulla të sjelljes apo shfaqje të institucioneve në një kohë
të gjatë, por përsëri kjo nuk sugjerohet. Në disa raste të tjera mjafton thjesht testimi i
shpejtësisë së konvergjencës.
3.3.2. Avantazhet dhe kritika ndaj ACE
Në punimin e Gevel dhe Noussair (Gevel & Noussair, 2013) thuhet se modelet ACE
bazohen në ndërveprimet e agjentëve autonom të përshtatshëm, të cilët mund të
përcaktohen si entitete ekonomike, shoqërore apo mjedisore. Këta agjentë kufizohen
nga kushtet fillestare të vendosura nga modeluesi dhe dinamika e tyre për të shfaqur një
proces ekonomik bazohet në ndërveprimet mikro agjent me agjent. Gjendja e
ekonomisë në çdo kohë jepet nga atributet e brendshme të agjentëve individual që
popullojnë ekonominë. Përshkrimet dinamike të tyre rrisin transparencën dhe qartësinë
e modeleve. Gjithashtu fakti që nga një rregullsi individuale gjenerohen rregullsi të
ndërlikuara makro duke përdorur shumë agjentë, është një përfitim tjetër.
Modelimi i ekonomive me ACE thjeshton testimin e teorive të përfshira në shumë fusha
si edhe na japin një këndvështrim më të gjerë të problemeve. Ndër kritikat e bëra më
shpesh në ACE nga ekonomistët janë këto:
Metodat kompjuterike të ACE prodhojnë veç shembuj, ndërkohë që teoritë
tradicionale ekonomike prodhojnë teorema që aplikohen për çdo ekonomi që
plotëson supozimet e tyre.
Rezultatet numerike të modeleve ACE zakonisht kanë gabime ndërsa modelet
teorike ekonomike mund të jenë pa gabime për raste të veçanta.
Modelet ACE janë thjesht kuti të zeza që ofrojnë një pamje të kufizuar të
problemeve.
Për sa i përket kritikës së parë duhet thënë se ndryshimi i shembujve me teoremat në
analizimin e ekonomisë nuk mund të jetë i njëjtë. Kjo pasi vetë modeli i ndërtuar
bazohet mbi disa parime bazë të ekonomisë dhe nga teorema ekonomike, kryesisht ato
mikro ekonomike. Rëndësia dhe qëndrueshmëria e shembujve është më e rëndësishme
se vetë numri i tyre dhe këto metoda lejojnë vlerësimin e rasteve që teoria nuk i merr
në konsideratë. Në këtë mënyrë metodat e ACE japin një këndvështrim më të qartë në
rastet kur nuk ka teorema të përgjithshme.
Kritika e dytë, ngrihet mbi faktin që ekonomistët zgjedhin kryesisht midis gabimeve
numerike, edhe pse këto gabime mund të ulen me një analizim të tyren, dhe rezultateve
empirike të supozimeve të thjeshtuara në modelet analitike. Për ata është më mirë një
përgjigje e përafërt e pyetjes së saktë, se sa përgjigja e saktë e pyetjes së gabuar.
31
Gjithsesi siç e përmendëm më lart, gabimet mund të ndodhin për shkaqe të ndryshme
dhe mund të reduktohen me një analizim më të mirë të modelit nga modeluesi i saj.
Fakti që modelet mund të mendohen si kuti të zeza nga ekonomistët vjen nga fakti i
mos pasjes së aftësive të duhura programuese. Një zgjidhje e saj mund të jetë vendosja
në programet mësimore të universiteteve lëndë të cilat mund të ndihmojnë ata në
kuptimin dhe programimin e këtyre modeleve. Pavarësisht këtij sugjerimi të
drejtpërdrejt, një punë më e mirë në mjetet e modelimit do të ishte zgjidhja më e mirë.
Nga ana tjetër do të duhej të tregoheshin një numër i madh shembujsh për të pasur një
pamje më të gjerë e të qartë të modelit.
3.4. Tipat e agjentëve të propozuar
Simulimet e bazuara në agjentë na lejojnë që të studiojmë këto sisteme komplekse si
dhe ta shohim ekonominë nga një perspektivë e re. Agjentët në një model të bazuar në
agjentë janë njësi ekonomike të tilla si institucionet individuale, në grup, publike ose
private dhe njësi të tjera ekonomike. Për këtë arsye këto agjentë kanë veçori dhe sjellje
të ndryshme nga njëri-tjetri. Në mënyrë që të pasqyrojmë këto agjentë në softuerë, na
nevojitet që të kodojmë ato me veçoritë përkatëse të tyre dhe të përdorim algoritmet IA
që ti bëjmë ato të duken si njësi reale ekonomike.
Në këtë këndvështrim një strukturë ndërdisiplinore me atributet që një agjent softuerik
duhet të ketë në një ekonomi është treguar nga Chen (Chen, 2008). Ai argumenton se
përdorimi i ACE mund të zëvendësojë subjekte njerëzore në eksperimentet ekonomike
me agjentët softuerik. Ndërtimi i një agjenti softuerik shumë të mirë ka nevojë për të
përcaktuar atributet e duhura dhe sjelljet nga subjektet reale njerëzore, në mënyrë që
mund t’i përdorim ato te agjenti. Këtu mund të na vijnë në ndihmë metodat e
algoritmeve dhe programimit gjenetik të cilat mund të përdoren në ndërtimin e agjentit
në mënyrë që sjellja e tyre me shumë agjentë të jetë e ngjashme me ato të subjekteve
reale njerëzore. Këtu ka nevojë që agjentët të kenë atribute si kapaciteti njohës,
personaliteti dhe kultura. Përveç këtyre atributeve një tjetër fushë mund të na ndihmojë
në ndërtimin e agjentëve softuerik e cila është neuro-ekonomiksi. Në këtë fushë mund
të gjemë mënyra të reja se si të ndërtojmë agjentë softuerik për ekonominë
eksperimentale që ne marrim në konsideratë. Edhe pse punimet në këtë fushë janë të
reja, rezultate të mëvonshme të kësaj fushe mund të na ndihmojnë në krijimin e
agjentëve softuerik më të mirë për modelet dhe simulimet tona. Siç vihet në dukje edhe
në punimin e Chen (Chen S. H., 2008), inteligjenca llogaritëse është një tjetër faktor që
ndihmon në ndërtimin e agjentëve, pasi përdor algoritmet e IA dhe modelet programimi
së bashku në funksion të ndërtimit të tyre.
32
Figura 3-3 Agjenti Softuerik ekonomik nën këndvështrimin ndërdisiplinor5
Ekzistojnë një grup i madh me algoritme në fushën e IA-së, shumica e të cilave përdorin
qasje të ndryshme nga shkencat kompjuterike, matematika, neuroshkenca, psikologji,
shkencat sociale dhe natyrore. Këto algoritme janë baza e ndërtimit të agjentëve në
ACE dhe kjo është arsyeja pse është e nevojshme të përcaktohen siç duhet në mënyrën
e përshtatshme këto agjentë (Hakrama, 2014). Tipat kryesore të agjentëve të gjendura
në punimet e fushës së ACE dhe të klasifikuara nga Chen (Chen S.-H. , 2012) janë si
në vijim:
Agjentë të programuar thjeshtë
Agjentë autonomë
Agjentë të ngjashëm me natyrën njerëzore
3.3.1. Agjentë të programuar thjeshtë
Në tipin e agjentëve të programuar thjeshtë, agjentët janë të programuar të ndjekin
rregulla të thjeshta. Vëmendja në këto agjentë të thjeshtë nuk është tek vetë agjenti, por
tek sistemi i sjelljes duke implementuar një numër të lartë të këtyre agjentëve. Metodat
e përdorura për agjentët në këtë model mund të përfshijnë sjelljet e tyre të rastësishme.
Për shembull, një agjent shitës thjeshtë mund të marrë një çmim në një mënyrë të
rastësishme nga një gamë e caktuar çmimesh, nga të cilat ai mund të fitojë më shumë
në biznesin e tij. Në situata të tilla, një gamë rregullash mund të krijohen duke përdorur
formula të thjeshta ekonomike për të përllogaritur përfitimet e agjentëve. Qëllimi
kryesor këtu është të studiohet ndërveprimi midis agjentëve dhe sjelljeve të tyre të
përgjithshme nën disa politika të caktuara që mund të jenë të përfshira në sistem. Sipas
këtij këndvështrimi janë përfshirë disa lloje agjentësh, si në vijim:
Agjentë me inteligjencë zero
Agjentë me inteligjencë afërsisht zero
Agjentë me sjellje rastësore (EM)
Agjentë me ndryshim regjimi
Në llojin e agjentëve me inteligjencë zero, agjentët nuk kanë ndonjë njohuri për
mjedisin dhe nuk mund të mësojnë prej tij (Gode & Sunder, 1993). Koncepti i agjentëve
me inteligjencë zero është i thjeshtë dhe zakonisht marrin vendime vetëm mbi kufizimet
dhe rregullat e tyre. Nëse tregu modelohet me saktësi dhe individët nuk kanë strategji
5 Bazuar në figurën 1 në punimin e (Chen, 2008)
33
dhe sillen rastësisht, atëherë ne mund të shohim ndryshimet e tregut (Ladley, 2012).
Përdorimet e tyre janë të kufizuara nga modelimi standard ekonomik, ku agjenti real
nuk ka informacion për mjedisin ekonomik, kjo përgjithësisht preferohet kur janë
vendosur rregulla të reja dhe ka një nevojë për të modeluar sjelljen ekonomike të
agjentëve në ekonominë reale. Në rastet kur këto agjentë nuk mund të përdoren për këto
lloje simulimesh, sugjerohet të përdoren agjentët me inteligjencë afërsisht zero.
Ndryshimi midis agjentëve me inteligjencë zero dhe këtyre agjentëve qëndron në
parametrat e ndryshëm, pasi përdorin gjendjet e mëparshme të parametrave, pra një lloj
inteligjence me memorie të shkurtër.
Një lloj tjetër i agjentëve të thjeshtë është agjenti me maksimizim entropie (EM) ose
siç njihet ndryshe me sjellje rastësore, ku parimi i maksimumit të entropisë nga teoria
e informacionit është përdorur për modelimin e agjentëve (Wagner, 2011). Ideja në këtë
lloj agjenti ka lindur nga fakti se ekonomistët nuk e kuptonin idenë e agjentit me zero
inteligjencë dhe në shumë raste nuk mund ta përdornin atë në modelet e tyre, ndërkohë
agjentë me sjellje rastësore mund të shpjegonin shumë situata ekonomike.
Lloji i fundit i agjentëve në këtë shembull agjentësh janë agjentët me ndryshim regjimi,
ku agjentët zgjedhin ndërmjet një grup regjimesh sjelljeje. Procesi i përzgjedhjes së
drejtimit që do përdoret, realizohet duke përdorur metoda rastësore probabilitare.
Agjentët e përmendur më lart janë quajtur ndonjëherë edhe agjentë me sjellje të
rastësishme, duke qenë se ato janë të modeluar që të sillen në mënyrë të rastësishme
gjatë ndryshimeve të mjedisit, ose edhe të ndryshimeve në ndërveprimet e tyre agjent
me agjent.
Përveç këtyre lloj agjentëve, ekzistojnë edhe lloje të tjera të agjentëve të cilët ndodhen
nën shembujt e agjentëve të programuar thjeshtë, por ato janë thjesht modifikime të
këtyre llojeve të agjentëve. Këto agjentë varen nga kombinimi i tre termave të cilët
mund të përmenden si thjeshtësia, inteligjenca dhe rastësia. Çdo kombinim i tyre mund
të jetë një lloj i veçantë agjenti nën këtë kategori agjentësh.
3.3.2. Agjentë autonomë
Modelet e agjentëve autonomë e përcaktojnë agjentin që të ketë një lloj lirie në
eksplorimin e mjedisit. Këto lloj agjentësh mund të jenë shumë të dobishëm për
modelimin dhe studimin e mjediseve konkurruese siç është ekonomia. Agjentët
autonomë ndryshojnë nga agjentët e programuar thjeshtë duke qenë se ata janë të aftë
të krijojnë vetë rregullat e sjelljeve. Ideja e agjentëve autonom është e motivuar nga
vrojtimet e sjelljes njerëzore. Koncepti kryesor këtu është se agjenti duhet të mundohet
të ndërtojë një grup rregullash që do të ndjekë më vonë. Ka disa metoda nga fusha e
inteligjencës artificiale që mund të përdoren për të projektuar agjentë të tillë dhe më të
dalluarat ndër to janë algoritmet gjenetike.
Algoritmet gjenetike janë përdorur për të prezantuar të mësuarin në modele të ndryshme
ekonomike, siç janë modelet cobweb, teoria e lojës dhe optimizimi i orarit. Një
përshkrim i plotë i përdorimit të algoritmit gjenetik në ekonomi është dhënë nga
Riechmann (Riechmann, 2001). Duke përdorur algoritmet gjenetike, mund të jetë e
mundur të studiohet procesi i evolucionit dhe bashkë-evolucionit të njësive të ndryshme
ekonomike. Për shembull mund të jetë e mundur për ekonomitë artificiale që të rriten
dhe të evoluohen së bashku me agjentët në të pa asnjë ndërhyrje të jashtme. Zhvillimi i
strategjive të agjentëve nëpërmjet simulimit mund të ndihmojë në zbulimin dhe
eksplorimin e mundësive të reja ekonomike (Chen & Yu, 2011). Sot nëpërmjet
34
programimit gjenetik mund të modelojmë agjentë të tillë bazuar mbi programimin
logjik.
3.3.3. Agjentë të ngjashëm me natyrën njerëzore
Ideja që qëndron pas modeleve me agjentë të ngjashëm me natyrën njerëzore është
imitimi i sjelljes reale njerëzore ose asaj ekonomike duke përcaktuar disa veçori që ato
kanë. Ky lloj agjenti përmbush një nga detyrat kryesore të ACE i cili është
eksperimentimi i ekonomisë sa më afër realitetit ekonomik. Këtu ekzistojnë dy qasje
kryesore të agjentëve, të cilët janë:
Agjentë artificialë të kalibruar
Agjentë artificialë me tipare personale
Në agjentët artificialë të kalibruar, agjentët janë kalibruar nëpërmjet përdorimit të
dhënave reale të vëzhguara më parë nga agjentë realë. Fillimisht u përdorën metoda të
bazuara në statistikë për të kalibruar agjentët softuerik artificial me ato real. Janë
realizuar shumë studime të bëra në fushën e inteligjencës artificiale rreth algoritmeve
të mësuarit dhe shumica e tyre mund të përdoren nga agjentët artificialë. Nga të gjithë
këto algoritme përdorimi më i dukshëm është ai i të mësuarit me përforcim, i cili
përdoret për të ndërtuar ose vlerësuar parametrat e agjentëve artificialë të treguar edhe
në punime të ndryshme (Hemmati, Nili, & Sadati, 2010) apo (Radhakrishnan, et al.,
2015). Duhet thënë se edhe vetë algoritmi i të mësuarit i ka rrënjët në eksperimentet e
fushës së psikologjisë, ku fillimisht janë përdorur për eksperimentet me kafshët.
Gjithashtu studimet e fundit në fushën e neuro-ekonomiksit (Glimcher & Fehr, 2014)
tregojnë rëndësinë e përdorimit të këtij algoritmi për të ndërtuar agjentë artificial,
përkatësisht në vendimmarrje të ngjashme me ato njerëzore. Në vetë llojin e agjentëve
artificialë të kalibruar gjenden edhe tre nënlloje të saj të cilat mund të përmenden si:
- agjentë të kalibruar heterogjen,
- agjentë të kalibruar me aftësi rritëse njohjeje,
- agjentë të kalibruar financiar.
Agjentët e kalibruar heterogjen shpesh herë ndërtohen me anë të kalibrimit ose
vlerësimit, sikurse edhe agjentët e tjerë të kësaj kategorie, por e veçanta e tyre është se
kalibrohen në mënyra të ndryshme nga njëri tjetri. Në këtë lloje agjentësh, mendohet se
ky ndryshim në kalibrim i agjentëve do të sjellë një pamje më reale të ekonomisë, në të
cilën jo gjithë aktorët ekonomik mendojnë dhe veprojnë sipas një mendimi të caktuar.
Nën këtë këndvështrim krahas të mësuarit me përforcim i cili erdhi drejtpërdrejt nga
fusha e inteligjencës artificiale, lind nevoja e futjes së koncepteve të mësuarit nga
besimi dhe të mësuarit nga tërheqja me përvojë të ponderuar (“Experience-Weighted
Attraction” - EWA). Të mësuarit nga tërheqja me përvojë të ponderuar është një metodë
hibride e të mësuarit me përforcim dhe nga besimi (Camerer & Ho, 1998). Kjo metodë
përgjithëson atë që përforcohet nga të mësuarit bashkë me vlerat e pritura nga besimet
e agjentëve në lidhje me skenarë të ndryshëm, pra duke mbajtur formulimin e të
mësuarit me përforcim të pandryshuar. Në këtë rast mund të themi me fjalë të thjeshta
se agjentët softuerik mund të mësojnë nga veprimet e tyre dhe të sillen në bazë të
besimeve të krijuara gjatë jetës së tyre.
Në agjentët e kalibruar me aftësi rritëse njohëse merr për bazë tre elementë njohës kyç:
memoria, ndërgjegjja dhe arsyetimi. Me anë të këtyre elementëve mund të propozohen
modele me agjentë me aftësi të ndryshme dhe të ndryshueshme gjatë gjithë simulimit
të vet modelit. Një teknikë e mundshme është të mësuarit EWA me përforcim e
35
propozuar (Camerer, Ho, & Chong, 2002), ku agjentët mund të përdorin memorien e
tyre për të kujtuar ndjenjat dhe eksperiencat e tyre të mëparshme në situata të njëjta.
Agjentët e kalibruar financiar mendohet të përdoren në tregjet financiare të bazuara me
agjentë, ku si bazë e tyre janë kalibrimet e bëra nga të dhënat e mbledhura nga tregjet
financiare. Në këtë rast mundet të përdoren përsëri metodat e shpjeguara deri më tani
por me ndryshimin se në zgjedhje futen edhe të dhënat agregate të mjedisit financiar të
modelit. Pra agjenti nuk zgjedh vetëm në bazë të besimeve apo edhe kujtesës së tij, por
edhe nga gjendja financiare e mjedisit apo e veprimit ku ai kërkon të veprojë. Ndryshimi
kryesor midis agjentëve të kalibruar të tjerë me këtë lloj agjenti shtrihet midis
heterogjenitetit njohës dhe hierarkisë njohëse.
Agjentët artificialë me veçori personale marrin në konsideratë se agjentët mund të
arsyetojnë nëpërmjet variabëlve të ndryshëm të sjelljes siç janë emocionet, inteligjenca,
qëndrimi dhe kapaciteti njohës. Ky lloj agjenti i ka bazat nga teoritë e Herbert Simon
rreth racionalizimit të kufizuar, duke shtruar edhe elementë të rinj siç janë sugjeruar
nga Gigerenzer (Gigerenzer & Selten, 2002) apo edhe më vonë nga Mallard (Mallard,
2016). Këta punime marrin në konsideratë studimet e realizuara në fushën e
eksperimenteve të sjelljes ku trajtohen elementët si inteligjenca, kapaciteti njohës,
emocionet, personaliteti, sjellja e riskut si edhe kultura. Nën këtë gamë agjentësh janë
sugjeruar (Chen S.-H. , 2012) nënlloje të tjerë agjentësh si:
- Agjentë njohjeje (ose agjentë me memorie pune)
- Agjentë psikologjik (ose agjentë me veçori personaliteti)
- Agjentë të ndjeshëm ndaj kulturës
Normalisht secili prej këtyre agjentëve ka për bazë një ose disa veçori personale, por
kjo nuk do të thotë që agjenti artificial të mos ketë edhe kombinime të tyre në raste të
veçanta.
3.5. Përfundime
Në këtë pjesë është bërë një hulumtim i imtësishëm mbi literaturë, për të vënë në dukje
zhvillimin e fushës së ekonomisë artificiale që nga thjesht riprodhimi i të dhënave me
seritë kohore e deri në simulimin e plotë të një ekonomie reale. Në të vihet në dukje një
paralelizëm midis fushës së jetës artificiale të zhvilluar mbi bazat e fushës IA dhe
ekonomisë artificiale, ku edhe sugjerohet përdorimi i koncepteve të IA në të. Në një
përkufizim të përgjithshëm të ekonomisë artificiale, ajo konsiderohet si një fushë
kërkimore që përdor simulimin për të kuptuar proceset e ndryshme ekonomike. Në këtë
koncept, ekonomia konsiderohet si një sistem kompleks adaptues për shkak të natyrës
së saj që ka shumë njësi që ndërveprojnë dhe përshtaten. Sisteme të tilla janë
konsideruar gjerësisht në literaturë me anë të modeleve të bazuara në agjentë, ku në
ekonomi njihen nën emërtimin ACE. Përdorimi i këtyre modeleve është i bazuar në
konceptet e agjentit, ku ky agjent modelohet në mënyrë të atillë që arrin të kryejë
veprime të caktuara “mikro”. Në këto modele bëhet vendosja e shumë agjentëve që
ndërveprojnë në mënyrë që të arrihet një gjendja e plotë ekonomike në nivel “makro”.
Kjo mënyrë lejon analizimin e plotë të një problemi ekonomik duke trajtuar anën
përshkruese të saj dhe gjetjen e zgjidhjeve të mundshme.
Në hulumtimin e bërë për ACE-të vërehet se simulimi i këtyre modeleve duhet të bëhet
duke përdorur agjentë heterogjen që ndërveprojnë dhe që përshtatin sjelljet e tyre gjatë
ndryshimeve të ndodhura në mjedisin rreth tyre dhe për të arritur një qëllim të caktuar.
Në fushat e hulumtimit të ACE përcaktohen edhe drejtimet kryesore të zhvillimeve të
36
mjeteve ACE ku theksohen çështje të lidhura me përdorimin e algoritmeve të fushës
IA, zhvillimin i normave të sjelljes, modelimin i proceseve nga poshtë-lart, strukturat
dhe organizimet, ndërtimin e simulatorëve dhe zbatimin e tyre në industri për të
ndihmuar në vendimmarrje. Një pikë e nxehtë e mjeteve ACE mbetet modelimi dhe
ndërtimi i agjentëve, ku janë propozuar lloje të ndryshme agjentësh që nevojiten për
analizimin dhe simulimin sa më real të fushës ekonomike.
Për këtë arsye në vijim është e nevojshme të bëjmë një hulumtim mbi modelimet dhe
simulimet e bazuara në agjent dhe më tej do të analizojmë dhe krahasojmë metoda të
ndryshme të zhvillimit të agjentëve inteligjent.
37
KAPITULLI 4: MODELIMI DHE SIMULIMI I BAZUAR NË AGJENT
4.1. Hyrje
Që në fillimet e përdorimit të kompjuterëve, shkencat natyrore dhe sidomos inxhinieria
kanë pasur një zhvillim të madh. Simulimi me kompjuterë ka ndihmuar në kuptimin e
shumë elementëve të jetës natyrore, që nga pjesëzat fizike e deri në organizmat e
ndërlikuar të gjallesave. Kështu që do të dukej shumë e çuditshme nëse kompjuterët
nuk do të ndihmonin për një kuptim më të mirë të sistemeve ekonomike. Ndërkohë që
kompjuterët japin një ndihmë goxha të madhe në analizat statistikore të dhënave dhe
përpjekjet për të gjetur struktura të ndërveprimit njerëzor të bazuara në të dhëna
(Helbing & Balietti, 2011), ato mund të japin ndihmë edhe në simulimin e sistemeve
sociale dhe ekonomike. Në këtë këndvështrim, modelet e bazuara në agjent janë duke
dhënë një ndihmë të madhe në studimin e tyre, duke simuluar ndërveprimet e sjelljeve
ekonomike apo sociale në këto sisteme.
Modelimi i bazuar në agjent i njohur ndryshe si ABM është një trajtim i modelimit të
sistemeve të përbëra nga entitete individuale, autonome dhe ndërvepruese (Macal &
North, 2013). ABM-të ofrojnë mënyra të thjeshta të modelimit të sjelljeve individuale
dhe se si këto sjellje ndikojnë te të tjerët në mënyra të ndryshme. Zakonisht ABM-të
përcaktohen si një model simulimi që paraqet agjentët individual si njerëz, kompani,
organizata apo institucione me atributet dhe sjelljet e tyre (Grimm, Kurth, & Thiele,
2012). Në këtë mënyrë, ABM jep mundësinë e studimit të fenomeneve dhe proceseve
në këndvështrime të reja dhe të ndryshme.
Modelimi dhe simulimi i bazuar në agjentë është një trajtim i ri i modelimit, i cili i pati
fillimet e saj në hetimet e sistemeve komplekse, CAS (Holland, 2006) dhe e fushës së
jetës artificiale (Langton, 1995). Sistemet komplekse siç u përmendën edhe në
kapitullin e kaluar përbëhen nga njësi ndërvepruese dhe autonome, ndërkohë që CAS
ka gjithashtu edhe aftësinë për këto njësi për t’u adaptuar në nivel individual apo në
sistem. Këto hulumtime sollën edhe nevojën për të identifikuar bazat universale të
sistemeve të tilla, si p.sh vetë-organizimi, fenomenet në zhvillim dhe origjina në natyrë
e adaptimit. Modelimi dhe simulimi i bazuar në agjentë filloi si një grup idesh,
teknikash dhe mjetesh për të implementuar sistemet CAS. ABM-ja e parë u ka zhvilluar
për studimin e tregjeve të aksioneve duke përdorur softuerin swarm i ndërtuar nga ekipi
i institutit SantaFe. Perspektiva e ABM në fushën e shkencave sociale u fut nga Epstein
dhe Axtell (Epstein & Axtell, 1996). Ata treguan se si disa rregulla të thjeshta mund të
çonin në sjellje komplekse të ngjashme me ato të shoqërive njerëzore si migrimi, ndarja
e punës dhe ekonomia. Ata ndërtuan edhe një simulim i quajtur “sugarscape” i cili
simulonte migrimet e njerëzve në bazë të nevojave të tyre.
Fillimisht sjelljet e agjentëve u programuan me disa rregulla të thjeshta të cilat sillnin
edhe zhvillime komplekse të sjelljeve. Vetë ABM-të u zhvillua si nën fushë e sistemeve
me shumë agjentë në shkencat kompjuterike (Held, Wilkinson, Marks, & Young,
2014), sikurse edhe në inteligjencën artificiale dhe robotikë. ABM-të janë të lidhura
edhe me modelimin e sjelljeve njerëzore dhe vendimmarrjeve individuale. Një model i
bazuar në agjent ka katër aspekte (Taylor, 2014):
Një bashkësi agjentësh autonom, ku secili agjent ka një grup atributesh që
përshkruajnë gjendjen e tij dhe një grup sjelljesh specifike që përcaktojnë se si
një agjent sillet ndaj ndryshimeve të mjedisit.
Një bashkësi marrëdhëniesh midis agjentëve, ku secila marrëdhënie përcakton
se si ndërvepron çdo agjent me agjentët e tjerë apo me mjedisin.
38
Mjedisi i agjentit, pra zona ku agjenti jeton dhe ndërvepron. Këtu përcaktohen
minimumi i variabëlve ose i strukturave që nevojiten për të përcaktuar se si
agjentët reagojnë ndaj mjedisit të tyre.
Sistemi, i cili përbëhet nga bashkësia e agjentëve, mjedisi dhe marrëdhëniet e
tyre. Sistemi ka kufij të qartë me të dhëna dhe rezultate të mirë përcaktuara.
Programimi i ABM-ve duhet bërë duke përdorur gjuhë programimi të përshtatshme për
ta. Këto mjete duhet të ekzekutojnë modelin në mënyrë të përsëritur. Në këtë mënyrë
mund të shihen sjelljet dhe veprimet e agjentëve në simulim.
Në pjesët e mëposhtme do të shpjegohen modelet dhe simulimet në këndvështrimin e
përgjithshëm, më pas do të flitet për ndryshimet midis këtyre modeleve dhe ABM-ve,
do të vazhdohet me konceptin e agjentit, sistemeve me shumë agjentë dhe më pas
kalojmë në mënyrat e zhvillimit të modeleve dhe simulimeve të bazuara në agjentë.
4.2. Modelimi dhe Simulimi
Modelimi është procesi i paraqitjes së një objekti apo fenomeni në një formë më të
thjeshtë të idealizuar të saj. Objektet ose fenomenet që merren në studim prej saj mund
të jenë njësi, sisteme apo edhe pjesë të tjera të botës. Qëllimi kryesor i saj është studimi
më i mirë i veçorive specifike të objektit apo fenomenit.
“Simulimi është procesi i projektimit të një modeli të një sistemi real apo imagjinar dhe
të realizuarit e eksperimentimeve me të” (Smith R. D., 1998). Simulimi mund të
mendohet si imitimi i veprimeve të botës reale ose të sistemit përgjatë një periudhe
kohore. Qëllimi i simulimit është analizimi dhe kuptimi të sjelljes së sistemit, si edhe
vlerësimi i rezultateve të saj.
Modelimi dhe simulimi përfshijnë metoda të shumta nga shumë disiplina si
matematika, kërkime operacionale, shkencat kompjuterike, statistika, fizika dhe
inxhinieria dhe i përdorin ato për hulumtimin dhe analizën e sistemeve në fusha të
ndryshme (Taylor, 2014). Nën kontekstin historik nuk dihet qartazi se kur i ka fillimet
e veta, por shumë autorë sugjerojnë si modelimin dhe simulimin e parë, eksperimentin
e gjilpërës së Buffon me metodën e Monte Carlo rreth viteve 1800. Modelet e para kanë
qenë kryesisht me metoda matematikore, dhe trajtimi i tyre ka qenë me zgjidhje
analitike. Sidoqoftë, shumë nga sistemet e botës reale janë shumë komplekse për tu
zgjidhur në mënyrë analitike dhe për këtë arsye këto modele duhet të studiohen me
simulim. Simulimi është përdorur për vlerësimin numerik të modelit dhe të dhënat
mblidhen për të vlerësuar karakteristikat e vërteta dhe ato të dëshiruarat të modelit. Me
futjen e kompjuterëve në vitet 1950 u lejua që këto metoda të zhvilloheshin më tutje
sidomos në fushën e shkencave të menaxhimit dhe kërkimeve operacionale. Një nga
pionierët e vetë simulimit si teknikë ka qene John von Neuman, i cili ideoi edhe
përdorimin e shumë përsëritjeve të modelit, mbledhjen e të dhënave statistikore prej
tyre dhe nxjerrjen e sjelljeve të sistemit real bazuar mbi këto modele. Kjo metodë u
njoh si metoda Monte Carlo për shkak të përdorimit të varianteve të rastësishme që
paraqitnin sjelljet të cilat nuk mund të modeloheshin saktësisht.
Fushat e aplikimit të modelimit dhe simulimit janë të shumta dhe të ndryshme, por ndër
më të rëndësishmet përmendim analizat dhe projektimin e sistemeve të prodhimit,
aeroporteve, sistemeve të transportit, portet, logjistika, vlerësimin e planeve për
shërbim në spitale, restorante, zyrat e postës, inventarët, analiza të sistemeve financiare
ose ekonomike dhe ri-projektimin e proceseve të biznesit (Law, 2014).
39
Modelimi dhe simulimi janë pjesë e një strukture të gjerë analitike e cila përdoret për
të kuptuar proceset e ndryshme dhe organizatat. Analiza e sistemit është emri që i jepet
detyrave të përgjithshme për të identifikuar dhe kuptuar qëllimet, objektivat, proceset,
veprimet, detyrat, burimet dhe kufizimet e sistemit. Kjo analizë krijon shumë
informacion të dobishëm dhe jep një kuptim më të plotë rreth funksionimit të sistemit.
Informacioni në të mund të shfaqet në formë ideje, diagramesh, dokumentesh dhe
kështu me radhë. Zakonisht analiza e sistemit është edhe baza e zhvillimit të modeleve
dhe simulimeve. Modelimi dhe simulimi është pjesa sasiore e analizës së sistemit. Ka
shumë arsye se pse modelimi dhe simulimi duhen përdorur sipas (North & Macal,
2007):
E para, asnjëri nuk mund të kuptojë se si të gjitha pjesët e sistemit ndërveprojnë
dhe se si dalin si një e tërë. Kjo ndodh pasi sistemi është shumë kompleks dhe
ka shumë kompleksitete në pjesët përbërëse të saj dhe në ndërveprime. Kjo është
edhe arsyeja se pse duhet simuluar në kompjuter.
Arsyeja e dytë ka të bëjë me faktin se askush nuk mund të imagjinoj të gjitha
mundësitë që mund të shfaqen nga një sistem real.
Arsyeja e tretë, asnjeri nuk mund të parashikoj efektin e plotë të ngjarjeve me
modele të menduarit të kufizuara. Këtu mund të përmenden modelet mendore
njerëzore të cilat përgjithësisht janë me mendim linear, gjë e cila kufizon në
masë aftësinë e nxjerrjes së situatave të reja.
E katërta, asnjeri nuk mund të parashikoj ngjarje të reja të pashfaqura më parë
jashtë modeleve të tyre të menduarit. Kjo mund të vij si shkak i kompleksitetit
dhe ndërveprimeve jo-lineare që ndodhin në model, të cilat mund të krijojnë
ngjarje dhe sjellje të reja e të paparashikuara më parë.
E pesta, zakonisht studiuesit duan të modelojnë, si për të marrë njohuri të reja
mbi variablat e sistemit, ashtu edhe mbi shkaqet dhe pasojat nga ndryshimi i
tyre.
E fundit, studiuesit mund të modelojnë për të bërë parashikime në të ardhmen.
Edhe pse nuk ekziston një model i sigurt për parashikimin e së ardhmes,
modelimi mund të ndihmojë në studimin dhe vlerësimin e situatave të
mundshme që mund të ndodhin në të ardhmen.
Në kuptimin e plotë dhe shkencor të modelimit dhe simulimit mund të themi se
modelimi dhe simulimi bazohen në disa hipoteza të deduktuara nga teoritë. Këto
hipoteza modelohen në modele mbi bazën e të cilave zhvillohen disa simulime.
Rezultatet e simulimit nxjerrin disa përfundime apo përgjithësime të cilat mund të
përdoren me induksion për të konfirmuar apo përmirësuar teoritë ekzistuese. Në figurën
e mëposhtme shfaqen qartazi të gjitha hapat dhe si pozicioni i modelimit dhe simulimit.
40
Figura 4-1 Modelimi dhe simulimi në këndvështrimin shkencor
Në pjesën e modelimit mund të thuhet se ai vepron në dy mënyra, në modelimin e
problemit dhe modelimin e sistemit. Në modelimin e problemit, modeluesi
përqendrohet në zhvillimin e mjeteve konkrete për t’u përgjigjur pyetjeve specifike.
Ndërkohë në modelimin e sistemit përqendrimi është në zhvillimin e mjeteve për të
riprodhuar sjelljet e sistemit.
Gjithë modelet kalojnë disa hapa të proceseve të modelimit dhe kanë të njëjtat çështje
pavarësisht se çfarë teknike modelimi përdorin. Dy gjërat më të rëndësishme që
çdokush është i interesuar për të ditur kur vjen puna për të punuar me informacionin
nga çdo tip modeli janë të dhënat dhe vlerësimi i modelit. Për të dhënat interesimi është
në faktin se nga vijnë, kush do t’i sjellë apo mbledhë ato, si edhe sa të sakta janë. Ndërsa
në vlerësimin e modelit interesimi është në faktin se sa të besueshme janë rezultatet e
modelit, apo nëse modeli i plotëson të gjitha nevojat e saj. Një sfidë e modelimit është
nevoja e qëndrimit të përqendruar në ndërtimin e modelit në mënyrë që të japë
informacionin e duhur. Zakonisht humbja e përqendrimit sjell edhe rreziqet më të
mëdha në modelim.
Shumë trajtime të modelimit dhe simulimit sjellin me vete edhe procese të plota ose
procedura për mënyrën se si të vazhdohet në çdo hap të procesit të modelimit, nga
përcaktimi i kërkesave deri në implementimin kompjuterik të modelit. Shumë elementë
të modelimeve mund të kombinohen me njëra tjetrën për të ndërtuar një strategji
efektive zhvillimi për modelin. Në tabelën e mëposhtme tregohen dy lista me hapa për
përdorimin e modelimeve me simulim në funksion të inxhinierëve dhe shkencëtarëve.
41
Tabela 4-1: Hapat e modelimit dhe simulimit
Hapat Për inxhinierët
(Law, 2014)
Për shkencëtarët
(Di Paolo, Noble, & Bullock, 2000)
1 Formulo problemin dhe planifiko
studimin Fillo me një pyetje dhe hulumto mbi të
2 Mblidh të dhëna dhe përcakto
modelin Qartëso pyetjen tënde
3
A është modeli konceptual i
vlefshëm? Nëse jo shko mbrapa në
hapin 2
Harto modelin
4 Ndërto një program kompjuterik dhe
verifikoje atë Zgjidh mjetet e duhura
5 Bëj disa eksperimente fillestare Fillo kodimin
6 A është modeli simuluar i vlefshëm?
Nëse jo shko mbrapa në hapin 2. Testo dhe rregullo
7 Harto eksperimentet Mblidh të dhëna dhe merr parasysh
rezultatet
8 Ekzekuto simulimin Ndërto teorinë e asaj që ndodh në model
9 Analizo rezultatet Përsërit sipas nevojës nga hapi 6 deri 8
10 Dokumento, paraqit dhe përdor
rezultatet Interpreto dhe paraqit modelin tënd
Në kuptimin e përgjithshëm simulimi është një eksperiment i mirë-modeluar.
Simulimet kompjuterike janë përdorur gjerësisht si procedura për verifikimin e
efiçencën së modeleve dhe proceseve të saj. Normalisht simulimi me kompjuter na jep
disa avantazhe siç janë kostoja e ulët, shpejtësia dhe përsëritja e eksperimenteve (Iba,
2013). Për koston kjo është normale pasi simulimet kompjuterike kanë shumë me pak
kosto në krahasim me eksperimentimet reale. Shpejtësia ka të bëjë me zhvillimin e
kompjuterëve të sotëm, që japin përgjigje shumë më të shpejta në krahasim me
fenomenet reale. Përsëritja e eksperimenteve në rastin e simulimeve kompjuterike
mund të bëhet lehtësisht duke e filluar përsëri nga fillimi, kjo mund të lejojë të bëhen
krahasime me eksperimente të ndryshme, si edhe duke ndryshuar parametrat e
simulimit.
4.2.1. Karakteristikat e modelimit dhe simulimit
Në modelim dhe simulim, sistemi përcaktohet si një bashkësi entitetesh, njerëzish apo
makinash, që veprojnë dhe ndërveprojnë bashkë drejt arritjes së një përfundimi logjik.
Kuptimi i sistemit varet nga objektivat e studimit të veçantë. Çdo sistem ka edhe
gjendjen e saj, ku gjendja përcaktohet si një bashkësi variablash të nevojshëm për
përshkrimin e sistemit në një kohë të caktuar, në bazë të objektivave të studimit. Ky
sistem mund të studiohet në mënyra të ndryshme, dhe ato bazohen mbi metodika të
ndryshme që varen nga mënyra sesi ne duam ta studiojmë atë. Sipas Law (Law, 2014),
ne e studiojmë sistemin fillimisht me eksperimentim mbi sistemin aktual real. Nëse
është e mundur dhe pa shume kosto që sistemi të ndryshohet me kushte të reja, atëherë
kjo do ishte zgjidhja e saj. Nëse jo, studiuesi duhet të eksperimentojë me një model të
sistemit. Kur flasim për eksperimentim me model, kemi modelim fizik dhe modelim
matematikor. Me modelim fizik kuptojmë ndërtimin fizik të modelit për ta studiuar atë
me prova. Ndërkohë me modelin matematikor kuptojmë paraqitjen e sistemit në terma
logjik dhe marrëdhënie sasiore të cilat manipulohen dhe ndryshohen për të parë se si
modeli reagon, pra se si vetë sistemi do të reagonte nëse modeli matematikor është i
42
vlefshëm. Nëse modeli matematikor do zgjidhej atëherë do të shihnim nëse mund të
arrijmë një zgjidhje analitike apo të përcaktueshme të sistemit, pra të shpjegojë sistemin
vetëm mbi bazat e formulimeve matematikore. Nëse sistemi është shumë kompleks dhe
nuk modelohet dot për një zgjidhje analitike, atëherë modeli duhet studiuar me anë të
simulimit.
Në këtë këndvështrim, simulimi është një metodë që duhet përdorur kur nuk ka zgjidhje
me metodat e sipër përmendura. Modelet e simulimit kanë tre karakteristika të
ndryshme:
1. Janë statike ose dinamike,
2. Janë deterministike ose probabilitare
3. Janë diskrete ose të vazhdueshme
Në karakteristikën e parë, modelet e simulimit statik apo siç quhen ndryshe me gjendje
të qëndrueshme, përfaqësojnë një sistem në një moment të caktuar në kohë, ose ku koha
nuk luan ndonjë rol në të. Ndërkohë që modelet e simulimit dinamik përfaqësojnë një
sistem që ndryshon me kalimin e kohës. Në karakteristikën e dytë, modelet e simulimit
deterministe ose siç njihen ndryshe të përcaktueshme janë modele që nuk kanë
komponentë probabilitare, p.sh. një sistem ekuacionesh diferenciale. E veçanta e këtij
modeli është se rezultati përcaktohet sapo të dhënat e sistemit vendosen, pra për një të
dhënë të caktuar kemi vetëm një rezultat. Ndërkohë në modelet e simulimit probabilitar
apo rastësor, sistemi jep rezultate të ndryshme për të njëjtën të dhënë. Modelet e
simulimit diskret janë sisteme ku variablat e gjendjes ndryshojnë menjëherë në pika të
veçanta të kohës, ndërsa në modelet e simulimit të vazhdueshme variablat ndryshojnë
vazhdimisht me ndryshimin e kohës. Në bazë të këtyre karakteristikave janë ndërtuar
edhe trajtime të ndryshme të modelimeve për simulim të sistemeve.
4.2.2. Teknikat tradicionale të modelimit dhe simulimit
Në mendimin klasik të simulimit ekzistojnë tre lloje simulimi të quajtura simulimi i
vazhduar, ngjarje diskrete dhe MonteCarlo (Nance, 1993). Simulimi i ngjarjeve
diskrete konsiderohet një model matematikor apo logjik i sistemeve fizike që paraqesin
ndryshimet e gjendjes në pika të caktuara kohore në simulim. Simulimi i vazhduar
përdor modele me ekuacione të sistemeve fizike që nuk shfaqin marrëdhëniet e kohës
dhe gjendje që nuk çojnë në mos vazhdimësi. Ndërsa simulimi Monte Carlo përdor
modelet e pasigurisë ku paraqitja e kohës nuk është e nevojshme. Zakonisht kjo metodë
është quajtur edhe si metoda e testimeve të përsëritura. Nën këtë mendim janë zhvilluar
disa teknika modelimi përgjatë historisë së simulimeve.
Në punimin e North dhe Macal (North & Macal, 2007) janë paraqitur gjashtë teknika
modelimi dhe simulimi tradicional, si më poshtë:
Simulim me pjesëmarrje
Optimizimi
Analiza e riskut
Modelim statistikor
Dinamika sistemeve
Simulim ngjarjesh diskrete (“Discrete Event Simulation” - DES)
Në pjesët e mëposhtme do të bëhet një shpjegim i shkurtër për secilën prej metodave të
përmendura.
43
4.2.2.1. Simulim me pjesëmarrje
Simulimi me pjesëmarrje është një qasje simulimi e cila shërben për të simuluar
ndërveprimet midis pjesëve të sistemit dhe kuptimin e dinamikës së sjelljes së sistemit.
Zakonisht pjesët e sistemit janë njerëz apo grupe njerëzish. Këtu sistemet mund të jenë
përzierje njerëzish dhe materialesh fizike. Vëmendja në këtë tip simulimi është te
sjelljet dhe ndërveprimet e njerëzve. Kjo metodë është përdorur që në lashtësi, por u
standardizua si mënyrë në vitet 1960. Ajo është përdorur kryesisht në simulimet e
ushtrisë, emergjenca civile, në trajnime të ndryshme dhe së fundmi edhe me simulime
ku pjesëmarrësi testohet në kushte virtuale. Simulimi me pjesëmarrje përfshin të gjithë
variablat e mundshëm si fizike, mjedisore, njohëse, emocionale apo sociale. Këto
simulime janë shumë frutdhënëse si për pjesëmarrësin ashtu edhe për studiuesit, por
kanë edhe disa kufizime. Ndër to mund të përmendim faktin se nuk mund të ketë numër
të madh pjesëmarrësish dhe studiuesi duhet të zgjedhë mirë grupin e marrë në
konsideratë. Ky lloj simulimi mund të përdoret shumë mirë si mjet mësimor apo për
trajnime, për të kuptuar sjelljet njerëzore dhe çfarë strategjish mund të zhvillohen në
situata të ndryshme apo edhe për të kuptuar se si pjesëmarrësit ndërveprojnë dhe sillen
me njëri tjetrin.
4.2.2.2. Optimizimi
Optimizimi është një teknikë modelimi që aplikohet në situata ku qëllimi është të
zgjidhet zgjidhja më e mirë nga një bashkësi alternativash. Ky lloj modeli ka një
objektiv që duhet të maksimizohet apo minimizohet si dhe një bashkësi faktorësh që
kufizojnë objektivin. Zgjidhja e tyre nuk është e lehtë dhe mund të ketë zgjidhje të
shumta. Qëllimi i simulimit është të simulohen mundësi zgjidhjeje të mundshme që
mund të rritin objektivin. Normalisht si mjet matematikor, ai është përdorur që kohët e
hershme nga shkencëtarë të ndryshëm. Optimizimi është shndërruar sot në një mjet
shumë të përdorshëm dhe të nevojshëm për bizneset, kjo edhe për faktin e përdorimit
të kompjuterëve. Metodat e zgjidhjeve të tilla me simulim janë të shumta dhe ato janë
kryesisht pjesë e fushës së kërkimeve operacionale.
4.2.2.3. Analiza e riskut
Analiza e riskut është një teknikë modelimi shumë e përdorur në biznese për të vlerësuar
ekspozimin e firmave ndaj ngjarjeve që ndikojnë negativisht në vlerën e vetë firmës.
Kjo metodë konsiston në identifikimin e faktorëve të riskut që janë specifike për atë
organizatë. Njëlloj si metodat e tjera të modelimit, analiza e riskut mund të zbatohet në
aspekte specifike të veprimeve të firmës apo të gjithë sistemit. Kjo metodë bazën e saj
të aplikimit e ka në probabilitet dhe statistikë. Analiza e riskut është zakonisht e vetmja
teknikë modelimi që bizneset përdorin për të vlerësuar riskun dhe shanset e ndryshme
të biznesit. Ndër teknikat më të njohura në të janë vlera në risk, risku operacional dhe
teoria e vlerës ekstreme. Vlera në risk mundohet të gjej se sa mund të humbasë një
firmë nga luhatjet e tregut për një kohë të caktuar dhe nivel besimi të caktuar. Kjo
metodë përqendrohet kryesisht në riskun e çmimeve financiare të një portofoli dhe
injoron faktorët e tjerë si atë të veprimeve, kreditë apo risqe të tjera. Metodat e
përdorura këtu janë kryesisht sasiore dhe statistikore, me simulim Monte Carlo apo
historik, të cilat varen nga të dhënat historike të tregut. Në teknikën e riskut operacional
studiohen risqet e humbjes direkt apo indirekt si rezultat i gabimeve njerëzore,
sistemeve, si dhe nga procese të brendshme apo edhe ngjarje të jashtme. Teknika e
vlerës ekstreme përdoret si një plotësuese e vlerësimeve të teknikave të mësipërme.
44
Avantazhi i analizës së riskut është thjeshtësia, ku supozimet kryesore janë të mirë-
përcaktuara. Analiza e riskut mund të aplikohet mbi gjithë biznesin ose mbi analizat e
ndara të riskut për njësitë e biznesit. Kur aplikohet gjerësisht në një korporatë, kjo
metodë mund të japë një ide të shpejtë për riskun e saj. Një disavantazh i analizës së
riskut ka të bëjë me vështirësinë e marrjes së të dhënave të besueshme. Kjo e bën të
vështirë vlerësimin real të modeleve të riskut që kërkojnë vlerësimin e probabiliteteve
të ngjarjeve që mund ose nuk mund të ndodhin. Modelet e riskut janë të nevojshme në
shfaqjen e rezultateve më të këqija të mundshme se sa të gjejnë veprimet e ardhshme
që firma mund të bëj.
4.2.2.4. Modelimi statistikor
Modelimi statistikor është një qasje që studion se si rezultatet e një sistemi varen nga
të dhënat e saj. Në këtë model, sistemi ose pjesët përbërëse të tij modelohen si një kuti
e zezë pa marrë për bazë strukturat e brendshme ose proceset rastësore. Këto metoda
përdoren gjerësisht nga ekonomistët për të studiuar ekonominë me anë të mjeteve
kompjuterike si p.sh SPSS, SAS dhe shumë të tjerë.
4.2.2.5. Dinamika sistemeve
Dinamika e sistemeve përdoret për të modeluar proceset dinamike të cilat ndryshojnë
vazhdimisht gjatë kalimit të kohës. Kjo metodologji përdor modelimin me simulim
kompjuterik për të kuptuar dhe diskutuar problemet dhe çështjet komplekse. Me anë të
saj, studiuesit mundohen të kuptojnë sjelljen jo-lineare të sistemeve komplekse me
kalimin e kohës duke përdorur stoqet, rrjedhjet, ciklet reaguese të brendshme dhe
vonesat kohore (Radzicki & Taylor, 2008). Dinamika e sistemeve filloi si metodë
modelimi e cila u projektua për modelimin e bizneseve dhe sistemeve sociale në vitet
1950. Duke qenë se ajo është një qasje e plotë e strukturuar për modelimin e një sistemi
kompleks, dinamika e sistemeve u bë shumë e famshme duke dhënë një pamje të plotë
të sistemit dhe duke përdorur disa mjete dhe procese të mirë-përcaktuara për ndërtimin
e modelit.
Dinamika e sistemeve filloi si një mjet modelimi në kompjuter. Ajo vetë u zhvillua nga
fusha e inxhinierisë së sistemeve, ku fillimisht u përdor për sisteme fizike si elektronika.
Meqenëse kompjuterët e parë ishin analog dhe punonin në kohë të vazhduar, kjo
ndihmoi në zhvillimin e kësaj metodologjie. Mënyra e shpjegimit të një sistemi është
si një bashkësi variablash gjendjeje dhe ekuacionesh diferenciale që tregojnë normën e
ndryshimit të secilit variabël gjendje si funksion i vet gjendjes. Qasja e modelimit të
sjelljes dinamike të një sistemi gjatë kohës që ai ndryshon në pika të veçanta të kohës
me anën e ekuacioneve diferenciale që lidhin gjendjen e sistemit nga një pikë kohore
në tjetrën. Në këto sisteme rritja e kohës është konstante si p.sh një orë, ditë apo edhe
vit. Pavarësisht se kjo bie ndesh me faktin që ekuacionet diferenciale kërkojnë që
sistemi të funksionojë me kohë të vazhduar, në dinamikën e sistemeve bëhet kujdes në
modelimin sa më të saktë të variablave kohorë që të kenë rrjedhshmëri të caktuar. Në
paraqitjen e proceseve të biznesit dhe sociale, thjeshtësia e paraqitjes së sistemit vetëm
me hapa diskrete kohe prodhon rezultate që janë të njëjta apo pothuajse të njëjta me ato
që do të merreshin nga ekuacionet diferenciale. Në këtë mënyrë edhe vetë llogaritjet e
modelit thjeshtohen.
Një aspekt tjetër i lidhur me modelimin e dinamikave të sistemit ka të bëjë me trajtimin
e tij të pasigurisë, ku këta modele nuk marrin parasysh ndryshueshmërinë rastësore të
sistemit. Kjo ndodh pasi vetë fokusi i modeleve të dinamikave të sistemit nuk është të
zbuloj efektet e pasigurisë, por të kuptojë natyrën e gjithë sjelljes së sistemit.
45
Simulimet e dinamikës së sistemit ndërtohen në mënyrë të drejtpërdrejtë dhe përmbajnë
tre lloje variablash të quajtura nivele, norma dhe variabla ndihmëse. Grumbullimi i tyre
dhe qasja e nivelit të lartë do të thotë se ka më pak variabla dhe kërkesa të dhënash.
Zakonisht përdorimi i dinamikës së sistemit zbulon se si sistemi ndryshon gjatë kohës,
ndryshimet e sistemit dhe sjelljen afatgjatë si edhe nëse sistemi ka paqëndrueshmëri të
qenësishme. Disa nga disavantazhet e përdorimit të modeleve të dinamikave të
sistemeve lidhen me faktin se këto modele duan të përfaqësojnë në mënyrë të
përmbledhur dhe nuk është i qartë niveli i detajeve në vetë modelin. Gjithashtu, vënia
e theksit në proceset fikse që nuk ndryshojnë në strukturë apo në reciprocitet, apo
vështirësia e përshtatjes së pjesëve të modelit janë gjithashtu në disfavor të këtyre
modeleve.
4.2.2.6. Simulim ngjarjesh diskrete
Simulimi i ngjarjeve diskrete është një teknikë simulimi shumë e përdorur në fushën e
kërkimeve operacionale (Law, 2014). Kjo teknikë vetë-modelon një proces si një seri
ngjarjesh diskrete. Kjo do të thotë që entitetet mendohen sikur lëvizin nga një gjendje
në tjetrën gjatë kalimit të kohës. Këto entitete futen në sistem dhe vizitojnë disa nga
gjendjet e sistemit përpara se ta dalin prej tij (Maidstone, 2012). Zakonisht sistemet
DES mendohen si rrjeta radhësh dhe serverësh. Kjo teknikë është në kontrast me
simulimin e vazhduar në sistemet dinamike.
Disa nga përdorimet më të përhapura të DES janë modelimi i radhëve të pritjes, ose siç
njihen ndryshe sisteme të radhës. Këto sisteme janë pjesë e rëndësishme e jetës sonë si
industria e shërbimeve, restorantet, dyqanet, transporti publik, bankat, e të tjerë si edhe
në prodhim e shpërndarje.
DES u bë shumë i njohur në vitet 1960 me zhvillimin e kompjuterëve dhe gjuhëve të
programimit. Sisteme të shumta të gatshme për përdorim u bënë shumë të njohura dhe
ishin të aksesueshme nga modeluesit në biznese dhe qeveri. Ky zhvillim vazhdon
akoma edhe sot ku produkte të shumta i shtohen llojeve të sistemeve DES.
Simulime me DES janë më të nevojshme në rastet kur kemi nevojë për të simuluar
ecurinë e një procesi kompleks përgjatë kohës, kur proceset dhe marrëdhëniet midis
tyre nuk ndryshojnë në kohë dhe janë të mirë-përcaktuara, ose edhe në rastet kur faktor
të rëndësishëm kanë një element ndryshueshmërie apo pasigurie dhe kjo mund të
paraqitet me anë të shpërndarjeve probabilitare. Ndërkohë që DES nuk modelohet kur
ka procese komplekse me shume nivele vendimmarrëse. Disavantazhet e saj mund të
shihen në faktin se funksionon vetëm me një bashkësi procesesh të mirë-përcaktuara në
fillim të simulimit dhe jo të gjeneruara, si edhe nuk arrin të studiojë ndryshimet në
strukturën e sistemit.
4.2.3. Ndryshimet midis ABM-ve dhe modelimeve të tjera
Përpara se të tregojmë ndryshimet midis ABM-ve dhe modeleve duhet të tregojmë
fillimisht edhe një ndryshim të rëndësishëm në studimin e fenomeneve të ndryshme.
Kjo ka të bëjë me përdorimin e dy trajtimeve të modelimit të cilat kanë të bëjnë me
mënyrën se si studiuesi mundohet ta analizojë fenomenin (Iba, 2013). Trajtimi i parë
është ai i qasjes nga lart-poshtë, ku fenomeni mund të shprehet si model numerik dhe
simulohet duke përdorur ekuacione diferenciale apo teknika të ngjashme matematikore.
Trajtimi tjetër është ai nga poshtë-lart, ku fenomeni shprehet si një sistem kompleks
dhe simulohet nëpërmjet veprimeve lokale midis elementëve të sistemit.
46
Trajtimi nga lart-poshtë është një formë simulimi tradicional ku sistemi që merret
parasysh është modelohet me ekuacione dhe procesi në çdo hap merret duke zgjidhur
modelet. Gjithsesi, nëse flasim për sisteme komplekse ka një limit në këtë proces si
pasojë e rritjes së vështirësisë kur modelon sisteme të tillë. Zakonisht dinamika e një
sistemi të tillë nuk mund të paraqitet me ekuacione diferenciale. Ekuacione të tilla
modelit nuk mund të zgjidhen në mënyrë analitike por duhen zgjidhur numerikisht, ku
efektet e gabimeve janë të mëdha dhe nuk kanë se si mos të merren parasysh. Për këtë
arsye, trajtimi nga poshtë-lart është më i përshtatshmi në studimin e fenomeneve të tilla
komplekse. Si një metodë e re, ABM-ja trajton pikërisht këtë qasje në studimin e këtyre
fenomeneve.
Në këndvështrimin e ndryshimeve midis ABM-ve dhe teknikave tradicionale të
përdorura për modelim dhe simulim, më poshtë do të flasim pikërisht për këto
ndryshime një e nga një si edhe për modele të kombinuara midis tyre dhe ABM-ve.
4.2.3.1. Simulim me pjesëmarrje dhe ABM
Sipas North dhe Macal (North & Macal, 2007) simulimi i bazuar në agjentë përdor
bazat e simulimeve standarde me pjesëmarrje, por duke e përdorur atë me qëllimin për
të gjetur sjelljet e agjentëve. Zakonisht simulimet me pjesëmarrje përqendrohen më
shumë në sjelljet në nivel makro sesa në ndërveprimet me nivel mikro. Ato përdoren
rrallë në gjetjen e rregullave në nivel mikro, ndërkohë që ABM-të bëjnë pikërisht këtë
gjë duke marrë informacion dhe ndërtuar modele agjentësh që përfshijnë sjelljet e
agjentëve.
Nëse do të mendonim për kombinimin e këtyre dy metodave së bashku do të shihnim
se me anën e simulimeve me pjesëmarrje do të merrnim informacionin e duhur për të
ndërtuar agjentët artificial në ABM. Kjo pasi ky lloj simulimi ndihmon në gjetjen sa
më reale të rregullave, sjelljeve dhe strategjive të agjentëve. Pa një studim paraprak me
simulim me pjesëmarrje, nuk mund të ndërtohen agjentë me karakteristika reale në
modelet e ABM.
4.2.3.2. Optimizimi dhe ABM
Në vetë fushën e optimizimit ka pasur shumë zhvillime pozitive, ku modelet e
optimizimit janë formuluar, zgjidhur, përdorur dhe ardhur edhe jashtë fushës së
optimizimit. Kështu që mund të përmenden algoritmat gjenetik, programimi i
kufizimeve dhe optimizimi i tufës. Një pjesë e mirë e këtyre problemeve janë zhvilluar
nën fushën e metaheuristikës dhe frymëzimin e kanë nga biologjia dhe jeta natyrore.
Algoritmat gjenetik janë përdorur si mjete optimizimi në probleme ku informacioni i
sistemeve ndahet në blloqe ndërtuese, të cilat kalojnë një proces zgjedhjeje, bashkimi
rastësor, zëvendësimi, ndryshimi dhe rikombinimi duke dhënë një informacion të ri me
karakteristika më të mira dhe aftësie për tu vepruar me mjedisin (Xhafa, Herrero,
Barolli, Barolli, & Takizawa, 2013). Njëlloj si algoritmet gjenetik edhe programimi
gjenetik i cili i ka bazat nga këto algoritme është një teknikë e fuqishme që mund të
zgjidhë probleme në arsyetimin cilësor dhe përdoret në aplikimet e inteligjencës
artificiale. Gjithashtu edhe programimi i kufizimeve është një teknikë tjetër që lejon
formulimin e problemeve komplekse. Simulimet e bazuara në agjentë mund të përdorin
bazat e optimizimit në paraqitjen e sjelljeve të agjentëve. Kjo pasi çdo agjent mundohet
të optimizojë sjelljet dhe veprimet e tij në bazë të njohurive të marra nga mjedisi. Një
tjetër teknikë e përdorimit të optimizimit sot ka të bëjë me optimizimin e shumëfishtë
ku mund të përdoren teknikat e simulimit me shumë agjentë për të gjetur metodën më
të mirë të mundshme prej tyre.
47
Lidhja midis ABM-ve dhe optimizimit është goxha e madhe, ku vetë optimizimi ka
ndihmuar shumë në metodikat e ABM-ve sa mund të themi se ato janë pjesë përbërëse
e rëndësishme të këtyre metodikave. Optimizimi mund të përdoret gjithashtu edhe si
teknikë për modelimin individual optimal dhe vendimmarrjeve organizative. Në
simulimet e ABM-ve ne zakonisht përfshijmë edhe simulimet e optimizimeve vetjake
të çdo agjenti në të. Një shembull shumë i mirë i përdorimit të optimizimit në modelet
e bazuara me agjentë është dhënë në punimin e (Oremland & Laubenbacher, 2014).
4.2.3.3. Analiza e riskut dhe ABM
Në analizën e riskut tradicional duket sikur ka pak lidhje me ABM-të, por ndonjëherë
risku është një veçori e të gjithë sistemit, dhe në këtë rast duhet studiuar i gjithë sistemi
si një i tërë. Së fundmi analiza e riskut është zgjeruar përtej fokusit tradicional të
firmave individuale, duke marrë parasysh edhe zhvillime të tjera të përgjithshme. Fakti
i krizave të njëpasnjëshme ka bërë që në këtë analizë të merren parasysh edhe varësia
ndaj ekonomisë globale. Në këtë aspekt sot në modelimet e riskut konsiderohet e gjitha
ekonomia si një e tërë dhe teknikat e modelimit të agjentëve kanë dhënë kontributin e
tyre. Në këtë aspekt, janë modeluar modele me skenarë të ndryshëm dhe me supozime
rreth politikave që agjentët ndjekin, këto nga të dhënat e tregut dhe më pas simulohen
me anë të kompjuterit me ABM. Modelet me agjentë fokusohen në informacionin më
të rëndësishëm rreth riskut të gjeneruar nga agjentët nën një firmë të caktuar. Qasja e
agjentëve lejon modelin të përfshijë aspekte të ndryshme nga kompanitë e veçanta, si
p.sh strategjitë e çmimeve, besnikëria e klientit apo edhe grada e riskut si prishja e
kontratës, besueshmëria e produktit, ndryshimet e rregullave etj. Të gjitha këto japin i
japin aftësinë modeluesit të modelojë sjellje të ndryshme në mënyrë që të ketë shumë
skenarë të mundshëm për të ardhmen.
4.2.3.4. Modelimi statistikor dhe ABM
Modelimi statistikor mundohet ta shpjegojë sistemin nga lart-poshtë duke e parë atë si
një kuti të zezë. Në një mënyrë ABM-të me shpjegimin e sistemit nga poshtë-lart janë
antiteza e modelimit statistikor. Zakonisht nuk mundet të zhvillohet një model agjenti
ku gjithë faktorët rastësor dhe marrëdhëniet të çojnë në specifikimet e plota për
vendimet e agjentit. Për këtë mund të përdoret analiza statistikore e cila vlerëson
rregullat vendimmarrëse të sjellurit të agjentit. Gjithashtu nga ana tjetër mundet që të
kalohet nga agjentë kompleks në një lidhje të thjeshtë statistikore midis disa variablave
që udhëheqin shumicën e sjelljeve të agjentit. Gjithashtu edhe teknika të tjera më të
avancuara mund të përdoren për të njëjtat arsye në ABM.
4.2.3.5. Dinamika sistemeve dhe ABM
Dinamika e sistemeve dhe ABM-të janë të ngjashme në natyrën e tyre të simulimit, kjo
për faktin pasi të dyja këto metoda marrin për bazë proceset dinamike të sistemit. Nëse
ne kemi zhvilluar një simulim me anën e dinamikave të sistemeve, në ABM është e
mundur të ndërtosh të njëjtin model të përshtatur me agjentë dhe rezultatet e tyre janë
të njëjta. Nëse në modelet me agjentë ku informacioni në model grupohet nga agjenti,
atëherë sjelljet e agjentit mund të dalin nga variablat e gjendjes dhe se si këto variabla
ndryshojnë. E njëjta gjë ndodh edhe në modelet e dinamikës së sistemeve, ku
informacioni në model grupohet nga variablat e gjendjes dhe se si ata ndryshojnë,
atëherë këto variabla mund të përshkruajnë agjentin dhe sjelljet e agjentit.
Ndryshimi i këtyre metodave është në faktin se dinamika e sistemeve merr
këndvështrimin e proceseve dhe e përdor atë për modelimin e agjentëve dhe ndërkohë
48
ndërveprimet e tyre janë jashtë qëllimit të studimit të saj. Kjo teknikë ka vështirësi në
modelimin e problemeve të caktuara që janë jashtë fushës së studimit. Ka disa aspekte
të cilat modelimi me dinamikat e sistemeve nuk mund t’i marrë parasysh, ndërkohë që
ABM-ja mundet. Ndër këto aspekte mund të përmendim raste kur kemi probleme me
aspekte hapësinore, si modelimi i pozicionimeve të agjentëve në një zonë. Një rast tjetër
mund të jetë ai i problemeve me shumë agjentë që ndërveprojnë herë pas here gjatë një
kohe të caktuar, apo rasti kur problemi ka variabla vendimi diskrete apo kufizime mbi
to. Në të gjitha këto raste ABM-ja mund t’i japë rezultate simulimi të vlefshme në
krahasim me modelet e dinamikave të sistemeve. Një ndryshim tjetër ka të bëjë edhe
me faktin se dinamika e sistemeve përdor qasjen nga lart-poshtë (Maidstone, 2012),
ndërsa ABM-të përdorin qasjen nga poshtë-lart në ndërtimin e modeleve.
4.2.3.6. DES dhe ABM
DES është metoda më e përdorur në simulimet kompjuterike, kur flitet për simulime në
fushën e kërkimeve operacionale. Kjo ka ndodhur për faktin e përqendrimit në
modelimin e sistemit me detaje. Në vitet e fundit me futjen e ABM-ve po shihet se ka
një lëvizje edhe vetë brenda fushës së kërkimeve operacionale për përdorimin e tyre
(Siebers, Macal, Garnett, Buxton, & Pidd, 2010). Ndryshe nga DES, ABM-të janë të
fokusuara në modelimin e entiteteve dhe ndërveprimeve të tyre. Vetë DES është e
orientuar ndaj proceseve të sistemit dhe përdor qasjen e modelimit nga lart-poshtë,
ndërkohë që ABM janë të orientuara ndaj individit apo entiteteve dhe përdorin qasjen
e modelimit nga poshtë-lart. Kur flasim për mënyrën e kontrollit në simulim, DES
përdor vetëm një njësi përpunuese dhe e konsideron sistemin e centralizuar, ndërkohë
ABM-të përdorin njësi përpunuese të veçanta për secilin agjent duke e konsideruar edhe
sistemin si të decentralizuar. Në DES kemi entitete pasive ku këto entitete ndryshojnë
gjatë lëvizjes në sistem, gjithashtu edhe vendimmarrjet apo forma e inteligjencës
modelohet si pjesë e sistemit. Ndërsa në ABM entitetet apo agjentët janë aktiv duke
marrë iniciativën vetë për të bërë diçka, gjithashtu secili agjent ka vendimmarrjen apo
formën e tij të inteligjencës në sistem. Një tjetër koncept i DES është radha, e cila
studiohet si element kyç në sistemet DES, në ABM ky koncept mungon por mund të
jetë pjesë e studimit të saj siç tregohet edhe në punimin e Lee (Lee & Wong, 2016), i
cili modelon si ABM një skenar me radhë në trafik. Në modelet e DES zakonisht
modelohen vetëm sjelljet “makro” të sistemit, si edhe lëvizja e entiteteve në sistem. Në
ABM lëvizja e agjentëve dhe sjelljet “makro” nuk modelohen në mënyrë të
drejtpërdrejtë, por ato dalin nga vendimet “mikro” të agjentëve. Një ndryshim i fundit
ka të bëjë me të dhënat që i jepen simulatorit në DES janë zakonisht të bazuara në të
dhëna të mbledhura apo matura më parë duke i bërë ato më objektive. Ndërsa në ABM
këto të dhëna bazohen kryesisht në të dhëna teorike apo subjektive, edhe pse në disa
raste ato mund të jenë edhe të matura.
4.2.3.7. ABM dhe modelimet tradicionale
ABM si një trajtim i ri i modelimeve është bazuar edhe në vetë modelimet tradicionale.
Nga përshkrimet e mësipërme nuk është e vështirë të mendosh se ABM përfshin disa
nga karakteristikat e tyre. Përveç tyre ABM ka disa karakteristika të veçanta të cilat
kanë një vlerë të shtuar në përdorimin e saj kundrejt metodave të tjera, duke treguar
edhe mundësitë e shumta që vetë modelimet me ABM të lejojnë. Në këtë mënyrë ABM-
të vendosin kufij të rinj duke kombinuar metodat e reja me ato të trajtimeve të modeleve
tradicionale dhe duke ofruar mundësi të reja në studimin e sistemeve komplekse.
49
Tabela 4-2: Ndryshimet midis modeleve tradicionale dhe ABM-ve6
Modelimi tradicional Modelimi i bazuar në agjentë Deterministike (një rezultat) Stokastike (shumë rezultate)
Ndarëse (Lart-poshtë) Bashkuese (Poshtë-lart)
Formula me ekuacione Agjentë adaptues
Nuk japin shpjegime Fuqi shpjeguese
Pak parametra Shumë parametra
Hapësirë e mbyllur Hapësirë eksplicite (e hapur, e qartë)
Mjedisi i dhënë Mjedisi i krijuar
Reagon ndaj tyre Mëson prej tyre
Modelimi dhe simulimi i bazuar në agjentë ofron mundësi për të dhënë informacione
më të mira dhe të reja rreth sistemeve në përgjithësi, pasi paraqitja me anën e agjentëve,
sjelljeve dhe ndërveprimeve të tyre në mënyrë sa më reale është sot e mundur. Një
ndryshim i madh midis ABM-ve dhe modelimeve tradicionale është edhe fuqia
shpjeguese, ku ABM duket qartazi se ka një avantazh te madh pasi me të dhënat e
gjeneruara mund të bëhen analiza mbi arsyet “mikro” që ndikuan në ato “makro”.
Gjithashtu edhe fakti që ndërtimi i modeleve kalon në detaje të plota të sistemit, lejon
përshkrimin më të thjeshtë të asaj që ndodh në këto modele simuluese. Gjithsesi ABM-
të janë metoda më natyrore për të përshkruar dhe simuluar një sistem të përbërë nga
entitete të botës reale. Një përmbledhje e këtyre ndryshimeve midis modeleve
tradicionale dhe ABM-ve jepet në tabelën 4-2 bazuar mbi punimin e (Crooks &
Heppenstall, 2012).
4.2.4 Rast i veçantë: Modeli DSGE dhe ABM
Modeli dinamik stokastik i ekuilibrit të përgjithshëm (“Dynamic Stochastic General
Equilibrium” – DSGE) është një model me anë të cilit mundohemi të shpjegojmë
fenomenet e ndryshme ekonomike. Këto modele janë dinamike pra që zhvillohen me
kalimin e kohës, stokastike që lidhet me luhatjet rastësore në ekonomi, si p.sh luhatjet
e kursit i këmbimit apo në politikat monetare, e përgjithshme pasi përfshijnë të gjithë
ekonominë dhe ekuilibër për të gjetur ekuilibrin ekonomik. (Slanicay, 2014)
Fillimet e modeleve DSGE kanë qenë në punimet e (Lucas & Prescott, 1971) dhe (Luca,
1972) në vitet 70. Këto modele ndahen në tre grupe kryesore në të cilat bazohen, ato
janë modele që bazohen në teorinë e re klasike, teorinë e cikleve reale të biznesit dhe
teorinë e re keynesiane. Modelet DSGE shërbejnë si bazë për punimet e ndryshme
empirike në ekonomi. Për të përcaktuar një model DSGE fillimisht na duhet të dimë
preferencat që kanë lidhje me objektivat kryesor që ekonomia duhet të arrijë, më pas
mbi teknologjinë që mundëson madhësinë e prodhimit që ekonomia vendos, si edhe
kufizimet që modeli do të ketë në lidhje me politikat fiskale apo monetare që do të
përdoren.
Modelet DSGE marrin parasysh shumë faktorë të cilët modelohen matematikisht në
bazë të kushteve të ekonomisë. Ato formulohen edhe me ndihmën e disa programeve si
Dynare, apo me Matlab dhe më pas mund të bëhen analiza të mëtejshme duke u bazuar
mbi faktorët e marrë parasysh.
6 Bazuar mbi punimin e (Crooks & Heppenstall, 2012)
50
Duke pasur parasysh zhvillimet e dhjetëvjeçarit të fundit, modelet DSGE nuk arritën të
analizonin situatat e vështira të krizave të njëpasnjëshme të ndodhura në ekonomi. Për
këtë arsye disa ekonomistë propozuan përdorimin e ABM-ve për të studiuar më mirë
këto fenomene. Në artikujt e publikuar (New model army, 2013) dhe (Agents of change,
2010) në “The Economist” përmendet se me ABM-të mund të arrihet shumë më tepër
se DSGE për studimin e ekonomisë. Në të njëjtin këndvështrim janë edhe punime të
tjera si (Dilaver, Jump, & Levine, 2016) ku diskutohen avantazhet e ACE mbi
metodikat e DSGE, apo në punimin e (Fagiolo & Roventini, 2017) në të cilin paraqiten
kufizimet e metodave DSGE në lidhje me modelimet e tregjeve përbërëse të ekonomisë
dhe mundësia e studimit të tyre me anën e ABM-ve.
4.3. Zhvillimi i konceptit të agjentit
Për konceptin e agjentit nuk ekziston një marrëveshje e cila përcakton termin e saktë të
tij. Vetë termi agjent është përdorur shpesh herë për të krijuar apo marrë në konsideratë
produkte softueri në shumë fusha aplikimi. Këtu vetë koncepti i agjentit lidhet me
softuerin, ku agjent softuerik quajmë një program kompjuterik që vepron për një
përdorues ose program tjetër. Termi agjent u ka lidhur edhe me vetë fjalën që në
latinisht njihet si “agere”, e cila ka kuptimin e veprimit ndaj dikujt apo diçkaje. Në
ekonomi termi agjent përdoret për një vendimmarrës në një model për disa aspekte
ekonomike, ku zakonisht agjenti mund të jetë një njësi tregtare apo ekonomike. Nën
konceptin e agjentëve inteligjent gjejmë përkufizimin e Franklin dhe Graesser (Franklin
& Graesser, 1997) i cili thotë: “Një agjent autonom është një sistem i vendosur dhe
pjesë e një mjedisi që ndjen dhe vepron mbi mjedisin gjatë kohës dhe është në ndjekje
të agjendës së tij dhe që ndikon në atë që do të ndjejë në të ardhmen”. Një përkufizim
të ngjashëm kanë dhënë edhe në punimin e (Russell & Novig, 2010, p. 34), ku
përmendin se agjenti është çdo gjë që ndjen nga mjedisi nëpërmjet sensorëve dhe
vepron mbi të nëpërmjet vepruesve të tij. Sipas punimit të (Macal & North, 2013)
agjentët kanë disa karakteristika bazë të cilat janë:
Agjenti është një njësi e identifikueshme, modulare dhe vetë-përfshirëse.
Modulariteti nënkupton se agjenti se agjenti ka kufij, pra ku mund të përcaktohet
nëse diçka është pjesë apo jo e një agjenti. Kjo do të thotë se agjenti mund të
dallohet apo njihet nga agjentët e tjerë.
Agjenti është autonom dhe i vetë drejtuar, pra ku agjenti mund të veprojë i
pavarur në mjedisin e tij si edhe në veprimet e tij me agjentët e tjerë. Këtu
agjentët mendohen si njësi të afta për të përpunuar informacionin apo
shkëmbyer atë me agjentë të tjerë në mënyrë që të marrin vendimet e tyre të
pavarura. Ata janë të lirë të ndërveprojnë me agjentët e tjerë brenda një numri
të caktuar situatash.
Agjenti ka sjellje, pra ku informacioni i ndjerë nga agjenti kalohet në vendimet
dhe veprimet e tij. Informacioni i agjentit vjen nga ndërveprimet me agjentë të
tjerë apo edhe vetë mjedisi. Sjellja e agjentit mund të specifikohet që nga
rregullat e thjeshta deri te ato komplekse.
Agjenti ka gjendje. Agjenti ka si gjendje variablat kryesorë që lidhen me
situatën e tij, pra me bashkësinë e atributeve që ai ka në një moment të caktuar.
Për shkak të saj edhe sjelljet e agjentit janë të kushtëzuara nga gjendja e tij.
Agjenti është social, ku agjenti mund të ketë ndërveprime dinamike me agjentë
të tjerë që influencojnë sjelljen e tij. Zakonisht agjentët kanë protokolle për
ndërveprim, siç është komunikimi, lëvizja dhe pretendimi për hapësirë, aftësia
51
për t’iu përgjigjur mjedisit dhe agjentëve të tjerë. Gjithashtu, këtu agjentët
munden të njohin dhe dallojnë tiparet e agjentëve të tjerë.
Agjentët mund të jenë adaptues. Këtu agjenti ka aftësinë për të mësuar dhe
përshtatur sjelljet e tij në bazë të eksperiencave të akumuluara. Agjenti duhet të
ketë edhe memorie në mënyrë që të mësojë nga eksperiencat e mëparshme.
Agjentët mund të projektohen që të ndryshojnë gjendjen e tyre në varësi të
gjendjeve të mëparshme. Gjithashtu agjentët mund të përshtaten në nivel
individual si edhe në nivel grupi agjentësh.
Agjenti mund të jetë i drejtuar ndaj qëllimit. Këtu agjenti ka një qëllim apo
objektiv për të arritur në lidhje me sjelljet e tij. Kjo e lejon atë të krahasoj
rezultatet e sjelljeve me atë të qëllimeve të tij dhe të rregulloj përgjigjet dhe
sjelljet në ndërveprimet e ardhshme.
Agjenti mund të jetë heterogjen. Kjo do të thotë që agjentët mund të jenë të
ndryshëm nga njëri tjetri në modelet simuluese. Kjo do të thotë që
karakteristikat dhe sjelljet e agjentëve të ndryshojnë në mënyrën se si agjenti
merr vendimet. Kjo pasi ndryshojnë edhe specifikat në lidhje me përpunimin
informacionin, memorien dhe tipareve të tjera që merren në konsideratë.
Në punimin e Crooks dhe Heppenstall (Crooks & Heppenstall, 2012) është bërë një
përmbledhje e disa punimeve dhe ku janë nxjerrë disa nga veçoritë e mundshme të
agjentëve në ABM, të cilat ndahen në autonomia, heterogjeniteti dhe aktive. Në dy
veçoritë e para shpjegimi i tyre është i njëjtë me shpjegimin e mësipërm rreth agjentëve
heterogjen dhe atyre autonom. Agjentët aktiv do të thotë që ato shfaqin ndikim të
pavarur në simulim. Më poshtë tregohen disa nga veçoritë e tyre:
pro-aktiv
reagues
racionalizimi i kufizuar
ndërveprues apo i komunikues
lëvizshmëria
adaptimi
Në shpjegimin e këtyre veçorive të agjentëve aktiv, tregohet se të qenurit aktiv është e
njëjtë me shpjegimin e karakteristikës së agjentëve të drejtuar ndaj qëllimit. Veçoria
reaguese është në rastet kur agjenti hartohet që të ketë një lloj dijenie apo ndjeshmërie
ndaj mjedisit rreth tij. Agjentët munden të kenë një njohuri fillestare në mënyrë që të
identifikojnë objektet e tjera në afërsi. Veçoria e racionalizimit të kufizuar bazohet mbi
faktin se në modele të caktuara secili agjent mund të bëjë vendime racionale në bazë të
disa rregullave të përcaktuara dhe informacioneve që ai përpunon. Këto vendime
ndihmojnë edhe në arritjen e qëllimeve të tyre. Gjithashtu agjentët kanë veçorinë e
ndërveprimit dhe komunikimit me njëri-tjetrin dhe mjedisin, si edhe mund të lëvizin në
këtë mjedis.
4.3.1.Atributet e Agjentëve
Agjentët mund të përfaqësojnë një entitet i cili bën disa veprime në bazë të disa nxitjeve
të jashtme të mjedisit rrotull tij. Në këtë aspekt vetë agjentët mund të mendohen edhe
si njësi vepruese ndaj nxitjeve të ndryshme qofshin këto njerëzore ashtu edhe natyrore.
Në rastin e nxitjeve natyrore, agjenti kryen disa funksione bazë si përgjigje ndaj tyre.
Në këtë rast edhe atributet e tij janë kryesisht të varura nga përpunimi i informacionit
të marrë nga dukuritë e ndryshme natyrore. Kur mendojmë për njësitë të natyrës
mekanike, problemi bëhet më i thjeshtë dhe përcaktimi i atributeve të agjentit i cili do
52
veprojë apo ndërveprojnë në një sistem të tillë mekanik, bëhet akoma më i thjeshtë. Të
tilla raste janë shfrytëzuar për ndërtimin e agjentëve robotik të cilët veprojnë kryesisht
në mjedise mekanike, si fabrikat e ndryshme të prodhimit. Aty këta agjentë bëjnë disa
veprime të caktuara, të nxitura nga proceset e punës në këto fabrika. Shembujt më të
mirë janë pikërisht këta agjentë të cilët përmirësojnë proceset dhe ndihmojnë punëtorët
në situata të ndryshme. Këta agjentë përdorin sensorët e tyre për të ndryshuar gjendjen
e atributeve të tyre dhe më pas sillen sipas një plani veprimi të programuar më parë.
Në të njëjtën mënyrë mund të mendohen edhe agjentët në modelimet dhe simulimet e
sistemeve komplekse si ato ekonomike apo sociale. Në të tilla raste atributet e tyre
duhen të jenë të lidhura me veçoritë që duhet të imitohen nga njësitë ekonomike apo
sociale. Për shembull, në sistemet sociale mund të mendohen si agjentë personat të cilët
kanë atribute si mosha, gjinia, të ardhurat dhe veçori të tjera të cilat ne mendojmë se
ndikojnë në sistem. Në të njëjtin tip sistemi, agjentë mund të jenë edhe institucionet, të
cilat nga ana e tyre kanë atributet e tyre si lloji i shërbimeve, numri i punonjësve dhe
shumë atribute të lidhura me veçoritë e vetë institucionit. Për njësitë ekonomike mund
të përmenden të njëjtat atribute, si p.sh korporatat të cilat kanë atribute si burimet,
objektivat e fitimit, prodhimit, toleranca ndaj riskut e shumë të tjera si këto. Agjentët
mund të përfaqësojnë çfarëdolloj entiteti autonom dhe atributet e tyre përcaktohen në
bazë të atributeve të njohura të këtyre entiteteve.
4.3.2. Sjelljet e agjentëve
Rregullat, marrëdhëniet dhe ndërveprimet e agjentëve janë të ndërlidhura me sjelljet e
tyre. Çdo agjent mund të ketë rregulla që ndikojnë te sjellja dhe marrëdhënia me
agjentët e tjerë apo edhe mjedisi rrotull. Rregullat mund të jenë të nxjerra nga njohuritë
e përgjithshme apo edhe nga ato eksperte, nga analizat e të dhënave apo edhe nga
punime numerike, të cilat mund të jenë të programuara dhe vendosura si bazë në sjelljet
e agjentit. Këto rregulla mund të jenë të njëjta ose edhe të veçanta për secilin agjent,
njëkohësisht ato mund të jenë të ndryshueshme ose të pa ndryshueshme. Zakonisht kur
flasim për rregullat, ato mund të bazohen në deklarata me kusht, ku agjenti vepron sapo
një kusht i caktuar arrihet. Por rregullat mund të aktivizojnë agjentin të veproje edhe në
raste paditurie të sjelljeve të agjentëve të tjerë, sikurse edhe pa ndërveprimin e mjedisit
mbi të. Përveç këtyre rasteve agjentët mund të kenë edhe mundësinë e të mësuarit, për
këtë në to mund të përfshihen edhe struktura sjelljesh që mund të përfaqësojnë njësi të
ndryshme në sisteme komplekse.
Një nga veçoritë e sistemeve komplekse është që informacioni është i kufizuar për
njësitë e sistemit, pra agjentit i duhet të veprojë në bazë të një informacioni të cunguar
dhe nuk ka nj informacion global të plotë për të gjithë agjentët. Agjentët ndërveprojnë
me njëri tjetrin dhe ndërkohë komunikojnë informacione, por këta agjentë nuk munden
të ndërveprojnë me të gjithë sikurse edhe në sisteme reale. Agjentët ndërveprojnë vetëm
me një grup agjentësh të cilët mund të quhen agjentë të afërt, dhe zakonisht
informacioni merret prej tyre dhe jo nga çdo agjent. Këto agjentë ndryshojnë herë pas
here gjatë një simulimi, si pasojë e ndryshimit të gjendjes apo edhe vendndodhjes së
tyre. Kjo bën që sjelljet e agjentëve të jenë gjithmonë në ndryshim në bazë të
informacioneve që ata komunikojnë me njëri tjetrin.
Agjentët kanë një bashkësi rregullash nga ku bazohen edhe sjelljet e tyre. Këto rregulla
i lejojnë agjentët të komunikojnë dhe ndërveprojnë me njëri tjetrin dhe mjedisin rreth
tyre. Gjithashtu ato i japin agjentit aftësi reaguese nga më të thjeshta deri te ato më të
ndërlikuarat në vendimmarrje. Agjentët në përgjithësi fillimisht vlerësojnë gjendjen e
53
tyre dhe më pas përcaktojnë se çfarë do të bëjnë. Ata veprojnë në bazë të vendimeve të
marra dhe më pas vlerësojnë rezultatet e veprimeve të tyre duke ndryshuar edhe
rregullat e tyre kur është e nevojshme.
Nga ana teknike agjentët komunikojnë me njëri tjetrin dhe me mjedisin, ata krijojnë
marrëdhënie në shumë mënyra nga reagimet e thjeshta deri te reagimet e drejtuara drejt
një qëllimi. Sjelljet e agjentëve mund të jenë sinkrone sikurse edhe asinkrone.
Nëse flasim për agjentët e sistemeve natyrore apo mekanike, mund të themi se
mjaftojnë veç disa rregulla të thjeshta të programueshme që në fillim dhe këta agjent
veprojnë me siguri. Kjo është edhe fakti se pse këta agjentë robotë kanë gjetur veprim
në mjedise reale, ndërkohë që agjentët vendimmarrës për sistemet ekonomike apo edhe
ato shoqërore ku ndryshoret e sistemit janë të paqarta nuk janë vënë në zbatim, ose
zbatohen në mjedise eksperimentale si simulimet e ndryshme ekonomike. Për këtë
arsye në vitet e fundit në ABM janë munduar të përfshijnë edhe struktura të sjelluri të
ngjashme me ato njerëzore.
4.3.3. Mjedisi i agjentëve
Mjedisi ka një rol të rëndësishëm në simulimet me agjentë. Por përpara sesa të
shpjegohet do të ishte mirë të paraqitnim ndryshimin e mjedisit të simuluar dhe mjedisit
të simulimit. Mjedisi i simuluar është paraqitja e mjedisit origjinal që do të simulohet,
ndërsa mjedisi i simulimit është platforma e nevojshme për të vënë në zbatim simulimin
(Klugl, et al. 2005).
Mjedisi është hapësira ku agjenti vepron dhe shërben për të mbështetur ndërveprimin e
tij me agjentët e tjerë dhe vetë mjedisin. Në sistemet natyrore, mjedisi është hapësira
fizike ku agjenti robotik vepron dhe ndërfaqet të cilat e lejojnë atë të veprojë në këtë
hapësirë. Në mënyrë të njëjtë edhe në mjediset simuluese apo eksperimentale agjenti
vepron mbi një hapësirë virtuale që ka kuptimin e një hapësire gjeometrike. Në shumë
raste agjentit i duhet të dijë vendndodhjen në mjedis, por ka edhe raste kur ky agjent
nuk e ka të nevojshme të dijë rreth vendndodhjes së tij në mjedis.
Nën kontekstin e simulimeve të sistemeve komplekse, mund të jetë e nevojshme
simulimi i agjentëve në disa mjedise të ndryshme njëkohësisht. Kjo do të thotë se mund
të studiohen disa mjedise paralele apo edhe ndërvarësia e tyre. Kështu që nëpërmjet
vendosjeve të rregullave bazë në sjelljet e agjentëve, mund të arrihet të studiohen
efektet e ndryshme të këtyre sjelljeve mbi agjentët e tjerë si edhe mjediset përkatëse.
Mund të ndodhë që ndikimi nga agjentë fqinjë në një mjedis të ndikojë në sjelljen e
agjentit në mjedisin tjetër. Të tilla raste mund të ndërtohen dhe studiohen me anën e
mjeteve të duhura.
4.4. Sistemet multi-agjent
Në fushën e IA, koncepti agjent gjendet shpesh herë i përdorur në terminologjinë e saj.
Nënfusha e saj e njohur si inteligjenca e shpërndarë artificiale (“Distributed Artificial
Intelligence” - DAI) merret pikërisht me studimin, ndërtimin dhe zbatimin e sistemeve
multi-agjent (Weis, 1999). Këto sisteme janë zhvilluar për të studiuar apo zgjidhur
problematika të ndryshme në të cilat mund të përdoren shumë agjentë. Ato përmbajnë
një mjedis ku agjentët ndërveprojnë me njëri tjetrin në bazë të një bashkësie veprimesh
të tyre që mund të ndryshojë gjendjen e mjedisit ku ato ndodhen. Zbatimi i sistemeve
multi-agjent sipas (Ferber, 1999) mund të jetë në:
54
Zgjidhjen e problemeve, kjo për arsye si nevoja e zgjidhjes së problemeve të
shpërndara, për shkak të rritjes së efiçencës apo si e vetmja mënyrë për tu
zgjidhur.
Simulimin me multi-agjent, këtu mund të përmendim simulimet e ndryshme të
botës reale në fusha si fizika, biologjia, apo edhe shkencat sociale dhe ato
ekonomike.
Ndërtimin i botëve sintetike, ku këto botë mund të përdoren për përshkrimin apo
analizimin e ngjarjeve të ndryshme të ndodhura nga veprimet e njësive
ndërvepruese të saj.
Robotika përmbledhëse, ku çdo robot mund të mendohet si një nënsistem që ka
një qëllim të caktuar dhe merret veç me të. Në fund të gjitha rezultatet mund të
përmblidhen në zbatim apo veprim.
Përdorimin e MAS si një mënyrë efiçente programimi modular të quajtur
projektimi kenetik. Kjo e propozuar nga vetë Ferber, si një fushë që do të merrej
kryesisht me veprimet dhe ndërveprimet përmbledhëse të agjentëve.
Në këtë këndvështrim mund të themi se MAS përfshin brenda saj shumë koncepte dhe
baza teorike që ndihmojnë në funksionimin e saj. Nën konceptimin e (Michel, Ferber,
& Drogoul, 2009), MAS përfshin koncepte si agjentët, mjedisi, ndërveprimet dhe
organizatat. Duke e lidhur me simulimin me multi-agjent, në pjesët e mëposhtme do të
jepet një këndvështrim i ri i ndërtimit të një mjedisi simulues bazuar mbi MAS, si edhe
trajtimi që bëhet nën këtë këndvështrim.
4.4.1. Arkitekturat e agjentëve
Në punimin e (Michel, Ferber, & Drogoul, 2009) thuhet se arkitekturat e agjentëve
trajtohen në tre lloje të përgjithshme, arkitekturat reaktive, ‘cognitive’ dhe hibride.
Në arkitekturat reaktive konsiderohen arkitektura ku agjenti reagon apo vepron ndaj
një veprimi stimulues. Në këtë rast agjenti nuk njeh mjedisin e tij apo agjentët e tjerë,
pra sjellja e tij do jetë e lidhur kryesisht me stimulimet e ndryshme që ai do të marrë
nga mjedisi rreth tij. Zakonisht agjentët e këtij lloji njohin vetëm perceptimet e
vendosura në to dhe veprojnë në bazë të kushteve të lidhura me perceptimet e marra pa
arsyetuar rreth tyre (Wooldridge, 2009). Në këtë mënyrë agjentët marrin informacion
nga mjedisi duke eksploruar dhe veprojnë bazuar mbi eksperiencat e tyre. Ndër
arkitekturat më të njohura në këtë grup mund të përmenden arkitektura ‘subsumption’
(Brooks, 1991), ku agjentët me këtë arkitekturë kanë një sjellje të bazuar mbi prioritete.
Këtu agjenti zgjedh veprimet mbi bazën e disa rregullave sjelljeje të vendosur nga
projektuesi i agjentit. Mbi këtë arkitekturë janë ndërtuar modele të tjera arkitekturash
si ato me strukturë hierarkike, me punë konkurruese, lidhëse, etj... Këto lloje
arkitekturash nuk kanë modele mbi mjedisin e tyre dhe duhet të kenë informacion të
mjaftueshëm mbi mjedisin rreth tyre që të veprojnë.
Arkitektura ‘cognitive’ apo njohëse, konsideron një agjent që arsyeton mbi njohuritë që
ai ka bazuar mbi disa formalizma simbolike. Njohuritë e tij përfshijnë gjendjet, veçoritë,
dinamikat e objekteve në mjedis dhe agjentët e tjerë. Agjentët kanë një formë
shqyrtuese për të vendosur se cilat qëllime ato duhet të arrijnë. Në këtë aspekt
arkitektura më e njohur në këtë grup është arkitektura që bazohet mbi besimin, dëshirën
dhe synimin e agjentit e njohur ndryshe si (“Belief-Desire-Intention” - BDI). Agjentët
BDI janë synues në veprimet e tyre dhe këto veprime do ti lejojnë ato të arrijnë qëllimet
apo dëshirat e tyre (Rao & Georgeff, 1992). Pra këto agjentë veprojnë mbi besimin që
kanë mbi gjendjet e mjedisit ku ato ndodhen, njohuritë e tyre dhe synimet për të arritur
55
qëllimet e tyre. Një agjent BDI ka një bashkësi planesh, ku secili plan tregon hapat për
arritjen e një qëllimi të caktuar. Synimet vendosen kur agjenti angazhohet në arritjen e
një qëllimi bazuar mbi një plan. Ndërsa mënyra e selektimit të planeve dhe veprimeve
për tu kryer bëhet nga një funksion vendimmarrës që merr për bazë edhe përditësimet
e besimeve, qëllimeve dhe synimeve.
Figura 4-2 Arkitektura BDI
Në figurën 4-2 tregohet arkitektura BDI për agjentët, ku shihet qartazi se arsyetimi i
agjentit ndikohet nga perceptimet dhe mesazhet që vijnë nga jashtë. Mesazhet janë
zakonisht të gjeneruara nga agjentë të tjerë dhe ato ndikojnë ndryshimin e qëllimeve
apo dëshirave të agjentit, sikurse edhe në besimet e tyre rreth gjendjeve të caktuara.
Perceptimet nga ana tjetër janë ato çfarë agjenti arrin të njohë vetë nga mjedisi që e
rrethon atë duke formuar në këtë mënyrë edhe besimet përkatëse të gjendjes së tij.
Agjenti fillimisht ka disa qëllime të cilat shtohen apo ndryshohen nga mesazhet e
agjentëve të tjerë, këto analizohen dhe zgjidhen nga interpretuesi që zbaton planet
përkatëse në bazë të besimeve të agjentit. Në momentin e zgjedhjes dhe zbatimit të një
plani, veprimet e planit kthehen në synime që gjenerojnë mesazhe dhe veprime mbi
mjedisin apo agjentë të tjerë në këtë mjedis. Pra ideja kryesore e kësaj arkitekture është
që të imitoj sjelljet njerëzore.
Në rangun e arkitekturave ‘cognitive’ gjenden edhe lloje të tjera si arkitektura eBDI
(Jiang, Vidal, & Huhns, 2007), BOID (Broersen, Dastani, Hulstijn, Huang, & van der
Torre, 2001), BRIDGE (Dignum & Dignum, 2009), EMIL-A (Andrighetto, Campenni,
Conte, & Paolucci, 2007) dhe PECS (SCHMIDT, 2002). Në arkitekturën eBDI
propozohet si njësi shtesë emocionet mbi modelin BDI, ndërsa në BOID propozohet
shtimi i obligimeve sociale. Në arkitekturën BRIDGE propozohet ideja e normave
sociale si shtesë ndaj modelit BOID. Arkitektura e EMIL-A përqendrohet kryesisht në
implementimin e normave sociale. Arkitektura PECS përqendrohet në katër faktorë të
tjerë siç janë kushtet fizike, gjendja emocionale, mundësitë njohëse dhe statusi social.
Në arkitekturat hibride përdoret një kombinim i arkitekturave të mësipërme. Në fakt të
dy llojet e arkitekturave të agjentëve të shpjeguara më sipër duket sikur zgjidhin
probleme komplet të ndryshme, por në këndvështrimin e arkitekturës hibride ato mund
të jenë plotësuese. Në këtë mënyrë është e mundur që të krijojnë arkitektura të cilat
kombinojnë dy modelet për të ndërtuar agjentë më fleksibël duke rritur kohen e
përgjigjes, saktësinë dhe efiçencën. Në ndërtimin e agjentëve merret parasysh aspektet
reaguese dhe ato njohëse për sjelljen e tij. Balancimi dhe koordinimi i këtyre aspekteve
në arkitekturën e agjentit është problemi kryesor me të cilin përballen këto arkitektura.
56
Nën këto lloje arkitekturash njihen më tepër arkitekturat me shtresëzim, të cilat ndahen
në shtresëzim horizontal të njohura ndryshe si makinat Touring (Ferguson, 1992) dhe
shtresëzim vertikal të njohura si InteRRaP (Müller & Pischel, 1993).
Për të zhvilluar në sistem multi-agjent me qëllim simulimi, do të ishte e nevojshme të
përdornim lloje të ndryshme arkitekturash agjenti. Kjo për arsye se këto agjentë duhet
të jenë bashkë në një mjedis për të ndërvepruar me njëri tjetrin. Në një këndvështrim të
përgjithshëm, duhet të themi se agjenti ka tre procese kryesore pavarësisht arkitekturës
që zbatohet mbi të. Këto tre procese janë perceptimi, shqyrtimi dhe veprimi. Perceptimi
ka të bëjë me fazën ku agjenti ndjen diçka që ndryshoi, dhe ky mesazh kalon nën një
funksion shqyrtimi i cili vlerëson këtë perceptim dhe vendos më tej për veprimin e
radhës.
4.4.2. Modelimi i mjedisit
Nën këndvështrimin e IA, agjent është çdo lloj gjëje që ndjen dhe vepron mbi një mjedis
të caktuar (Russell & Novig, 2010). Mbi këtë thënie Russell dhe Norvig diskutojnë mbi
agjentët dhe mjedisin në IA, duke na dhënë disa veçori të mjedisit që konsiderohen edhe
në fushën e sistemeve multi-agjent. Veçoritë e mjedisit të përmendura prej tyre janë:
1. aksesueshmëria e mjedisit
2. determinist apo stokastik
3. episodik apo jo-episodik
4. statik apo dinamik
5. diskret apo vazhdueshëm
6. njohur apo panjohur
Aksesueshmëria e mjedisit ka të bëjë me aksesin e informacionit në mjedis nga agjentë
të ndryshëm. Ky informacion mund të jetë i aksesueshëm nga agjentët në mënyrë të
plotë apo të pjesshme. Në rastet kur është i plotë atëherë agjenti nuk ka nevojë të
përdorë gjendje rreth mjedisit, pasi informacioni është i aksesueshëm në çdo kohë.
Ndërsa në rastin kur ky informacion është i pjesshëm, atëherë agjentit i duhet të mbajë
informacione të mbledhura rreth mjedisit që të bëjë zgjedhjet e duhura më vonë.
Veçoria e dytë sheh nëse mjedisi është determinist apo stokastik. Mjedis determinist do
të thotë që agjenti arrin të përcaktoj saktësisht gjendjen e tij të radhës duke ditur
gjendjen e tanishme dhe veprimet e kryera prej tij. Në rastet kur agjenti nuk arrin të
përcaktoj gjendjen e radhës mund të thuhet se mjedisi është stokastike apo rastësor. Në
veçorinë e tretë mund të thuhet se nëse veprimet e agjentit nuk varen nga veprimet e
bëra në rastet e mëparshme atëherë mjedisi është episodik, pra ku agjenti vepron në
mënyrë të pavarur në bazë rasti. Në rastet kur veprimet e tij në mjedis varen nga
veprimet e mëparshme atëherë mjedisi mund të quhet jo-episodik apo i vijueshëm. Një
mjedis statik është ai mjedis i cili ndryshon vetëm me veprimet e agjentëve, ndërkohë
që mjedisi dinamik ndryshon pavarësisht nga veprimet e agjentëve dhe ky ndryshim
mund të ndodhë edhe gjatë arsyetimit të agjentit. Veçoria e pestë trajton gjendjet e
mjedisit, pra nëse numri i perceptimeve dhe veprimeve të mundshme janë të limituara
dhe të përcaktuara atëherë kemi të bëjmë me një mjedis diskret. Nëse gjendjet e mjedisit
janë të shumta dhe ndryshojnë në mënyrë të vazhdueshme atëherë mjedisi quhet i
vazhdueshëm. Për sa i përket veçorisë së fundit, mjedis i njohur quhet ai mjedis ku
rezultati i të gjitha veprimeve është i dhënë. Në rastet kur mjedisi është i panjohur,
agjenti duhet të mësojë se si funksionon që të bëjë veprimet e duhura.
Këto veçori merren parasysh sot nga shumica e zhvilluesve të sistemeve multi-agjent
pasi përcaktojnë edhe mënyrat e ndërtimit të këtyre mjediseve. Në mënyrë të
57
përgjithshme në figurën 4-3 paraqitet një mjedis me disa agjentë të cilët janë duke
perceptuar gjendjet, shqyrtuar informacionin dhe vepruar në të.
Figura 4-3 Modelimi i një mjedisit me disa agjentë
Koncepti i mjedisit nuk ka qenë i trajtuar në fillimet e MAS, por me zhvillimin e
sistemeve simuluese me shumë agjentë u bë e nevojshme rishikimi i këtij mjedisi
simulues. Për shkak se mjedisi përcakton kushtet në të cilat agjentët ekzistojnë në MAS,
sot ai studiohet gjerësisht nën fushën e inxhinierisë softuerit të orientuar ndaj agjentëve
(“Agent-Oriented Software Engineering” - AOSE). Një mënyrë tjetër e shikimit të
mjedisit propozohet nga punimi (Michel, Ferber, & Drogoul, 2009), ku propozohen dy
mënyra të bazuara në detajimin e perceptimeve dhe veprimeve në mjedis, ndarëse dhe
të vazhduar. Mënyra e parë ka të bëjë me modelimin e mjedisit në bazë të një bashkësie
zonash të lidhura, këto mund të paraqiten si ndarje fizike apo si vlera të plota numerike.
Mënyra e vazhduar kërkon nga mjedisi të marrë në konsiderate imtësitë e vlerave të
perceptimeve apo veprimeve në të. Kjo jep një avantazh në fleksibilitetin e integrimit
të perceptimeve apo veprimeve të ndryshme, por është më e vështirë për tu
implementuar.
4.4.3. Ndërveprimet dhe Organizimet
Elementi kryesor në një studim me sistemet multi-agjent është pikërisht organizimi dhe
ndërveprimi midis agjentëve. Në mënyrë që agjentët të ndërveprojnë me njëri tjetrin ato
duhet të komunikojnë. Me anë të komunikimit agjentët munden të bashkëveprojnë dhe
të koordinojnë veprimet e tyre duke u sjellur si organizim shoqëror. Komunikimi mund
të jetë nëpërmjet elementëve gjuhësor të cilat interpretohen nga agjentët duke pasur
efekt në veprimet e tyre. Ky komunikim mund të ndahet në këto dy mënyra:
Komunikimi me kalim mesazhi
Ndërveprim me sinjale
Në rastin e komunikimit me kalim mesazhi ka të bëjë me dërgimin e mesazhit nëpërmjet
një mediumi midis agjentëve, i cili mund të jetë një adresë e drejtpërdrejtë apo
nëpërmjet mjedisit ku agjentët ndodhen. Ky koncept i ka bazat në teoritë e të folurit, të
cilat janë thjeshtuar në zhvillimin e gjuhëve “Knowledge Query and Manipulation
Language” (KQML) (Finin, Fritzson, McKay, & McEntire, 1994) dhe të komunikimit
të agjentëve (“Agent Communication Language” – ACL) (Poslad, 2007). Mënyra e dytë
e komunikimit është ndërveprimi me sinjale, ky lloj komunikimi merr për bazë
komunikimet me sinjale në biologji apo sjelljet e kafshëve (etologji). Ky lloj
58
komunikimi bëhet i mundur nëpërmjet mjedisit ku lihen gjurmë të cilat lexohen më
vonë nga agjentë të njëjtit lloj.
Agjentët ndërveprojnë dhe kjo formulohet në bazë të sjelljeve të agjentit i cili dërgon
mesazhe ndaj agjentëve të tjerë. Ata përshtatin sjelljet e tyre në bazë të këtyre
mesazheve të marra nga mjedisi apo agjentët e tjerë. Nëse ky ndërveprim shfaqet në
formën e roleve, grupeve apo strukturave organizative atëherë mund të flitet për
organizime (Klügl 2009). Organizimet janë shumë të nevojshme për të përcaktuar
strukturat ndërvepruese të një sistemi me agjent sidomos në simulimet e sistemeve
reale.
4.4.4. Simulimi në MAS
Simulimi sipas (Fishwick, 1997) ka tre aktivitete kryesore: projektimi i modelit,
ekzekutimi i modelit dhe analiza e ekzekutimit. Kështu që simulimi shprehet në një
model që specifikon karakteristikat e sistemit të simuluar. Këto specifikime modeli
zbatohen në struktura kompjuterike dhe kjo përbën simuluesin e eksperimentit.
Rezultatet e simulimit kontrollohen në bazë të disa rregullave vlerësuese dhe më pas
interpretohen.
Një aspekt i rëndësishëm në simulimin në MAS është modelimi i kohës. Sipas (Fianyo,
Treuil, Perrier, & Demazeau, 1998), koha mund të modelohet në tre mënyra:
Kohë e vazhduar, ku koha virtuale e simulimit është e lidhur me kohën reale.
Kohë diskrete, ku koha virtuale e simulimit zhvillohet me hapa kohorë konstant.
Kohë e bazuar mbi ngjarje diskrete, ku koha virtuale e simulimit lidhet me
kohën e kalimit nga një ngjarje në tjetrën.
Në këtë punim jepet edhe ideja e përfshirjes së modelimit të kohës si njësi e veçantë
për agjentin dhe mjedisin dhe kjo kohë duhet të lejojë ekzekutimin e veprimeve të
mundshme. Kjo ide është përfshirë edhe në punimin e (Michel, Ferber, & Drogoul,
2009) ku përmenden tre aktivitete modeluese si pjesë integrale të simulimit në MAS, të
cilat janë:
Modelimi i agjentëve
Modelimi i mjedisit
Modelimi i lidhjes midis agjentëve dhe mjedisit
Modelimi i agjentëve ka të bëjë me zgjedhjen e arkitekturës përkatëse të agjentit për të
arritur modelimin e sjelljeve të tij. Në këtë pjesë të modelimit mendohet edhe për
faktorin kohë, specifikisht nëse koha do të jetë thjesht e çastit për sjelljen e caktuar apo
në një kohë të dytë. Modelimi i mjedisit ka të bëjë me modelimin e shpjeguar në pjesën
e mësipërme, ku përfshihen edhe veçoritë e tij. Gjithashtu duhet thënë se në vazhdimësi
në mjedis përcaktohen se si veprimet e agjentëve ndikojnë në gjendjen e mjedisit,
sikurse edhe agjentët perceptojnë këto ndryshime. Këtu trajtohen edhe dinamikat e
brendshme të mjedisit të lidhura me sjelljen e mjedisit gjatë kalimit të kohës. Në
modelimin e lidhjes midis agjentëve dhe mjedisit përcaktohet një modul caktimi kohor
për menaxhimin e kësaj lidhjeje. Në këtë pjesë përcaktohet zhvillimi i mjedisit,
perceptimet, veprimet dhe ndërveprimet e agjentëve në lidhje me njëri tjetrin duke u
bazuar mbi një radhë kohore të vendosur nga zhvilluesi i sistemit.
4.5. Përfundime
Në këtë kapitull është dhënë fillimisht një hulumtim i detajuar mbi karakteristikat
përbërëse të modelimit dhe simulimit. Më pas janë diskutuar teknikat tradicionale të
59
modelimit dhe simulimit. Në vazhdimësi janë vënë në dukje disa nga ndryshimet
themelore midis këtyre teknikave tradicionale dhe ABM-ve. Gjithashtu është diskutuar
edhe mundësia e kombinimit të disa prej këtyre teknikave me ABM-të. Në këtë
këndvështrim mund të themi se kombinimi i teknikave të optimizimit, analizës së riskut
dhe modelimit statistikor me ABM-të është një kombinim natyral që mund të arrihet
lehtësisht me përfshirjen e tyre që në fazën e modelimit të ABM-se. Për sa i përket
kombinimit të teknikës dinamika sistemeve me ABM-të është shumë e vështirë për tu
arritur për shkak të natyrave të ndryshme në trajtimin e problematikave. Ndërkohë që
kombinimi i teknikës DES me ABM-të është e arritshme me pak punë, dhe në disa raste
konsiderohet e një rëndësie të veçantë në disa punime kërkimore, sidomos në ato që
kanë të bëjnë me simulime trafiku.
Një ndryshim themelor është dhënë midis modelimeve tradicionale dhe ABM-ve, ku
theksohet ndryshimi i qasjes lart-poshtë me atë poshtë-lart dhe aftësia shpjeguese të
situatave të ndryshme të ABM-ve. I paraqitur si një rast studimi është dhënë dhe
ndryshimi i modeleve DSGE me ato të ABM-ve, ku vihet në dukje se avantazhi i
përdorimit të modelimit me ABM ndaj saj është pikërisht në aftësitë shpjeguese të saj
dhe të modelimit të një situate më reale ekonomike.
Në pjesën në vazhdim është dhënë një përmbledhje e konceptit të agjentit nga
këndvështrimi i fushës së IA-së dhe i ABM-ve. Këtu janë përcaktuar veçoritë kryesore
të tij dhe shpjeguar në detaje atributet, sjelljet dhe mjedisi i agjentit. Më tej analizohen
sistemet MAS dhe zbatimet e saj, ku vërehet se përveç zbatimeve për zgjidhje
problemesh dhe robotikës, këto sisteme zbatohen edhe në simulime me multi-agjent
dhe në ndërtimin e botëve sintetike. Në këtë këndvështrim, u zgjeruam më tej në
hulumtimin e arkitekturave të agjentëve, mjedisin, ndërveprimet dhe organizimet. Gjatë
hulumtimit të arkitekturave të agjentëve u treguan me detaje tre lloje të saj si
arkitekturat reaktive, ‘cognitive’, dhe hibride. Në llojin e parë të arkitekturave të
agjentit ndërtohen agjentë që reagojnë ndaj veprimeve mbi to. Arkitekturat ‘cognitive’
janë të bazuara në formalizmat simbolike të fushës së IA-së. Në hulumtimin e tyre
gjenden disa lloje arkitekturash një ndër të cilat është pikërisht arkitektura BDI që
konsiderohet si një arsyetim praktik njerëzor. Lloji i fundit i arkitekturave të agjentit
është ai hibrid që përdor një kombinim të dy arkitekturave të mësipërme. Ky specifikim
është i rëndësishëm për analizimin e faktorëve për ndërtimin e një modeli simulimi.
Gjatë hulumtimit mbi modelimin e mjedisit të agjentit janë trajtuar në detaje veçoritë
kryesore të tij, ku theksohet ndërveprimi midis agjentit dhe mjedisit rreth tij. Në pjesën
e ndërveprimeve dhe organizimeve të agjentëve jemi ndalur në pjesën e komunikimit
ku vihet re se ekzistojnë dy mënyra, komunikimi i drejtpërdrejtë me kalim mesazhi dhe
ndërveprimi me sinjale që kryhet nëpërmjet mjedisit. Në pjesën e fundit është trajtuar
simulimi me anë të sistemeve MAS, ku theksohet rëndësia e modelimit të kohës si pjesë
kryesore e ndërtimit të simulimeve me anën e këtyre sistemeve dhe i tre aktiviteteve të
modelimit që janë modelimi i agjentëve, mjedisit dhe lidhjes midis tyre.
Pas nxjerrjes së këtyre përfundimeve është e nevojshme të analizohen dhe krahasohen
metodat e ndryshme zhvilluese me agjentë inteligjent në mjetet e zhvillimit ABM dhe
ato MAS.
60
KAPITULLI 5: ANALIZA DHE KRAHASIME TË METODAVE
ZHVILLUESE TË NJË MODELI SIMULIMI ME AGJENT
Në këtë pjesë hulumtojmë mbi problematikat e zhvillimit të modeleve të simulimit
bazuar mbi agjentë. Një element themelor mbi të cilin do të bazohemi është hulumtimi
në literaturë i hapave të simulimit me agjent, njohja e tyre dhe disa konsiderata për tu
marrë parasysh në zhvillimin e tyre. Më pas vazhdohet me një hulumtim mbi mjetet e
zhvillimit ABM, praktikave më të mira të përdorimit të tyre dhe një analizë krahasuese
midis këtyre mjeteve. Në vazhdimësi paraqiten elementët e ndryshëm të inxhinierisë së
softit që ndihmojnë në zhvillimin e sistemeve multi-agjent. Në këtë pjesë do të
diskutohet më në detaje elementët përbërëse të saj si metodologjitë e ndryshme të
përdorura, arkitekturat, gjuhët e programimit të orientuara ndaj agjentit dhe mjediset e
zhvillimit bashkë me një analizë krahasuese për to. Në pjesën e fundit do të trajtohet si
dy raste studimi modelet e ndërtuara EURACE dhe Jamel.
5.1. Hapat për ndërtimin e një modeli simulimi me agjentë
Fillimisht është e rëndësishme të kuptohet që qëllimi i një simulimi është projektimi
dhe ekzekutimi i një modeli të caktuar i cili imiton një situatë reale. Ne e përdorim
simulimin kryesisht për të analizuar rezultatet e marra prej saj dhe për të marrë vendime
në situatat e përditshme reale. Duhet kuptuar se kostoja e ndërtimit të një simulatori
duhet të jetë e justifikueshme, pra nuk duhet të jetë më i madh se vetë kostoja e
vendimmarrjes apo e riskut. Për këtë arsye është e rëndësishme të përcaktohen disa
hapa për ndërtimin e tij.
Një shembull i mirë i ndërtimit të një simulimi jepet në librin e njohur të (Law, 2015),
ku theksohet se hapat për një studim me simulim të suksesshëm janë:
1. Formulimi i problemit dhe planifikimi i studimit. Në këtë pjesë bëhen pyetje dhe
merren përgjigje rreth simulimit, duhet kuptuar mirë qëllimi i modelit. Cilat
mund të jenë konfigurimet e mundshme të modelit dhe çfarë performance pritet
nga ky simulim. Një pyetje tjetër mund të jetë në lidhje me hapat e kohës, kjo
do të shërbejë për zgjedhjen e strategjisë së duhur për modelimin e kohës.
Përcaktimi i saktë i këtij hapi sjell edhe suksesin e simulimit.
2. Mbledhja e të dhënave dhe përcaktimi i modelit. Në këtë hap mblidhen të dhënat
e strukturës të sistemit dhe procedurave të punës. Gjithashtu mblidhen të dhëna
mbi parametrat, shpërndarjet probabilitare të dhënave hyrëse në simulim dhe
mbi performancat e sistemeve të ngjashme. Përcaktohet niveli i detajimit të
modelit ku zakonisht fillohet me një model të thjeshtë, e më pas zgjerohet.
3. A janë supozimet e vlefshme? Në këtë hap testojmë supozimet e modelit me
anën e analistëve dhe ekspertëve të fushës. Ky hap na ndihmon në ripërcaktimin
e saktë të modelit duke u kthyer në pikën 2. Ky proces mund të jetë përsëritës
deri në përcaktimin e modelit përfundimtar.
4. Ndërtimi i një programi kompjuterik dhe verifikimi. Në këtë hap zgjidhet gjuha
e programimit që mundëson ndërtimin e programit të simulimit dhe kryhet
verifikimi i zbatimit të modelit të përcaktuar.
5. Bëj disa ekzekutime. Këtu kryejmë disa ekzekutime dhe ruajmë rezultatet e tyre
për analiza të mëtejshme.
6. A është modeli i vlefshëm? Në këtë hap kërkojmë nëse gjenden modele të
ngjashme, nëse po atëhere krahasojmë modelin dhe performancën e të dyjave.
Në rastin kur nuk gjenden modele të ngjashme, mund të krahasojmë me
61
rezultatet reale të situatës që simulohet. Për këtë rast, do të duhet të analizohet
edhe nga analisti apo eksperti i fushës nëse rezultatet janë të vlefshme apo jo.
Nëse rezultatet nuk janë të vlefshme atëherë duhet të ripërcaktojmë modelin në
hapin 2.
7. Projekto eksperimente. Në këtë hap specifikohen konfigurimet e mundshme për
simulimin si kohëzgjatja e simulimit, inicializimet, apo vendosje të tjera të
rëndësishme.
8. Bëj ekzekutime. që prodhojnë të dhëna për eksperimentet
9. Analizo rezultatet e të dhënave për të përcaktuar performancën absolute të
modelit apo për krahasime me konfigurime alternative.
10. Dokumento, paraqit dhe përdor rezultatet. Në këtë hap duhet të dokumentojmë
punën e bërë, supozimet e bëra, dhe teknologjitë e përdorura për projekte të
mëvonshme. Paraqitja e rezultateve është e rëndësishme për personat që do e
përdorin këtë mjet simulimi, në mënyrë që të dinë se çfarë ky model arrin të
prodhoj.
Në një mënyrë të ngjashme janë përcaktuar disa hapa të zhvillimit të simulimeve në
fushën e ABM-ve nga disa studiues të ndryshëm. Kështu në punimin e (Abdou, Hamill,
& Gilbert, 2012) tregohet se zhvillimi i ABM-ve në shkencat shoqërore duhet të kalojë
në disa hapa, ku disa prej tyre mund të kryhen paralelisht me njëra tjetrën dhe i gjithë
procesi kryhet me përsëritje për të përmirësuar dhe zhvilluar idetë. Hapat kryesore të
propozuara prej këtij punimi për zhvillimin të modeleve ABM janë:
Identifikimi i pyetjes kërkimore
Hulumtimi në literaturë, kjo për të përforcuar teoritë mbi të cilat modeli do të
mbështetet.
Projektimi i modelit, duke përcaktuar edhe agjentët e mundshëm, atributet dhe
sjelljet e tyre.
Implementimi i modelit
o Procedurat e vendosjeve të modelit
o Procedurat dinamike
Verifikimi dhe Vlerësimi i modelit.
Në të njëjtin punim, theksohet se nga ana praktike duhen pasur parasysh dy pyetje
themelore: Sa i madh? dhe Sa hapa simulimi?. Në pyetjen e parë, kërkohet të dihet se
sa agjentë duhet të ketë modeli, sa janë madhësitë e hapësirës së mjedisit, e tjerë. Pyetja
e dytë është më e drejtpërdrejtë pasi kërkohet të dihet se në sa hapa kohor do të
ekzekutohet simulimi dhe se në sa herë gjithsej do të përsëritën këta hapa kohor. Duhet
thënë se këto hapa propozohen të përdoren bashkë me mjetin e zhvillimit NetLogo, por
mund të shihen si një bazë për përdorim më të gjerë.
Në punimin e (Kamiński & Szufel, 2013) propozohet që hapat e ndërtimit të një modeli
simulues për ABM-të të ndjekin një procedurë me zhvillim rritës dhe përsëritës. Në të
përcaktohen vetëm 4 hapa kryesore, të cilat përfshijnë: modelimi, zbatimi, testimi dhe
eksperimentimi.
62
Figura 5-1 Hapat e ndërtimit të simulimit ABM me zhvillim rritës dhe
përsëritës7
Faza e modelimit përfshin formulimin e problemit dhe ndërtimin e një modeli teorik të
sistemit real. Kjo fazë mund të përfshijë edhe diagramet e UML që na ndihmojnë për
ndërtimin e modeleve të simulimit të orientuar nga agjentët. Në fazën e zbatimit
përfshihen dy pjesë të rëndësishme, siç janë programimi dhe kalibrimi i të dhënave. Në
pjesën e programimit të modelit simulues merren parasysh të gjitha formulimet dhe
modelimet e fazës së parë. Më pas gjatë pjesës së zbatimit vendosen edhe të dhënat e
programit dhe bëhet kalibrimi i tyre në mënyrë që modeli të punojë.
Gjatë fazës së testimit bëhet verifikimi dhe vlerësimi i simulatorit. Gjatë verifikimit
shihet nëse modeli i simulimit është zbatuar siç duhet, pra nëse ka gabime në kodim
apo edhe në logjikën e funksionimit. Kjo pjesë mund të mbështetet edhe në mjediset
zhvilluese të simulatorëve. Qëllimi i procesit të vlerësimit është të krahasojë se sa e
ngjashme është modeli me sistemin real. Për këtë proces nuk ka ndonjë standard të mirë
përcaktuar për modelet ABM dhe mënyrat e saj ngelen në dorë të përdoruesit të
modeleve. Faza e eksperimentimit përfshin eksperimentet e ndryshme si edhe nxjerrjen
e rezultateve dhe rekomandimeve të ndryshme rreth modelit të simuluar. Një paraqitje
grafike e këtyre fazave bashkë me pjesët përbërëse jepet në figurën 5-1.
Në vazhdimësi të idesë së dhënë më sipër, u vu re se punimi hulumtues i (Klügl, 2009)
i cili paraqitet një analizë të strategjive të ndryshme me përsëritje bën një përmbledhje
të tyre. Në këtë përmbledhje paraqiten dy metoda tradicionale modelimi të propozuara
nga (Edmonds & Moss, 2004), metoda “KISS” dhe metoda “KIDS”. Këto metoda janë
përdorur nga shumë punime që mbështeten në simulimet e bazuara në agjentë në
7 Bazuar mbi punimin (Kamiński & Szufel, 2013)
Ek
sper
imen
tim
i T
esti
mi
Zbat
imi
Model
imi
Problemi
Modeli i sistemit
Programimi i modelit simulues
Të dhënat dhe kalibrimi
Verifikimi
Vlerësimi
Eksperimentimi
Rezultate dhe rekomandime
63
disiplina të ndryshme. Metoda e modelimit “KISS” mundohet të jetë sa më e thjeshtë
dhe e kuptueshme nga çdokush. Hapat e kësaj metode modelimi janë:
1. Identifiko dhe përshkruaj bashkësinë e veçorive të sistemit real S
2. Përcakto një model të thjeshtë M0, që mund të riprodhojë disa nga veçoritë më
të rëndësishme
3. Me kalibrim, përcakto bashkësinë e veçorive SM, që riprodhohen nga modeli
M0.
4. Vendos M0 si modeli kryesor M
5. Përsërit deri sa SM=S
a. Modifiko modelin M duke shtuar disa elementë nga sistemi S
b. Kalibro modelin M dhe përcakto SM si bashkësia e veçorive të
riprodhuara nga M
Ndërkohë që duhet përmendur se metoda e modelimit “KIDS” përdoret shpesh në
modelet sociale. Kjo metodë konsideron çdo detaj të modelit dhe më pas eliminon
detajet e panevojshme. Hapat përbërëse të kësaj metode janë:
1. Përsërit deri në ndërtimin e një model i vlefshëm MS
a. Përcakto një model M që përmban të gjitha aspektet e dukshme të
sjelljes së agjentit
b. Përcakto gjithë supozimet dhe bëji të qarta parametrat në modelin Mi
c. Bëj një analizë mbi gjithë parametrat e modelit M dhe elimino të gjithë
ato blloqe sjelljesh që kontrollohen nga parametra pa efekte në rezultatin
e përgjithshëm. Modeli MS është modeli M pas kësaj analize.
d. Testo MS për besueshmëri dhe vlefshmëri
Duke u bazuar në përfundimet e punimit të (Klügl, 2009), këto modele të përdorura nuk
mund të plotësojnë nevojat e sotme të simulimeve dhe modelimeve të bazuar në agjentë,
për këtë arsye ajo propozon një strategji të re projektimi të modelit që përbëhet nga
katër pjesë të veçanta që janë:
Projektimi i Modelit të drejtuar ndaj agjentit
Projektimi i Modelit të drejtuar ndaj ndërveprimeve
Projektimi i Modelit të drejtuar ndaj organizimeve
Projektimi i Modelit të drejtuar ndaj mjedisit.
Kjo strategji është propozuar për të gjithë modelet e mundshme, pavarësisht disiplinave
që trajtohen. Duhet theksuar se secila prej pjesëve të përmendura më sipër përbëhen
nga një sërë hapash të projektimit. Në pjesën e projektimit të modelit të drejtuar ndaj
agjentit duhen ndjekur këto hapa të rëndësishme:
1. Vëzhgimi i agjentit dhe përshkrimi i sjelljeve të tij. Modeluesi vëzhgon agjentët
e botës reale dhe i përshkruan me detaje veprimet e tyre. Ai mund të nxjerrë
edhe të dhëna nga agjentët realë për ti krahasuar ato më vonë.
2. Kategorizo agjentët dhe përcakto ndryshimet e tyre. Modeluesi përcakton
shkallën e heterogjenitetit të agjentëve, duke përcaktuar llojet e ndryshme të tyre
si edhe parametrat që ata do të kenë.
3. Përcaktimi i arkitekturës së agjentit. Në bazë të sjelljeve të agjentëve
përcaktohen edhe arkitekturat e mundshme që mund të përdoren për të.
4. Formalizimi dhe zbatimi i sjelljeve dhe qëllimeve e agjentit.
5. Shto ndërveprimet dhe aspektet e mjedisit kur duhen.
64
6. Testo nëse fenomenet makro janë të mjaftueshme. Këtu testohet nëse objektivi
i simulimit është plotësuar dhe ky simulim arrin të na japë të dhëna të plota rreth
dukurive që duam të studiojmë.
Në pjesën e projektimit të modelit të drejtuar ndaj ndërveprimeve duhen ndjekur këto
hapa:
1. Identifikimi i aktorëve apo entiteteve dhe ndërveprimeve midis tyre. Modeluesi
vëzhgon ndërveprimet midis agjentëve.
2. Përshkrimi i përgjithshëm i protokolleve dhe kushteve apo kufizimeve të tyre.
3. Nxirr sjelljet e agjentëve, të cilat krijojnë ndërveprimet e tyre si mesazhet,
sinjalet apo veprimet, dhe shto elementët mjedisor kur atë duhen për
ndërveprimet.
4. Zbatimi i sjelljeve të agjentit dhe testimi i ndërveprimeve. Modeluesi duhet të
testojë sjelljet dhe ndërveprimet nën këndvështrimin makro të rezultateve të
simulimit.
Në pjesën e projektimit të modelit të drejtuar ndaj organizimeve thjesht shihen modelet
organizuese që agjentët e botës reale përdorin, dhe në bazë të saj modeluesi zbaton
strukturat të caktuara në ndërtimin e ndërveprimeve midis agjentëve.
Në pjesën e projektimit të modelit të drejtuar ndaj mjedisit duhen ndjekur këto hapa:
1. Identifikimi i aspekteve të rëndësishme të modelit që paraqet mjedisin e
agjentëve
2. Përcaktimi i veprimeve bazë të agjentit dhe reagimin e pjesëve të mjedisit ndaj
tyre.
3. Përcaktimi i informacionit të mjedisit që i duhet dhënë agjentit për zgjedhjen e
duhur apo kryerjen e veprimeve
4. Zgjedhja e arkitekturës së agjentit që lejon lidhjen e duhur të perceptimeve dhe
veprimeve të agjentit për të prodhuar sjelljet e tij.
5. Përcaktimi i mekanizmave funksional të agjentit ndaj mjedisit, kjo varet nga
objektivi i simulimit dhe kompleksiteti i mjedisit. Mekanizmat funksional
përfshijnë trajtat funksionale të sjelljes së agjentit, në raste të veçanta mund të
duhet që agjenti të mësojë bazuar mbi një shpërblim nga mjedisi.
6. Zbatimi i modelit të mjedisit duke përfshirë mekanizmat funksional të
nevojshëm
7. Specifikimi dhe zbatimi i sjelljes së agjentit në bazë të mekanizmave funksional
8. Testimi dhe analizimi i rezultateve të simulimit me kujdes për të shmangur
gabimet në modelimet e mjedisit.
Projektimi i modelit duke përdorur këto pjesë bëhet më i thjeshtë dhe më i plotë,
gjithashtu kjo ndarje lejon edhe mirë-përcaktimin e elementëve përbërës. Në
këndvështrimin e përdorimit të UML-ve, mund të themi se në pjesën e parë të modelimit
të drejtuar të agjentit mund të përdoren diagramet e aktiviteteve dhe në pjesën e
modelimit të drejtuar të ndërveprimeve mund të përdoren diagramet e sekuencave. Të
dy këto diagrame ndihmojnë në modelimin e saktë të simulimit dhe ky propozim duhet
shqyrtuar më tej.
5.2. Modelimi dhe zhvillimi i ABM-ve
5.2.1 Modelimi i ABM-ve
Në fushën e ABM-ve ekziston një pranim i përgjithshëm për sa i përket përdorimit dhe
adoptimit të praktikave të orientuara ndaj objektit në programimin e këtyre modeleve
65
të bazuara në agjent. Një arsye e drejtpërdrejtë të faktit pse gjuhët e orientuara ndaj
objektit pranohen për ndërtimin e ABM-ve është e lidhur me origjinën e kësaj gjuhe.
Gjuha e parë e zhvilluar në vitet 1960 u quajt “Simula” dhe kishte si synim simulimin
e sistemeve reale (Dahl & Nygaard, 1966). Përdorimi i këtyre gjuhëve është një
mundësi e mirë për të përfshirë teknikat ekzistuese të analizës dhe projektimit të
orientuar ndaj objekteve në modelet ABM. Në procedurat e analizës së orientuar ndaj
objekteve kemi si parim kryesor identifikimin e kërkesave të inxhinierisë së softuerit
dhe zhvillimin e specifikave softuerit. Kjo përfshin identifikimin e objekteve,
organizimin e tyre, përcaktimin e atributeve dhe sjelljeve të këtyre objekteve, dhe
përshkrimin e ndërveprimeve të tyre. Projektimi i orientuar ndaj objekteve përfshin
zbatimin e modelit konceptues gjatë analizës së orientuar ndaj objektit. Këtu përfshihen
hapat e ristrukturimit të klasave, implementimi i metodave, kontrollit dhe lidhjeve midis
tyre. Ndër teknikat më të përdorura për analizën dhe projektimin e orientuar ndaj
objekteve, mund të veçojmë UML-të. UML përbëhet nga 13 diagrame të ndryshme që
përfaqësojnë nivele të larta të abstraksionit për ndërtimin e strukturave të ndërlikuara
midis objekteve të një sistemi. Këto diagrame ndahen në tre grupe kryesore, grupi i
diagrameve strukturore që përfaqësojnë strukturat statike të sistemit, grupi i diagrameve
të sjelljes që përshkruajnë sjelljet e ndryshme të objekteve dhe grupi i diagrameve të
ndërveprimit. Në secilën prej tyre gjenden diagrame specifike që tregojnë veçori të
sistemit që shqyrtohet. Ndër diagramet strukturore mund të përmendim diagramet
klasë, objekt, komponentë dhe diagramin e vendosjes, në diagramet e sjelljes kemi
diagramet me rast përdorimi, e aktiviteteve dhe gjendjeve, ndërsa në diagramet e
ndërveprimit kemi diagramet e sekuencës dhe komunikimit.
Në punimet e (Bersini, 2012), (Siebers & Ongoo, 2014) dhe (Vermeir & Bersini, 2015)
evidentohet se përdorimi i teknikave UML në zhvillimin e ABM-ve është i nevojshëm.
Ndër diagramet më të nevojshme për tu përdorur në analizën dhe projektimin e ABM-
ve janë diagramet klasë, gjendje, sekuencës dhe aktiviteteve.
5.2.2. Mjetet e zhvillimit të ABM-ve
Në fushën e ABM-ve ka disa mjete zhvilluese ekzistuese që përdoren në modelime të
ndryshme. Fushat e zbatimit të tyre janë nga më të ndryshmet nga fushat teknike deri
në ato të studimeve sociale. Në këtë pjesë do të diskutojmë mbi disa prej mjeteve
zhvilluese më të njohura dhe mundësitë e përdorimit të tyre.
5.2.2.1. Mjeti i zhvillimit Swarm
Swarm është një platformë simulimi i shkruajtur në gjuhët Objective-C dhe Java, i cili
është zhvilluar nga Instituti Santa Fe (Minar, Burkhart, & Langton, 1996). Ai u zhvillua
fillimisht si një mjet softuerik për krijimin e modeleve të simulimit në fushën e jetës
artificiale (Macal, 2012). Ai u zhvillua që në vitet 1994 dhe është përdorur për të
zgjidhur probleme të shumta të sistemeve komplekse. Swarm është një simulator i
bazuar mbi modelet nga poshtë-lart dhe përbëhet nga agjentë me karakteristika
biologjike dhe agjentë me veçori mjedisi si mure, apo pengesa në një botë artificiale
(Iba, 2013). Lëvizjet e agjentëve programohen me rregulla të thjeshta dhe me anë të
simulimit mund të shihen fenomenet e ndryshme të ndërveprimeve të agjentëve. Ky
softuer lejon përdorimin e të dhënave pas simulimit për analiza të mëtejshme.
Pavarësisht përdorimit për analiza të botës biologjike, ai është përdorur edhe për
trajtimin e problemeve të fushave sociale apo edhe ekonomike. Ai bazohet mbi
simulimin me hapa kohor të vazhduar. Si mjedisi i parë i zhvilluar nën frymën e
66
modeleve të bazuara në agjent, ky mjedis simulimi mbetet frymëzim për mjediset
pasardhëse.
5.2.2.2. Mjeti i zhvillimit MASON
MASON është një simulator me multi-agjent i shkruajtur në Java (Luke, Cioffi-Revilla,
Panait, Sullivan, & Balan, 2005). Ai është zhvilluar në laboratorin e llogaritjes
evolucionare të Universitetit George Mason, në bashkëpunim edhe me qendrën e
kompleksitetit social. Emri i simulatorit përveç lidhjes me emrin e universitetit vjen
edhe si akronim i simulatorit multi-agjent i lidhjeve. Ai është i projektuar të funksionoj
me një numër të madh agjentësh deri në disa milionë, gjithashtu ai punon në bazë
ngjarjesh diskrete. MASON mund të studiojë probleme me një numër të madh agjentësh
që sillen me rregulla të thjeshta. Duke qenë i programuar me Java, MASON mund të
kombinojë librari të shumta në të. Gjithashtu ai përfshin disa mjete për paraqitjet me dy
apo tre dimensione.
5.2.2.3. Mjeti i zhvillimit NetLogo
NetLogo është një program simulimi ABM i cili mund të përdoret falas (Wilensky &
Evanston, 2011). Ky mjet zhvillues përdor një version të modifikuar të gjuhës së
programimit Logo, i cili bazohet mbi gjuhën e programimit funksional LISP (Abelson,
Goodman, & Rudolph, 1974). NetLogo mundëson një laborator të thjeshtë për çdo lloj
përdoruesi i cili dëshiron të përdorë simulime me agjentë duke përdorur agjentët e
gatshëm të quajtur “turtle”. Ky mjet zhvillues ofron një mjedis grafik për të krijuar
programe që kontrollojnë agjentët dhe simulime të thjeshta mbi ta. Ai ka një librari të
gjerë me modele të gatshme dhe shembuj kodesh që ndihmojnë përdoruesin për ta
mësuar atë. NetLogo përdoret nga universitete të ndryshme kudo në botë për simulime
të ndryshme të shkencave natyrore si edhe ato shoqërore. Ai është i ndërtuar mbi
programin StarLogo i cili gjithashtu përdor gjuhën Logo, që i lejon këto programe të
përdoren më thjeshtë nga përdoruesi i tyre (North, et al., 2013). NetLogo dhe StarLogo
të dyja këto programe janë programuar mbi gjuhën Java dhe funksionojnë mbi makinën
virtuale Java të instaluar mbi çfarëdo sistemi operimi kompjuterik. NetLogo është
konsideruar në punimin (Seth Tisue, Uri Wilensky, 2004) si një gjuhë programimi
multi-agjent dhe mjedis modelimi për simulimet e fenomeneve natyrore, ekonomike
dhe sociale. NetLogo ka edhe një version në faqe ueb-i të njohur si Modelling4All8.
5.2.2.4. Mjeti i zhvillimit Repast
Repast filloi si një projekt në Universitetin e Chicagos në vitin 2000 dhe më vonë u
zgjerua edhe për simulime të ABM shkallë të gjerë (North, et al., 2013). Ky mjedis u
inspirua si shumë të tjerë nga Swarm, dhe është zhvilluar në mjedise të ndryshme
programimi si Python, Java dhe C++, nga ku edhe merr emrat RepastPy, RepastJ dhe
RepastHPC. Versioni më i njohur dhe më i përdorur është Repast Simphony i cili përdor
Java dhe gjuhën ReLogo. Në këtë version përfshihen shumë shtesa si mjetet e
ndërfaqes, mjetet për paraqitjet me dy apo tre dimensione dhe shtesa të tjera të
rëndësishme. Repast Simphony është një softuer i cili mund të zgjerohet sipas nevojave
të përdoruesit profesionist duke lejuar edhe përdorimin e aplikacioneve të tjera. Një nga
objektivat kryesor në zhvillimin e Repastit ka qenë përdorimi i tij kryesisht në shkencat
sociale (Railsback, Lytinen, & Jackson, 2006).
8 http://m.modelling4all.org/
67
5.2.2.5. Mjeti i zhvillimit GAMA
GAMA është një mjedis tjetër simulimi dhe modelimi i bazuar në agjent, i cili përdor
simulime hapësinorë të agjentëve (Grignard, et al., 2013). Kjo platformë është e bazuar
në gjuhë e programimit java dhe përdor veçoritë e sistemeve të informacionit gjeografik
(“Geographic Information System” - GIS). Gjithashtu, kjo platformë është e mirë në
simulimin e ndërveprimeve të agjentëve në terrene reale. Ajo mbështet ndërtimin e
modeleve të mëdha duke i shkruajtur në një gjuhë të orientuar ndaj agjentit me emrin
GAML, bashkë me një mjet modelimi grafik që lejon projektimin e shpejtë. Përdoruesit
munden të inicializojnë agjentët nga të dhënat GIS, bazat e dhënave apo dosjet, si edhe
mund të bëjnë inspektime të shumta mbi agjentët. Një veçori tjetër është përdorimi i
shumë niveleve në modelimin të bazuar në agjentë, ku kërkohet që agjentë të shfaqet
në një model në bazë të kohës, hapësirës dhe sjelljes së tij (Drogoul, et al., 2013).
5.2.3. Krahasime midis mjeteve të zhvillimit të ABM-ve
Mjetet e përmendura në pjesën e mësipërme janë mjete që ofrohen falas për zhvilluesit
dhe të gjitha janë të zhvilluara për qëllime kërkimi akademik në universitete apo
institute kërkimore. Pothuajse të gjitha mjetet e zhvillimit janë të zhvilluara në gjuhën
e programimit java, dhe shumë prej tyre përdorin një gjuhë që interpretohet në makinën
virtuale java (“Java Virtual Machine” - JVM). Bazuar në punimet e (Kravari &
Bassiliades, 2015), (Abdou, Hamill, & Gilbert, 2012), (Nikolai & Madey, 2009), dhe
testimeve të bëra me këto mjete është formuluar tabela 5-1, që paraqitet më poshtë.
Elementët e vendosur me emra majtas tregojnë karakteristikat e mjetit zhvillues. Këto
elementë përfshijnë performancën e mjetit, stabilitetin e tij në ekzekutime të gjata,
fortësinë në raste gabimesh, gjuhën e programimit që përdoret në të, komunikimin e
agjentëve, thjeshtësinë e përdorimit, lehtësia e të mësuarit e një personi që tashmë di të
programojë, mbështetja me dokumentim, sa shumë përdoret dhe fusha e zbatimit.
Tabela 5-1: Krahasime midis mjeteve ABM9
Emri GAMA MASON NetLogo Repast Swarm
Performanca Mirë Mirë Mirë Lart Mesatare
Stabiliteti Mirë Mirë Mirë Lart Mesatare
Fortësia Mirë Mesatare Mesatare Lart Ulët
Gjuha
programimit GAML Java NetLogo
Java, C#,
C++,
Relogo,
Python
Java
Komunikimi ACL Shkëmbim
mesazhi
Shkëmbim
mesazhi me
shtesa
objekt-me-
objekt
Shkëmbim
mesazhi (nga
platforma)
Thjeshtësia
E thjesht /
Disa
simulime
shembuj
Ndërfaqe e
komplikuar
E thjesht /
Disa veçori
simulimi të
nevojshme
E thjesht /
Pak veçori
grafike
Ndërfaqe e
komplikuar /
Pak veçori
grafike
Lehtësia e të
mësuarit Lehtë Mesatare Lehtë Lehtë Mesatare
9 Krahasimet në bazë të punimeve (Kravari & Bassiliades, 2015), (Abdou, Hamill, & Gilbert, 2012),
(Nikolai & Madey, 2009) dhe nga testimi i mjeteve
68
Mbështetja Mirë Mesatare Mirë Mesatare Mirë
Popullariteti Ulët Mesatare Lart Mesatare Mesatare
Fusha zbatimit
Simulime
me agjent të
shpërndarë
në hapësirë
të gjerë
Simulime
me agjent në
bazë
ngjarjeje
Simulime
me agjent
Simulime
me agjent
Simulime të
përgjithshme
me agjent
Siç vërehet nga tabela 5-1, mjeti Repast qëndron në nivelet më të larta për sa i përket
performancës, stabilitetit të saj dhe fortësisë. Kjo do të thotë që ky mjet është goxha i
mirë për simulime me agjent që kryejnë shumë veprime. Fakti që agjentët në këtë mjet
janë të bazuar mbi komunikimin me objekte e bën këtë mjet të ketë këto veçori goxha
të larta. Një tjetër avantazh i përdorimit të mjetit Repast është mundësia që ky mjet jep
në përdorimin e gjuhëve të ndryshme të programimit, duke ia lënë në dorë përdoruesit
zgjedhjen e një gjuhe me objekte. Ky është edhe elementi i cili ndihmon më së shumti
në të mësuarin e këtij mjeti. Një tjetër mjet zhvillimi kandidat në bazë të popullaritetit
dhe të dhënave të tjera referuar tabelës 5-1, është mjeti NetLogo i cili është i lehtë për
tu mësuar dhe gëzon një mbështetje të mirë në dokumentim dhe shembuj të gatshëm.
Pavarësisht që nuk mundëson komunikimin e drejtpërdrejtë të agjentëve, mund të
përdoren teknika të tjera të komunikimit mjedisor për të arritur rezultatet e duhura.
Duhet thënë se mjeti Netlogo është shumë efikas në zgjidhjen e problemeve të
optimizimit duke përdorur shumë agjentë dhe ka një ndërfaqe grafike shumë të
dobishme për zhvillimin e ABM-ve.
Mjeti i zhvillimit GAMA do të ishte zgjedhja perfektë nëse do të kishim të bënim me
simulime gjeo-hapësinorë apo të në lidhje me sistemet GIS. Për mjetin e zhvillimit
MASON do ta sugjeronim për zgjidhje optimizimi globale që kërkon përdorimin e një
numri shumë të madh agjentësh, por që bëjnë vetëm veprime të thjeshta pasi ky mjet
nuk mbështet përdorimin e sjelljeve të shumëfishta. Jashtë listës së mjeteve të
shpjeguara ndodhet dhe disa mjete zhvillimi me pagesë për ndërtimin e simulimeve me
agjentë. Ndër to veçojmë mjetin e zhvillimit AnyLogic, i cili ka të njëjta parametra si
mjeti i zhvillimit Repast dhe ofron mjete të projektimit me gjuhën UML. Ky mjet është
i pasur me veçori grafike, është i lehtë në të mësuar dhe ka një dokumentim shumë të
gjerë për përdoruesit e saj. Pavarësisht këtyre avantazheve dhe faktit që ky mjet ofrohet
bashkë me elementët e simulimit të përgjithshëm, pagesa për përdorimin e saj është
goxha e madhe për një zhvillues të modeleve të bazuara në agjentë. Ndryshimi i saj me
mjetit të zhvillimit Repast është thjesht në mbështetjen që ajo ofron dhe mjetet shtesë
grafike të simulimit dhe projektimit.
5.3. Modelimi dhe zhvillimi i MAS
Nën këndvështrimin e zhvillimit të sistemeve me multi-agjent, fusha e cila merret me
hapat e ndërtimit të këtyre sistemeve quhet inxhinieria e softit e orientuar ndaj agjentit
(AOSE). Kjo fushë mundohet të përdorë teknikat e inxhinierisë së softit së bashku me
parimet e inteligjencës artificiale në ndërtimin e MAS. Temat kryesore që trajtohen në
fushën e AOSE sipas punimit të (Sturm & Shehory, 2014) janë:
1. Metodologjitë e orientuara ndaj agjentit, apo teknika të modelimit
2. Arkitektura e orientuar ndaj agjentit
3. Komunikimi i agjentit
4. Gjuhët e programimit të orientuara ndaj agjentit
5. Mjete zhvillimi të orientuara ndaj agjentit
69
5.3.1. Metodologjitë e orientuara ndaj agjentit
Metodologjitë e orientuar ndaj agjentit janë pika kryesore e interesit të kërkimeve të
fushës së AOSE. Ato përqendrohen në hapat dhe teknikat zhvilluese të MAS, të cilat
prekin kryesisht pjesën e analizës dhe projektimit të këtyre sistemeve. Në literaturë
gjenden mbi 30 metodologji të ndryshme të fushës së AOSE, të cilat përdoren në kushte
apo forma të ndryshme. Më poshtë diskutojmë mbi 7 metodologjitë më të njohura në
këtë fushë.
5.3.1.1. Metodologjia Gaia dhe Roadmap
Gaia është një metodologji e propozuar nga (Wooldridge, Jennings, & Kinny, 2000) e
cila përdoret për analizën dhe projektimin e orientuar ndaj agjentit. Ajo është një
metodologji e plotë dhe e zbatueshme mbi shumë sisteme MAS, dhe merret me aspektet
e sistemeve në nivel makro dhe mikro të tyre. Ideja e saj është të lejojë projektuesin të
kalojë nga deklaratat e kërkesave deri në projektimin e detajuar që mund të
implementohet në mënyrë të drejtpërdrejt. Në punimin e (Juan, Pearce, & Sterling,
2002) prezantohet Roadmap, i cili është një shtesë e metodologjisë Gaia dhe përfshin
disa përmirësime në lidhje me formalizimin e njohurive dhe mjedisit, roleve dhe
strukturave sociale.
5.3.1.2. Metodologjia MaSE
MaSE është një tjetër metodologji e përdorur për analizën dhe projektimin e orientuar
ndaj agjentit e propozuar nga (DeLoach, 2001). Kjo metodologji përcakton dy faza
kryesore atë të analizës dhe fazën e projektimit. Në të parën përcaktohen fillimisht
qëllimet e agjentëve dhe më pas ndërtohen diagramet e rasteve të përdorimit dhe ato të
sekuencave, më tej vazhdohet me përcaktimin e roleve. Në fazën e projektimit, fillohet
me ndërtimin e diagrameve klasa për agjentët, më pas vazhdohet me diagramet e
bashkëveprimeve apo bisedimeve dhe diagramet e arkitekturës së agjentit, në fund
mbyllet me diagramet zhvilluese të sistemit MAS.
5.3.1.3. Metodologjia PASSI
Metodologjia e procesit për specifikimin dhe implementimin e shoqërive të agjentëve,
e njohur ndryshe si PASSI, është metodologjia e propozuar nga (Cossentino, 2005).
Kjo metodologji përdor një proces përsëritës të modelimit, dhe është e përberë nga pesë
faza që përfshijnë mbledhjen e kërkesave të sistemit, modelimi i shoqërisë së agjentëve,
modelimi i zbatimit të agjentëve, modelimi i kodit dhe modelimi i zhvillimit. Kjo
metodologji përdor gjuhën e modelimit UML për të treguar disa nga elementët e
sistemeve MAS, si edhe mbështetet me mjete softuer për projektimin dhe ndërtimin e
këtyre sistemeve.
5.3.1.4. Metodologjia INGENIAS
Një metodologji tjetër e njohur për zhvillimin e MAS është INGENIAS e propozuar
nga (Pavón & Gómez-Sanz, 2003). Ajo bazohet mbi procesin e njohur të zhvillimit të
softuerit të quajtur procesi bashkues i cili bazohet mbi një bashkësi gjysmë modelesh
që përshkruajnë elementet e MAS nga këndvështrime të ndryshme dhe që lejojnë
specifikimin e saj. Kjo metodologji e sheh MAS nga 5 aspekte të cilat janë: organizimi,
agjenti, qëllimi, punët, ndërveprimet dhe mjedisi. Në këndvështrimin e kësaj
metodologjie zbatimi i MAS ndjek mënyrën e zbatimit inxhinierik të drejtuar ndaj
modelit.
70
5.3.1.5. Metodologjia Prometheus
Prometheus është një metodologji praktike dhe e detajuar për projektimin e MAS
bazuar mbi agjentin inteligjent, e propozuar nga (Padgham & Winikoff, 2003). Kjo
metodë përdoret kryesisht nga zhvilluesit e softuerëve industrial dhe ka tre faza
kryesore. Në fazën e parë është faza e specifikimit të sistemit ku projektuesi identifikon
qëllimet e sistemit dhe ia vendos ato roleve të agjentëve në sistem. Në këtë fazë
specifikohet edhe funksionaliteti i sistemit me anë të skenarëve të rasteve të përdorimit.
Faza tjetër është ajo e projektimit arkitekturor ku projektuesi duhet të identifikoj çdo
agjent. Kjo fazë mbyllet me përcaktimin e sistemit si tërësi agjentësh, protokollesh,
ngjarjesh, veprimesh dhe të dhëna. Faza e fundit është ajo e projektimit të detajuar ku
çdo aftësi, plan, ngjarje të brendshme dhe të dhëna të agjentit identifikohen dhe
përcaktohen në sistemin MAS. Kjo metodologji përdor gjithashtu mjete softuer për
projektim dhe ndërtim të sistemeve MAS.
5.3.1.6. Metodologjia Tropos
Tropos është një metodologji zhvillimi softueri i orientuar ndaj agjentit i krijuar nga një
grup i përbërë nga universitete të ndryshme (Bresciani, Perini, Giorgini, Giunchiglia,
& Mylopoulos, 2004). Kjo metodologji përbëhet nga 5 hapa zhvillimi. Hapi i parë është
analiza e hershme e kërkesave ku analizohen qëllimet e agjentëve të cilat çojnë në
kërkesat funksionale dhe jo-funksionale të sistemit. Hapi i dytë është analiza e vonë e
kërkesave ku përshkruhen të gjithë kërkesat funksionale dhe jo-funksionale të sistemit.
Hapi i tretë është projektimi arkitekturor ku përshkruhen të gjithë funksionet e
komponentëve të sistemit. Hapi tjetër është ai i projektimit të detajuar të sistemit dhe
hapi i fundit është zbatimi me anë të kodimit të sistemit MAS.
5.3.1.7. Një analizë mbi metodologjitë
Në një këndvështrim të përgjithshëm, shumica e këtyre metodologjive përdorin teknikat
e inxhinierisë së softit të kombinuara këto me disa nga konceptet e inteligjencës
artificiale.
Çdo metodologji përshtatet sipas problematikave të caktuara që zhvilluesi merr
parasysh në zhvillimin e sistemeve MAS. Duhet thënë që metodologjitë Gaia, PASSI,
MaSE dhe INGENIAS përfshijnë shumicën e koncepteve të MAS përveç koncepteve
njohëse si BDI, ndërkohë që Prometheus i përfshin të gjitha konceptet ndërsa Tropos
përfshin konceptin BDI por është i kufizuar.
Bazuar mbi punimet kërkimore të (Arora, Agrawal, Sasikala, & Sharma, 2012) dhe
(Gomez-Sanz & Fuentes-Fernández, 2015) si edhe mbi hulumtimin e metodologjive të
përmendura më sipër, është krijuar tabela përmbledhëse me veçoritë e metodologjive.
Veçoria e parë e marrë parasysh në tabelën 5-2 bazohet në modelimin e agjentit në nivel
mikro apo makro në metodologjinë përkatëse. Me nivelin mikro kuptojmë se
metodologjia fokusohet në ndërtimin e agjentit dhe sjelljet e tij, ndërkohë që në nivelin
makro fokusi qëndron në strukturat e bashkëveprimit midis agjentëve. Në tabelë vërehet
se vetëm katër metodologjitë e para mbështesin modelimin në të dy nivelet, ndërsa
metodologjitë e tjera merren kryesisht me nivelin mikro, pra të ndërtimit të agjentit dhe
sjelljeve e tij.
Veçoria e dytë kontrollon nëse metodologjia mbështet modelimin përsëritës të
simulimit. Në këtë rast vetëm metodologjia Gaia nuk mbështet plotësisht modelimin
përsëritës edhe pse e mbështet atë brenda fazave të saj. E njëjta metodologji nuk
mbështet as nxjerrjen e kërkesave të modelit simulues.
71
Tabela 5-2: Tabelë përmbledhëse me veçoritë e metodologjive10
Metodologji
\
Veçori
Gaia Roadmap PASSI MaSE INGENIAS Prometheus Tropos
Nivelet
Mikro dhe
Makro
Të
dyja Të dyja
Të
dyja Të dyja Mikro Mikro Mikro
Përsëritëse Brenda
fazave Po Po Po Po Po Po
Nxjerrjen e
Kërkesave Jo Po Po Po Po Po Po
Diagramet
UML Jo Jo Po Po Po Jo Pjesërisht
Kodim dhe
Implementim Jo Jo
Po, me
JADE
Po, me
agentTool
Po, e
integruar Po, me Jack
Po, me
Jack dhe
JADE
Verifikim
dhe Testim Jo Jo
Shumë
pak Pjesërisht Shumë pak Po Po
Inxhinierimi
njohurive Jo Jo Po Jo Jo Po Po
BDI Jo Jo Jo Jo Shumë pak Po Pjesërisht
Dinamik Jo Po Po Po Po Po Po
Mjetet Gaia4E REBEL PTK agentTool IDK PDT TAOM4E
Përdorimi i diagrameve UML mbështetet vetëm nga tre metodologji, kjo është një
disavantazh i madh për metodologjitë që nuk e përdorin atë. Në veçorinë pasardhëse të
kodimit dhe implementimit të kodit shohim se pesë metodologji e suportojnë deri diku
këtë veçori ndihmuese për ndërtimin e simulimit. Nëse flasim për verifikimin dhe
testimin e modelit simulues vetëm dy metodologjitë e fundit e mbështesin plotësisht
atë, kjo kuptohet pasi këto metodologji janë të fokusuara thjesht në ndërtimin e agjentit
në nivel mikro. Inxhinierimi i njohurive mbështetet vetëm në tre metodologji, ndërkohë
që arkitektura BDI mbështetet plotësisht vetëm nga metodologjia Prometheus.
5.3.2. Arkitektura e orientuar ndaj agjentit
Arkitektura e orientuar ndaj agjentit lidhet me studimin e arkitekturës së agjentit,
organizimit të MAS, shërbimet multi-agjent dhe infrastrukturën MAS që i kombinon
ato. Kjo pjesë është trajtuar gjerësisht në pjesën 4.4 të këtij punimi.
5.3.3. Komunikimi i agjentit
Komunikimi i agjentit mund të jetë direkt, i tillë që kryhet midis agjentëve me njohuri
paraprake ose indirekt ku komunikimi ndodh midis agjentëve reaktiv. Në komunikimin
direkt, gjuhët e komunikimit të agjentëve mund të jenë dy llojesh KQML (Finin,
Fritzson, McKay, & McEntire, 1994) dhe komunikimi standard FIPA ACL për
teknologjitë e bazuara në agjentë. Ndërsa në komunikimin indirekt kemi kryesisht
10 Tabelë e krijuar nga hulumtimet mbi to dhe përfundimet e punimeve (Arora, Agrawal, Sasikala, &
Sharma, 2012) dhe (Gomez-Sanz & Fuentes-Fernández, 2015)
72
zbatimin e protokolleve si mjet komunikimi. Një ndarje e ngjashme është trajtuar në
kapitullin 4, pjesa 4.4.3, komunikimi me kalim mesazhi dhe me sinjale.
5.3.4. Gjuhët e programimit të orientuara ndaj agjentit
Në AOSE përmenden disa lloje të ndryshme gjuhë programimi të cilat kanë
funksionalitete të ndryshme. Në punimin e (Dastani, 2014) thuhet se në përgjithësi
gjuhët ndahen në:
gjuhë programimi me stil urdhërues, e cila është një mënyrë e mirë për të
implementuar veprimet dhe planet që do kryej agjenti,
gjuhë programimi me stil deklarativ, që mbështet implementimin e arsyetimit
dhe mekanizmave vendimmarrëse te agjenti,
gjuhë programimi me stil hibrid, që kombinon të dy stilet e mësipërme.
Te gjuhët e programimit me stil hibrid përmenden edhe disa prej gjuhëve më të
përdorura si 3APL (Hindriks, Boer, Hoek, & Meyer, 1999), 2APL (Dastani, 2008),
AgentSpeak, etj. Gjithashtu në konceptin e organizimeve dhe mjedisit të MAS
ekzistojnë gjuhë programimi të organizimeve, siç janë MOISE (Hubner, Sichman, &
Boissier, 2007) dhe 2OPL (Tinnemeier, Dastani, Meyer, & Torre, 2009), dhe gjuhë
programimi të mjedisit me multi-agjent ku përmendim CArtAgO (Ricci, Piunti, Viroli,
& Omicini, 2009).
5.3.5. Mjete zhvillimi të orientuara ndaj agjentit
Në punimin (Theodoropoulos, Minson, Ewald, & Lees, 2009) thuhet se mjetet
zhvilluese të MAS kategorizohen në bazë të llojit të zbatimit të tyre, të cilat janë:
MAS për studimin e kompleksitetit
MAS për studimin e inteligjencës së shpërndarë
dhe zhvillimi i softuerëve MAS
Në bazë të kësaj ndarje janë zhvilluar mjete të ndryshme MAS që ofrojnë lehtësira të
shumta për zhvilluesit e kategorive përkatëse. Në kategorinë e parë përfshihen mjete
zhvilluese për probleme të llojit të jetës artificiale, modeleve sociale apo logjistike si
simulime të transportit. Në kategorinë e dytë, mjetet që përfshihen merren kryesisht me
probleme të inteligjencës së agjentit, ku nevojiten agjentë komunikues dhe adaptues për
të studiuar fenomene të ndryshme, si p.sh simulimi i një shoqërie njerëzore. Ndërsa në
kategorinë e tretë janë kryesisht mjete zhvillimi për ndërtimin e softuerëve me agjentë
të cilët mbledhin të dhëna apo marrin vendime në mjedise pune.
Nëse analizojmë dy kategoritë e para, mjedisi i ekzekutimit të tyre njihet ndryshe edhe
si motori i simulimit. Kjo është një makinë virtuale që ofron modelimin e kohës në hapa
logjik, që mund të jenë një nga mënyrat e modelimit të kohës, të përmendura dhe
diskutuar në pjesën 4.4.4. Duke pasur parasysh këto të dhëna, ne marrin në analizë
pikërisht këto mjete zhvilluese MAS që janë të specializuara për simulim. Duhet
përmendur se disa mjete ABM të përmendura më sipër janë të zhvilluara nga mjetet
MAS dhe të tjerat janë mjete zhvillimi MAS të specializuara për ndërtimin e ABM-ve.
Në rastin e parë mund të përmendim mjetet si NetLogo dhe Jamel, ndërkohë që mjete
të specializuara MAS për ndërtim ABM-ve mund të konsiderohen Repast, Swarm, etj.
Ndër mjetet MAS më të përdorura për simulime, përmendim SeSAM, JAMES II, Jadex
dhe Jason, të cilat do ti shtjellojmë më poshtë.
73
5.3.5.1. Mjeti i zhvillimit SeSAm
SeSAm, është një sistem simulimi i pajisur me ndërfaqe grafike dhe që lejon modelimin
e MAS pa programim (Klügl, 2006). Agjentët përcaktohen me sensor dhe veprues, që
kanë edhe një funksion të brendshëm për zgjedhjen e veprimeve. Simulimi kryhet me
hapa kohorë konstant, por që mund të aktivizohet edhe për simulime me ngjarje
diskrete. Ai është përdorur në shumë projekte simulimi me fusha si logjistika, prodhimi,
biologjia dhe planifikimi urban.
5.3.5.2. Mjeti i zhvillimit JAMES II
JAMES II, është një sistem simulimi dhe modelimi i përgjithshëm që jep disa
funksionalitete për simulimin dhe modelimin e agjentit (Himmelspach & Uhrmacher,
2009). Ky sistem lejon përdorimin e tij me formalizma të shumta, kjo do të thotë që
mund të ndërtosh modele thjesht duke përdorur ontologjinë XML (“eXtensible Markup
Language“) ose duke e programuar në gjuhën Java. Ky mjet zhvillimi lejon kontrollin
e plotë mbi eksperimentet dhe parametrat e saj.
5.3.5.3. Mjeti i zhvillimit Jadex dhe JADE
Jadex është një mjedis simulimi që përdor arkitekturën BDI për ndërtimin e agjentit
inteligjent (Braubach & Pokahr, 2013). Ky mjedis lejon programimin e këtyre agjentëve
me gjuhën Java dhe skemave XML. Jadex është përdorur për të simuluar fusha të
ndryshme. Ai lejon kontrollimin e kohës në të tre dimensionet e hapave kohorë dhe
mbështet zhvillimin e mjedisit. Ai gjithashtu lejon integrimin e një mjeti tjetër zhvillues
MAS siç është JADE për të rritur aftësitë komunikuese të agjentëve. JADE është një
mjedis zhvillimi MAS që përdor gjuhën e programimit Java dhe lejon komunikimin e
agjentëve në rrjeta. Përdorimi i saj me Jadex ndihmon në shpërndarjen e simulimeve
edhe në komunikime në rrjetë.
5.3.5.4. Mjeti i zhvillimit Jason
Jason është një mjedis simulimi që lejon përdorimin e programimit të orientuar ndaj
agjentit (“Agent-Oriented Programming” - AOP) dhe është i implementuar me Java
(Bordini, Hübner, & Wooldridge, 2007). Ai përdor një interpretues të zgjeruar mbi
AgentSpeak, interpretues ky i propozuar nga (Rao, 1996), që lejon krijimin e agjentëve
me arkitekturë BDI dhe përfshin një gjuhë programimi logjik i cili mundëson AOP.
Mjedisi i zhvillimit të Jason ofron shumë veçori të ndryshueshme nga përdoruesi, si
edhe integrimin e lehtë të saj me mjedise të tjera zhvillimi. Disa nga karakteristikat e
saj janë: komunikimi me fjali-veprimi midis agjentëve, emërtime planesh, funksione
zgjedhjeje, qartësi në krijimin e mjedisit multi-agjent dhe veprime të brendshme të
përcaktuara nga përdoruesi në gjuhën Java. Këto karakteristika lejojnë simulimin e një
mjedisi real në të.
5.3.5.5. Mjeti i zhvillimit JaCaMo
JaCaMo është një mjedis zhvillimi i cili lejon programimin e orientuar ndaj multi-
agjentëve (“Multi-Agent Oriented Programming” - MAOP), i cili përfshin brenda saj
paradigmat e tjera si AOP, programimi i orientuar ndaj mjedisit (“Environment-
Oriented Programming” - EOP), programimi i orientuar ndaj ndërveprimeve
(“Interaction-Oriented Programming” - IOP) dhe programimin e orientuar ndaj
organizatave (Boissier, Hubner, & Ricci, 2016). Ky mjet pune përdor agjentët autonom
të Jason të cilët punojnë në mjedise të programuara si artefakte nga CArtAgO, të
organizuara nga Moise dhe që ndërveprojnë me njëri tjetrin duke përdorur një gjuhë
74
ndërveprimi. Veçoritë bazë të tij janë të njëjta me ato të mjetit të zhvillimit Jason, por
me shtesat e dy mjeteve të bashkëlidhura me të.
5.3.6. Krahasime midis mjeteve të zhvillimit MAS
Bazuar mbi hulumtimin e bërë mbi e mjetet e zhvillimit MAS, dhe mbi punimet
hulumtuese të ngjashme të (Kravari & Bassiliades, 2015) dhe (Rousset, Herrmann,
Lang, & Philippe, 2016), paraqesim në mënyrë të përmbledhur tabelën 5-3 ku paraqiten
mjetet e shpjeguar si më sipër bashkë me ndryshimet themelore midis tyre.
Tabela 5-3: Ndryshimet midis mjeteve të zhvillimit MAS11
Emri Jadex JAMES II Jason SeSAm JaCaMo
Performanca Lart Lart Lart Mirë Lart
Stabiliteti Mirë Lart Lart Lart Lart
Fortësia Lart Lart Mirë Mirë Lart
Gjuha
programimit
Java,
XML Java
Java,
AgentSpeak Java
Java, XML,
AgentSpeak
Komunikimi HTTP Varet nga
shtesat
fjalë-veprim,
KQML
Shkëmbim
mesazhi (nga
platforma)
fjalë-veprim,
KQML,
artefakte
Thjeshtësia
Thjesht /
Ka disa
veçori
grafike
Thjesht /
Editor grafik
Thjesht / Ka
disa veçori
grafike
Thjesht / I
pasur me
grafikë
Thjesht / Ka
disa veçori
grafike
Lehtësia Mesatare Lehtë Lehtë Lehtë Mesatare
Mbështetja Mesatare Mesatare Lart Mirë Lart
Popullariteti Lart Mesatare Lart Mesatare Lart
Arkitektura BDI Reaktiv BDI Reaktiv Hibrid
Nga tabela 5-3 vërehet se shumica prej tyre kanë një performancë, stabilitet, dhe fortësi
goxha të lartë, ndryshime të vogla kanë SeSAm dhe Jadex. Në gjuhën që ata përdorin
për programimin e agjentëve dhe mjedisit shohim që të gjitha këto mjete përdorin
gjuhën Java. Arsyeja për këtë lidhet me faktin që kjo gjuhë lejon programimin e
agjentëve bashkë me konceptet sistemeve të shpërndara dhe mund të përdorë libraritë
e shumta të saj të zhvilluara për qëllime simulimi. Përveç kësaj gjuhe, këto mjete
përdorin edhe gjuhë mbështetëse si konfigurimet XML për agjentët në Jadex dhe
organizimet në JaCaMo, dhe gjuha AgentSpeak për logjikën e agjentëve në Jason dhe
JaCaMo. Në pjesën e komunikimit shohim disa ndryshime të mëdha midis mjeteve.
Mjeti Jadex komunikimin midis agjentëve e kryen kryesisht nëpërmjet protokollit
HTTP, ndërsa JAMES II nuk është se ka një mënyrë të caktuar pasi veprimet e
agjentëve të saj janë të kufizuara dhe mjedisore. Tre mjetet më kryesore për plotësimin
e komunikimit midis agjentëve janë SeSAm që ka të zhvilluar një mënyrë shkëmbimi
mesazhesh midis agjentëve brenda platformës së saj, Jason ku agjentët komunikojnë
nëpërmjet një mënyre të zhvilluar me fjalë-veprim që bazohet deri diku edhe në
protokollin KQML dhe JaCaMo që përdor mënyrën e komunikimit të mjetit Jason dhe
atë mjedisor me anë të artefakteve. Të gjitha këto mjete kanë pak ose aspak veçori
11 Bazuar mbi hulumtimin e mjeteve dhe punës kërkimore të (Kravari & Bassiliades, 2015)
75
grafike, ndryshe nga mjetet e zhvillimit ABM të cilat kishin shumë veçori grafike, por
që kanë mundësinë e zhvillimit nga vetë zhvilluesit të mjeteve grafike. Lehtësia e
programimit për personat që tashmë dinë të programojnë të paktën në një gjuhë si Java
konsiderohet për të gjithë këto mjete e lehtë ose mesatare si në rastin e Jadex dhe
JaCaMo ku duhet të dinë edhe elementë të tjerë programuese. Mbështetja në
dokumentim është më e lartë në mjetet e Jason dhe JaCaMo sikurse edhe popullariteti.
Në arkitekturën e agjentit shohim që mjetet JAMES dhe SeSAm përdorin kryesisht një
arkitekturë reaktive, ndërsa në mjetet Jadex dhe Jason arkitektura është më tepër drejt
asaj BDI. JaCaMo gjithashtu përdor arkitekturën BDI por përdor edhe shtesa që e bëjnë
të konsiderohet si hibride në natyrën e saj.
Përveç këtyre mjeteve gjenden edhe mjete të tjera të cilat nuk janë marrë në konsideratë
pasi nuk plotësojnë kushtet minimale për ndërtimin e një simulimi me agjentë për
qëllime studimi. Një pjesë e madhe e sistemeve MAS të përdorura sot janë për qëllime
industriale apo për thjesht ndërtimin e sistemeve të shpërndara.
5.4. Rast Studimi: EURACE dhe Jamel
5.4.1. EURACE
Në shtator të 2006, kërkues shkencor të fushave ekonomike dhe informatike nga 8
qendra kërkimore në Itali, Francë, Gjermani, Britani dhe Turqi së bashku me
ekonomistin e njohur Joseph Stiglitz nga Universiteti i Kolumbisë u mblodhën për të
punuar në projektin EURACE. Ky projekt tre-vjeçar kishte si qëllim ndërtimin e një
modeli ekonomik, si edhe simulimin e tij bazuar në ABM siç edhe përmendet në
punimin e (Raberto, Teglio and Cincotti 2011).
Projekti kishte si qëllim ndërtimin e një modeli të bashkimit evropian, duke përfshirë
tregjet të shumta. Në këtë ekonomi artificiale do të kishte një numër të madh agjentësh
të sofistikuar që ndërveprojnë me njëri tjetrin. Në vetvete ky projekt propozonte një
mënyrë të re modelimi makroekonomik dhe projektimit të politikave ekonomike sipas
fushës ACE, sikundër tregohet edhe në punimet e (Raberto, Teglio and Cincotti 2011)
dhe (Deissenberg, Hoog and Dawid 2008). Projektimi i politikave makroekonomike ka
një rol të rëndësishëm në mirëqenien sociale dhe kërkon zbatimin e koordinuar të
masave ekonomike. Në përgjithësi ndërveprimi i këtyre masave të ndryshme nuk arrihet
të kuptohet plotësisht dhe për këtë arsye projektimi i këtyre politikave makroekonomik
ndjek këndvështrimin klasik të ekonomisë.
Modeli konsideron çdo aktor ekonomik dhe modelon sjelljen e tyre të duket sa më reale.
Ndërkohë që nuk bëhen supozime rreth racionalizimit dhe homogjenitetit të tyre. Ky
sistem (Holcombe, Coakley and Kiran, et al. 2013) përbëhej nga disa lloje agjentësh, të
cilët tregohen më poshtë:
Firma (ato që prodhojnë mallrat e konsumit)
Familjet (si konsumator dhe punëtor)
Prodhuesit e mallrave investuese
Qendër tregtare (për shitjen e mallrave të konsumit)
Bankat (marrin kursime, japin kredi dhe investime)
Zyrë shkëmbimi (blen dhe shet kapital, aksione, bono thesari, etj.)
Qeveria (politika fiskale, taksat dhe subvencionet, etj.)
Banka Qendrore (administron ofertën monetare, normat e interesit)
Eurostat (mbledhja dhe raportimi i statistikave ekonomike)
76
Çdo agjent ndërvepron me njëri tjetrin siç shihet edhe në figurën 5-2 të shfaqur më
poshtë:
Figura 5-2 Modeli ekonomik EURACE12
Në punimin (Hoog, Deissenberg and Dawid 2008), përshkruhen disa supozime në lidhje
me modelin EURACE. Si fillim supozohet që të gjitha firmat trajtohen si korporata,
dhe për këtë arsye zbatohen teoritë e menaxhimit të kapitalit dhe drejtimi financiar për
të modeluar vendimmarrjen e tyre financiare. Disa nga supozimet e marra në
konsideratë në këtë model janë:
Plani i prodhimit të firmës zgjidhet përpara politikave financiare të saj, kjo për
arsye që aksionarët e kompanisë të mos influencojnë vendimet e prodhimit gjatë
periudhës.
Gjithë pagesat e dividendëve bëhen me para në dorë.
Firma mund të blej përsëri aksionet e saj, por nuk blen aksionet e firmave të
tjera.
Tregjet e kapitalit dhe të kredive janë jo-perfektë dhe kanë kosto për transaksion
Kostot e pagave dhe investimeve paguhen para se prodhimi të kryhet
Dividendët paguhen në fillim të çdo periudhe bazuar mbi rezultatet e periudhës
së kaluar.
Tregjet të cilat funksionojnë brenda një dite pune janë:
– Tregu kredive
– Tregu Financiar
– Tregu i punës
– Tregu i investimeve
– Tregu i mallrave të konsumit
Në supozimin e fundit në lidhje me tregjet duhet thënë se çdo firmë është aktive vetëm
një ditë në muaj në çdo treg të përcaktuar. Një firmë ka gjithsej katër veprime kryesore
të cilat ajo i kryen në çdo periudhë. Veprimi i parë është planifikimi i prodhimit, ku
12 Figurë e përshtatur nga punimi (Holcombe, Coakley and Kiran, et al. 2013)
77
firma llogarit fillimisht nivelin e prodhimit që duhet të realizoj dhe më pas vlerëson
forcën punëtore që i nevojitet për ta arritur atë. Veprimi i dytë është planifikimi
financiar, në të cilin firma llogarit nevojat e saj financiare përgjatë periudhës së
veprimit. Veprimi i tretë lidhet me tregun financiar, ku firma kërkon të ngrejë kapital
financiar nëpërmjet emetimit të aksioneve dhe bonove të ndryshme. Veprimi i fundit
lidhet me prodhimin e mallrave.
Në këndvështrimin e përgjithshëm EURACE është një model në të cilin mund të
analizohen politika të ndryshme makroekonomike duke i simuluar ato me anë të ABM-
ve. Ato konsiderohen si një zëvendësues i mirë i modeleve DSGE dhe RBC (cikël real
biznesi) që kërkojnë gjenerim luhatjesh për të prodhuar ndryshime ne ciklet e biznesit
(Dawid, et al. 2014). Në punimin e (Fagiolo and Roventini 2017), analizohen në detaje
modeli DSGE me kufizimet e saj në lidhje me përsëritjen e skenarëve realë ekonomik
dhe modeli EURACE. Aty theksohet se modeli EURACE arrin të mënjanojë kufizimet
e modeleve DSGE dhe paraqet një situatë më reale të tregut duke dhënë zgjidhje të
mundshme optimale për kriza të ndryshme ekonomike.
5.4.1.1. Mjeti i zhvillimit FLAME
Mjeti i zhvillimit me të cilin është krijuar modeli ekonomik EURACE quhet mjedisi
fleksibël i modelimit me agjent në shkallë të gjerë, i njohur ndryshe si FLAME
(Holcombe, Coakley, & Smallwood, 2006). Në këtë mjedis, agjentët mendohen si
makina formale të cilat janë përshkruar si makina autonome që komunikojnë dhe
punojnë njëkohësisht duke ndërvepruar me njëra tjetrën. Modeli klasik i makinave të
gjendjes nuk mund të përshtatet për sistemet komplekse, për këtë arsye janë përdorur
Stream X-Machines (Laycock 1993). Ky variant i X-Machine bazohet në konceptin e
Eilenberg (Eilenberg 1974), por që zgjeron idenë e makinave me gjendje të fundme për
përpunimin e të dhënave. Këto makina u ndërtojnë një mjedis të përgjithshëm për
llogaritje dhe është përdorur për të ekzekutuar modele llogaritëse të bazuara në agjentë
në shkallë të gjerë. FLAME përdor një gjuhë specifike për agjentët në XMML dhe
përdor një gjuhë të ngjashme me C për të shkruar funksionet për këto agjentë. Për të
simuluar modelin EURACE është e nevojshme përdorimi i super-kompjuterëve paralel
më të shpejtë dhe për të arritur komunikimin efiçent midis agjentëve përdoren ndërfaqet
e kalimit të mesazheve (MPI) (Greenough, et al. 2010).
78
Figura 5-3 Struktura e mjetit të zhvillimit FLAME13
Modeli EURACE që u ndërtua me mjetin e zhvillimit FLAME tregoi se modelimi i
bazuar në agjentë i sistemeve ekonomike është i mundur dhe i nevojshëm. Ky model
fillestar u realizua në fund të vitit 2009 dhe herë pas here janë bërë përmirësime mbi të.
Eksperimenti u bë me një numër të madh agjentësh rreth qindra mijëra agjentë dhe është
konsideruar si modeli më i arrirë i një ekonomie artificiale.
5.4.2. Jamel
Një shembull tjetër i marrë në konsideratë për ndërtimin e një ekonomie artificiale është
përdorimi i laboratorit makroekonomik i bazuar në agjent (Jamel), i cili mund të
përdoret për simulimin dhe analiza të ekonomive komplekse. Ideja kryesore e paraqitur
edhe në punimin e (Seppecher, Salle, & Lang, 2018) është që përcaktuesit e sjelljeve të
sistemit ekonomik janë pikërisht mekanizmat e tregut. Modeli përpiqet të hetoj firmat
dhe ndryshimet e mundshme të strategjive në bazë të ndryshimeve të mjedisit
makroekonomik të vetë sistemit të modeluar. Që në konceptimin e këtij laboratori, të
shpjeguar në (Seppecher, 2012) janë marrë për bazë disa elementë të rëndësishëm të
kompleksitetit të botës reale:
Numri i madh i agjentëve, të cilët janë autonom dhe heterogjen
Decentralizimi i ndërveprimeve midis agjentëve
Paralelizmi asinkron i proceseve reale dhe monetare që agjentët zbatojnë
Modeli që ndërtohet me anë të Jamel nuk bën parashikime, por trajtohet për studime
ekonomike. Supozimet e marra në konsideratë gjatë ndërtimit të tij përfshijnë idenë e
13 Figurë e përshtatur nga punimi i (Chin, et al. 2012)
79
një ekonomie të mbyllur. Elementët që e përbëjnë atë janë paraja, mallrat, kapitali dhe
koha. Ky model bazohet mbi tre lloje agjentësh bazë, të cilët janë:
Familja
Firma
Banka
Familja si njësia bazë ekonomike është ajo që ka edhe numrin më të madh të agjentëve
në model. Veprimet e saj kryesore janë puna dhe konsumi. Në mënyrë që familjet të
konsumojnë, ato duhet të kenë para, dhe për të marrë para duhet të punojnë apo të
marrin para nga banka. Në supozimet e modelit, familjari i papunësuar nuk merr të
ardhura dhe nuk vdes. Firmat janë më të paktë në numër se familjarët dhe ato mund të
punësojnë disa familjarë dhe vetëm një familjar është pronari i firmës. Funksioni
kryesor i firmës është prodhimi dhe për prodhimin e mallrave punëson duke zgjedhur
në mënyrë rastësore familjarët e papunësuar. Ndër veprimet kryesore të firmës mund të
përmenden prodhimi dhe shitja e mallrave, marrja dhe pagesat e kredive, punësimi dhe
heqja nga puna e punëtorit dhe pagesat e dividendëve. Firma në model mundet të
falimentojë dhe në këtë rast ai zhduket nga simulimi. Banka është vetëm një agjent i
cili përfaqëson të gjithë sistemin bankar. Veprimet e tij janë depozitimi i të ardhurave
dhe dhënia e parave si kredi.
Si një mjet zhvillimi ABM, Jamel i jep mundësinë kërkuesit të krijojë dhe përdorë
modele duke përdorur disa rregulla bazë që shprehen nëpërmjet skemave ontologjike
XML. Në formatin bazë të saj, modeluesi mund të vendosi parametrat e ekonomisë për
simulim si numri i agjentëve, probabilitetet e veprimeve të tyre në lidhje me njëri tjetrin,
formula llogaritëse për agjent të caktuar, si edhe faktorë të tjerë të rëndësishëm për
simulimin. Rezultatet shfaqen kryesisht nëpërmjet grafikëve si në figurën e mësipërme
si edhe nëpërmjet të vlerave makroekonomike si rezultat i shumave të vlerave
individuale të agjentëve.
Figura 5-4 Simulimi i ekonomisë në Jamel
Ky mjet është i ndërtuar duke përdorur gjuhën Java dhe pavarësisht faktit që është me
kod burim të dhënë, është e vështirë për një zhvillues të ndërtojë modele të reja me
80
veçori të ndryshme nga ato që ky laborator lejon. Përveç këtij fakti, një element i
rëndësishëm për tu përmendur është që ky mjet zhvillimi nuk i jep lirinë e duhur
kërkuesit të hulumtojë mbi rezultatet e modelit, duke e kthyer këtë në një mangësi të
madhe të këtij mjeti zhvillues.
5.4.3. Përmbledhje e rastit të studimit
EURACE përbën rastin e parë për ndërtimin e një modeli simulimi të një ekonomie
artificiale bazuar mbi metodikën e ACE. Simulimi përpiqet që të simulojë ekonominë
reale të Bashkimit Evropian, e cila përfshin shumë lloje agjentësh si firmat, familjarët,
dyqanet, bankat, shtetin, etj. Për të zbatimin e tij pas ndërtimit ishte e nevojshme të
përdoreshin super-kompjuterë paralel me shpejtësi maksimale për të arritur
komunikimin më efikas midis agjentëve. Ky projekt propozoi një qasje të re të
modelimit makroekonomik dhe projektimit të politikave ekonomike sipas fushës së
ACE, duke treguar njëkohësisht që modelimi i bazuar në agjentë i sistemeve të gjera
ekonomike është i mundur dhe i nevojshëm. Një disavantazh i këtij projekti është që
modeli nuk është lehtësisht i ndryshueshëm për të zhvilluar modele të reja apo të
ngjashme. Do të duhej një kohë e madhe për të rindërtuar një model të ri simulimi. Një
problem tjetër lidhet me mjedisin e punës ku ky model simulimi është ndërtuar, pasi
nuk lejon marrjen dhe vendosjen në një sistem të ri kompjuterik pa bërë ndryshime të
mëdha në sistemin e ri. Për këtë arsye është e nevojshme ndërtimi i një modeli të
përshtatshëm që mund të rindërtohet lehtësisht dhe të funksionojë në kushte të
ndryshme kompjuterike.
Rasti i Jamel është një rast i veçantë, pasi me anë të saj mund të ndërtohen modele
ekonomike bazuar mbi shembujt e gatshëm të saj. Ideja e saj është të analizoj me anë
të simulimeve ekonomi komplekse në bazë të veprimeve matematikore të agjentëve dhe
disa shpërndarjeve probabilitare në gjenerimin e të dhënave fillestare. Si mjet zhvillimi,
Jamel i jep studiuesit të ekonomisë mundësinë e krijimit dhe përdorimit të modeleve të
tyre bazuar mbi disa rregulla të shprehura në skemat XML. Ky mjet edhe pse është i
ndërtuar me gjuhën java dhe është me burim të hapur është shumë i vështirë për tu
mësuar dhe krijuar modele të reja duke përfshire veçori të reja ndryshe nga ato
ekzistuese që ky mjet lejon të përdorësh. Për këtë arsye, është e nevojshme të gjendet
një mënyrë e re e ndërtimit të një ekonomie artificiale. Një çështje tjetër është ajo e mos
plotësimit të tre paradigmave bazë të agjentëve për qasjen e ACE ndaj studimit të
ekonomisë.
5.5. Përfundime
Pas një hulumtimi në hapat e ndërtimit të një simulimi me agjentë u vu re rëndësia e saj
në zhvillimin e modeleve me shumë agjentë. Kjo pjesë na jep një tablo të qartë të
mënyrave të zhvillimit të modeleve të tilla dhe për zgjedhjen e një metodike të caktuar
zhvillimi në bazë të karakteristikave të problemit simulues. Përgjithësisht është e udhës
të thuhet se përdorimi i metodikave të bazuara në UML gjatë modelimit të problemit
është e rëndësishme. I njëjti sugjerim vjen edhe nga punimet e ndryshme në zhvillimin
e ABM-ve, të trajtuara në pjesën e modelimit dhe zhvillimit të ABM-ve. Për të zgjedhur
hapat e duhura të ndërtimit është e nevojshme të njihen edhe mjetet e zhvillimit. Për
këtë arsye në hulumtimin e mjeteve ABM dhe pas krahasimeve të tyre u identifikuan
dy mjete me avantazhe të dukshme nga mjetet e tjera të kësaj kategorie. Ato janë mjeti
i zhvillimit Repast dhe NetLogo. Në të njëjtën vijë u hulumtua edhe në fushën e AOSE
për zhvillimin e MAS, ku u identifikuan disa çështje të rëndësishme për trajtim.
Elementi i parë që u trajtua ishin metodologjitë e orientuara ndaj agjentit ose siç njihen
81
ndryshe teknikat e modelimit. Në këtë pjesë u shqyrtuan rreth 7 metodologjitë më të
njohura të saj, ku u vu re se vetëm tre prej tyre mbështesin përdorimin e diagrameve
UML. Gjithashtu një rezultat interesant është se vetëm një metodologji mbështeste
zhvillimin me arkitekturën BDI. Pas hulumtimit në mjetet e zhvillimit MAS që lejojnë
ndërtimin e një mjedisi simulues dhe pas krahasimeve të tyre, u vu re se mjeti i
zhvillimit JaCaMo plotësonte të gjitha kushtet e të qenurit një mjet zhvillimi i
mundshëm për një model simulimi ABM. Ky mjet përdor të gjitha llojet e komunikimit
të agjentëve dhe lejon ndërtimin e agjentëve inteligjent dhe racional në bazë të
arkitekturës hibride të saj.
Në pjesën në vazhdim u diskutua mbi dy raste studimi të ndërtimit të një ekonomie
artificiale bazuar në dy mjete zhvillimi të ndryshme. Në këtë pjesë u vunë re disa
mangësi të këtyre modeleve simuluese dhe u sugjerua gjetja e një mënyre të re të
ndërtimit të një ekonomie artificiale që plotëson këto mangësi dhe plotëson edhe
kërkesat për ndërtimin e agjentëve inteligjent në bazë të paradigmave të përcaktuara në
ACE.
82
KAPITULLI 6: NJË ANALIZË KRAHASUESE TË ZHVILLIMIT TË DY
MODELEVE SIMULUESE TË BAZUARA NË AGJENT
6.1. Hyrje
Në këtë kapitull prezantohen dy punime simuluese me një natyrë të njëjtë problemi
specifik të ekonomisë artificiale. Punimi i parë simulues bazohet në punën fillestare
kërkimore të (Agolli & Hakrama, 2015), i cili trajton e problemin e kapacitetit
përpunues të terminalit detar të kontejnerëve në Durrës. Ky punim përdor një
metodologji zhvillimit të bazuar mbi mjetin NetLogo të propozuar si mjet i mundshëm
zhvillimi në kapitullin e pestë. Ndërsa punimi i dytë bazohet mbi një punë të ngjashme
kërkimore të (Hakrama & Tabaku, 2016), ku trajtohet problemi i menaxhimit të
magazinës. Në zgjidhjen e tij është përdorur një metodologji e bazuar mbi mjetin e
zhvillimit Jason. Të dyja metodologjitë e përdorura në këto punime, fillimisht japin një
përshkrim të problemeve duke u bazuar edhe mbi një hulumtim në literaturë dhe më
pas detajojnë modelin e simulimit. Në vazhdim jepen detaje mbi ndërtimin e simulimit
bazuar mbi mjetet përkatëse të zhvillimit dhe në fund jepen detaje mbi përdorimin e
këtyre modeleve të ndërtuara. Në fund ky kapitull mbyllet me një vlerësim të plotë
krahasues të këtyre metodologjive të përdorura për zhvillimin e këtyre modeleve
simuluese.
6.2. Modelimi dhe simulimi i terminalit detar me NetLogo
6.2.1 Terminali detar i kontejnerëve
Portet detare janë përcaktuar si vendqëndrime për transportim për të transferuar të mirat
nga një mënyrë transporti në tjetrën (Carbon & Martino, 2003). Meqenëse portet detare
janë pjesa kryesore e zinxhirit të furnizimit, kjo rrit përgjegjësinë e tyre për një
koordinim sa më të efektshëm të gjithë veprimeve për shmangien e vonesave dhe rritjen
e përgjithshme të rendimentit. Pjesa kryesore e portit detar është terminali i
kontejnerëve, i cili përcaktohet si vendi ku ndodh shpërndarja e kontejnerëve midis
mjeteve të transportit. Ky terminal konsiderohet si një sistem kompleks me veprime të
ndryshme. Veprimet e saj mund të grupohen në veprime kryesore dhe veprime
plotësuese. Në grupin e parë kemi veprimet që kryhen në kalatën buzë detit si edhe ato
që kryen në sheshin e terminalit. Ngarkimi dhe shkarkimi i ngarkesave nga anijet kryhet
nga veprimet në kalata. Nga ana tjetër veprimet që kryen në sheshin e magazinimit të
terminalit janë vendosja jashtë e kontejnerëve që eksportohen dhe marrja e kontejnerëve
që importohen nga kamionët. Veprime të tjera mbështetëse janë ruajtja e kontejnerëve,
hapja dhe mbyllja e kapakëve te hambarëve të anijes, riorganizimi apo zhvendosja
përfundimtare e kontejnerëve para se ngarkohen. Edhe pse veprimet plotësuese nuk
mund të shërbejnë si veprime bazë, numri i rritjes së këtyre veprimeve është një tregues
i mirë sepse tregon zhvillimin e infrastrukturës dhe dëshirën për t'iu përgjigjur nevojave
së konsumatorit.
83
Figura 6-1 Përshkrimi i veprimeve në sheshin e magazinimit
Rritja e numrit dhe e cilësisë të këtyre veprimeve ka një lidhje të drejtpërdrejtë me
rritjen e kënaqësisë dhe besimit të klientit. Kur kemi të bëjmë me burime të kufizuara
që mund të përdoren nga dy llojet e veprimeve duhet zgjedhur ajo që ka më prioritet.
Në këtë rast veprimet e kalatave kanë prioritetin maksimal, pasi kanë të bëjnë me
shkarkimin e ngarkesës së një anijeje.
Shqetësimi kryesor i lidhur me përdorimin në mënyrë efektive të terminalit të
kontejnerëve është kapaciteti. Bazuar mbi punimin e (Islam & Olsen, 2011), disa nga
faktorët fizik që ndikojnë mbi kapacitetin janë:
Sheshi magazinimit të kontejnerëve përcaktohet si vendi ku kontejnerët ruhen
përkohësisht. Në këtë shesh kryen veprimet e sheshit dhe rritja e sipërfaqes së
saj do ti bënte kontejnerët më lehtësisht të arritshëm nga vinçat.
Vinçat janë mjeti më i rëndësishëm. Veprimet e terminalit ndikohen nga numri,
madhësia dhe sistemi që këto vinça përdorin duke ulur kostot dhe rritur cilësinë
e shërbimit. Kjo do të ndihmonte në shërbimin e njëkohshëm të shumë
kamionëve dhe anijeve.
Forca punëtore është e rëndësishme për veprimet që nuk janë automatike në
terminalin e kontejnerëve.
Portat e portit ndikojnë në kapacitetin e terminalit pasi me rritjen e numrit të
tyre terminali mund të shkarkoj më tepër anije njëkohësisht. Kjo do të
përmirësonte shërbimin e terminalit dhe do të ulte kohën e pritjes së anijeve në
det.
Parametrat e trafikut ndikojnë në kapacitetin duke futur linja të reja apo duke
rregulluar oraret e trafikut.
Faktorë të tjerë përveç faktorëve fizik janë edhe faktorët menaxherial të cilët përbëhen
nga menaxhimi i aseteve, kostos dhe cilësisë së shërbimit. Problemi i terminalit detar
të kontejnerëve në Durrës është gjetja e një algoritmi optimal në procesin e dërgimit të
ngarkesave në kamionë me vinça. Një simulim të tillë fillestar të terminalit të
kontejnerëve është paraqitur nga (Huynh & Vidal, 2010). Modeli i terminalit të
kontejnerëve në Durrës u ndërtua mbi modelin e mësipërm duke bërë disa ndryshime
strukturore dhe algoritmike në përshtatje të problematikave të terminalit. Ky model i
bazuar në agjent u ndërtua duke përdorur mjetin zhvillues NetLogo.
84
6.2.2. Modeli i terminalit të kontejnerëve Durrës
Qëllimi i modelit është të masë efektin që kanë strategji të ndryshme shërbimi në kohën
mesatare të pritjes së kamionëve. Koha mesatare e pritjes llogaritet si shuma e kohës së
pritjes të gjithë kamionëve pjesëtuar me numrin e kamionëve që kanë mbaruar
shërbimin. Modeli paraqet kryesisht veprimet e transportit të kontejnerëve nga
pozicionet fillestare në shesh deri në kamionin që kërkon këtë kontejnerë. Modeli
paraqet tre lloje agjentësh, kontejnerët, kamionët dhe vinçat. Çdo agjent kontejner ka si
gjendje të tij vendndodhjen, grupin në të cilin bën pjesë dhe kamioni i cili e kërkon atë.
Agjentët kamionë mbajnë si gjendje të tyre, kohën e ardhjes në terminal, kohën e pritjes,
prioritetin e tyre dhe ngarkesën apo kontejnerin që kërkojnë. Ndërkohë që agjenti vinç
përcaktohet vetëm me gjendjen qëllim që ka të bëjë me qëllimin e lëvizjes që ai do
kryejë gjatë simulimit. Koha e simulimit do matet me hapa kohor.
Modeli i marrë në shqyrtim ka 6 sheshe kontejnerësh i rrethuar me rrugë rrotull këtyre
shesheve. Shpërndarja e kontejnerëve në shesh bëhet sipas një shpërndarje rastësore.
Kontejnerët janë tre llojesh, kontejnerë produktesh të ftohta, kontejnerë materiale
delikate dhe kontejnerë normal. Kontejnerët vendosen në shesh në tre rreshta paralel
dhe mund të kenë në lartësi prej katër kontejnerësh. Kamionët vijnë me kohë rastësore
sipas shpërndarjes së puasonit. Vinçat janë mjetet me të cilat kamionët shërbehen duke
lëvizur kontejnerët. Koha e ngarkimit të kontejnerit te kamioni është 60 njësi kohe,
ndërsa lëvizja e kontejnerëve brenda të njëjtit raft kontejnerësh është 40 njësi kohe.
Koha e lëvizjes së vinçit nga një kontejnerë në një tjetër është vetëm 6 njësi kohe. Koha
e lëvizjes së kamionëve nuk merret parasysh pasi është fikse dhe nuk ndikon në
shërbim. Vinçat janë mjete shumë të rëndësishëm por janë të kufizuara në numër. Gjatë
veprimeve në sheshet e kontejnerëve kamionët duhet të shkojnë te vinçi për tu ngarkuar
apo shkarkuar ngarkesën. Sapo të fillojë puna, veprimet e saj nuk mund të ndërpriten.
Radha e veprimeve që ndodh në terminalin e kontejnerëve në Durrës është ky:
1. Kamioni arrin në sheshin e terminalit
2. vinçi shkon te kamioni
3. nëse ngarkesa është në pozicionin e sipërm
a. kalo te hapi 5
4. nëse ngarkesa nuk është në pozicionin e sipërm
a. lëviz kontejnerin e sipërm
b. përsërit veprimin a derisa të jetë në pozicionin e sipërm ngarkesa
5. Vendos ngarkesën në kamion
Modeli merr parasysh edhe metodologjinë e shërbimit, i cili ndahet katër lloje të
ndryshme të trajtës algoritmike të njohura si algoritmi FCFS, me prioritet, CL dhe
rastësor. Në rastin e FCFS, kamionët shërbehen sipas radhës me të cilën ato arrijnë në
radhë, pra kamioni që vjen i pari është i pari që shërbehet nga vinçi. Ky nuk mund të
jetë algoritmi më i mirë pasi kamionët që vijnë më vonë duhet të presin një kohë të gjatë
për shkak të kohëve të shërbimit të ndryshme. Shtimi i numrit të vinçave mund të jetë
një zgjidhje për këtë rast. Në rastin e shërbimit me prioritet, prioriteti i vendoset klientit
në bazë të vëllimit të punës. Në rastin e shërbimit CL, vinçi zgjedh kamionin në bazë
të afërsisë dhe kohëzgjatjes së pritjes. Shërbimi rastësor i kamionëve nuk merr parasysh
asnjë rregull në zgjedhjen e kamionëve për shërbim.
Në modelin e simulimit, modeluesi duhet të ketë mundësinë e vendosjes të shpeshtisë
të arritjes së kamionëve në terminal. Gjithashtu ai duhet të zgjedhë edhe mënyrën e
shërbimit të kamionëve për të shqyrtuar mënyrat më të mira të menaxhimit të terminalit.
85
6.2.3. Ndërtimi i simulimit
Mjeti i zhvillimit të përdorur në këtë punim është NetLogo. Ai është një simulues i
ABM-ve i cili përdor një version të modifikuar të gjuhës së programimit Logo (Seth
Tisue, Uri Wilensky, 2004). NetLogo na ofron një laborator të thjeshtë i cili mund të
përdoret nga kërkuesit që duan të kryejnë simulime me agjent. Ai ofron një mjedis
grafik të gatshëm për krijimin e pamjes vizuale dhe lejon kontrollin e agjentëve
nëpërmjet saj (Wilensky & Evanston, 2011). Ai ka një librari shumë të madhe me
modele të gatshme dhe shembuj kodesh me të cilat një kërkues mund të fillojë të mësoj.
NetLogo përdoret nga shumë universitete në fushat e shkencave natyrore dhe ato
shoqërore.
NetLogo i trajton agjentët me emërtimin “turtles”, ndërsa vendndodhjet e tyre me
emërtimin “patches”. Është e rëndësishme të theksohet se simulimet e këtij mjeti
zhvillues e kanë të nevojshme që agjentët të kenë gjendje të vendndodhjes së tyre. Në
listën e mëposhtme tregohet kodi i inicializimit të agjentëve “turtle” në NetLogo.
Lista 6-1: Inicializimit të agjentëve në NetLogo
Vlen për tu theksuar se në gjuhën Logo, fillimisht krijohen lidhja e një agjenti me shumë
agjentë nëpërmjet komandës “breed”, dhe më vonë krijimi i atributeve vendoset në
emërtimin e agjentëve me prapashtesën “-own”. Atributet mund të jenë të çfarëdolloj
tipi, numra integer, double, string, lista apo edhe vetë funksione.
Në strukturën e përgjithshme të NetLogo-s, pasi kemi inicializuar agjentët dhe variablat
e tyre, përfshirë edhe variablat global që përfaqësojnë mjedisin e simulimit, thirret
funksioni “setup” për të inicializuar simulimin dhe variablat me vlerat përkatëse.
Fillimisht duhet thënë se çdo funksion në NetLogo përcaktohet me parashtesën “to”.
Funksioni “setup” ka si qëllim rikrijimin e simulimit sa herë që thirret. Në kodin e dhënë
në listën 6-2, tregohet se veprimi i parë është fshirja e gjithë pjesëve ekzistuese të
simulimit dhe më pas vendosja e vlerave të variablave global që në këtë rast
simbolizojnë mjedisin e simulimit. Vendosja e vlerave kryhet nëpërmjet komandës
“set”, e cila pasohet nga emri i variablit dhe vlera që ai do marrë. Vlera mund të
përcaktohet edhe si një listë, si në rastin e krijimit të rrugëve të kalimit. Një shembull
kodi jepet në rreshtin 18-19 të listës 6-2. Në rreshtin 17, paraqitet kodi i vendosjes së
ngjyrës gri të gjithë vendndodhjeve, ndërsa në rreshtin 20 paraqitet kodi i vendosjes së
ngjyrës zezë rrugës ku do kalojnë vinçat. Krijimi i agjentëve me vlera bëhet duke
thërritur parashtesën “create-“ para emrit të agjentëve dhe më pas jepet numri i këtyre
agjentëve “turtle”, bashkë me vlerat e gjendjeve të tyre. Në fund të funksionit “setup”,
bëhet edhe rifillimi i kohës simuluese. Duhet theksuar se kjo kohë simbolizohet me
fjalën kyç “ticks” dhe çdo “tick” është një njësi kohe.
1 breed [containers container] ;inicializimi i kontejnerëve
2 containers-own [ z-cor my-group my-stack my-row my-truck ]
3 breed [cranes crane] ;inicializimi i vinçave
4 cranes-own [ goal ] ;ka vetëm një atribut i cili do të jetë një list komandash
5 breed [trucks truck] ;inicializimi i kamionëve
6 trucks-own [ cargo my-group my-stack my-start-time waiting priority block ]
7 globals ;Inicializimi i variablave global
8 [ crane-road-xcors crane-road-ycors num-trucks-serviced total-wait-time
9 ticks-to-rehandle ticks-to-deliver ticks-to-move awt ]
86
Lista 6-2: Inicializimi me vlera të simulimit në NetLogo
Pas thirrjes së funksionit “setup”, i cili rikrijon kushtet e fillimit të simulimit, duhet
thirrur funksioni “go” i cili fillon simulimin e modelit. Në këtë rast, brenda këtij
funksioni vendosen të gjitha kushtet e duhura për funksionimin e plotë të simulimit.
Duhet thënë se në këtë pjesë krijohen kamionët të cilët vijnë në bazë të shpërndarjes së
puasonit mbi ndryshoren e marrë nga përdoruesi të shpeshtisë së ardhjes së kamionëve.
Lista 6-3 shfaq pjesë kodi nga ky funksion, në të shihet edhe mënyra e krijimit të
kamionëve. Çdo kamion ka një kohë fillestare që tregon momentin e ardhjes në
terminal, e cila përdoret më vonë për të përcaktuar edhe kohën e pritjes së tij. Gjithashtu
çdo kamion thërret një funksion të quajtur “goto-container” i cili e dërgon agjentin
kamion në vendndodhjen e kontejnerit. Ndër hapat e funksionit “go” është edhe
aktivizimi i funksionit “go-crane” nga çdo vinç në secilin hap kohor, i cili riformulon
qëllimin e vinçit në bazë të funksioneve të përcaktuara nga përdoruesi i simulimit. Në
përfundim të funksionit “go” bëhet edhe kalimi në hapin pasardhës kohor me anë të
fjalës kyç “tick”.
12 to setup
13 clear-all ;fshin gjithçka
14 set ticks-to-rehandle 40 ;vendosja e kohës me 40 njësi
15 set ticks-to-deliver 60 ;vendosja e kohës me 60 njësi
16 set ticks-to-move 6 ;ticks simbolizon nj[si kohe,
17 ask patches[ set pcolor 9 ] ; gjith[ skena merr ngjyrë gri
18 set crane-road-xcors (list 0 40 82)
19 set crane-road-ycors (list 0 15 5 10 )
20 ask patches with [ member? pycor crane-road-ycors ][ set pcolor 3]
21 ask patches with
22 [(pycor >= item 0 crane-road-ycors and pycor <= item 1 crane-road-ycors)
23 and (member? pxcor crane-road-xcors)]
24 [ set pcolor 3 ]
25 create-containers 300 [ ;krijon 300 kontejner
26 set z-cor 0
27 set shape "container"
28 set size 1
29 set my-truck nobody
30 find-random-empty-position
31 ]
32 create-cranes 1 [ ;krijon një vinç në sheshin e kontejnerëve
33 set shape "arrow"
34 set heading 0
35 set color blue
36 set goal []
37 set-my-position position-in-yard 0 0 -1
38 ]
.. ..
53 reset-ticks ;rifillon kohën
54 end
87
Lista 6-3: Logjika e hapave në funksionin “go”
Në funksionin e paraqitur në listën 6-4 shfaqet kodi i funksionit të mënyrës së shërbimit
CL, e veçanta e këtij funksioni është përdorimi i “to-report” që përfaqëson se funksioni
kthen një përgjigje si funksion. Logjika e kësaj mënyre shërbimi shfaqet në rreshtat 240
deri 242 ku zgjidhet kamioni me distancën më të afërt dhe më pas gjendet kamioni me
kohën më të gjatë të pritjes.
Lista 6-4: Logjika e zgjedhjes së kamionit me funksion shërbimi CL
6.2.4. Përdorimi i modelit të ndërtuar
Paraqitja e modelit të ndërtuar në NetLogo nga ana grafike është paraqitur në figurën
2. Në këtë figurë vërejmë, elementët grafik të cilat mund të krijohen lehtësisht
nëpërmjet mjetit zhvillues. Në ndërtimin grafik të modelit është përdorur pjesa e
ndërfaqes, e cila lejon krijimin e elementëve vizual, butonave dhe grafikëve. Kodi është
i shkruar në tab-in “Code” dhe përfaqëson logjikën e funksionimit të modelit. Në
modelin tonë kur përdoruesi shtyp butonin “Krijo”, ky buton krijon pamjen e modelit.
Në pamjen e modelit vinçat janë të shfaqur me shigjeta që lëvizin në rrugët me ngjyrë
gri të errët, ndërsa kamionët shfaqen në pozicionet afër kontejnerëve. Shtypja e butonit
“Vazhdo” fillon simulimin me një hap ndërsa butoni tjetër “Vazhdo” me shenjën e ciklit
kur shtypet e vazhdon simulimin pa ndalime.
79 to go
80 if ticks >= 14400 [ stop ]
.. ...
83 create-trucks (random-poisson trucks-per-tick) ;krijon kamionët
84 [
85 set shape "truck"
.. ...
90 set my-start-time ticks ;koha fillestare e kamionit
.. ...
96 goto-container
.. ...
102 if (any? other trucks-here) [
103 setxy 0 16
104 set waiting true
105 ]
.. ...
110 ]
112 ask cranes [go-crane]
113 tick
.. ...
120 end
238 to-report pick-goal-position-closest-longest
239 let range 40
240 let trucks-in-range trucks with
241 [not waiting and not block and distance-to-crane myself < range]
242 let chosen-truck min-one-of trucks-in-range [my-start-time]
243 if (chosen-truck = nobody) [ report nobody ]
244 ask chosen-truck [
245 set color yellow
246 set block true
247 ]
248 show chosen-truck
249 report [group-stack] of chosen-truck
250 end
88
Figura 6-2 Paraqitja e modelit simulues të terminalit
Përdoruesi mund të vendosë edhe parametrat e shpeshtisë së ardhjes të kamionëve, si
edhe mund të zgjedhë njërin nga funksionet e shërbimit të shpjeguara në pjesën e
modelimit. Të gjitha rezultatet e simulimit grumbullohen dhe shfaqen në grafikë. Këto
të dhëna mund të eksportohen nga grafikët në versionin excel dhe më pas mund të
përpunohen nga përdoruesit. Një veçori tjetër e NetLogo-s është paraqitja e simulimit
me tre dimensione si në figurën 6-3.
Figura 6-3 Paraqitja me tre dimensione e simulimit
Rezultatet mund të merren pasi është ekzekutuar disa herë simulimi me parametra të
ndryshëm të mënyrave të shërbimit, si edhe me numrin e vendosur të ardhjeve të
kamionëve në terminal. Në rastin e marrë parasysh për terminalin e kontejnerëve në
Durrës u vendos një normë prej 2 kamionë në 60 njësi kohore. Rezultatet
eksperimentale për funksionet e ndryshme të shërbimit për një periudhë prej 5000 njësi
kohe paraqiten në tabelën 6-1.
Tabela 6-1: Rezultatet për çdo funksion shërbimi dhe vinça
Funksioni i
shërbimit
Koha mesatare e pritjes aktive apo shërbimit të kamionit
(njësi kohore)
Një vinç Dy vinça Tre vinça
Pritja Shërbimi Pritja Shërbimi Pritja Shërbimi
Rastësor 2310 1380 1540 881 1042 560
Prioritet 2610 912 2440 436 1834 348
FCFS 1880 1620 1020 834 431 471
CL 1732 1703 742 836 284 363
89
Në bazë të rezultateve të mësipërme mund të themi se metoda e shërbimit CL punon
më mirë kur kemi dy apo më tepër vinça, ndërkohë që metoda me prioritet ka kohë
pritjeje më të madhe se çdo metodë tjetër në të gjitha rastet. Duhet të theksohet se koha
mesatare e pritjes aktive është një parametër që tregon pritjen e kamionëve përfshirë
kohën e pritjes së kamionëve që nuk janë shërbyer ende deri në atë moment. Koha
mesatare e shërbimit tregon kohën e pritjes së kamionëve të shërbyer bashkë me kohën
e shërbimit nga vinçi.
6.3. Modelimi dhe ndërtimi i një magazine virtuale me Jason
Në këtë pjesë paraqitet një sistem i ri multi-agjent si zgjidhje e problemit të magazinës.
Në seksionin e mëposhtëm paraqitet një hulumtim në literaturë i zgjidhjeve që
ekzistojnë për problemin në fjalë dhe për mjetet zhvilluese të përdorura për simulimin
e tij. Më pas në seksionin pasardhës, prezantohet modeli konceptual i simulimit të tij
dhe pas tij jepen detaje mbi ndërtimin e kryer me anë të mjetit zhvillues Jason. Në
seksionin e fundit jepen disa përfundime të punës së prezantuar në këtë nënkapitull.
6.3.1. Hulumtimi i literaturës për problemin e magazinës
Në literaturë gjenden shumë kontribute teorike dhe studime të cilat prezantojnë zgjidhje
për menaxhimin logjistik të magazinës. Struktura e magazinës përcakton edhe
departamentet e saj funksionalë, për shembull mënyra se si do të mblidhen urdhrat e
porosive. Planifikohet të lihen jashtë ndryshueshmëria dhe mosbalancimi në rrjedhën e
materialeve që shkaktohet nga faktorë të ndryshëm si kërkesa në sezon, konsolidimi i
artikujve dhe caktimi i prodhimit (Gu, Goetschalckx, & McGinnis, 2007).
Modelet e simulimit të problemit të magazinës nevojiten më së shumti në strategjinë e
planifikimit dhe ndryshimet strukturale të sistemit. Magazinat sipas punimit të (Liong
& Loo, 2009) operojnë në të shumtën e rasteve si qendra shpërndarjeje që kanë të bëjnë
magazinimin e mallrave që do shiten ose shpërndahen më vonë. Bazuar në punimin e
mëvonshëm të (Gu, Goetschalckx, & McGinnis, 2010), rendimenti i procedurave të
magazinës përcaktohet mbi bazën e veprimeve të saj si marrja dërgesave, magazinimi,
marrja e urdhrave dhe ngarkimi, ndërsa projektimi i magazinës varet nga strategjia e
veprimeve të përdorura, përmasat, paraqitja e departamentit dhe zgjedhja e duhur e
pajisjeve. Sipas punimit të (Onggo, Gunal, & Maden, 2008) janë po këto kërkesa ato
që do ndikojnë në modelin konceptual i cili do përdoret për të simuluar mjedisin e
magazinës.
Në përpjekje për të modeluar një mjedis magazine janë zbatuar metoda të ndryshme
simulimi. Në punimin e (Nance, 1993) përcaktohen tre lloje simulimi të mënyrës
klasike, simulimi me ngjarje diskrete, simulimi i vazhdueshëm dhe simulimi Monte
Carlo. Simulimi i vazhdueshëm përdor modele me ekuacione, ndërkohë simulimi
Monte Carlo përdor modele probabilitare që përsëritën, për këtë arsye ky lloj simulimi
njihet ndryshe si “metoda e provave të përsëritura”. Simulimi me ngjarje diskrete
modelon një sistem fizik duke përdorur modele matematikore apo logjike të tij në
momente të caktuara të kohës së simulimit. Në punimin e (Detty & Yingling, 2000)
deklarohet se ky lloj simulimi ka qenë qasja më shumë e përdorur për modelimin e
magazinës. Në këtë mënyrë, një studim shumë i dobishëm i simulimit të sistemeve
ngarkim-shkarkim të magazinës i prezantuar në punimin e (Liong & Loo, 2009), është
përgatitur me ndihmën e mjetit zhvillues ARENA i cili përdor simulimin e ngjarjeve
diskrete. Gjithashtu në punimin e (Ceylan, Gunal, & Bruzzone, 2012) tregohet një
simulim tjetër i magazinës i ndërtuar duke përdorur libraritë e gjuhës së programimit
90
C#, SharpSim dhe WareLib, ku ngjarjet që ndodhin në sistem ekzekutohen dhe zgjidhen
në vazhdimësi me periudha kohore diskrete.
Në punimin e (Bowersox, Closs, & Cooper, 2002) deklarohet se problemi i magazinës
është një term i përgjithshëm që përfshin çfarëdolloj logjistike të cilat kanë të bëjë me
magazinën si vendosja dhe shpërndarja e artikujve, pikat e furnizimit dhe daljes, llojet
e rafteve, mënyra e vendosjes, drejtimi i llojeve të ndryshme të transportuesve. Në një
mjedis tipik magazine disa prej njësive të saj komunikojnë me njëri-tjetrin herë pas
here. Si shembull mund të marrim transportuesit e njësive që njoftohen nga
koordinatorët se kush do të transportojë furnizimet e ardhura për në destinacionin e
paracaktuar, pas të cilës transportuesi do të përcaktojë rrugën që do ndërmarrë dhe raftin
ku do vendoset malli. Si pasojë, është e logjikshme të menduarit e problemit të
magazinës si një sistem multi-agjent i cili ka një numër agjentësh të cilët
bashkëveprojnë me njëri-tjetrin duke shkëmbyer mesazhe.
Zgjidhja e dhënë për këtë problem është simulimi i një magazine virtuale me MAS. Kjo
qasje do të jetë e ngjashme me ABM-të, ku në këtë rast kërkesa e simulimit është të
caktohen në mënyrë të saktë entitetet që do të jenë në simulim, specifikimet,
specializimet dhe sjelljet e tyre. Zgjidhja jonë ndërtohet nëpërmjet përdorimit të Jason,
i cili përdor një arkitekturë me besime, dëshira dhe synime. Në zgjidhjen tonë, besimet
janë perceptime të mjedisit simulues, ngjarje të mëparshme ose agjentë të tjerë që
agjenti ka fituar përgjatë jetës së tij. Dëshirat janë të gjitha vendimet e mundshme të
degëzimit të besimit të agjentëve, grupi i të gjithë veprimeve që agjenti mund të marrë
në varësi të ndikimit të agjentëve të tjerë ose mjedisit. Synimet janë planet e
menjëhershme që agjenti do të ekzekutojë. BDI është një model dinamik i cili i
mundëson agjentëve një nivel të lartë studimi dhe sjellje komplekse të bazuara në
përvojat e tij.
6.3.2. Modeli konceptual i simulimit
Çështjet kryesore që merret problemi i magazinës ka lidhje me saktësinë dhe
vendndodhjen e inventarit, skema e magazinës dhe përdorimi i hapësirës, optimizimi i
zgjedhjes dhe proceset e tepërta. Në këtë seksion do të japim një analizë të plotë dhe të
detajuar të agjentëve dhe mjedisit të cilët do të vendosen në simulator për të simuluar
magazinën.
Agjentët grupohen në dy nivele: niveli i menaxhimit dhe niveli i transportit. Mjedisi do
të jetë hapësira e një madhësie të caktuar të magazinës, ku do të ketë një hapësirë
ngarkimi, një zonë dërgimi dhe konfigurimet e ndryshme të rafteve. Skema e magazinës
është zgjedhur para fillimit të simulimit. Niveli i menaxhimit është i përbërë nga:
agjenti koordinator, i cili mbikëqyr urdhrat e artikujve, kërkesat për artikuj,
shpërndarjen e rafteve dhe vendndodhjet e artikujve;
agjenti furnitor, i cili ruan artikujt që vijnë dhe lëshon kërkesa për artikuj të rinj
tek agjentët e transportit të furnitorëve;
agjenti dispeçer, i cili është njësia përgjegjëse për largimin e artikujve dhe
dërgimin e kërkesave tek agjentët e transportit të dërgimit.
Ka dy lloje të agjentëve të transportit: punonjësit dhe pirunët, dhe çdo njësie transporti
i caktohet një nga dy grupet e sjelljeve: paketues ose ekstraktues. Një transportues
paketues do merret me artikujt që vijnë nga furnitori për tek rafti i përcaktuar për
artikullin. Një transportues ekstraktues do merret me artikujt që nxirren nga raftet për
në hapësirën e dispeçerit sipas kërkesave të agjentit dispeçer. Transportuesve i
91
përcaktohen pozicionet e pushimit në inicializimin e mjedisit. Paketuesit fillojnë afër
furnitorit, dhe ekstraktuesit janë afër me dispeçerin. Të dy paketuesit dhe ekstraktuesit
mund të jenë njerëz ose makineri pirunë. Ndryshimi midis të dyve është në sasinë e
ngarkesës që secili nga këto agjentë mund të mbajnë.
Figura 6-4 Diagrami i aktiviteteve suimlejn të furnizimit me artikull
Në figurën 6-4 shfaqet një diagram i aktiviteteve suimlejn ku paraqitet rrjedha e
veprimeve midis koordinatorit, furnitorit dhe agjentit paketues. Roli i agjentit
koordinues është i njëjtë me njësinë e informacionit qendror në mjedis. Koordinuesi do
të vendosë urdhra të reja për artikujt, pas së cilave do të njoftojë furnitorin në lidhje me
parametrat e artikujve të rinj. Urdhri për një artikull të ri do të merret nga një skedar
elektronik urdhrash i krijuar nga përdoruesi i simulatorit. Furnitorit, pas vendosjes në
radhë të artikullit të kërkuar, do të lajmëroj njësit paketuese për parametrat e artikullit
të ri si pesha dhe emri i artikullit. Paketuesit që munden të përgjigjen dhe të mbajnë
artikullin do të dërgojë një mesazh për zënien e artikullit në mënyrë që të parandalohen
konflikte me paketuesit e tjera përgjatë ngarkimit të artikullit. Furnitori do të miratojë
paketuesin e parë që përgjigjet, për të dërguar artikullin dhe do të mohojë kërkesat e
rezervimit të artikullit nga paketuesit e tjerë. Ky paketues do të shkojë te vendi i
ngarkimit, do të ngarkojë artikullin dhe më pas do të pyesë koordinatorin për
vendndodhjen e artikullit. Koordinatori do të kontrollojë “besimet” e tij për
92
vendndodhjen e artikullit. Nëse ky artikull ka qenë i porositur më parë, atëherë një raft
i plotë është i përcaktuar tashmë për të. Nëse ka pak hapësirë, koordinatori vendos të
zgjerojë zonën e përcaktuar për këtë artikull. Pas përpjekjes për një zgjerim,
koordinatori do ti japë paketuesit vendndodhjen e raftit ku artikulli do të futet. Paketuesi
do ta dërgojë tek rafti, do e ruajë artikullin në atë vend dhe më pas do rikthehet në
pozicionin fillestar ku pret urdhra të rinj.
Përgjatë të njëjtës kohë, agjenti koordinues do të përditësoj bazën e brendshme të
dhënave, i cili do të ketë informacionin e artikujve, duke përfshirë peshën dhe
pozicionin e tyre në raft. Kur një artikull kërkohet për një veprim nxjerrjeje nga
magazina, koordinatori do të njoftojë agjentin dispeçer. Ky agjent do të transmetojë
parametrat e artikullit te ekstraktuesit. Ata do të kthejnë përgjigje nëse mund ta mbajnë
artikullin ose jo. Nëse mund ta mbajnë, ata do të dërgojnë një mesazh për zënien e
artikullit te dispeçeri. Dispeçeri do të rezervojë artikullin në bazë të radhës së kërkesës,
pra ku i pari që kërkon është i pari që shërbehet. Ai i dërgon një mesazh konfirmimi
bashkë me vendndodhjen e raftit ekstraktuesit të parë që është përgjigjur, ndërkohë që
kërkesat e ekstraktuesve të tjerë për artikullin do të refuzohen. Pas kësaj ekstraktuesi
lëviz duke mbajtur artikullin tek rafti, e vendos aty artikullin, dhe shkon tek zona e
shkarkimit të magazinës ku edhe rikthehet në pozicionin e pushimit. Procedura e
rezervimit të mesazhit implementohet për të shmangur konfliktet gjatë marrjes së
artikujve. Përderisa të gjitha kërkesat nga furnitori ose dispeçeri lajmërojnë të gjithë
transportuesit e përshtatshëm, ka një nevojë për të sinkronizuar lëvizjen e këtyre
transportuesve. Për këtë arsye, agjentët furnitor dhe dispeçer shërbejnë si drejtues për
transportuesit, duke vendosur se cili prej tyre do të zgjidhet për transportin e artikujve.
Në figurën 6-5 paraqitet diagrami sekuencë për nxjerrjen e artikujve nga magazina.
Figura 6-5 Diagrami i sekuencave për nxjerrjen e artikujve
Një parametër që duhet të matet është koha që artikujt do të harxhojnë në zonën e
ngarkimit. Kjo shërben për të matur efikasitetin e shkaktuar nga përdorimi i një zone të
vetme të ngarkimit. Ky aplikim do të masë edhe shkallën e shfrytëzimit të secilit
transportues në mënyrë që të llogaritet kostoja e një transportuesi të vetëm dhe të
skemës transportuese, që tregon nëse përdorimi i numrit të dhënë të transportuesve
është efektiv apo jo. Këto llogaritje do të përdoren për të përcaktuar efektivitetin e
93
përzgjedhjes së rregullimit të transportuesve në lidhje me madhësinë dhe skemën e
magazinës.
6.3.3. Ndërtimi i simulatorit të magazinës virtuale
Ndërtimi i simulatorit të magazinës u realizua duke kombinuar disa teknologji
ekzistuese. Një strukturë e përgjithshme e simulatorit dhe mënyrës se si ai funksionon
paraqitet në figurën 6-6, të shfaqur më poshtë.
Figura 6-6 Skema strukturore e simulatorit të magazinës virtuale
Simulimi bazohet mbi dy pjesë kryesore, mjedisi i cili bazohet në mjetin e zhvillimit
Jason dhe pjesa e pamjes së përdoruesit e njohur si JavaFX Model-View-Controller
(MVC). JavaFX MVC është një aplikacion i programuar në gjuhën Java që përdor
efekte të ndërfaqes grafike, ajo ndërvepron me përdoruesin me anë të një dritareje të
programuar nga ne. Të dyja këto pjesë janë të lidhura me njëra tjetrën me anë të një
ndërfaqeje e cila njihet si metoda e thirrjes në distancë (“Remote Method Invocation” -
RMI) që shërben si një ndërfaqe komunikuese e këtyre dy mjeteve. RMI është një
metodë e njohur për komunikimin e objekteve midis aplikacioneve sidomos në
aplikacionet e shpërndara (Eberhard & Tripathi, 2007). Jason është një mjedis zhvillimi
fleksibël në sajë të zhvillimit të tij mbi mjedisin e programimit Java dhe së bashku me
përdorimin e RMI, është e mundur kombinimi i përfitimeve të reja të Java dhe JavaFX
për të implementuar magazinën virtual. Duhet theksuar se mjedisi i zhvillimit Jason
nuk mund ka një ndërfaqe grafike që paraqet simulimin, për këtë arsye ne prezantojmë
me detaje ndërtimin e këtij simulatori. Në pjesët e mëposhtme do të tregohen këto
modulet përbërëse bashkë me sistemet e përdorura për ndërtimin e magazinës. Njësitë
bazë të ndërtimit janë katër module komunikuese, të cilat janë:
konfigurimet e mjedisit MAS
ndërfaqja e RMI
sjelljet e agjentëve të ndërtuara me gjuhën Jason
modeli dhe pamja
6.3.3.1. Konfigurimet e mjedisit MAS
Konfigurimet e mjedisit MAS lexohen nëpërmjet një klase “parser” Java që është e
ndërlidhur me mjedisin Jason. Kjo klasë pasi lexon konfigurimet e shkruara në dosjen
94
“warehouse.mas2j”, përdoret për të inicializuar mjedisin dhe agjentët përkatës të
simulimit. Lista 6-5 tregon konfigurimet kryesore të simulimit tonë, në të cilin ne
përdorim një infrastrukturë MAS qendrore, një mjedis të dhënë dhe numri i agjentëve i
ndarë sipas llojeve të ndryshme. Për secilin nga llojet e agjentëve duhet të ekzistojë
gjithashtu një dosje Jason “.asl”, e cila përmban besimet, rregullat, qëllimet dhe planet
e agjentëve.
Lista 6-5: Konfigurimet bazë të MAS për simulimin e magazinës
Një element tjetër i rëndësishëm është objekti WareEnv i cili programohet në gjuhën
Java dhe shërben si ndërlidhës midis MAS dhe komponentit RMI. Ky objekt luan rolin
e krijuesit të mjedisit MAS duke marrë atributet e klasës “parser” dhe ka nën vëzhgim
veprimet e agjentëve që komunikojnë me të.
6.3.3.2. Ndërfaqja RMI
Në mënyrë që të lejohet komunikimi i simulimit në Jason me paraqitjen grafike në
JavaFX, është e nevojshme të përdoren klasat Remote Invocation Method (RMI) në një
qasje klient-server, ku objekti WareEnv vepron si klient dhe objekti Server vepron si
server. RMI është një ndërfaqe aplikacioni e programueshme në të cilën klienti është
në gjendje të thërrasë objekte nga një aplikacion apo server. Arsyeja e përdorimit të
RMI-së është në të pasurin e një lidhjeje aktive gjatë gjithë kohës me që na mundëson
kryerjen e veprimeve në anën vizuale të aplikacionit të ndërtuar me JavaFX për
simulimin.
Çdo klasë e aplikacionit JavaFX krijon një proces të veçantë në JVM, këto procese janë
të izoluara dhe të pandryshueshme, që do të thotë që elementet grafikë nuk mund të
modifikohen duhet të hapen jashtë aplikacionit. Me përdorimin e ndërfaqes RMI, kjo
pengesë shmanget. Mjedisi parsues me anë të objektit WareEnv bën një kërkesë te
objekti FXServer që është ndërfaqja prind e objektit Server. Në këto kërkesa
mundësohet komunikimi i detajeve të simulimit si lëvizjet dhe veprimet e agjentëve,
parametrat e artikujve që vijnë apo dalin nga magazina, apo edhe modifikimet e
shpërndarjes së rafteve nga koordinatori. Objekti Server njihet nga aplikacioni JavaFX
si objekt i saj dhe si rrjedhim ky objekt ka privilegje në objektet e aplikacionit të
ndërtuar me JavaFX. Lidhja me një server që përdor RMI kryhet nëpërmjet portave.
Kështu që përpara se të kemi një lidhje komunikimi, porta duhet të jetë e lidhur me
emrin e serverit në fjalë, si në shembullin e mëposhtëm:
Registry reg = LocateRegistry.createRegistry(3674);
reg.rebind("masfx", new Server());
Në këtë moment objekti WareEnv do të lidhet me këtë server duke kërkuar për emrin e
specifikuar në portën e vendosur për komunikim, si më poshtë:
1 MAS warehouse {
2 infrastructure: Centralise
3 environment: warehouse.WareEnv("warehouse.mas2j",30,30)
4 agents:
5 coordinator;
6 dispatcher;
7 forkExit ;
8 humanExit #2;
9 supplier;
10 human #5 ;
11 forklift #2 ;
12 aslSourcePath: "src/asl";
13 }
95
server = (FXServer) Naming.lookup("rmi://localhost:3674/masfx");
Pas implementimit të këtyre kodeve në të objektet WareEnv dhe Server, komunikimi
mund të vazhdohet duke e bërë të mundur komunikimin midis pjesës pamore të
aplikacionit në JavaFX dhe simulatorit MAS në Jason. Në këtë moment, objekti Server
është në gjendje të kryej leximin dhe shkrimin e dosjeve si dhe të ndryshojë bazën e të
dhënave sa herë që është e nevojshme nga agjentët e simulimit.
6.3.3.3. Sjelljet e agjentëve
Sjelljet përcaktohen me një gjuhë logjike e cila interpretohet nga mjedisi i zhvillimit
Jason. Ky mjedis zhvillimi bazohet mbi arkitekturën BDI të agjentit, pra ku agjenti ka
njohuri të brendshme të ruajtura si besime, dëshira të cilat paraqiten me anë të planeve
dhe synime që arrihen nëpërmjet zbatimit të këtyre planeve. Fillimisht, një agjent fillon
me disa besime fillestare dhe më pas ato zhvillohen nëpërmjet zbatimit të planeve apo
komunikimeve me njëri tjetrin. Çdo agjent ka gjithashtu një bashkësi planesh bazë të
cilat ndryshojnë në varësi të besimeve që ato mund të kenë. Gjithashtu në zbatim të
qëllimeve këto plane shfaqin sjelljet e ndryshme të agjentëve sipas rasteve, si edhe
mund të modifikohen nëpërmjet komunikimit me njëri-tjetrin. Struktura e kodit Jason
të agjentit ka tre ndarje të cilat që zakonisht vendosen njëra pas tjetrës. Fillimisht
shkruhen besimet fillestare, pastaj synimi fillestar i agjentit apo siç njihet ndryshe
aktivizuesi dhe në fund bashkësia e planeve të këtij agjenti.
Lista 6-6: Kryerja e veprimeve nga agjenti koordinator
Në përgjithësi mund të themi se çdo agjent ka të paktën një synim dhe një besim, por
në shumë raste ndodh që vetëm një agjent ka një synim që mund të jetë aktivizues i
planeve të tij apo edhe të agjentëve të tjerë. Një rast i tillë në shembullin e simulimit të
magazinës virtuale, jepet në listën 6-6. Në këtë listë jepet një pjesë kodi i agjentit
koordinator dhe siç mund të vërejmë ky agjent fillimisht nuk ka besime fillestare dhe
ka vetëm një synim i cili është “!order”. Ky synim vepron si aktivizues i të gjithë
veprimeve të simulimit me multi-agjent në simulatorin tonë. Duhet theksuar se në
gjuhën e përdorur në mjetin e zhvillimit Jason, shenja “!” tregon një synim që duhet të
arrihet duke aktivizuar planin përkatës me të njëjtin emër në bashkësinë e planeve të
agjentit që ka edhe të njëjta besime si agjenti. Në rastin e mësipërm plani i “!order” që
aktivizohet ndodhet në rreshtin 3, siç e vërejmë plani në këtë rast veçohet me shenjën
“+” përpara emrit dhe ndiqet nga shenja “:” bashkë me një testues besimesh të agjentit.
Më pas plani vazhdon me një tjetër shenjë “<-“ e cila simbolizon fillimin e komandave
1 !order.
2 /* Planet e agjentit koordinator */
3 +!order: not no_more_items
4 <- warehouse.nextItem(a,I);
5 warehouse.nextItemWeight(a,W);
6 +itemWeight(I,W);
7 .send(dispatcher,tell,itemWeight(W,I));//Mesazh që u shtua artikulli
8 .send(supplier,achieve,addItem(W,I));//Qëllim për të shtuar artikull
9 .
10 +!order: no_more_items <- .print("No more items").
11 -!order: true<- .at("now +4 s","+!order").
12 +!transport(Item)[source(Ag)]: location(Item,Loc)
13 <- invade(Item,Loc);
14 .send(Ag,achieve,transportItem(Loc)).
15 +!transport(Item)[source(Ag)]: not location(Item,_)
16 <- !shelf_occupy(Item,Ag).
17 -!transport(Item)[source(Ag)] : true <- .send(Ag,achieve,unset).
18 +!shelf_occupy(Item,Ag) : true
19 <- try(Item);
20 +finished;
21 ?location(Item,Loc);
22 .send(Ag,achieve,transportItem(Loc)).
23 -!shelf_occupy(Item,Ag) : true <- !shelf_occupy(Item,Ag).
24 +!dispatch(Item,Weight):true
25 <- .send(dispatcher,achieve,requestItem(Item,Weight)).
26 +!newItem(Item,Weight).
27 +!newItem(Item,Weight).
28 +!requestItem(Item,Weight).
29 -!requestItem(Weight,Item):true <- .print("Cannot add Item").
30 +!findItemWeight(Item):true
31 <- ?itemWeight(Item,W);
32 .send(dispatcher,tell,itemWeight(W,Item)).
96
që ekzekutohen brenda planit. Në rastin tonë, rreshti pasardhës thërret një objekt të
veprimeve të brendshme të simulatorit që është programuar në Java dhe merr prej tij
informacione rreth urdhrit për hyrjen e një artikulli të ri. Pas marrjes së këtyre
informacioneve, nëpërmjet kodeve në rreshtat 4 dhe 5, ai shton në listën e besimeve
këtë artikull. Kjo është e mundur me anë të shprehjes në rreshtin e 6, në të cilën vendoset
shenja “+” përpara që simbolizon shtimin e një besimi të brendshëm për agjentin. Pas
kësaj agjenti koordinator dërgon dy mesazhe, në të parin i tregon agjentit dispeçer që u
shtua ky artikull i cili shtohet në listën e besimeve të brendshme të këtij agjenti, dhe në
mesazhin pasardhës dërgohet një mesazh për arritje agjentit furnitor i cili aktivizon më
pas planet përkatëse për arritjen e tij në bazë të besimeve të tij. Dy planet në vazhdim,
tregojnë dy situata të ndryshme ku në të parin agjenti beson se nuk ka më urdhra dhe
shfaq mesazhin që nuk ka më artikuj. Ndërsa plani i dytë është një plan në rast dështimi
dhe simbolizohet nga parashtesa “-“, në këtë rast agjenti i ridërgon vetes një mesazh
arritjeje pas një kohe të caktuar. Kodet në rreshtat në vazhdim janë plane që aktivizohen
nga mesazh arritjet e dërguara nga agjentët e tjerë.
Lista 6-7: Besimet dhe sjelljet e agjentit paketues pirun
Në listën 6-7 paraqitet një pjesë kodi e agjentit paketues që përfshin disa nga sjelljet
kryesore të këtij agjenti. Agjenti iniciohet me një besim mbi peshën maksimale që mund
të mbajë dhe nuk ka ndonjë synim fillestar në simulim. Planet e tij aktivizohen vetëm
me mesazhe arritjeje nga agjenti furnitor dhe agjenti koordinator. Në këtë rast, nëse
vazhdojmë me logjikën e dërgimit të mesazhit për arritje agjentit furnitor, është
pikërisht ky i fundit që njofton agjentët paketues për ardhjen e një artikulli të ri. Agjenti
paketues në këtë moment zgjedh planin e duhur në bazë të besimeve që ka rreth peshës
dhe mbajtjes së një produkti tjetër. Rreshtat 3 deri 5 shfaqin planin që aktivizohet në
rastin kur agjenti nuk është duke mbajtur një artikull dhe pesha e artikullit të ri është
më e vogël se pesha që mund të mbajë ky agjent. Në këtë plan agjentit i shtohet një
1 weightCanCarry(500). //Besimi i peshës që mund të mbaj agjenti
2 /* Planet e Agjentit Paketues */
3 +!newItem(Wgt,Item)[source(A)]:not carrying& wgtCanCarry(W)& Wgt <= W
4 <- +waitingResponse;
5 .send(A,achieve,reserveItem(Item)).
6 +!newItem(Wgt,Item)[source(A)]: carrying
7 <- .wait("-carrying");
8 !newItem(Weight,Item)[source(A)].
9 +!newItem(Wgt,Item): wgtCanCarry(W) & Wgt > W
10 <- .print("Item too heavy to carry").
11 +!newItem(Wgt,Item): waitingResponse <- .print("Cannot respond").
12 -!newItem(Wgt,Item) :true <- .print("Cannot Carry item").
13 +!itemLocation(Item): not stop
14 <- .send(coordinator,achieve,transport(Item)).
15 +!transportItem(Loc):not stop
16 <- !go(Loc); drop(Loc);
17 -carrying; -waitingResponse;
18 !go(restArea).
19 -!transportItem(Loc):true <- .print("Error during transport").
20 +!go(Place) : not staying_in(Place) <- move_to(Place).
21 +!go(Place) : staying_in(Place) <- true.
22 -!go(Place) : true <- .print("Error in moving").
23 +!carryItem(Item): not carrying
24 <- +carrying;
25 !go(supplier);
26 get(Item);
27 .send(supplier,achieve,notreserved(Item));
28 !itemLocation(Item).
29 -!carryItem(Item) : true <- .print("ERROR carrying item").
97
besim që është duke pritur për përgjigje dhe i dërgohet një mesazh arritjeje për
rezervimin e artikullit te dërguesi që në këtë rast është agjenti furnitor. Plani pasardhës
me të njëjtin emër aktivizohet në rastet kur agjenti është duke mbajtur një artikull tjetër
dhe në këtë rast agjenti pret derisa të mbarojë punë dhe thërret përsëri të njëjtin plan.
Në mënyrë të ngjashme gjuha e mjetit të zhvillimit Jason lejon dy ose më shumë plane
me të njëjtin emër që zbatohen në bazë të besimeve që ato kanë. Në planet në vazhdim
agjenti paketues vlerëson se pesha e artikullit është më e madhe dhe deklaron se nuk
mund ta mbajë atë, sikurse edhe rasti kur agjenti është i zënë për tu përgjigjur në atë
moment. Si në çdo rast tjetër kemi edhe një plan në rast dështimi që aktivizohet në rastet
e dështimit të planeve me të njëjtin emër të shpjeguara më sipër.
Lista 6-8: Logjika e kryerjes së veprimeve me anë të klasës “WareEnv.java”
Në vazhdimësi të logjikës së shpjeguar pas dërgimit të mesazhit arritjeje për rezervimin
e artikullit te agjenti furnitor, ky i fundit i dërgon një mesazh arritjeje për mbajtjen e
artikullit. Ky mesazh aktivizon planin “+!carryItem(Item)”, i cili nëse nuk është duke
mbajtur artikull tjetër fillon me listën e komandave. Në këtë listë fillimisht shtohet
besimi që agjenti është duke mbajtur një artikull dhe më vonë aktivizon planin
“go(supplier)” të vetë agjentit si një qëllim më vete. Ky plan në rastin kur besimi i
vendndodhjes së agjentit nuk tregon në vendin e kërkuar atëherë thërret një funksion të
mjedisit “move_to” për të lëvizur agjentin në zonën e furnizimit.
Ky proces kryhet nëpërmjet thirrjes së metodës “executeAction()” në objektin e
mjedisit WareEnv. Paraqitja e kësaj metode tregohet në listën 6-8, dhe siç vërehet
veprimi “move_to” gjendet në listën e funksioneve kushte në rreshtat 101-103. Në këtë
pjesë kodi tregohet thërritja e variablit objekt server i cili është i llojit FXServer, pjesë
e komponentit RMI, që komunikon më pas me pamjen e aplikacionit të ndërtuar me
JavaFX. Pra në këtë mënyrë ky veprim reflektohet edhe në pamjen grafike të simulimit.
Pas lëvizjes së agjentit, ekzekutohet komanda funksion i mjedisit “get(Item)”, i cili bën
edhe paraqitjen grafike të marrjes së artikullit në simulator. Më pas agjenti dërgon një
mesazh arritjeje te furnitori për të hequr rezervimin e artikullit, dhe më tutje agjenti
aktivizon një qëllim tjetër për gjetjen e vendndodhjes së artikullit. Në planin që
95 public boolean executeAction(String ag, Structure action) {
96 boolean result = false;
97 try {
98 if (action.getFunctor().equals("get")) {
99 System.out.println("[" +ag+ "] getting: " + action.getTerm(0).toString());
100 result = server.getItem(ag , action.getTerm(0).toString());
101 } else if (action.getFunctor().equals("move_to")) {
102 System.out.println("[" +ag+ "] going to: "+action.getTerm(0).toString());
103 result = server.move(ag , action.getTerm(0).toString());
104 } else if (action.getFunctor().equals("drop")) {
105 result = server.dropItem(ag , action.getTerm(0).toString());
106 } else if (action.getFunctor().equals("addItem")) {
107 System.out.println("[" + ag + "] adding: " + action.getTerm(1).toString());
108 int queue = server.addItem(action.getTerm(0).toString(),
109 action.getTerm(1).toString());
110 addPercept("supplier", no_more);
111 itemCounter--;
112 if (itemCounter <= 0) {
113 addPercept("coordinator",Literal.parseLiteral(
114 "itemQueue("+action.getTerm(1).toString()+","+queue+")"));
115 }
116 result = true;
... ...
118 updatePercepts();
119 } catch (Exception e) { e.printStackTrace(); }
120 return result;
121 }
98
aktivizohet për këtë rast, i paraqitur në rreshtin 14 të listës 3, agjenti i dërgon
koordinatorit një mesazh arritjeje për transport. Në këtë rast aktivizohet plani
“transport(Item)” te agjenti koordinator i paraqitur në listën 6-6. Në listën e planeve të
mundshme të agjentit koordinator, nëse gjendet besimi i vendndodhjes së artikullit,
ekzekutohet plani në rreshtin e 12 të listës 6-6. Ky plan përmban një funksion për
caktimin e vendndodhjes në model dhe paraqitje nëpërmjet objektit të mjedisit, dhe më
pas dërgon një mesazh arritjeje për transportimin e artikullit te agjenti dërgues. Në këtë
rast aktivizohet plani “+!transportItem(Loc)” i cili bën transportimin e artikullit në
vendndodhjen e caktuar, e vendos në raft dhe kthehet në zonën e pushimit të agjentit
paketues. Kodet përkatëse janë të shfaqura në listën 6-7 dhe 6-8.
6.3.3.4. Modeli dhe Pamja
Modeli është përgjegjës për menaxhimin e të dhënave në lidhje me simulimin. Në të
mbahen të dhënat e përgjithshme të mjedisit si madhësitë, numri i agjentëve, artikujt,
raftet, si edhe pikat e ngarkimit dhe shkarkimit. Modeli ka struktura të dhënash për
lëvizjet e agjentëve, artikujve, transportimin e artikujve dhe vendosjet e tyre në rafte,
raftet dhe listat me artikujt. Klasat e modelit janë ato që mundësojnë të gjitha veprimet
mbi të dhënat e kërkuara nëpërmjet objektit FXServer.
Figura 6-7 Paraqitja e simulatorit të magazinës virtuale
Ndërkohë moduli i pamjes krijon një paraqitje vizuale të simulimit të magazinës dhe
ngjarjeve që ndodhin në të. Paraqitja e simulimit ndërtohet duke përdorur mjetet e
vizatimit të ofruara nga libraritë e JavaFX për imazhet, pamjet dhe animimet e
ndryshme. JavaFX është një mjet zhvillimi i fuqishëm për ndërtimin e ndërfaqeve, dhe
kjo është arsyeja se pse është zgjedhur si mjeti i zhvillimit për ndërfaqen grafike të
simulimit. Ky modul krijon fillimisht një pamje statike të magazinës bazuar në të dhënat
e modelit, si shembull mund të përmendim vizatimin e agjentëve, pamja me blloqe të
magazinës, si edhe vendosjet e rafteve sipas instruksioneve të marra nga objekti
FXServer në fillim të simulimit. Më pas, ndërkohë që simulimi vazhdon dhe të dhënat
në model ndryshojnë, këto ndryshime reflektohen edhe në lëvizjet e agjentëve në
pamjen e simulimit dhe artikujt që transportohen duke u vendosur brenda apo duke u
nxjerrë jashtë magazinës.
99
Në figurën 6-7 shfaqet pamja e simulimit të magazinës virtuale, në të vërehen lëvizjet
dhe veprimet e agjentëve, vendndodhjet e artikujve dhe të dhëna rreth kohës për
kryerjen e tyre.
6.3.4. Përdorimi i simulatorit të magazinës virtuale
Ky simulator është i përbërë nga dy aplikacione që funksionojnë paralelisht me njëra-
tjetrën. Siç shfaqet edhe në figurën 6-6, dy pjesët përbërëse janë mjedisi i simulimit
Jason dhe pjesa pamore e simulimit e cila mundësohet nga JavaFX. Të dyja këto pjesë
funksionojnë si dy aplikacione të pavarura por që komunikojnë me njëra tjetrën me anë
të RMI, ku aplikacioni i kryer me JavaFX aktivizon modulin Server të RMI-së, ndërsa
aplikacioni i simulimit MAS në Jason aktivizon klientin që do të lidhet me RMI-në. Për
këtë arsye është ndërtuar një dosje ekzekutuese “run.bat” që thërret në fillim
aplikacionin e JavaFX të quajtur me emrin AppServer që aktivizon modulin e serverit
të RMI-së dhe më pas thërritet aplikacioni i simulimit MAS, i cili aktivizon modulin
klient dhe kryen lidhjen me aplikacionin AppServer. Pasi lidhja është kryer aplikacioni
AppServer kërkon skemën e magazinës, e cila është një dosje skeme me prapashtesën
“.jwlf”. Kjo dosje mund të krijohet lehtësisht nga përdoruesi duke vendosur të dhëna
në lidhje me magazinën e tij si përmasat e magazinës dhe vendosjet e rafteve në të. Në
këtë mënyrë, përdoruesi mund të testojë vendosje të ndryshme të magazinës së tij duke
ndryshuar skemën e kësaj dosjeje për gjenerimin në simulator të magazinës virtuale dhe
në bazë të rezultateve të simulimit mund të vendos të ndryshoj apo jo vendosjet e rafteve
në magazinën e tij. Përdoruesi mund të ndryshoj edhe numrin apo llojin e paketuesve
dhe ekstraktuesve në simulim duke ndryshuar dosjen e konfigurimit të shpjeguar më
sipër. Në bazë të nevojës, përdoruesi mund të ndryshoj edhe peshën e mbajtjes së
produkteve duke ndryshuar vetëm besimin e kësaj të fundit të përcaktuar më sipër. Një
veçori e rëndësishme e simulimit të magazinës virtuale është edhe vendosja nga vetë
përdoruesi, i listës së kërkesave apo urdhrave të artikujve. Këto lista mund ti jepen
softuerit të simulatorit si dosje teksti që kanë një format të thjeshtë ku fillimisht
vendoset numri i artikujve dhe më pas në çdo rresht specifikohet pesha e artikullit, emri
i tij dhe koha e mbërritjes pas artikullit pasardhës. Përdoruesi mund të kontrolloj
lehtësisht rezultatet e magazinës virtuale në pamjen e shfaqur dhe listën e veprimeve të
punës në loget e simulatorit.
6.4. Një vlerësim krahasues
Në këtë kapitull u prezantuan dy punime të plota të zhvilluara në dy mjedise të
ndryshme, por që zgjidhin probleme të një trajte të njëjtë ekonomike. Elementi i parë
që marrim në konsideratë për krahasimin e këtyre dy simulimeve është mjeti i zhvillimit
i tyre. Në punimin e parë, mjeti i zhvillimit i përdorur është NetLogo, ndërsa në punimin
e dytë është mjeti i zhvillimit Jason. Duhet thënë se mjeti i zhvillimit NetLogo është
një mjet zhvillimi që konsiderohet si mjet për zhvillimin e ABM-ve dhe është shumë e
njohur nga komuniteti i modelimeve të bazuara në agjent. Mjeti i zhvillimit Jason është
një mjet për zhvillimin e simulimeve MAS dhe gjithashtu është i njohur në komunitetin
e sistemeve MAS. Nëse vështrojmë mbi veçoritë e të dy mjeteve të prezantuara në
kapitullin pesë, do të shohim se të dy këto mjete janë të lehtë për tu mësuar nga
programuesit, por NetLogo është më i lehtë për tu përdorur edhe nga programues
fillestar. Gjithashtu platforma e NetLogo-s jep mbështetje në ndërtimin grafik të
simulimit, ndërkohë që në Jason kjo pjesë duhet modeluar si pjesë e mjedisit dhe më
pas të programohet në gjuhën Java nga programuesi i saj. NetLogo përdoret kryesisht
nga simulime të bazuara në agjentë që përdorin arkitektura të thjeshta të agjentit,
100
ndërkohë që Jason përdor një arkitekturë BDI dhe mund të përdoret edhe për simulime
komplekse apo të shpërndara. Të dyja mjetet kanë një performancë të mirë, por mjeti
Jason është më i qëndrueshëm dhe mbështet programimin më në detaje të agjentit.
Në bazë të hapave të ndjekura në ndërtimin e modeleve simuluese në një problem
specifik të ekonomisë artificiale, vihet re se në mjetin NetLogo janë përdorur hapat të
njëjta me punimin e (Abdou, Hamill, & Gilbert, 2012), të trajtuara në kapitullin 5. Në
zhvillimin e modelit janë marrë parasysh detajet e nxjerra nga hulumtimet në literaturë
dhe trajtimit në terren, në projektimin e saj janë marrë parasysh veprimet e agjentëve
dhe algoritmet e vendosur për to. Ndërkohë që në mjetin Jason është përdorur strategjia
e projektimit të modelit të paraqitur nga (Klügl, 2009), dhe specifikisht është përdorur
projektimi i modelit të drejtuar ndaj agjentit dhe ndërveprimeve të tij. Këto pjesë janë
të paraqitura me diagramet përkatëse UML, ku theksohet përdorimi i diagramit të
aktiviteteve suimlejn dhe diagramit të sekuencave. Në strategjinë e saj është menduar
edhe modelimi i mjedisit i cili është kryer duke programuar një ndërfaqe grafike që
komunikon me mjedisin MAS me anë të një ndërfaqeje RMI.
Në aspektin e ndërtimit të këtyre modeleve duhet theksuar se punimi i parë ishte më i
thjeshtë në ndërtimin grafik, por shumë i kufizuar në sjelljet apo veprimet e mundshme
të agjentëve. Gjithashtu nëse duhej të bëheshin ndryshime në mënyrës si paraqiten
elementët grafik në simulim, apo ndryshime të tjera jashtë mundësive të mjetit ishte
pothuajse e pamundur të kryheshin. Kjo përbën një disavantazh të madh për modele me
specifika të ndryshme nga ato që ky mjet lejon. Ndërkohë që në punimin e dytë u vu re
se zgjidhja mori një kohë më të gjatë zhvillimi, kur flasim sidomos për pjesën grafike
të saj që u projektua si zgjidhje më vete jashtë mjedisit MAS. Por për sa i përket
zhvillimit të specifikave të veçanta ky mjet lejon ndryshimet dhe modifikime të
ndryshme në kod, si edhe shtimin e veçorive me anë të librarive të gatshme të
programuara në java.
Në programimin e agjentëve në këto mjete duhet theksuar se në mjetin NetLogo
mjaftohet me disa sjellje të thjeshta reaguese ndaj mjedisit rreth tij. Kodimi ndjek një
logjik sekuenciale të këtyre sjelljeve dhe komunikimi midis agjentëve kryhet nëpërmjet
mjedisit me sinjale. Në mjetin e zhvillimit Jason programimi i agjentëve mund të
përfshijë sjellje të shumëfishta dhe komplekse të agjentëve. Mjedisi i agjentit
programohet në mënyrë të veçantë nga agjenti dhe komunikimi kryhet me anë të
mesazheve.
Në lidhje me trajtimin e rezultateve të eksperimenteve të kryera në këto punime, duhet
thënë që trajtimi i tyre në mjetin NetLogo është më i thjeshtë duke ofruar mjete të
gatshme por njëkohësisht është edhe më i kufizuar kur duam rezultate specifike.
Ndërkohë në mjetin e zhvillimit Jason nuk ka aspak mjete të gatshme për trajtimin e
rezultateve përveç një regjistri logesh të mbajtura. Për trajtimin e mëtejshëm jemi të
detyruar të programojmë modulet tona shtesë ose të përdorim librari të gatshme.
Në tabelën 6-2 janë dhënë ndryshimet themelore midis mjeteve zhvilluese të trajtuara
më sipër, bashkë me karakteristikat e tyre kryesore.
101
Tabela 6-2: Ndryshimet themelore midis NetLogo dhe Jason
Mjeti i zhvillimit NetLogo Jason
Problemi i
shqyrtuar
Terminali detar i
kontejnerëve Modelimi i magazinës
Roli Mjedisit Mjedisi kontrollon agjentët Mjedisi lehtëson sjelljet e agjentëve
me njëri tjetrin
Njohuritë mbi
mjedisin
Agjenti ka njohuri të plotë
mbi mjedisin
Agjenti ka njohuri të kufizuar në
besimet e krijuara nga perceptimet mbi
mjedisin
Aktivizimi i agjentit Agjenti aktivizohet nga
mjedisi
Agjentët aktivizohen nga mesazhet
vepruese nga agjentët e tjerë dhe
perceptimet nga mjedisi
Vendimmarrja Në bazë të disa kushteve të
thjeshta
Në bazë të arsyetimeve logjike për të
arritur qëllimin
Inteligjenca Reagime të thjeshta E plotë sipas konceptit BDI
Arkitektura E thjeshtë BDI
Modeli Kohor I qendërzuar me hapa kohor
diskret
Nuk ka, por mund të krijohen të tre
llojet.
(Problemi shqyrtuar përdor model
kohor të vazhduar)
Radha e agjentëve Me thirrje sinkrone njëri pas
tjetrit brenda hapit kohor
Me thirrje asinkrone nga agjenti në
agjent.
Programimi
Bazuar në konceptet
procedurale dhe funksionale
të gjuhës Logo
Bazuar në programimin logjik dhe
funksional, AOP
Ndërfaqja grafike Mundësohet bashkë me
mjedisin
Ndërtohet bashkë me mjedisin nga
zhvilluesi
Hapat e ndërtimit
Bazuar mbi hapat e
propozuar të (Abdou, Hamill,
& Gilbert, 2012)
Një hulumtim në literaturë për
problemin. Më pas është ndjekur
strategjia e projektimit të modelit të
propozuar nga (Klügl, 2009)
Në bazë të këtyre krahasimeve mund të themi se përdorimi i mjetit të zhvillimit
NetLogo është i këshillueshëm për përdorues fillestar të simulimeve ekonomike që nuk
kanë shumë njohuri programuese. Ky mjet këshillohet edhe për trajtimin e problemeve
të thjeshta që nuk kanë nevojë të madhe në modelimin e sjelljeve të agjentëve, dhe ku
këta agjentë mjaftohen me disa veprime reaguese ndaj ndryshimeve në mjedis.
Ndërkohë që përdorimi i mjetit Jason mund të jetë i këshillueshëm në ndërtimin e
modeleve simuluese profesionale që kanë kërkesa të caktuara në trajtimin e problemeve
ekonomike, si edhe në trajtimin e rezultateve të tyre.
102
KAPITULLI 7: MODELIMI DHE NDËRTIMI I NJË EKONOMIE
ARTIFICIALE ME MJETIN E ZHVILLIMIT REPAST
7.1.Hyrje
Ky kapitull paraqet një qasje të re të simulimit të një ekonomie artificiale duke përdorur
modelet e bazuara në agjent. Bazuar në përfundimet e arritura në kapitujt e mësipërm,
u vu re se ishte e nevojshme të ndërtohej një model simulues të një ekonomie artificiale
që plotëson kushtet e vlerësuara të nevojshme për të tilla modele. Duke u mbështetur
në rezultatet e krahasimeve të mjeteve të zhvillimit ABM, u zgjodh si mjet për
zhvillimin e kësaj ekonomie artificiale platforma Repast. Duke ndjekur praktikat më të
mira të zhvillimit të modeleve të ngjashme të paraqitura në kapitullin pesë, më poshtë
paraqesim hapat e zhvillimit të trajtuara si pjesë të veçanta të këtij punimi. Në pjesën
në vazhdim jepet një përshkrim i përgjithshëm i modelit të ekonomisë artificiale. Më
pas bëhet një analizë e plotë e këtij modeli dhe të kërkesave specifike të përdorimit të
saj. Në vazhdim specifikohen veçoritë e mjetit të zhvillimit, e cila është e nevojshme
për tu njohur përpara projektimit dhe ndërtimit të modelit. Pjesa e projektimit të modelit
bazohet mbi analizën e kryer të modelit, dhe paraqet me detaje projektimin e agjentit
dhe të ndërveprimeve të tij me agjentët e tjerë. Më tej vazhdohet me detajet e ndërtimit
të mjedisit simulues, të agjentëve dhe veprimeve të tyre, dhe me detajet e ndërtimit të
një ndërfaqeje për përdoruesin e këtij mjedisi simulimi.
7.2. Përshkrimi i modelit të ekonomisë artificiale
Në këtë punim merret në konsideratë një sistem ekonomie e tregut të lirë, e cila vepron
pa ndërhyrjen e qeverisë dhe pa tregti të jashtme. Ky sistem ekonomik ka tre njësi bazë
kryesore, të cilat janë individi, firma dhe banka. Individi mund të konsiderohet si njësia
bazë e familjes dhe është koncepti bazë i funksionimit të ekonomisë. Ai ka nevojë për
konsumim të mallrave apo shërbimeve të ndryshme në mënyrë që të mbijetojë. Për këtë
arsye, atij i nevojiten para për të blerë këto mallra apo shërbime nga firmat dhe nëse ka
më shumë para, ato mund ti japin siguri për mbijetesën e mëvonshme. Duke u bazuar
mbi këtë mënyrë të vështruarit të ekonomisë, në figurën 7-1 shfaqet një rrjedhë e
ndërveprimeve të entiteteve kryesore të modelit të ekonomisë artificiale.
Figura 7-1 Rrjedha e ndërveprimeve të modelit të ekonomisë artificiale
Në këtë model, individi ka një të ardhur, pasuri, një eksperiencë dhe një status punësimi
të përcaktuar. Në përgjithësi, ky individ mund të konsumojë tre lloje mallrash apo
103
shërbimesh bazuar mbi nevojat dhe preferencat e tij. Kur të ardhurat e individit rriten,
ai mund të vendosë për të depozituar në bankë, të blejë më shpesh mallra apo shërbime
luksi, apo të investoj në blerjen e aksioneve në firma. Nëse të ardhurat e tij janë të ulëta
dhe ky individ është në nevojë për më tepër para, atëherë ai mund të tërheqë para nga
banka ose të marrë hua prej saj të cilat mund ti kthejë më vonë me një interes të caktuar.
Në bazë të këtij përshkrimi mund të mendojmë individin në katër role të mundshme në
model. Roli i parë i individit është konsumatori, individi si një entitet ekonomik ka
nevojë për konsum në mënyrë që të mbijetojë si një qenie që jeton duke pasur një
shëndet të caktuar. Ky rol është shumë i rëndësishëm për modelin e ekonomisë
artificiale pasi vepron si çelësi për vazhdimësinë e saj. Si konsumator, individi nevojitet
të ketë para në dorë për të blerë të mallra apo shërbime nga firma. Bazuar mbi këtë
arsye individi duhet të ketë një rol të dytë të cilin e quajmë roli i punonjësit. Ky rol
është shumë i rëndësishëm për individin pasi është burimi kryesor i të ardhurave dhe i
lejon atij të mbledhë para në dorë. Një rol tjetër i rëndësishëm i lidhur me menaxhimin
e parave të individit është roli i klientit. Në këtë rol, individi vepron si klient i bankës.
Në këtë rast ai mund të depozitojë para kur ka më shumë se nevojat e tij bazë, si edhe
të marr disa para ekstra nga interesat e depozitave të tij. Kur individi ka nevoja për para,
ai mund të tërheqë para nga depozita. Në rastin kur individi nuk ka depozitë, ai mund
të marrë hua nga banka dhe ta paguajë më vonë së bashku me interesat e huasë. Roli i
fundit i individit është roli i investuesit, ku individi mund të investojë duke blerë
aksione nga firmat ekzistuese ose duke krijuar një firmë të re.
Figura 7-2 Njësitë ekonomik, rolet dhe lidhjet midis tyre në ekonominë artificiale
Në figurën 7-2, tregohet individi me të gjitha rolet e tij dhe marrëdhëniet me njësitë e
tjera ekonomike në modelin e ekonomisë artificiale. Firma është një entitet ekonomik
shumë i rëndësishëm që plotëson nevojat e konsumatorit. Në modelin e ekonomisë
artificiale, firmat konsiderohen të prodhojë tre lloje mallrash apo shërbimesh të cilat
konsumohen nga konsumatorët. Çdo firmë prodhon vetëm njërën prej këtyre llojeve.
Ato ndahen sipas tre llojeve të cilësuara me emërtimet T1, T2 dhe T3. Firma e llojit T1
është ajo firmë që prodhon mallra dhe shërbime bazë që janë të nevojshme për tu
konsumuar çdo ditë nga konsumatori. Kjo firmë mund të prodhojë ushqime dhe mallra
apo shërbime të tjera të konsumit të përditshëm. Firma e llojit T2 konsiderohet ajo lloj
firme e cila prodhon të mallra dhe shërbime të nevojshme por që konsumohen më rrallë
nga konsumatorët. Këtu mund të përfshihen mallrat apo shërbimet që individi blen disa
here në javë ose në muaj. Firma e llojit të fundit prodhon mallra dhe shërbime të cilat
klasifikohen si luks për shumicën e konsumatorëve. Këtu mund të përfshihen mallrat
104
që mund të blihen kryesisht nga individët që kanë një të ardhura të konsiderueshme.
Bazuar nga kërkesa dhe oferta e konsumatorëve, firma përcakton dhe çmimet e
mallrave dhe shërbimeve që ofron.
Që të funksionojë në mënyrë të rregullt, firma duhet të ketë punonjës dhe kapital të
mjaftueshëm për prodhimin e të mirave të përmendura më sipër. Për këtë arsye, firma
punëson punëtorë kur ajo ka nevojë për të rritur prodhimin e mallrave apo shërbimeve
të saj dhe i mban të punësuar deri në momentin kur arrin një nivel të caktuar në inventar,
kur nuk ka para në kapital ose kur nuk ka më kërkesë për produktet. Firma ka nevojë
për kapital që të paguajë punonjësit apo aktivitetet e tjera që ajo ka. Pjesa kryesore e
kapitalit vjen nga produktet që shet, por mund të vij edhe nga burime të tjera si për
shembull një investim i ri. Firma dhe individi mund të kenë rolin e klientit të bankës
dhe mund të marrin kredi ose të krijojnë depozita në bankë.
Banka konsiderohet si institucioni që lehtëson qarkullimin e parasë në modelin tonë të
ekonomisë artificiale. Ai vendos interesat për huatë apo depozitat bazuar mbi kërkesë-
ofertën e klientëve. Banka mund të japi hua bazuar në paratë që ka në dispozicion si
edhe mund të marrë depozita duke vendosur edhe interesat e saj.
Duhet theksuar se veprimet e kësaj ekonomie artificiale bazohen në veprimet e njësive
ekonomike të ekonomisë. Këto veprime janë të përditshme dhe bëhen në bazë të
kushteve në të cilat njësitë ekonomike ndodhen. Për sa i përket individëve, ata mund të
ndryshojnë role të ndryshme në ekonomi, gjithashtu në model mund të përfshihet ideja
e evoluimit të tyre edhe në terma biologjik si lindja apo vdekja e tyre. Kjo duke shtuar
edhe veçantinë e afërsisë me realitetin që të tilla modele mund të shfaqin në simulim.
7.3. Analiza e modelit të ekonomisë artificiale
Në këtë pjesë bazohemi mbi praktikat më të mira të përdorura në modelimin dhe
ndërtimin e ABM-ve të paraqitura në kapitullin 5 të këtij punimi. Në vijim, ne do të
përdorim disa nga teknikat e njohura me UML, të cilat mund të përdoren për modelimet
e bazuara në agjentë. Tashmë bazuar mbi përshkrimet e mësipërme është e nevojshme
një përcaktim i agjentëve me të gjitha atributet dhe sjelljet që ata kanë. Në figurën 7-3,
tregohet diagrami me raste përdorimi të agjentit individ ku tregohen rastet kryesore të
përdorimit si puna, konsumimi dhe investimi që ai bën ndaj agjentit firma. Ndërkohë
ndaj agjentit banka shohim rastet e përdorimit të depozitimit dhe huamarrjes.
105
Figura 7-3 Diagrami me raste përdorimi për Individin
Diagrami i shfaqur në figurën 7-3 tregon vetëm rastet e përdorimit të agjentit, ndërkohë
që nuk tregon veprimet e tij. Në këtë këndvështrim është e rëndësishme të përcaktojmë
veprimet kryesore që agjenti individ kryen në çdo hap kohor të modelit. Këto veprime
listohen si më poshtë:
Llogarit pasurinë
Puno
Konsumo
Rregullime
Kontrollo bankën ose investimet.
Veprimi i parë ditor kryhet për të përditësuar gjendjen e vetë agjentit në lidhje me
pasurinë e tij. Në këtë rast, agjenti kontrollon fillimisht paratë në dorë që ai mund të
ketë, pastaj llogarit totalin e depozitave dhe huave që ka në bankë. Kur agjenti mund të
jetë edhe investues, ai llogarit investimet e tij në bazë të aksioneve që disponon në
firmat përkatëse. Nëse personi ka një pasuri goxha të madhe ai mundet edhe të mos
kryej veprimin e dytë të punës. Veprimi i dytë, përfshin fillimisht kontrollin nëse
individi është i punësuar apo jo, nëse ai nuk është i punësuar atëherë ai kërkon për punë.
Në rastin kur agjenti individ është i punësuar, ai mund të kontrollojë herë pas here për
një punë me pagë të mirë, dhe nëse ka një të tillë atëherë ai mund të kërkojë të hiqet
prej punës aktuale dhe më pas aplikon për punë te firma tjetër. Kur nuk gjendet ndonjë
punë me pagë më të mirë, ai punon normalisht. Ky proces përsëritet në çdo hap kohor
dhe një formë e saj grafike paraqitet në figurën 7-4.
106
Figura 7-4 Diagrami i aktiviteteve të punës
Gjatë çdo dite një individ harxhon energji dhe për të ripërtërirë energjitë e tij ai
konsumon mallra dhe shërbime të ndryshme. Për këtë arsye, në model ne kemi menduar
për një gjendje të energjisë për agjentin individ. Ulja e energjisë është e përditshme dhe
varet edhe nga veprimet e agjentit individ. Në rastin e modelit tonë të ekonomisë
artificiale, ulja e kësaj energjie është e ndryshme në bazë të punës që çdo individ kryen.
Për të ripërtërirë energjinë e tij, agjenti individ duhet të konsumoj mallra dhe shërbime
të nevojshme, kryesisht mallrat e llojit T1. Kjo pjesë përbën edhe veprimin e
konsumimit që agjenti kryen.
Veprimi i radhës është ai i rregullimeve të ndryshme që janë të rëndësishme për agjentin
individ, ato përfshijnë veprimet e përditësimit të gjendjeve të tij, rregullime mujore në
lidhje me të ardhurat dhe eksperiencën e tij apo edhe rregullime të ndryshme vjetore si
të ardhurat nga investimet.
Në veprimin e fundit, agjenti individ kryen veprimet e tij financiare në lidhje me bankat
apo investimet e tij të ndryshme. Në këtë pjesë, ai merr vendime logjike në bazë të
kushteve të caktuara për depozitim apo huamarrje. Gjithashtu në rastet e një pasurie të
caktuar agjenti mundet të krijojë një firmë të re ku aksionari i plotë i saj do të jetë ai
vetë. Në listën e vendimmarrjeve të tij mund të vendosen edhe disa funksione me
shpërndarje probabilitare në bazë të situatave financiare të shfaqura.
107
Figura 7-5 Diagrami me raste përdorimi për Firmën
Në figurën 7-5, paraqitet diagrami i firmës me rastet e saj të përdorimit. Disa nga këto
raste përdorimi i takojnë vetëm firmës dhe ato janë kontrolli i inventarit, prodhimi i
mallrave dhe shërbimeve, ndryshimi i çmimit të mallit dhe shërbimit dhe ndryshimi i
çmimit të aksioneve të saj. Në lidhje me rastet e përdorimit të lidhura me individin,
firma mund të shesë produkte dhe shërbime, të punësoj punëtor dhe të bej pagesa drejt
tyre. Rastet e përdorimit në lidhje me bankën janë depozitimi, huamarrja dhe pagesat e
interesave.
Nga diagrami mund të kuptojmë se firma është një entitet ekonomik më dinamik dhe
veprimet e saj ndikojnë në shumë elementë përbërës të ekonomisë. Edhe në këtë rast
përcaktimi i veprimeve kryesore të agjentit firmë në çdo hap kohor të modelit është e
nevojshme, dhe ato janë:
Publikimi i çmimit
Llogaritja e pagave
Punësim/Prodhim
Rregullime
Depozitim/Huamarrje
Veprimi i parë i agjentit firmë është publikimi i çmimit të produktit që ajo ofron. Në
ekonominë e tregut ky veprim bëhet në fillim të çdo dite ku edhe individët njohin
çmimet e mallrave dhe shërbimeve që firmat tregtojnë. Veprimi i dytë i çdo firme është
llogaritja e pagës së ditës, kjo për të mbajtur në rezervë këto para që mund të paguhen
në fund të muajit. Veprimi tjetër pasardhës është punësimi. Këtu firma në bazë të
kërkesës së periudhës të mëparshme dhe inventarit që ka në gjendje vendos rritjen e
prodhimit ose uljen e tij. Nëse firma vendos rritjen e prodhimit atëherë firma mund të
kërkojë të punësojë, ndërsa në rastin kur firma vendos të ulë prodhimin atëherë firma
mund të heqë nga puna punëtorët e saj deri në një minimum të caktuar. Në rastet kur
108
nuk ndryshon sasia e prodhimit, firma nuk bën ndryshime të fuqisë punëtore. Në
pamundësi të rritjes së prodhimit apo uljes së mëtejshme të prodhimit, si shkak i fuqisë
punëtore të pamjaftueshme apo heqjen e mëtejshme, firma mund të vendosë
respektivisht rritjen e çmimit të mallrave dhe shërbimeve apo uljen e çmimit të tyre. Ky
veprim pasqyrohet edhe në diagramin e aktiviteteve të shfaqur në figurën 6.
Figura 7-6 Diagrami i aktiviteteve për punësim-prodhim
Në veprimin e rregullimeve të firmës, përfshihen të gjitha veprimet e saj që kanë të
bëjnë me uljen apo rritjen e çmimeve të produkteve që ajo prodhon, rritjen apo uljen e
pagave ndaj punëtorëve, llogaritjet e listë pagesave ditore dhe ato mujore, përditësimi i
kostove dhe të ardhurave, regjistrimi i kërkesave ditore për produkt, si dhe veprime të
tjera në lidhje me vlerën e aksioneve të firmës. Të gjitha këto veprime janë veprime
normale të një kompanie, që në modelin tonë të ekonomisë artificiale kryen nga agjenti
firmë. Veprimi i fundit është përsëri në lidhje me bankën, ku firma depoziton para në
rastet kur merr shumë të ardhura dhe merr hua kur i nevojiten para shtesë për pagesat e
ndryshme të saj.
Rastet e përdorimit të bankës janë më të kufizuara, kjo pasi banka përdor vetëm mjetet
e depozitimit dhe huamarrjes të parasë nga klienti, ku klienti përmbledh agjentin individ
dhe firmë. Në rastin e bankës veprimet kryesore të saj janë:
Kontrolli i depozitave
Kontrolli i Huave
Rregullimet
Veprimi i parë, kontrollon të gjitha depozitat nëse kanë kaluar afatin e maturimit të tyre.
Nëse gjenden depozita që e kanë kaluar atëherë banka bën kthimin e parave bashkë me
pagesat e interesave te klienti. E njëjta gjë ndodh edhe në veprimin e kontrollit të huave,
109
ku banka tashmë kërkon kthimin dhe pagesat e interesave të parave të dhëna. Në
veprimin e fundit, banka kryen rregullimet në lidhje me interesat e depozitave apo të
huamarrjes në bazë të kërkesave për këto të fundit.
Si vazhdim i kësaj analize, duhet theksuar se veprimet e agjentëve në modelin e
ekonomisë artificiale duhen përsëritur në mënyrë ciklike, ku një cikël përfaqëson një
ditë. Kjo na detyron që të përcaktojmë si fillim, momentin dhe mënyrën se si këta
agjentë inicializohen me vlera fillestare dhe më pas vendosjen e radhës së veprimeve të
tyre.
7.3.1. Përcaktimi i gjendjeve të agjentëve dhe mjedisit
Në përcaktimin e gjendjeve të agjentëve, ne analizojmë përshkrimin e mësipërm dhe
nxjerrim disa nga variablat që do të përdoren nga agjentët si mbajtës të gjendjeve të
tyre. Duhet theksuar se çdo agjent apo objekt i mjedisit duhet të ketë një identifikues
unik në model, që e bën atë të identifikueshëm nga agjentët apo objektet e tjerë. Më
poshtë do të japim agjentët bashkë me listat e variablave të gjendjeve të tyre. Agjenti i
parë i marrë në konsideratë është agjenti individ dhe lista e tij e variablave gjendje
bashkë me shpjegimet përkatëse gjendet në vijim:
Energjia, ky variabël gjendje përcakton edhe kushtin fillestar të vetë simulimit
pasi është i rëndësishëm për mbijetesën e agjentit. Ai përcakton nevojën e
agjentit për të konsumuar që më pas e shtyn atë të kryej veprimet e tjera për të
siguruar të ardhura apo para për të konsumuar.
Paraja, ky variabël tregon sasinë e parave në dorë që ky agjent disponon në një
moment të caktuar në simulimin e modelit tonë.
Punësuar, përcakton gjendjen e agjentit individ nëse është i punësuar apo jo.
Eksperienca, përcakton eksperiencën që një agjent individ ka në një punë të
caktuar, në bazë të saj përcaktohet edhe paga që ky punonjës do të marrë.
Paga, është variabëli gjendje që tregon pagën ditore që agjenti merr për punën
që bën.
Ardhura, është një variabël gjendje që përcakton të ardhurat mujore të agjentit
individ, ajo mund të përmbledhë të ardhurat nga paga, depozitat apo aksionet e
agjentit.
Pasuria, është variabëli që përcakton shumën e të gjithë pasurive të agjentit
Agjenti Individ normalisht mund të ketë edhe variabla të tjerë ndihmues, të cilët mund
të përdoren për mbajtjen e të dhënave të tij në mënyrë të përkohshme. Por për ne është
e rëndësishme të nxjerrim variablat e gjendjeve të tij të cilat ndikojnë gjatë gjithë kohës
në veprimet e tij. Një agjent tjetër është agjenti firmë, i cili ka gjendje të shumta të cilat
duhen të konsiderohen nga vetë agjenti. Lista e variablave gjendje të tij janë:
Shitjet, përcakton elementin thelbësor të agjentit firmë. Shitjet janë burimi i të
ardhurave të një kompanie dhe për këtë arsye mbajtja e saj si variabël gjendje
është e nevojshme. Në këtë rast shitjet janë sasia e produkteve të shitura gjatë
një periudhe.
Arka, ky variabël tregon sasinë e parave që firma disponon në një moment të
caktuar.
Çmimi i produktit është një variabël shumë i rëndësishëm me anë të cilit firma
përcakton strategjitë e saj konkurruese në treg.
Lloji i produktit, ky variabël tregon llojin e produktit që firma tregton.
Norma e prodhimit, është sasia prodhuese ditore që firma prodhon
110
Punëtorët, është një variabël i cili është i rëndësishëm për të përcaktuar nivelin
e prodhimit të saj.
Pagat, është totali i pagesave të punëtorëve. Ky variabël përditësohet çdo ditë
dhe përfshin pagat ditore e të gjithë punëtorëve.
Kërkesat e produktit janë një variabël që tregon se sa kërkesa në total ka pasur
firma gjatë një periudhe të caktuar kohore.
Ardhura, është një variabël i rëndësishëm i cili mbledh paratë e shitjeve dhe të
ardhura të tjera si depozitat për një periudhë të caktuar kohore. Ky variabël
mund të përdoret për llogaritjet e fitimit apo për rritjen e vlerës së firmës.
Kostot, është një variabël i cili përmbledh kostot e ndryshme të kompanisë si
pagat e punëtorëve dhe pagesat e huamarrjeve të firmës.
Vlera e firmës, përcakton vlerën e plotë të firmës.
Pronarët identifikojnë aksionarët e firmës dhe tregojnë edhe sasinë e aksioneve
që ato kanë.
Çmimi aksion përcaktohet në bazë të vlerës së firmës dhe kërkesës së saj për
blerje.
Këto variabla janë të nevojshëm në shumë aspekte të firmës dhe funksionojnë si gjendje
të cilat ndikojnë në sjelljen e saj si agjent në modelin tonë të ekonomisë artificiale.
Agjenti i fundit ndaj të cilit ne vlerësojmë gjendjet e tij është agjenti bankë. Ky agjent
ka këtë listë variablash gjendje:
Interesi i depozitave, është një variabël që përcaktohet dhe ndryshohet sipas
kërkesë-ofertës për para.
Interesi i huave, është gjithashtu një variabël gjendje që përcaktohet dhe
ndryshohet sipas kërkesë-ofertës për para.
Likuiditeti, ky variabël tregon gjendjen e bankës për të dhënë hua apo përcakton
kërkesën e saj për depozita.
Fitimet, ky variabël mban fitimet e bankës nga interesat e huave të dhëna gjatë
një periudhe të caktuar.
Kostot, ky variabël mban humbjet e bankës nga interesat e depozitave gjatë një
periudhe të caktuar.
Agjenti bankë përdor edhe dy objekte të saj të quajtura depozita dhe huaja. Të dy këto
objekte kanë nga një identifikues, emrin e klientit, shumën e emetimit, periudhë kohore,
dhe interesin e depozitës apo huasë që i lëshohet klientit. Mos harrojmë që klienti mund
të jetë agjenti firmë ose agjenti individ.
Një gjendje tjetër e lidhur kryesisht me mjedisin por që është pjesë e çdo agjenti është
vendndodhja e agjentit në mjedis. Kjo gjendje është e rëndësishme pasi preferenca për
të kryer veprime të caktuara varet nga një funksion i distancës që kanë agjentët me njëri
tjetrin.
7.3.2. Vendosjet e gjendjeve fillestare
Inicializimi i gjendjeve të agjentëve përpara fillimit të simulimit të modelit të
ekonomisë artificiale është shumë i rëndësishëm. Për këtë arsye duhet të bëjmë një
analizë të detajuar të vlerave fillestare që gjendjet e agjentëve duhet të kenë në fillim të
simulimit të modelit. Për çdo agjent fillimisht vendoset një identifikues, i cili e veçon
agjentin nga agjentët e tjerë gjatë simulimit, si edhe vendoset edhe një pozicion për të
simbolizuar largësinë nga agjentët e tjerë. Për sa i përket agjentit individ, gjendjet
fillestare të tij që duhen inicializuar përpara fillimit të simulimit janë:
Energjia, e cila duhet të jetë një vlerë me një vlerë të rastit.
111
Eksperienca e tij në punë për prodhimin e mallrave dhe shërbimeve të caktuara.
Ajo përcaktohet me një vlerë fillestare të rastit në një apo dy prej llojeve të
mallrave dhe shërbimeve të modelit.
Ardhura, e cila merr një vlerë në bazë të një funksioni shpërndarjeje të
përcaktuar nga modeluesi apo nga të dhëna reale statistikore të popullatës. E
njëjta vlerë transferohet si vlerë e parave që agjenti disponon në fillim të
simulimit.
Agjenti firmë ka një mori gjendjesh që duhen inicializuar pasi përfaqëson një kompani
ekzistuese në treg me parametrat që ajo duhet të ketë. Për këtë arsye në këtë agjent
gjenden këto gjendje:
Lloji i firmës, e cila vendos se çfarë lloji produktesh apo shërbimesh do të
prodhojë. Lloji i firmës mund të përcaktohet në bazë të një shpërndarjeje
probabilitare të përcaktuar nga modeluesi.
Inventari, i cili tregon sasinë e produkteve gjendje që firma ka. Ajo do të
përcaktohet nga një funksion shpërndarjeje uniforme në bazë të numrit të
popullsisë së modelit.
Norma e prodhimit, është një tjetër vlerë e cila duhet inicializuar në fillim të
simulimit. Ajo përcaktohet nga një funksion probabilitar që merr si parametra
numrin e individëve, numrin e firmave dhe llojin e firmës.
Çmimi i produktit, i cili do të përcaktohet gjithashtu me një funksion
shpërndarjeje uniforme në bazë të llojit të firmës.
Paga bazë inicializohet nga përdoruesi i simulatorit, është pjesë e kostos ditore
të punëtorit
Punëtorët, është gjendja që inicializohet në bazë të normës së prodhimit të
firmës.
Arka, është një vlerë tjetër që duhet inicializuar për firmat pasi përcakton edhe
veprimet e mëvonshme të saj. Vlera e parasë që firma disponon përcaktohet si
një funksioni probabilitar që konsideron si parametra normën e prodhimit,
sasinë e prodhimi nga punëtori dhe paga e tij.
Vlera e firmës është një tjetër gjendje që duhet inicializuar për të kryer veprimet
e blerjes apo shitjes së aksioneve të firmës.
Çmimi i aksioneve vendoset në bazë të vlerës së firmës.
Në agjentin bankë, vlerat fillestare të gjendjeve që duhen inicializuar janë vetëm normat
e interesit të depozitës dhe huamarrjes, dhe likuiditeti fillestar i tyre.
7.3.3. Kërkesat e simulimit të modelit
Simulimi i modelit të ekonomisë artificiale duhet të jetë i vazhdueshëm në kohë
diskrete, gjë që do të thotë se simulimi duhet të nxisë veprimet e çdo agjenti në secilin
hap kohor. Një hap kohor në simulim do të konsiderohet si një ditë pune e ekonomisë.
Një muaj do të konsiderohet si 30 hapa kohorë dhe një vit është 360 hapa kohor të
ekonomisë artificiale. Një element tjetër i rëndësishëm për simulimin e modelit është
vendosja e numrit të agjentëve, i cili duhet të kryhet nga përdoruesi i simuluesit. Përveç
saj mendohet që ky përdorues duhet të vendosë edhe parametra të tjerë si kostoja e ditës
së punës apo paga bazë dhe sasinë e prodhimit të punëtorëve në të tre llojet e
prodhimeve të firmave. Një element tjetër i simulimit të modelit do të ishte mundësia
për pushim në një hap të caktuar apo rifillimi i simulimit sipas kërkesës së përdoruesit.
Kjo do të lejonte përdoruesin të vëzhgonte me kujdes ndryshimet përgjatë hapave të
112
modelit. Rezultatet e simulimit duhet të paraqiten me grafikë përkatës dhe mundësisht
të lejojë edhe eksportimin e tyre për studime të mëtejshme nga përdoruesi i simulimit.
7.4. Veçoritë e mjetit të zhvillimit Repast ReLogo
Ndërtimi i simulimit është i bazuar mbi strukturën kryesore që ofron mjeti i zhvillimit
Repast. Ky mjet zhvillimi ofron gjuhën ReLogo e cila është një gjuhë specifike e fushës
për zhvillimin e modeleve të bazuara në agjentë. Kjo gjuhë bazohet mbi gjuhën
dinamike Groovy (Ozik, Collier, Murphy, & North, 2013), e cila është një formë e
thjeshtuar e programimit që përfshin brenda saj edhe vetë gjuhën e programimit Java.
Kjo gjuhë lejon shkrimin e thjeshtë të kodeve duke përdorur sintaksën e të dy gjuhëve
duke lejuar njëkohësisht edhe përdorimin e veçorive të veçanta të tyre. ReLogo është
pjesë e gjuhëve Logo (Abelson, Goodman, & Rudolph, 1974), e cila ka një logjikë të
caktuar që bazohet mbi konceptet e gjuhës LISP dhe përdor një robot të vogël (ose
agjent) që rëndomtë mund ta gjejmë me emërtimin “turtle”. Si e tillë, kjo gjuhë tashmë
kombinon programimin e orientuar ndaj objekteve me konceptet e Logo-s duke
përfshirë pjesët e saj si lidhjet, “patches”, observatorët dhe “turtles”, si klasa të veçanta
të saj. Gjithashtu ajo lejon përdorimin e karakteristikave të gjuhës së orientuar ndaj
objekteve (“Object Oriented Programming” – OOP) si trashëgimia, fshehtësia,
polimorfizmi dhe shpërndarja dinamike në krijimin e ABM-ve. Me anë të ReLogo-s
mund të ndërtohen modele komplekse dhe të mëdha duke na lejuar dhe disa nga
avantazhet e gjuhës Logo.
Gjuha ReLogo ndihmon modeluesin e saj të përcaktoj lehtësisht agjentët duke krijuar
një klasë Groovy për secilin agjent. Kjo klasë është e bazuar mbi agjentët “turtle”, të
cilat ofrojnë disa lehtësira në përdorimin e tyre brenda një mjedisi simulimi. Me këtë
koncept ne mund të krijojmë agjentët tonë thjesht duke zgjeruar klasën me emrin
“ReLogoTurtle”. Një shembull i tillë jepet në listën e mëposhtme.
Lista 7-1: Logjika e ndërtimit të një agjenti me ReLogo
Në krijimin e këtij agjenti kodi mund të përfshijë librari të gatshme nga gjuha Java dhe
ReLogo. Njëkohësisht në kod mund të shkruhet duke përdorur sintaksën e gjuhës
Groovy, ku çdo variabël apo objekt përcaktohet me parashtesën “def” ose duke përdorur
sintaksën e gjuhës Java e cila përcakton variablat në mënyrë të caktuar sipas llojit të
tyre. I njëjti rregull mund të ndiqet edhe për metodat e saj. Në metodën “step” përcakton
veprimet e agjentit që kryen në një cikël simulimi të tij. Këtu përcaktohen sjelljet e tij,
ndryshimet e gjendjeve dhe thirren metodat që ne përcaktojmë si edhe ato specifike që
ReLogo ofron. Kjo strukturë klase na ndihmon të krijojmë një model logjik të sjelljeve
të agjentit dhe reagimeve nga agjentët e tjerë apo edhe vetë mjedisi përreth.
Një klasë tjetër e rëndësishme që ofrohet nga vetë mjedisi i zhvillimit është klasa
UserObserver. Në këtë klasë përcaktohen specifikat e modelit dhe si edhe mënyra e
simulimit të tij. Kjo klasë bazohet mbi klasën BaseObserver që krijon mjedisin e
1 class Agjent extends ReLogoTurtle {
2 def ID
3 double sales=0 // vendosja e variablave (gjendjeve të tij)
4 def metoda(def in1, def in2){
5 //veprimet e metodës
6 }
7 def step(){
8 //veprimet e një cikli kohor të agjentit
9 }
10 }
113
simulimit dhe kërkon plotësimin e dy metodave të rëndësishme që janë metoda “setup”
dhe “go”. Metoda “setup” krijon instancat e llojeve të ndryshme të agjentëve në bazë
të dhënave që kemi krijuar në klasat e agjentëve, vendos numrin e tyre dhe përcakton
kushtet fillestare të agjentëve dhe mjedisit. Në metodën “go” mund të përcaktohet radha
e veprimeve dhe sjelljeve të agjentit, si edhe veprime të tjera të ndryshme.
Në listën 7-2 paraqitet një shembull kodi i UserObserver, me anë të cilit krijojmë një
simulim të thjeshtë. Në këtë shembull shihet qartë edhe mënyra e krijimit të agjentëve
me anë të një metode që fillon me emrin “create” dhe më pas emri i agjentit. Në të
vendoset numri i agjentëve siç paraqitet në rreshtin 7, dhe më pas mund të vendosen
inicializohen disa prej parametrave apo gjendjeve të agjentit. Mjeti zhvillues lejon edhe
krijimin e mjeteve kontrolluese si butona, lexues teksti dhe lloje të tjera lexuesish
grafik. Kjo bëhet lehtësisht nëpërmjet një klase të quajtur
“UserGlobalsAndPanelFactory”, ku zhvilluesi mund të vendës se cilat variabla global
të simulimit do të lidhen me elementët e ndërfaqes grafike. Ato do të lexojnë parametrat
fillestar të simulimit, të cilat do të përdoren për inicializimin e simulimit.
Lista 7-2: Krijimi, vendosjet dhe hapat e një simulimi me ReLogo
Një veçori tjetër e rëndësishme për mjedisin e zhvillimit Repast është mundësia e
ndërtimit të grafikëve bazuar mbi të dhëna të grumbulluara nga simulimi. Në këtë rast,
modeluesi mund të përcaktoj bashkësinë e të dhënave që ai do të grumbullojë nga
simuluesi i modelit dhe më pas ti shfaqë ato me anë të grafikëve të gatshëm. Gjithashtu
të gjitha variablat e agjentëve mund të shihen kur simulatori është gjendje pushimi. Kjo
ndihmon përdoruesit të analizojnë të dhënat mikro dhe se si ato ndikojnë në rezultatet
e grumbulluara makro.
7.5. Projektimi i modelit
Në mënyrë që të kemi një projektim sa më të saktë të modelit na duhet të bazohemi mbi
mjetin zhvillues që do të përdoret për ndërtimin e modelit. Mjeti i zhvillimit të modelit
tonë është Repast Simphony dhe gjuha e përdorur është ReLogo e cila mbështetet në
programimin me objekte. Në këtë këndvështrim duhet të themi se agjentët tanë do të
programohen duke ndjekur këtë paradigmë dhe çdo agjent do të konsiderohet si një
objekt më vete. Si pjesë e këtij projektimi, në bazë edhe të shpjegimeve të bëra në pjesët
e mësipërme në lidhje me agjentët konsiderojmë si agjentë në simulimin e modelit të
1 class UserObserver extends ReLogoObserver{
2 //Mund të ketë variabla dhe metoda ndihmuese
3 @Setup
4 def setup(){
5 clearAll()
6 //Krijon agjentët
7 createAgjent(5){
8 //inicializojme gjendjet fillestare te tyre
9 }
10 //Përcakton figurën në pamjen e simulatorit
11 setDefaultShape(Agjent,"person")
12 }
13 @Go
14 def go(){
15 tick() //Kjo filon një numërues
16 ask (Agjents()){
17 step()
18 }
19 }
20 }
114
krijuar si objekte janë individi, firma dhe banka. Në pjesën e mëposhtme paraqesim
bazuar mbi analizën e modelit të ekonomisë artificiale, projektimin me anë të
diagrameve të sekuencave për të treguar radhën e veprimeve dhe ndërveprimeve midis
agjentëve si edhe me objektet e tjera të mjedisit të modelit. Në vijim, vazhdojmë me
diagramin klasë të modelit, i cili mund të konsiderohet edhe si një detajim teknik të
ndërtimit të modelit.
7.5.1. Projektimi i veprimeve të agjentëve
Në bazë të përshkrimeve të modelit të dhëna në pjesët e mëparshme, është e nevojshme
një këndvështrim më i gjerë të metodave, ndërveprimeve dhe lidhjeve që agjentët duhet
të kenë me njëri tjetrin. Në konceptin e modelit tonë, duhet theksuar se çdo agjent kryen
një cikël, i cili përbën atë që ne quajmë hapi kohor i agjentit. Ky hap kohor fillon me
ekzekutimin e metodës “step()” që thërret listën e veprimeve të agjentit. Në figurën 1,
paraqiten dy diagrame sekuence për agjentët individ dhe firmë. Në krahun e majtë të
kësaj figure paraqiten disa nga veprimet e agjentit individ kundrejt agjentit firmë. Pas
fillimit të ekzekutimit të listës së veprimeve të agjentit individ, ky agjent nëse është i
papunë dhe ka nevojë për para thërret metodën “jobsearching()” që krijon një variabël
gjendje që tregon se individi është duke kërkuar për punë. Në ciklin e agjentit firmë, të
paraqitur në anën e djathtë të figurës 7-7, nëse firma kërkon të punësojë punëtorë
atëherë thërret metodën “supplyOnLabor()” për të mbledhur informacion nga çdo
individ që kërkon punë. Kjo është një lloj komunikimi që kryhet midis agjentit firmë
dhe agjentëve individë.
Figura 7-7 Diagrami sekuence për individin dhe firmën
Pas marrjes së listës së punëtorëve që kërkojnë punë, si vazhdim i logjikës së sekuencës
firma thërret metodën e saj “Employ()” për të filluar kontrollin e eksperiencës që ka
çdo agjent individ që kërkon punë. Pasi zgjedh më të përshtatshmin, agjenti firmë
punëson këtë agjentë me anë të metodës “hire()”. Në rastin kur firma ka më shumë
punëtorë se sa i nevojiten për prodhim, mund të thërrasë metodën “UnEmploy()” për të
bërë procesin e heqjes nga puna. Kjo metodë fillimisht merr informacion rreth
performancës që punonjësit kanë dhe më pas heq agjentët me performancën më të ulët
duke thirrur metodën “unhire()”.
115
Në diagramin në të majtë të figurës 7-7, agjenti individ i cili është i punësuar mund të
thërrasë metodën “checkwage()”, për të gjetur në pagë më të mirë. Në këtë rast, ky
agjent merr informacion nga agjentët firmë rreth pagave të tyre dhe nevojave që ata
kanë për punëtor. Në rast se agjenti individ mund të zgjedhë të ikë nga puna aktuale
duke thirrur metodën “unhire()” dhe pret të punësohet më vonë nga firma që ai ka
zgjedhur.
Një hap tjetër i rëndësishëm që çdo agjent individ kryen çdo ditë është konsumi. Kjo
pjesë tregohet në pjesën e poshtme të diagramit sekuence në anën e majtë të figurës 7-
7, dhe fillon me thirrjen e metodës “consume()” të agjentit individ. Pas thirrjes së saj,
agjenti mbledh informacion mbi çmimet e produkteve dhe në bazë të tyre dhe distancës
që ka nga çdo firmë zgjedh të konsumojë një sasi të caktuar produkti, që kryhet
nëpërmjet metodës “consumeT(q,t)”. Firma kontrollon nëse ka sasinë e kërkuar me anë
të metodës “performSale(q)” dhe nëse ka i dërgon klientit sasinë e kërkuar. Gjatë këtij
komunikimi variablat që përditësohen nga agjenti firmë janë sasia e shitur dhe paratë e
shtuara, ndërkohë në agjentin individ rritet energjia e tij dhe ulet sasia e parave të
shpenzuara për konsum.
116
Figura 7-8 Diagrami sekuencë i menaxhimit të pasurisë së individit
Në figurën 7-8 paraqitet menaxhimi i pasurisë së agjentit individ duke përdorur
diagramin sekuencë. Agjenti individ kontrollon situatën e tij financiare në çdo hap
kohor të simulimit të modelit tonë, duke thirrur metodat e përshtatshme nga agjentët
firmë dhe bankë. Në varësi të kushteve dhe parave në dorë që agjenti ka, ai mund të
zgjedhë midis opsioneve të ndryshme të cilat paraqiten në diagramin e sekuencës.
Në fillim, agjenti llogarit pasurinë e tij duke mbledhur të dhëna nga banka dhe firma
mbi depozitat dhe aksionet e tij të mundshme. Pas kësaj ai mund të zgjedhë opsionin e
parë, në të cilin agjenti ikën nga puna ku ndodhet dhe krijon një firmë të re me vlera
fillestare fikse në varësi të fondeve të investimit të tij. Agjenti, i cili tashmë ka rolin e
pronarit të firmës kontrollon të gjitha aksionet e firmës. Opsioni tjetër i radhës që mund
të kryejë agjenti individ nëse ka pasuri të mjaftueshme është investimi. Në këtë opsion,
agjenti kontrollon çmimet e aksioneve në treg dhe vlerëson aksionet e firmave të
ndryshme. Pas këtij vlerësimi ai blen aksione nga agjenti firmë të zgjedhur prej tij dhe
shtohet në listën e aksionarëve të agjentit firmë. Opsioni i depozitimit ka të bëjë me
veprimet që individi kryen me agjentin bankë, ku fillimisht mbledh të dhënat e
interesave të bankave dhe më pas zgjedh se në cilën bankë të krijojë depozitën bankare.
Opsioni i katërt është rasti kur individi nuk ka para të mjaftueshme dhe kërkon të tërheq
para nga banka. Në këtë rast ai thërret metodën “withdraw()” te agjenti bankë dhe pas
117
llogaritjes së parave që ndodhen në të ai tërheq paratë që i nevojiten. Rasti tjetër është
shitja e aksioneve që agjenti individ ka në një firmë të caktuar. Në këtë rast thirret
metoda “sellShares()” e agjentit firmë e cila bën shitjen e aksioneve duke hequr agjentin
individ nga lista e aksionarëve dhe duke ndryshuar çmimin e aksioneve. Rasti i fundit
është kur agjenti individ nuk ka para në bankë apo aksione dhe kërkon të marrë hua nga
agjenti bankë. Në këtë rast thirret metoda “amountToBorrow()” e cila merr
informacione mbi interesat e huamarrjes nga bankat dhe më pas zgjedh bankën me të
cilën krijo një hua.
Figura 7-9 Diagrami sekuencë për veprimet e depozitimit dhe huamarrjes
Në figurën 7-9 paraqitet diagrami sekuencë për veprimet e depozitimit dhe huamarrjes
nga agjenti individë drejt bankës. Siç vërejmë nga ky diagram, në momentin e thirrjes
së metodës që krijon depozitë në bankë, agjenti bankë krijon një depozitë duke thirrur
metodën “createDep()” të objektit depozita. Në të agjenti bankë vendos atributet e
depozitës si interesi, shuma dhe periudha e depozitës. Në mënyrë të njëjtë veprohet
edhe në rastin e krijimit të një huamarrjeje.
Në vazhdimësi, kur thirren veprimet ditore të agjentit bankë, ai fillimisht thërret
metodën “adjustDeposit()” e cila kontrollon periudhat e depozitave dhe më pas nëse
depozita është maturuar kthen paratë te agjenti individ. Më pas, agjenti thërret metodën
“adjustLoan()” që kontrollon periudhat e huamarrjeve. Në qoftë se ka kaluar periudha
118
e huamarrjes, agjenti bankë thërret metodën “payLoan()” që merr pagesën nga agjenti
individ. Të njëjta procedura ndiqen edhe për rastet kur klient i bankës është agjenti
firmë.
7.5.2. Detajimi teknik për realizimin e simulimit
Bazuar mbi veçoritë e mjedisit zhvillues dhe përshkrimeve të modelit të ekonomisë
artificiale, në këtë pjesë diskutojmë mbi detajet teknike të ndërtimit të mjedisit simulues
të këtij modeli. Në figurën e mëposhtme shfaqet diagrami klasë i modelit, pas
interpretimeve të marra nga analiza dhe projektimi i ndërveprimeve midis agjentëve.
Figura 7-10 Diagrami klasë i modelit të ekonomisë artificiale
Duke pasur parasysh mënyrën e krijimit të agjentëve, shohim te diagrami i figurës 7-10
se të gjithë klasat që paraqesin agjentët e modelit zgjerojnë klasën ReLogoTurtle.
Normalisht kjo klasë është edhe treguesi për agjentët në mjedisin e simulimit të Repast.
Në të treja klasat që paraqesin agjentët janë paraqitur të gjitha gjendjet, tashmë të
quajtura si variabla, dhe metodat që paraqesin veprimet e agjentëve. Në veçanti nga
klasat e tjera të agjentëve, klasa Bank që paraqet agjentin e bankës përdor dy lista me
objekte të tipit depozitë dhe huaje. Për këtë arsye në diagram përfshihen klasat Deposit
dhe Loan të lidhura ngushtësisht me klasën e bankës, nga ku kuptohet se një agjent
bankë mund të ketë shumë objekte të tipit depozitë apo huaje. Një klasë tjetër e
rëndësishme e paraqitur në këtë diagramë është edhe klasa UserObserver, e cila është
119
edhe inicializuesi i mjedisit të simulimit që në këtë rast ofrohet nga vetë mjedisi i
zhvillimit Repast. Bazuar mbi kërkesat e ndryshme të programimit të funksioneve të
shpërndarjeve probabilitare, është paraqitur edhe një klasë e quajtur Randomize. Kjo
klasë thirret nga inicializuesi i mjedisit të simulimit për të inicializuar disa nga gjendjet
fillestare të agjentëve në simulim. Për shembull, inicializimi i agjentëve firmë me vlerën
fillestare të firmës, çmimin e produktit, inventarin, e tjerë, duke përdorur metodat
përkatëse në klasën Randomize. Gjithashtu në lidhje me agjentin individ, këtu të
paraqitur me klasën Person, mund të bëhet krijimi i këtij agjenti duke përdorur metodën
“personBorn()” e cila gjatë hapave të simulimit aktivizon mjedisin simulues për të
krijuar një agjent të ri individ në simulim. Në lidhje me agjentin bankë, kjo klasë vendos
vlerën e likuiditeteve dhe normat e interesit. Klasa Randomize thirret drejtpërdrejt edhe
nga agjentët e modelit gjatë simulimit për tu përdorur në disa prej funksioneve
vendimmarrëse të tyre. Agjentët individ mund ta përdorin si vendimmarrje për
depozitim në bankë apo investimin në firmat e ndryshme. Agjentët firmë e përdorin në
vendimmarrjet e tyre të prodhimit të ardhshëm bazuar edhe në kërkesat e
konsumatorëve.
7.6. Ndërtimi i mjedisit simulues të ekonomisë artificiale
Bazuar mbi elementët e diskutuar në pjesën e veçorive të mjetit të zhvillimit Repast, në
këtë pjesë diskutojmë gjerësisht ndërtimin e simulatorit nga elementët bazë të agjentëve
deri në paraqitjen grafike të tij. Elementi kryesor nga ku fillon edhe ndërtimi i
simulatorit është vetë agjenti. Për këtë arsye bazuar edhe mbi diagramin klasë është
bërë deklarimi i variablave dhe metodave të përcaktuara në të. Duhet thënë se
funksionalitetet e metodave të ndryshme kanë ndryshuar në mënyrë ciklike deri në
versionin përfundimtar për çdo agjent. Më pas është bërë deklarimi i vendosjeve të
mjedisit të simulimit, ku fillimisht është vendosur mënyra e inicializimit të agjentëve
dhe më pas vazhdueshmëria e simulimit. Më pas është vendosur edhe një panel nga i
cili merren të dhënat fillestare të simulimit nga përdoruesi i tij. Dhe në fund janë bërë
konfigurimet e bazës së dhënave që merren nga simulimi dhe paraqitja në kohë reale
në grafikët përkatës të simulimit.
Duke iu referuar përshkrimit të mësipërm, në një këndvështrim më të gjerë të ndërtimit
të simulatorit të bazuar në agjentë, ne do të shtjellojmë elementët përbërës të tij si
ndërtimi i panelit, krijimi i agjentëve dhe vazhdueshmëria e tyre, veprimet e agjentëve
dhe ndërfaqja grafike.
7.6.1. Ndërtimi i panelit
Në fillim konsiderojmë pikërisht ndërtimin e panelit nga ku merren të dhënat fillestare
nga përdoruesi, kodi i të cilit shfaqet në listën 7-3.
120
Lista 7-3: Përcaktimi i të dhënave hyrëse në panelin e përdoruesit
Siç tregohet nga lista 7-3, brenda metodës ‘addGlobalsAndPanelComponents()’
vendosen variablat global dhe elementët grafik të cilët mundësojnë marrjen e të
dhënave nga përdoruesit. Në të shfaqen si të dhëna kryesore që merren nga përdoruesi,
si;
numri i popullsisë, që simbolizon numrin e agjentëve individ në simulim dhe ky
numër mund të jetë 500 si vlerë fillestare, por që mund të ndryshojë nga 100
deri në 1000 individ,
numri i bankave, me vlerë fillestare 5 por që ndryshon brenda kufijve të 1 deri
në 10 banka,
numri i firmave, që tregon numrin e firmave pa vendosur llojin e tyre dhe ka si
vlerë fillestare 20 të tilla, me ndryshim minimal nga 3 deri në 100 firma,
mundësia për prodhim T1, T2, T3, që tregon se çfarë sasie mund të prodhoj një
punëtor sipas llojit të produktit
kostoja ditore, simbolizon pagën minimale të vendosur gjatë simulimit për një
punëtor, në bazë të saj kryen veprimet e tjera të vendosjes së pagës, vlera
fillestare e saj është 200 njësi dhe mund të ndryshojë nga vlera minimale 1 deri
në 1000 njësi.
Gjithashtu në këtë panel vendosim edhe vlera monitoruese nga simulimi si numri i
ofertave të punës që përbën numrin e personave që kërkojnë punë, vende pune dhe të
punësuar. Këto vlera merren në çdo cikël të simulimit nga metodat përkatëse në klasën
UserObserver. Një shembull i këtyre metodave gjendet në listën 7-4, ku paraqitet
metoda ‘getExtraLaborSupply()’ e cila kontrollon për çdo agjent individ nëse po
kërkojnë për punë dhe i shton ato në një numërues të tyren. Kjo vlerë më pas
përditësohet edhe në panelin e përdoruesit.
Lista 7-4: Monitorimi i kërkuesve të punës nga klasa UserObserver
7.6.2. Krijimi i agjentëve dhe vazhdueshmëria e tyre
Në pjesën e vendosjeve të mjedisit simulues, përkatësisht në metodën ‘setup()’ të klasës
UserObserver krijohen edhe agjentët bashkë me vlerat fillestare të tyre.
1 public class UserGlobalsAndPanelFactory extends AbstractReLogo...{
2 public void addGlobalsAndPanelComponents(){
3 addGlobal("personID")
4 addSliderWL("numPopulation", "Numri i Popullsise", 100,1,1000,500)
5 addSliderWL("numBanks","Numri i Bankave",1,1,10,5)
6 addSliderWL("numFirms","Number of Firms",3,1,100,20)
7 addSliderWL("c1","Mundesia per prodhim T1",1,1,500,50)
8 addSliderWL("c2","Mundesia per prodhim T2",1,1,100,15)
9 addSliderWL("c3","Mundesia per prodhim T3",1,1,10,2)
10 addSliderWL("WG","Kostoja Ditore",1,1,1000,200)
11 addMonitorWL("getExtraLaborSupply","Kerkues Pune" , 1)
12 addMonitorWL("getExtraLaborDemand", "Vende Pune",1)
13 addMonitorWL("employeed", "Te punesuar",1)
14 }
15 }
1 def getExtraLaborSupply(){
2 def count = 0
3 persons().each{
4 if ((it.hired==false) && (it.jobSearching==true)) count=count+ 1
5 }
6 return count
7 }
121
Lista 7-5: Krijimi i agjentëve në metodën ‘setup()’ të klasës UserObserver
Në listën 7-5, paraqiten krijimi i individëve, firmave dhe bankave. Në krijimin e tyre
shohim se të dhënat e marra nga përdoruesi të ruajtura përkatësisht në variablat
‘numPopulation’, ‘numBanks’ dhe ‘numFirms’, përdoren në krijimin e agjentëve
përkatës në listën e mësipërme. Ndryshim bëhet për agjentin firmë, i cili krijon
fillimisht tre llojet e firmave dhe më pas për firmat e tjera zgjedh llojin e firmës në bazë
të metodës ‘randomCategory()’ të klasës Randomize. Kjo metodë përdor një funksion
shpërndarjeje të rastit uniforme që mund të bazohet mbi shpërndarjen e llojeve të
firmave në një ekonomi reale. Në këtë rast, si ndërtuesit e kësaj klase mund të
ndryshojmë parametrat në bazë të dhënave statistikore të ekonomisë së një vendi të
caktuar. Pas përcaktimi të llojit, thirret metoda ‘init()’ e klasës së agjentit firmë, ku
inicializohen edhe parametrat e tjerë të firmës siç është shpjeguar në pjesën 7.2.2 për
inicializimin e gjendjeve. Çdo agjenti gjatë krijimit i vendoset një identifikues i cili
gjatë krijimit ndryshon me një vlerë më tepër. Gjithashtu për këto agjentë vendoset edhe
një pozicion në mjedisin e simulues, që simbolizon vendndodhjen e agjentit. Në
shembullin e listës 5, kjo paraqitet në rreshtat 16,39,87, ku shihet se është i njëjti kod
por që gjeneron pozicione të ndryshme në mjedis. Në shembullin e krijimit të agjentëve
individ, të simbolizuar me termin ‘person’, ne përdorim një klasë me emrin
WageSampling për të marrë vlerën e të ardhurave që ky agjent ka në fillim të simulimit.
Kjo klasë gjithashtu përdor një shpërndarje të ardhurash për individët të marra nga të
dhëna reale statistikore të ekonomisë të cilat mund të shkruhen në një dosje bashkë me
denduritë në përqindje të këtyre të ardhurave. Në rastin tonë u përdor një shpërndarje e
të ardhurave bazuar mbi statistikat globale të kësaj shpërndarjeje. Gjithashtu me
variabëlin ‘HP’ në agjentin individ simbolizohet energjia që ky agjent ka, vlera e të cilit
është shtytësi kryesor në konsumin e produkteve. Pra sa më e vogël të jetë kjo vlerë aq
më shumë nevojë për konsum të produkteve ka agjenti individ. Për agjentin individ
1 def setup(){
2 Randomize r = new Randomize()
.. ...
14 createPersons(numPopulation){
15 setID(++prsid)
16 setxy(rndXcor(),rndYcor()) //position
17 WageSampling ws = new WageSampling()
18 income = ws.returnWage()
20 cash = income
21 HP=r.minmax(5, 80)
22 experience = r.rndExperience()
23 }
.. ...
37 createFirmss(numFirms-3){
38 ID = ++IDFirms
39 setxy(rndXcor(),rndYcor())
40 commodityType = r.rndCategory()
41 init()
42 }
.. ...
84 setDefaultShape(Banks,"triangle")
85 createBankss(numBanks){
86 IdBank=++IDBank
87 setxy(rndXcor(),rndYcor())
88 interestLoans = r.rndInterestLoan()
89 interestSavings = r.rndInterestDeposit()
90 moneyAvailable=r.rndtreasure(100000,(numPopulation/numBanks)*10000)
91 }
92 }
122
nevojitet edhe vendosja fillestare e vlerave të eksperiencës që ai ka. Kjo kryhet
nëpërmjet metodës ‘randomExperience()’, e cila vendos vlerat e eksperiencës në një
ose dy prej llojeve të firmave për çdo agjent individ, të gjeneruara në bazë të një
funksioni probabilitare me shpërndarje uniforme. Në mënyrë të ngjashme krijohen edhe
agjentët e bankave të cilat inicializojnë interesat dhe paratë që ato disponojnë në bazë
të funksioneve probabilitare.
Lista 7-6 Thirrja e agjentëve nga metoda ‘go()’ e klasës UserObserver
Në listën 7-6 shfaqet pjesë nga kodi i metodës ‘go()’ të klasës UserObserver. Kjo
metodë tregon vazhdimësinë e simulimit hap pas hapi, dhe veprimet që lidhen me çdo
hap të saj. Në të vërehet lehtësisht se radha e veprimeve fillon me agjentët individ,
pastaj firmë dhe në fund agjentët banka. Në të tre këto agjentë thirret metoda ‘step()’
që aktivizon veprimet apo sjelljet ditore të këtyre agjentëve. Një element tjetër i
rëndësishëm është edhe krijimi i agjentëve individ në mënyrë të rastësishme sipas rritjes
normale të popullsisë. Në këtë rast, personi i shtuar vjen pa eksperienca pune, dhe
simbolizon fuqinë punëtore të re në moshë që shtohet në treg.
7.6.3. Veprimet e agjentëve
Veprimet apo sjelljet e agjentëve në lidhje me mjedisin dhe agjentët e tjerë janë
shpjeguar më së miri gjatë pjesës së analizës dhe projektimit të modelit. Në listën 7-7
të shfaqur më poshtë tregohet një pjesë kodi nga agjenti individ i quajtur Person në
modelin e ndërtuar. Në metodën “step()” paraqiten hapat e agjentit nëpërmjet metodave
të përcaktuara në të. Këto metoda ekzekutohen sipas rendit të vendosur të veprimeve
duke përcaktuar edhe sjelljet e këtij agjenti.
101 def go(){
102 tick()
103 Randomize x=new Randomize()
104 if(x.personBorn(numPopulation))
105 createPersons(1){
.. ...
117 }
118 ask (persons()){ step() }
119 ask (firmss()){ step() }
120 ask (bankss()){ step() }
.. ...
132 }
123
Lista 7-7: Hapat e sjelljeve të agjentit Person dhe kontrolli i pagës më të mirë në
klasën “Person.groovy”
Në metodën “checkBetterwage()” të klasës Person, kryen veprimet për gjetjen e një
vendi pune me pagë më të mirë se ajo që agjenti disponon. Në këtë rast, kontrollojmë
fillimisht që agjenti është i punësuar dhe ka energji fizike për të punuar. Më pas
llogarisim një vlerë monetare, bazuar mbi pagën aktuale, distancën nga firma ku agjenti
është i punësuar dhe kontrollojmë të gjitha firmat nëse e kanë pagën më të lartë se paga
e agjentit. Pas kësaj kontrollohet edhe nëse firma ka kërkesë për punonjës, nëse ka
atëherë punëtori bën kërkesë për të ikur nga puna aktuale dhe aplikon për punë në
firmën që ka një pagë më të lartë. Në këtë shembull shohim se me anë të librarive të
gatshme të mjetit Repast, ne mund të aksesojmë në mënyrë të drejtpërdrejt gjendjet dhe
sjelljet e agjentëve. Këtu ne përdorëm metodën “firmss()” që është një metodë e krijuar
automatikisht nga mjedisi zhvillues dhe përmban të gjithë agjentët firmë, dhe më pas
përdorim një fjalë kyç “each” për të kontrolluar të dhënat e çdo agjenti. Me anë të kësaj
metode mund të kryejmë të gjitha veprimet e mundshme mbi agjentët, në mënyrë të
njëjtë me ato që mund të kryhen mbi objektet e programuara.
7.6.4. Ndërfaqja grafike e simulimit
Ndërfaqja grafike e simulimit të modelit të ekonomisë artificiale është e bazuar mbi
ndërfaqen që vetë mjeti i zhvillimit Repast ofron. Në figurën 7-11 paraqitet ndërfaqja
grafike e simulimit tonë, i cili për arsye të shpjegimit të tij është i ndarë në 6 zona. Pjesa
kryesore e kësaj ndërfaqeje është zona numër 1, e cila përmban 5 butona. Butoni i parë
i saj mundëson inicializimin e modelit të programuar prej nesh, duke e ngarkuar atë gati
për fillimin e simulimit. Butoni i dytë është filluesi i simulimit të vazhdueshëm, ndërsa
butoni i tretë kalon vetëm një hap kohor në simulim. Butoni i katërt bën ndalimin e
simulimit dhe butoni i fundit rikthen në gjendjen fillestare të gjithë mjedisin e
1 class Person extends ReLogoTurtle {
.. ...
43 def checkBetterwage(){
44 def firm
45 if(empfirm!=null && this.HP>30){
46 def max=1.1*wage/(maxPxcor*2+distance(empfirm))
47 firmss().each {
48 if(max<(it.cLC*(1+exp[it.cT]/20)/(maxPxcor*2+distance(it)))){
49 firm=it
50 max=it.cLC*(1+exp[it.cT]/20)/(maxPxcor*2+distance(it))
51 }
52 }
53 if(firm!=null && firm.currentProduction>1.1*firm.Capacity ){
54 unhire()
55 firm.searchingForJob.add(this)
56 firm.Employ()
57 }
58 }
59 }
.. ...
121 def step(){
122 jobSearch()
123 checkBetterwage()
124 workandlive()
125 consumeandlive()
126 Adjustment()
127 checkBankorInvest()
128 }
129 }
124
simulimit. Zona numër 2 e ndërfaqes grafike të simulimit përmban panelin ku
përdoruesi mund të vendosë numrin e agjentëve për secilin lloj, mundësitë e prodhimit
dhe pagën bazë ditore të punëtorit, siç është shpjeguar edhe në pjesën e ndërtimit të
panelit të përdoruesit. Në këtë zonë shfaqen edhe të dhënat rreth numrit të punëtorëve
që kërkojnë punë, vendet e lirat të punës dhe numri i të punësuarve. Zona numër 3 shfaq
vetëm numrin e hapave kohor të simulimit të modelit duke treguar në këtë mënyrë
periudhën e kohës ku ndodhemi në simulim. Në zonën numër 4 shfaqen rezultatet e
simulimit në formë grafikësh kohor, si edhe në formë grafike apo tabelore. Për sa i
përket ndërtimit dhe konfigurimit të këtyre grafikëve, mjeti i zhvillimit Repast ofron
zonën 5 që ndihmon përdoruesin për ndërtimin e grafikëve. Kjo zonë na lejon të
krijojmë bashkësi të dhënash që i marrim nga metodat e përcaktuara në kodim, dhe me
to ndërtojmë grafikët kohor përkatës. Duhet thënë që pas krijimit dhe konfigurimit të
këtyre grafikëve, ato ruhen si dosje konfigurimi në format “.xml” dhe ngarkohen sa
herë që ne shtypim butonin e inicializimit të modelit. Në zonën numër 6 ndodhen
butonat që mundësojnë eksportimin e të dhënave të simulimit në mjete të tjera
analizuese. Kjo pjesë mund të përdoret nga studiuesit e ndryshëm për analiza më të
thelluara të rezultateve të mjedisit simulues.
Figura 7-11 Ndërfaqja grafike e simulimit
Në grafikun e dhënë të figurës 7-11, shfaqen luhatjet totale kërkesë-ofertë në modelin
e ekonomisë artificiale deri në ditën e 302-të. Siç mund të vihet re nga grafiku i
mësipërm, kërkesa është shtytësi i rritjes së prodhimit të firmave duke rritur në këtë
125
mënyrë ofertën e tregut. Në terma të një tregu real elasticiteti i kërkesës është më i madh
se sa i ofertës, dhe kjo është arsyeja pse oferta nuk është gjithmonë në të njëjtin nivel
si kërkesa, por i afrohet asaj pas një periudhe të caktuar qëndrueshmërie të saj. Në të
njëjta rezultate qëndron edhe paraqitja grafike e rezultateve ekonomike të modelit të
ekonomisë artificiale.
126
KAPITULLI 8: PROJEKTIMI DHE NDËRTIMI I NJË EKONOMIE
ARTIFICIALE ME MJETIN E ZHVILLIMIT JACAMO
8.1. Hyrje
Në këtë kapitull trajtohet projektimi dhe ndërtimi i një ekonomie artificiale bazuar mbi
të njëjtat përshkrime dhe analiza të kapitullit shtatë. Ndryshimi është që në këtë rast
mjeti i zhvillimit është JaCaMo, i cili është sugjeruar në pjesën e kapitullit pesë si mjeti
më i mirë i zhvillimit MAS. Ky mjet do të përdoret për të treguar që është e mundur
ndërtimi i një modeli simulimi të bazuar në agjentë inteligjent. Në pjesën në vazhdim
tregohen veçoritë e përdorimit të mjetit JaCaMo, duke u ndalur edhe në veçoritë e
mjeteve përbërëse të tij. Më tej do të vazhdohet me një projektim të përshtatur të
ekonomisë artificiale për këtë mjet zhvillues. Në pjesën e ndërtimit do të diskutohen
veçoritë e ndërtimit të kësaj ekonomie që përfshijnë strukturën e përdorur të simulimit
dhe specifika të tjera të saj.
8.2. Veçoritë e mjetit të zhvillimit JaCaMo
Në këtë pjesë do të diskutojmë mbi veçoritë e mjetit të zhvillimit JaCaMo. Siç është
paraqitur edhe në kapitullin e pestë, JaCaMo është një përbërje e tre mjediseve të punës,
që janë Jason, CArtAgO dhe Moise. Kombinimi i tyre ka sjellë një avantazh në
përdorimin e paradigmave të ndryshme të programimit në sistemet multi-agjent. Për të
kuptuar këto avantazhe dhe përdorimin e tyre në ndërtimin e modelit të ekonomisë
artificiale, fillimisht do të shpjegojmë këto tre mjediset e punës bashkëlidhur edhe me
llojet përkatëse të programimit. Duhet theksuar se secila prej këtyre mjediseve është i
përshtatur me llojin e caktuar të programimit. Kështu kemi mjetin e zhvillimit Jason i
cili është kryesisht i përshtatur për programimin e orientuar ndaj agjentit, mjeti
CArtAgO i cili është i përshtatur për programimin e orientuar ndaj mjedisit dhe mjeti i
zhvillimit Moise që është i përshtatur për programimin e orientuar ndaj organizimeve
të agjentëve.
8.2.1. Mjeti i zhvillimit Jason
Mjeti i zhvillimit Jason, sikurse edhe mjetet e tjera të përmendura në këtë pjesë janë të
zhvilluara mbi gjuhën e programimit Java. E veçanta e këtij mjeti është përdorimi i
arkitekturës BDI në krijimin e agjentëve. Kjo arkitekturë lejon ndërtimin e agjentëve
inteligjent ose racional në mjedise të ndryshme. Në bazë të kësaj arkitekture, Jason
ofron një interpretues të zgjeruar të gjuhës AgentSpeak për krijimin e këtyre agjentëve
inteligjent. Ajo bazohet në programimin logjik, dhe përdor një logjik të njëjtë arsyetimi
si gjuha prolog. Kjo gjuhë përcakton tre elementë bazë që janë besimi, qëllimi dhe
planet. Përveç tyre konsiderohen edhe dy elementë plotësues ngjarjet dhe synimet.
Besimet mund të konsiderohen si një bashkësi njohurish e cila ndryshon vazhdimisht.
Në përgjithësi mund të themi se besimet mund të përcaktohen si gjendjet e agjentit, ato
përfaqësojnë informacionet që agjenti ka nga mjedisi, agjentët e tjerë apo gjendja e tij.
Qëllimet përfaqësojnë gjendjet që agjenti kërkon të arrijë, ndërsa planet janë lista e
veprimeve që agjenti mund të kryej. Në mënyrë që këto veprime të kryen duhet të
ndodhin ngjarje, dhe zakonisht ngjarjet ndodhin si pasojë e ndryshimeve të besimeve
apo qëllimeve të agjentit. Synimet janë plane në veprim për të arritur disa qëllime.
Elementët kryesor të arkitekturës së agjentit janë, bashkësia e besimeve në të cilën
ruhen besimet apo gjendjet e agjentit, bashkësia e ngjarjeve ku mbahen ngjarjet që
agjenti do të trajtoj, bashkësia e planeve ku ruhen të gjitha planet që agjenti ka, dhe
bashkësia e synimeve që mban qëllimet që agjenti është i përkushtuar të arrij bashkë
me radhën e veprimeve të lidhura me to. Bazuar mbi këto që sapo thamë, logjika e
127
arsyetimit i agjentit do të fillojë me momentin e perceptimit të mjedisit rreth tij që sjell
ndryshimin e bashkësisë të besimeve të tij. Më pas, ai përpunon mesazhet e reja që vijnë
nga mjedisi rreth tij dhe zgjedh një ngjarje. Pas kësaj do të zgjedh një planet në lidhje
me këtë ngjarje dhe ndër këto plane do të zgjedhë planet e zbatueshme në bazë të
kushteve të plotësuara. Në këtë moment do të krijojë një synim, të cilin do ta zgjedhë
për ta zbatuar apo realizuar.
Sintaksa e krijimit të një besimi është emri i besimit me të vogla e ndjekur nga kllapa
me hark ku brenda tyre vendosen vlerat e tij. Një shembull i tillë paraqitet në listën 8-
1, ku në rreshtin e parë tregohet shtimi i besimit për ngjyrën blu. Besimet mund të kenë
edhe shënime ku theksohet burimi i informacionit. Gjatë kohës që sistemi multi-agjent
është në punë, besimet mund të shtohen, hiqen apo të përditësohen nëpërmjet zbatimeve
të planeve të tyre. Në shembull mund të shohim në rreshtat 8 dhe 9, heqjen dhe më pas
shtimin e besimit ngjyra, i cili kryhet nëpërmjet shenjave ‘-‘ dhe ‘+’ përpara besimeve
përkatëse. Njëkohësisht ky besim mund ti komunikohet edhe agjentëve të tjerë në
sistem, duke i shtuar këtë besim në bashkësinë e tyre të besimeve. Një veprim i
ngjashëm mund të kryhet edhe për heqjen e një besimi duke përdorur opsionin “untell”
te funksioni “.send”.
Lista 8-1: Shembull sintakse për besimet, planet dhe qëllimet në Jason
Qëllimet ndahen në lloje, qëllim arritjeje dhe qëllim testimi. Qëllimi i arritjes është
qëllimi për të bërë diçka, ndërsa qëllimi i testimit është një qëllim për të marrë një
njohuri prej saj. Këto qëllime thirren me shenjën ‘!’ për qëllimin e arritjes dhe ‘?’ për
qëllimin e testimit. Në listën 1, qëllimi i arritjes me emrin dërgo në rreshtin 5 është
synimi i agjentit e cila është dhe ngjarja aktivizuese e planit përkatës. Në rreshtin 11
paraqitet qëllimi i testimit i cili arrin të marrë njohuri mbi vlerën ‘M’ dhe më pas e
paraqet atë. Qëllimet sikurse edhe besimet mund të komunikohen te agjentët e tjerë me
anë të funksionit “.send”. Në këtë rast mundet ta shtojmë një qëllim arritjeje me
opsionin “achieve” apo ta heqim atë me opsionin e kundërt “unachieve”, ndërsa për
qëllimin e testimit mundet vetëm të shtojmë me opsionin “askHow” dhe presim
përgjigjen nga agjenti tjetër.
Planet kanë një strukturë të përgjithshme sintaksore që përfshin ngjarjen aktivizuese,
kontekstin dhe trupin e planit. Ngjarja aktivizuese tregon ngjarjen e cila do trajtohet
nga plani dhe këto ngjarje mund të jenë shtimi ose heqja e një besimi, shtimi i një
qëllimi arritjeje apo heqja ose dështimi i saj dhe e njëjta gjë për qëllimin e testimit.
Konteksti paraqet kushtet në të cilat plani mund të përdoret, ndërsa trupi i planit është
1 ngjyra(blu). //shton besimin mbi ngjyrën me vlerë blu
2 gola(sk1,2)[source(agjenti1)]. //besim nga agjenti 1
3 rregull(A,B):- gola(A,B) & B>0.//nje rregull
4 //Krijojmë një synim bazuar mbi qëllimin dergo
5 !dergo.
6 //plani i qëllimit dergo nëse ka një besim me emrin ngjyra
7 +!dergo:ngjyra(A)
8 <- .send(agjent1,tell,ngjyra(A));//shto besim te agjent1
9 -ngjyra(blu); //hiq besimin
10 +ngjyra(kuqe); //shto besimin
11 ?testo(M); //qëllim testimi
12 veprim(M,R); .print(R).
13 //Plani i dështimit të qëllimit dergo
14 -!dergo:true <- .print("nuk gjendet besimi ngjyre").
15 +?testo(X): rregull(A,C) <- X=C.
16 -?testo(X): true <- X=0. //plani i dështimit të qëllimit testues
128
lista e veprimeve që trajtojnë ngjarjen nëse konteksti besohet se është i vërtetë në kohën
e zgjedhjes së planit. Shembulli i plotë i një plani jepet në rreshtat 7 deri 12 të listës 8-
1, ku jepet shtimi i planit të qëllimit të arritjes “dërgo” i cili është dhe ngjarja
aktivizuese. Konteksti i saj është thjesht ekzistenca e besimit “ngjyra” me një vlerë
çfarëdo dhe pas shenjës “<-“ paraqitet trupi i planit me listën e veprimeve për arritjen
e qëllimit. Në rast dështimi thirret plani i heqjes së qëllimit që paraqitet në formë të
ngjashme në rreshtin 14 të listës. Përveç planeve fillestare të përcaktuara nga
programuesi, planet mund të shtohen në mënyrë dinamike duke përdorur funksionin
“.add_plan” dhe për ta hequr atë përdoret funksioni “.remove_plan”. Njëkohësisht
planet mund të komunikohen me mesazhe nga ose te agjentë të tjerë me funksionin
“.send” ku përdorim opsionet “tellHow” për shtimin dhe opsionin “untellHow” për
heqjen e planeve nga agjentët e tjerë.
Një veçori tjetër e kësaj gjuhe është mundësia për të krijuar rregulla logjike për besimet
bazë të agjentit. Këto rregulla mund të përdoren për të thjeshtuar detyra të caktuara, si
për shembull bashkimi i disa kushteve në një rregull të vetëm. Sintaksa e tyre është e
njëjtë me atë të përdorur në kontekstin e një plani, një shembull përgjithësues është
“rregull(Vlera) :- konteksti”. Në rreshtin 3 paraqitet një shembull rregulli i cili ka vlerë
të vërtetë kur kushtet në të janë të vërteta.
Lista 8-2: Shembull i veprimeve të brendshme në Jason
Normalisht gjuha e përdorur në Jason ka një mori veprimesh që mund të kryhen në të
si printimi, radhitja, veprime me lista apo vargje, ndryshimi i besimeve dhe planeve,
krijimi i agjentëve, ngjarjeve e tjera. Në pamundësi të një veprimi specifik, kjo gjuhë
lejon ndërtimin e veprimeve të brendshme. Një shembull i tillë jepet në rreshtin e 12-të
të listës 8-1, ku thërritet një funksion veprim me dy parametra. Prej saj pritet të printohet
një vlerë për ‘R’ që vjen si rezultat i saj. Në listën 8-2 shfaqet kodi në gjuhën java i këtij
funksioni i cili tashmë deklarohet si një klasë që zgjeron klasën “DefaultInternalAction”
dhe në të kryen veprimet që kanë nevojë për një përpunim më specifik.
8.2.2. Mjeti i zhvillimit CArtAgO
Mjeti i zhvillimit CArtAgO është një infrastrukturë për programimin e mjedisit dhe
ekzekutimin e tij në sistemet multi-agjent (Ricci, Piunti, & Viroli, 2011). Ideja e
përdorimit të tij është që mjedisi mund të përdoret si një shtresë që përmban
funksionalitetet dhe shërbimet që një agjent mund të përdorë gjatë ekzekutimit.
CArtAgO është i bazuar në konceptin e lidhjes agjent-artefakt (Omicini, Ricci, &
Viroli, 2008), që do të thotë se mjedisi programohet si një bashkësi dinamike pjesësh
llogaritëse që quhen artefakte, të cilat përmblidhen në hapësira pune. Në të agjentët janë
thjesht njësi pro aktive të orientuara ndaj një qëllimi dhe autonome. Ato krijojnë dhe
përdorin artefakte së bashku për të mbështetur veprimet e tyre. Ndërkohë që artefaktet
janë njësi të kontrollueshme dhe të observueshme, të orientuara ndaj funksionalitetit
dhe nuk janë autonome.
1 public class veprim extends DefaultInternalAction {
2 public Object execute(TransitionSystem ts, Unifier un, Term[] args){
3 String msg=bej(Integer.parseInt(args[0].toString()));
4 return un.unifies(args[1], new Term(msg));
5 }
6 private String bej(int k) {...} //veprimet specifike mund të kryhen këtu
7 }
129
Në përgjithësi, artefaktet mund të jenë të llojeve të ndryshme. Ato mund të jenë
individuale të projektuara për të dhënë funksionalitete vetëm një agjenti si mbajtja e të
dhënave të tij apo axhendave personale, etj. Ndërkohë mund të përdoret edhe si artefakt
shoqëror që jep funksionalitete për menaxhimin dhe strukturimin e ndërveprimeve
midis agjentëve në një sistem multi-agjent. Artefakti mund të paraqesë edhe burimet
apo shërbimet e pajisjeve të jashtme dhe është një mjet i mirë për të mundësuar
komunikimin me përdoruesit e jashtëm të sistemit.
Ky mjet mbështet komunikimin e drejtpërdrejt me mjetin e zhvillimit Jason, dhe
artefaktet e saj komunikojnë me agjentët e krijuar në Jason. Shumë prej veprimeve të
jashtme të agjentit në Jason janë të lidhura me operacionet e artefakteve. Atributet në
vëzhgim të artefakteve janë të lidhura me besimet e agjentit dhe sinjalet e artefakteve
krijojnë perceptime për ngjarjet aktivizuese të agjentit. Kjo lejon një ndërveprimin e
agjentëve me artefaktet, duke lejuar njëkohësisht edhe zgjerimin e mundësive të
përdorimit të tyre.
Lista 8-3: Shembull i ndërveprimit me artefakte në Jason
Në listën 8-3 paraqitet një shembull kodi Jason i ndërveprimit me një artefakt. Në të
fillimisht pas aktivizimit të planit “init” është thirrur plan veprimi “setup” i cili kryen
edhe lidhjen me artefaktin me emrin “ArtEnv”. Kjo lidhje kryhet nëpërmjet funksionit
“makeArtifact()” ku përcaktohet një emër lidhës, emri i artefaktit, parametrat dhe një
identifikues. Duhet përmendur se në rastet kur ky artefakt është i krijuar ai mund të
thirret me anë të funksionit “lookupArtifact()” për tu gjetur dhe përdorur më vonë
përsëri. Me njohurinë e identifikuesit të marrë nga ngjarja “setup” brenda planit “init”
bëhet fokusimi i artefaktit me funksionin “focus”, dhe më tej thirret funksioni
“artveprim” i cili është pjesë e veprimeve që bëhen në lidhje me artefaktin.
1 !init.
2 +!init:true <-
3 .my_name(Me);
4 !setup(Id);
5 focus(Id);
6 artveprim(Me,V);
7 .print("Veprimi ",V).
8 +test(P) <- .print("Veprimi i krye ",P).
9 +!setup(Id): true <- makeArtifact("fi","ArtEnv",[],Id).
10 +?check(Id):true <- lookupArtifact("fi",Id).
130
Lista 8-4: Shembull i krijimit të artefaktit “ArtEnv”
Një shembull i plotë i ndërtimit të një artefakti jepet në listën 4, ku paraqitet një
shembull kodi i artefaktit “ArtEnv”. Në këtë shembull vërehet se struktura kryesore
është e ngjashme me ndërtimin e klasave në gjuhën Java. Duhet thënë se çdo artefakt
zgjeron një klasë me emrin “Artifact” dhe në inicializimin e saj thërret metodën “init”,
për të përcaktuar gjendjet e saj fillestare. Në rreshtin 4, ne paraqesim një parametër
atribut i observueshëm me emrin “smth”, i cili është pjesë i besimeve të agjentit ndaj
artefaktit. Në lidhje me funksionin “artveprim” të thirrur nga agjenti në shembullin e
listës 3, në listën 4 ai paraqitet si metodë e klasës “ArtEnv” me shënimin
“@OPERATION” për të theksuar se është një veprim i artefaktit. Ndër parametrat që
kjo metodë merr janë emri i agjentit dhe një vlerë me kthim mbrapa që përcakton një
vlerë përgjigje e llojit “double” për agjentin. Ndër veprimet e shfaqura në këtë metodë
janë përditësimi i vlerës së parametrit “smth” me vlerën e re k pas disa veprimeve. Më
pas kryhet vendosja e vlerës kthim, e cila kalon si vlerë në listën 3 te variabli ‘V’ që
printohet më pas. Më tej kryhet një veprim kontrolli që pret deri sa metoda me emrin
“pritja” të kthejë një vlerë të vërtetësie. Kjo metodë është paraqitur më poshtë me
shënimin “@GUARD” për të përcaktuar të tilla metoda kontrolli. Në rreshtin e 11-të
paraqitet thirrja e një veprimi të brendshëm i cili mund të ndryshojë gjendje apo kryejë
veprime të ndryshme. Edhe në këtë rast metoda përkatëse paraqitet me shënimin
përpara “@INTERNAL_OPERATION” për ti treguar kompilatorit që është një veprim
i artefaktit. Ndërkohë që në rrjedhën e veprimeve të artefaktit ndaj agjentit, ai mund ta
sinjalizojë agjentin me një ndryshim gjendjeje. Kjo është e paraqitur me funksionin
“signal()”, e cila në këtë rast dërgon një sinjal me emrin “test” dhe një vlerë çfarëdo.
Kjo interpretohet si një ngjarje e ndryshimit të besimit “test” te agjenti dhe plani me të
njëjtin emër aktivizohet. Kjo është paraqitur në shembullin e listës 3 në rreshtin 8, ku
pas aktivizimit të saj printohet vlera e dërguar. Ky lloj komunikimi tashmë është
asinkron, ndërkohë mënyra e dërgimit të përgjigjes nga metoda “artveprim” është
sinkron dhe ndodh në momentin e kërkimit të saj. Një veçori tjetër interesante e
CArtAgO-s është përdorimi i shumë artefakteve nga agjentët duke përcaktuar hapësira
pune të ndryshme. Në këtë mënyrë, agjentët mund të mendojnë sikur janë në mjedise
të ndryshme në të njëjtën kohë, ashtu siç ndodh edhe në realitet. Për shkak të këtyre
veçorive, kombinimi i mjeteve Jason dhe CArtAgO i jep një avantazh goxha të madh
përdorimit të tyre në ndërtimin e sistemeve multi-agjent.
1 class ArtEnv extends Artifact {
2 private int k;
3 void init() {
4 defineObsProp("smth",0);
5 }
6 @OPERATION void artveprim(String emri, OpFeedbackParam<Double> vlera){
7 ... //veprime të ndryshme
8 getObsProperty("smth").updateValue(k);
9 vlera.set(5.2); //kthim përgjigje direkte
10 await("pritja");//veprim kontrolli deri në vërtetësi
11 execInternalOp("epo"); //thirrje e një veprimi të brendshem
12 signal("test", "një vlerë çfarëdo"); //sinjalizim kundrejt agjentit
13 }
14 @INTERNAL_OPERATION void epo() { ... } //Veprim i brendshem
15 @GUARD boolean pritja() { ... } //veprim kontrolli
16 ... //metoda të tjera në gjuhën Java
17 }
131
8.2.3. Mjeti i zhvillimit Moise
Mjeti i zhvillimit Moise është thjesht një mjet që ndihmon në përshkrimin strukturor të
organizimeve në një sistem multi-agjent. Në bazat e saj, organizata përshkruhet nga ana
strukturore nëpërmjet grupeve dhe roleve të agjentëve. Ndërkohë që nga këndvështrimi
funksional organizata shihet nëpërmjet skemave sociale, misioneve dhe qëllimeve të
agjentëve. Skema sociale është shpërbërja e strukturës së qëllimeve organizative në
nën-qëllime të cilat grupohen si misione. Në këndvështrimin normativ organizimet
shihen si norma që lidhin rolet e agjentëve me misionet e tyre, duke kufizuar kështu
sjelljet e agjentëve në lidhje me qëllimet që duhet të arrijnë kur zgjedhin grupin dhe
rolin që do kenë në të. Këto specifikime kryhen nëpërmjet një gjuhe modelimi për
organizimet e cila përshkruhet në një dosje XML. Të gjitha specifikimet trajtohen në të
në lidhje me llojet e organizimeve të agjentëve me njëri tjetrin.
8.2.4. Kombinimi i tre mjeteve
Kombinimi i tre mjeteve të zhvillimit është propozuar për herë të parë në punimin e
(Boissier, Bordini, Hübner, Ricci, & Santi, 2013), ku theksohet se ky bashkim plotëson
në mënyrë të plotë programimin e shumë aspekteve të fushës së sistemeve multi-agjent.
Në figurën 1, paraqitet ana konceptuale e këtij bashkimi. Pjesa më e rëndësishme është
pjesa e agjentëve të cilët ndërveprojnë me njëri-tjetrin duke u përfshirë në disa hapësira
mjedisore. Ato ndërveprojnë me artefaktet e shumta të këtyre mjediseve sikurse edhe
organizohen në skema të ndryshme sociale në bazë të roleve që ata kanë. Gjithashtu
mjedisi i përbërë nga artefakte, arrin të komunikojë me mjete të tjera të jashtme, të cilat
mund të jenë ndërfaqe grafike, programe të tjera apo edhe pajisje harduerike.
132
Figura 8-1 Pamja e tre dimensioneve të mjetit JaCaMo14
Me integrimin e këtyre tre mjeteve zhvilluese është synuar edhe bashkimi i koncepteve
bazë të programimit të orientuar ndaj agjentit, mjedisit, organizatave dhe
ndërveprimeve duke formuar një koncept të ri të programimit të orientuar ndaj multi-
agjentëve. Pra në këtë kontekst, AOP+EOP+OOP+IOP => MAOP. Mjedisi i zhvillimit
JaCaMo (Boissier, Hubner, & Ricci, 2016) është platforma bashkuese e këtyre mjeteve
dhe i vetmi që ka të integruar në një mjedis zhvillimi konceptet e lart përmendura të
programimit.
14 Mbështetur mbi punimin e (Boissier, Bordini, Hübner, Ricci, & Santi, 2013)
133
Figura 8-2 Struktura mjetit të zhvillimit JaCaMo15
Një lidhje tjetër është ajo e mjedisit në CArtAgo dhe organizimet në Moise që zakonisht
përdor ato që njihen si artefakte organizative. Në këto artefakte, vendosen sjelljet
organizative të përshkruara në specifikimet e organizatës. Nga këndvështrimi i agjentit
këto artefakte organizative mundësojnë veprimet që mund të përdoren duke qenë pjesë
e një organizate, grupimi apo roli të caktuar. Kjo lidhje mjedis-organizatë sjell disa
elementë të rëndësishëm nga pikëpamja e projektimit dhe programimit, siç janë:
Uniformiteti, ku i njëjti model veprimi dhe perceptimi përdoret për të mundësuar
ndërveprimin midis agjentëve dhe organizatës
Shpërndarja, ku infrastruktura e menaxhimit organizativ është e shpërndarë në
lidhje me bashkësitë e artefakteve që janë pjesë e hapësirave të ndryshme të
punës.
Dinamizmi, ku agjentët e organizuar mund të ndryshojnë në mënyrë dinamike
formën e organizatës duke vepruar mbi artefaktet organizative që përdoren prej
tyre.
Heterogjeniteti, mundësia e përfshirjes së agjentëve të tjerë nga platforma të
tjera apo të programuara ndryshe që të marrin pjesë në organizatat e JaCaMo-s,
në momentin që kanë aftësinë për të punuar me mjedise të bazuara me artefakte.
Mundësitë e ri-organizimit në nivele të larta.
Pjesa e lidhjes së agjentit me organizimet, paraqet një lidhje të drejtpërdrejtë të qëllimit
të agjentit me qëllimin e organizatës. Në këtë rast është agjenti i cili mund të zgjedhë
të ndjekë qëllimin e tij apo të përshtatë qëllimin e organizimit. Delegimi i qëllimeve
nga organizata te agjentët shprehet me detyrimet që vijnë nga normat e organizimeve.
Në këto raste agjenti, kur agjenti percepton një detyrim të tillë dhe nëse ai zgjedh ta
përshtatë atë, në këtë moment krijohet si një qëllim individual te agjenti.
15 Mbështetur mbi punimin e (Boissier, Hubner, & Ricci, 2016)
134
8.2.5. Modelimi në JaCaMo
Përgjithësisht në shembujt e gjetur në literaturë, vlerësohet metodologjia Prometheus
(Padgham & Winikoff, 2003) si mënyra më e mirë për modelimin e sistemeve me
agjentë inteligjent në MAS. Gjatë përdorimit të tij bashkë me mjetin e zhvillimit
JaCaMo, disa kërkues (Freitas, Cardoso, Vieira, & Bordini, 2016) kanë gjetur kufizime
dhe divergjenca në pjesën e modelimit, pasi kjo metodologji nuk arrin të mbulojë shumë
prej aspekteve të tij. Ky përfundim është pothuajse i njëjtë me analizën e metodologjive
në pjesën 5.3.1.7 të këtij punimi. Ndërkohë duke konsideruar praktikat më të mira të
modelimeve të bazuara në agjent në fushat e ekonomisë dhe financës (Vermeir &
Bersini, 2015), tregohet se përdorimi i gjuhës UML në të tilla modelime është goxha e
nevojshme dhe e rëndësishme. Një strukturë të ngjashme modelimi është përdorur edhe
në punimin e (Hakrama & Tabaku, 2016), që përdor specifikat e metodës me UML për
të ndihmuar në ndërtimin e një MAS. Në pjesët në vazhdim, do të tregohet një strukturë
e tillë e përdorur bashkë me mjedisin e zhvillimit JaCaMo për të ndërtuar një ekonomi
artificiale.
8.3. Projektimi i Ekonomisë artificiale
Në këtë pjesë bazohemi mbi përshkrimin dhe analizën e bërë për modelin e ekonomisë
artificiale në kapitullin e mëparshëm. Duke marrë parasysh edhe veçoritë e mjedisit të
zhvillimit, na duhet të bëjmë disa ndryshime për pjesën e projektimit të modelit.
Ndryshimi i parë është që agjentët do të ndërtohen duke marrë në konsideratë modelin
arkitekturor BDI që ofron mjedisi i zhvillimit Jason. Në bazë të kësaj arkitekture, ne
specifikojmë besimet e agjentëve si gjendjet e tyre dhe me planet si veprimet e tyre të
mundshme që drejtohen nga dëshirat e çastit. Duke konsideruar analizën e bërë për
ekonominë artificiale rreth veprimeve kryesore ditore të secilit agjent, duhet të
paraqesim këto veprimet si plan-veprime ditore në këndvështrimin e mjedisit zhvillues.
Duke pasur parasysh kërkesat e modelit për simulimin e vazhdueshëm kohor për
veprimet e çdo dite, në këtë mjet na duhet të mendojmë një zgjidhje të re me hapa kohor,
i cili do të veprojë si një planifikues kohor. Kjo do të diskutohet më tej në pjesën e
ndërtimit të simulatorit të ekonomisë artificiale.
Individi, apo personi është agjenti kryesor i modelit tonë. Plani rutinë i tij përcaktohet
si një listë plan qëllimesh që thirren në çdo hap kohor. Në planin e parë, ai duhet të
përditësojë besimet e tij bazuar në pasurinë e tij, pra ai përditëson informacionin në
lidhje me paratë që ka në dorë, paratë e depozituara dhe huaja e marra nga banka. Në
hapin e dytë agjenti person kontrollon besimin e tij të punësimit, nëse është i punësuar
vazhdon me planin e punës, përndryshe ai vë si synim planin e kërkimit të punës ku
regjistrohet si person që kërkon një punë dhe pret të punësohet nga një firmë. Kur
agjenti personi është duke ndjekur planin e punës, ai përditëson besimin e energjisë së
tij duke e ulur atë në bazë të punës që ai bën. Ky besim rritet përsëri gjatë plan-veprimit
të konsumit në varësi të produkteve të konsumuara. Më vonë gjatë planit të
rregullimeve, agjenti person bën disa arsyetime logjike që ta ndihmojë atë në
vendimmarrjet e ardhshme duke përditësuar besimet e tij. Plani i fundit i hapit kohor të
agjentit person është e lidhur me vendimet mbi menaxhimin e parave të tij.
Në planin rutinë të agjentit firmë, fillohet me planin e lajmërimit të çmimit të
produkteve te gjithë agjentët e tjerë, kjo kryhet duke përditësuar besimet e agjentëve të
tjerë me anë të dërgimit të një mesazhi. Kjo është e nevojshme pasi çmimi mund të
ndryshojë herë pas here në kushte reale. Plani i mëtejshëm është ai i llogaritjes së
pagave të hapit kohor për të gjithë punonjësit e agjentit firmë, në këtë rast bëhen
135
ndryshimet e duhura në besimin e agjentit rreth pagesave të punonjësve. Agjenti firmë
kontrollon besimin e tij për të prodhuar më shumë, dhe nëse nevojitet aktivizon plan
qëllimin e punësimit për të marrë më tepër punonjës. Në rastin kur agjenti firmë ka më
shumë punëtorë seç nevojiten për prodhim atëherë, agjenti mund të aktivizojë plan
qëllimin e heqjes nga puna. Të njëjtat arsyetime bëhen edhe në planet e mëpasshme
rreth strategjive në treg apo kërkesave për investime. Plani i fundit që aktivizohet ka të
bëjë me arsyetimet e agjentit në rastin e vendimmarrjeve mbi depozitat dhe huamarrjet
bazuar në nevojat e tij.
Plani rutinë i agjentit bankë përmban plane të lidhura me kontrollet e depozitave dhe
huave, si edhe me disa arsyetime të rëndësishme për ndryshimin e normave të interesit
bazuar mbi kërkesat dhe ofertat e parasë.
Përveç planeve rutinë të këtyre agjentëve, në to gjenden edhe plane të tjera që
aktivizohen në raste ngjarjesh të caktuara që ndodhin si pasojë e ndryshimeve të
besimeve, komunikimi midis agjentëve apo edhe perceptimeve të marra nga mjedisi ku
ndodhen. Agjentët kanë nevojë të aplikojnë këto plane në bazë të informacioneve që
ato vetë ndajnë me njëri tjetrin brenda mjediseve të tyre. Në këndvështrimin e gjerë
është e nevojshme të mendohet rreth tregjeve ku këto agjentë do të ndërveprojnë me
njëri tjetrin. Në këtë aspekt, tregjet do të jenë vendi ku agjentët do të komunikojnë duke
shpërndarë informacionin e nevojshëm rreth besimeve të tyre me njëri tjetrin. Tregjet e
menduara në këtë pjesë bazuar mbi përshkrimet e ekonomisë artificiale janë:
Tregu i mallrave, aty ku tregtohen produktet e agjentëve firmë dhe ku blihen
nga konsumatorët që janë agjentët person
Tregu i punës, është vendi ku agjentët firmë kërkojnë për punëtorë dhe ku
agjentët person kërkojnë punë
Tregu i aksioneve, është vendi ku agjentët person arsyetojnë për të investuar
dhe ku agjentët firma ofrojnë aksione për të marrë investime
Tregu bankar, ku përcaktohen normat e interesit të depozitave dhe huave për
çdo bankë.
Në këtë këndvështrim, në projektimin e zgjidhjes për ndërtimin e modelit të ekonomisë
artificiale është menduar përfshirja e artefakteve për të mundësuar operacionet e
ndryshme të tregjeve të përmendura. Në bazë të ndërveprimeve midis agjentit person
dhe firmë, është vendosur artefakti FirmEnv i cili do të kryej operacionet e rëndësishme
të tre tregjeve të para. Ndërkohë, artefakti me emrin BankEnv do të mbajë informacione
rreth tregut bankar dhe do të shërbejë si mjedisi i ndërveprimeve midis agjentit bankë
dhe agjentëve të tjerë.
136
Figura 8-3 Diagrami Sekuencë e menaxhimit të parave
Në figurën 8-3, tregohet një diagramë sekuencë e lidhur me menaxhimin e parave të
agjentit person. Agjenti person kontrollon pasurinë e tij duke dërguar një kërkesë te
artefakti BankEnv. Artefakti komunikon me bankën përkatëse që mban të dhënat rreth
depozitave dhe huave, dhe kontrollon llogaritë me identifikuesin e agjentit person.
Duke përdorur metodat “getDepsTotal()” dhe “getLoansTotal()”, banka grumbullon të
gjitha llogaritë e depozitave dhe huave të personit dhe llogarit totalin e tyre. Diferenca
e këtyre totaleve është përgjigjja që artefakti dërgon sërish tek agjenti person.
Agjenti person fillon aktivitetin i depozitimit kur ai përmbush kushtin e të pasurit më
shumë para në dorë sesa i nevojiten realisht për konsumin e përditshëm për një periudhë
të caktuar. Agjenti kërkon te artefakti BankEnv operacionin për të gjetur bankën më të
mire bazuar në interesat e depozitës dhe distancën nga agjenti. Pas gjetjes së bankës,
agjenti person dërgon një mesazh te agjenti i bankës për të krijuar një depozitë dhe të
dhënat transmetohen në objektin e bankës që zgjidhet ku edhe depozita e re krijohet.
Në të dy këto agjentë përditësohen besimet e tyre për sasinë parave në dorë dhe të
parave të depozituara. Një qasje e ngjashme ndiqet edhe për aktivitetin e huamarrjes,
ku agjenti person kur beson se ka para të pamjaftueshme i drejtohet agjentit bankë për
të marrë një hua. Në këtë rast, gjendet banka me normat më të ulëta të interesit të
huamarrjes dhe aplikohet për hua te agjenti bankë. Artefakti BankEnv, në këtë rast
137
kryen operacionet e nevojshme për krijimin e huasë dhe më pas përditësohen besimet e
agjentëve rreth parave që ata kanë në dispozicion.
Për sa i përket rastit kur agjenti person ka nevojë për para dhe ka para gjendje në bankë,
në këtë rast kryhet aktiviteti i tërheqjes së parave nga banka. Agjenti person dërgon një
mesazh aktivizues në artefaktin BankEnv ku aktivizohet operacioni i tërheqjes së parave
nga depozitat që janë në emër të tij. Në këtë rast, artefakti kryen rolin e arsyetimit të
llogarive bankare që agjenti person ka. Secila nga depozitat e gjetura me anë të këtij
artefakti i dërgohen agjentit të bankës përkatëse për të vazhduar me tërheqjen e
depozitave. Në këtë moment agjenti i bankës përditëson besimet e tij për ndryshimin e
depozitës dhe i dërgon agjentit person paratë që ai ka kërkuar të tërheqë. Agjenti person
në këtë moment përditëson besimin e tij rreth parave që ka në dorë.
Në figurën 8-4, paraqitet diagrami sekuencë për aktivitetet e tregut të punës. Në të
kryhen veprimet kryesore të agjentit person dhe atij firmë rreth punësimit. Normalisht
është agjenti person ai i cili dërgon të dhënat e tij në artefaktin FirmEnv në momentin
e kërkimit të një pune. Në këtë rast, artefakti mban një listë objektesh me emrin
JobAskers, për të mbajtur të dhënat e rëndësishme të agjentëve të cilët kërkojnë një
punë. Kur një agjent firmë kërkon punëtorë, ai dërgon një kërkesë punësimi te ky
artefakt i cili kryen operacionin e gjetjes së punëtorit duke arsyetuar në bazë të
eksperiencës dhe vendndodhjes së tij. Pas kësaj, të dhënat e punëtorit i dërgohen agjentit
firmë i cili e punëson atë duke përditësuar edhe besimin e tij dhe dërgon një mesazh
punësimi te agjenti person. Duhet thënë se në krijimin e agjentit firmë në artefakti
FirmEnv krijohet edhe një objekt Firm, e cila mban të dhënat kryesore të agjentit firmë.
Kjo na lejon që disa prej operacioneve të paraqiten paralelisht edhe në këtë objekt. Për
sa i përket të dhënave të punëtorëve, këto të dhëna tashmë ruhen në mënyrë të plot në
objektin firmë, kjo thjeshton kohën e veprimeve logjike të agjentit firmë.
138
Figura 8-4 Diagrami sekuencë i punësimit
Në raste të caktuara, agjenti person mund të kontrolloj në treg për një punë me pagë më
të mirë. Në këtë rast, agjenti person bën një kërkesë te artefakti FirmEnv për të kryer
një arsyetim mbi mundësitë e ndryshimit të vendit të punës. Nëse kushtet plotësohen
dhe gjendet një ofertë më e mirë pune, atëherë punëtori ikën nga puna aktuale, duke
dërguar një mesazh tërheqjeje nga puna te agjenti firmë dhe punësohet nga agjenti i ri
firmë. I njëjti veprim kryhet edhe në objektin Firm, ku objektet e personit hiqen nga
lista e firmës ku ndodhej dhe më pas shtohet në listën e firmës së re.
Si pjesë e lidhjeve midis agjentëve firmë dhe person, ndodhen edhe procese të tjera që
përfshijnë veprimet e tregjeve të mallrave dhe aksioneve. Për të parën mund të themi
se veprimet kryesore të saj ndodhin në plan-veprimet e agjentëve përkatës që
komunikojnë me njëri tjetrin dhe përditësojnë edhe besimet e tyre përkatëse. Ndërsa në
tregun e aksioneve, përfshirja e artefaktit FirmEnv është më e rëndësishme pasi të
dhënat e agjentëve pasqyrohen edhe në objektet përkatëse Firm dhe Owner të cilat
përfshijnë dhe procedurat e arsyetimeve të blerjes apo shitjes së aksioneve.
139
Figura 8-5 Diagrami klasë që përmbledh MAS, artefaktet me klasat mbështetëse
Në projektimin e artefakteve dhe klasave ndihmuese, paraqesim në figurën 5 diagramin
e klasës që përmbledh sistemin MAS, artefaktet dhe klasat mbështetëse të simulimit.
Në diagramin e mësipërm paraqitet fillimisht sistemi MAS i cili përbëhet nga tre
agjentët kryesor dhe i cili përdor një klasë ndihmuese me emrin rnd për të bërë
inicializimin e gjendjeve të agjentëve, sikurse përdoret edhe në vendimmarrjet e tyre.
Kjo klasë përdor metodat e gjenerimit të klasës Randomize që kanë funksione me
shpërndarje probabilitare të ndryshme sipas kushteve të kërkuara në analizë.
Të tre agjentët tanë lidhen me artefaktin e bankës, kur bëhet fjalë për operacione
financiare me bankën. Në këtë artefakt agjentët person dhe firmë konsiderohen si klient
të bankës dhe operacionet e saj thirren në mënyrë të njëjtë nga të dy këta agjentë. Në
fillim të simulimit, ky artefakt krijohet nga agjenti bankë, dhe në të njëjtën kohë ky
agjent thërret metodën e krijimit të objektit bankë me të dhënat e tij fillestare. Të gjithë
operacionet bankare të tij ndryshojnë njëkohësisht variablat e objektit Banka dhe
besimet e agjentit bankë. Në objektin Banka ruhen të dhënat e depozitave dhe të huave
të marra nga agjentët e tjerë.
Në bashkëveprimet e agjentëve firmë dhe person është e nevojshme përdorimi i
artefaktit FirmEnv, i cili paraqet edhe operacionet e ndryshme të veprimeve të
ndërsjella të agjentëve. Ky artefakt krijohet në momentin e inicializimit të agjentit
firmë, dhe në këtë moment të dhënat e këtij agjenti përdoren për krijimin e objektit
Firmë, e cila mban të dhënat kryesore të firmës dhe disa nga metodat që do të përdoren
prej operacioneve të artefaktit. Agjenti person kryen operacione të ndryshme me anë të
këtij artefakti në lidhje me agjentin firmë. Në rastin e sipër përmendur të punësimit,
agjenti person fillimisht kur ka për qëllim punësimin e tij thërret operacionin e kërkesës
së punës në artefaktin FirmEnv. Në këtë operacion krijohet edhe objekti JobAsker, i cili
140
përmban të dhënat bazë të agjentit person që i nevojiten për punësimin e tij nga agjenti
firmë. Pas krijimit të objektit, ky objekt shtohet në një listë që përmban të gjitha punë
kërkesat e punëtorëve. Agjenti firmë kontrollon këtë listë objektesh dhe pas arsyetimit
punëson punëtorët duke hequr nga lista e objekteve JobAsker dhe shtimin e tyre në
listën e punëtorëve të objektit Firm. Ky veprim teknik paraqet edhe punësimin e agjentit
person. Në mënyrë të njëjtë konsiderojmë edhe rastin e investimeve nga agjentët person
në blerjen e aksioneve të agjentit firmë. Në këtë rast, agjenti firmë e ka të publikuar
çmimin e aksionit të saj në artefaktin FirmEnv, dhe është agjenti person ai i cili në
momentin e kërkesës për investim me anë të operacionit përkatës krijon një objekt të
llojit Owner ku vendos të dhënat e tij si pronar i aksioneve të blera nga agjenti firmë.
Ky objekt ruhet në listën e pronarëve të artefaktit për aksesim më të shpejtë dhe në
listën e pronarëve të objektit Firm. Nëse i njëjti agjent më vonë kryen investime edhe
në firma të tjera, atëherë objekti Firm ruhet edhe në listën e aksioneve të objektit Owner.
Kjo mënyrë ndihmon në veprimet dhe operacionet e ndryshme të agjentëve në simulim.
8.4. Ndërtimi i ekonomisë artificiale me JaCaMo
Në pjesën e mësipërme është shpjeguar projektimi i zgjidhjes së modelit të ekonomisë
artificiale bashkë me disa detaje të lidhura me veprimet simuluese. Në këtë pjesë do të
prezantohet aplikacioni i ndërtuar me mjetin e zhvillimit JaCaMo dhe specifikat e
ndërtimit të saj. Modeli i ndërtuar në këtë punim përdor më së shumti dy nga pjesët
përbërëse më të rëndësishme të mjetit zhvillues që janë mjeti Jason dhe CArtAgO.
Figura 8-6 Struktura e ndërtimit të ekonomisë artificiale
Në figurën 8-6, paraqitet logjika e zbatuar në ndërtimin e simulatorit të ekonomisë
artificiale me agjent inteligjent. Ideja kryesore e ndërtimit të saj është që në bazë të
mjedisit simulues të vendosim një agjent koordinator i cili do të kryej detyrën e
kontrolluesit të simulimit. Ky agjent është i vetmi agjent i krijuar në mjedisin JaCaMo
141
në dosjen e konfigurimit të saj “artificial_economy.jcm” e cila është e shfaqur edhe në
listën 8-5.
Lista 8-5: Konfigurimi i mjedisit simulues në JaCaMo
Në momentin e aktivizimit të këtij agjenti, inicializohet një panel grafik i bazuar mbi
artefaktin GUIArtifact, i cili pret të dhëna nga përdoruesi i simulimit. Ky artefakt është
pjesë e mjetit CArtAgO dhe mundëson ndërfaqet e nevojshme grafike të përdoruesit që
lidhen me artefaktin e krijuar. Me anë të këtij artefakti merren disa të dhëna fillestare
për fillimin e simulimit. Këto të dhëna përfshijnë numrin e çdo lloji agjenti, mundësitë
e prodhimit të agjentëve persona për secilin lloj produkti, dhe paga bazë ditore.
Përdoruesi mund të kontrollojë më pas ecurinë e simulimit duke ndaluar dhe vazhduar
sipas kërkesave të tij me anë të butonave përkatës në panelin e konfigurimeve, siç edhe
tregohet në figurën 8-7.
Figura 8-7 Paneli i konfigurimeve në JaCaMo
Në momentin e vendosjes së konfigurimeve fillestare krijohen ngjarje të reja te agjenti
koordinator duke ndryshuar besimet e tij rreth të dhënave të vendosura. Pas shtypjes së
butonit “Fillo”, artefakti dërgon një sinjal fillimi te koordinatori, i cili krijon agjentët e
ekonomisë artificiale bashkë me kushtet fillestare të tyre. Në listën 6, shfaqet një pjesë
e kodit të koordinatori ku tregohet krijimi i artefaktit Panel, duke thirrur klasën e saj në
kodin Jason. Ky artefakt përdor një metodë sinjali për të dërguar një ngjarje aktivizuese
me shtim besimi. Kjo ngjarje aktivizon planin create(P,B,F) i cili ka si parametra
numrat e agjentëve dhe zbaton qëllimet e krijimit të tyre njëri pas tjetrit. Në rreshtat 7
deri 12 paraqitet plani i krijimit të agjentëve persona, ku vërehet përdorimi i një cikli
përsëritës që ekzekuton disa veprimet të njëpasnjëshme. Në fillim merret vlera e listës
së personave duke testuar besimin prs(X,K), më pas krijon emrin e agjentit dhe shtimin
e tij në këtë listë duke përditësuar edhe besimin, dhe në fund krijohet agjenti person
duke ndjekur rregullat e vendosura në dosjen me emrin “person.asl”. Duke përdorur të
1 mas artificial_economy {
2 agent koodinatori: coordinator.asl
3 asl-path: src/agt
4 }
142
njëjtën teknikë mund të krijohen agjentë të shumtë që janë të pavarur dhe të ndryshëm
nga njëri tjetri.
Lista 8-6: Krijimi i artefaktit “Panel” dhe arritja e krijimit të agjentëve në
agjentin koordinator
Pas arritjes së qëllimeve të krijimit të agjentëve siç tregohet edhe në listën 8-6,
vazhdohet me arritjen e qëllimit start, i cili përbën edhe fillimin e simulimit. Plani i këtij
qëllimi përmban metodikën e simulimit bashkë me modelin kohor të përcaktuar. Duke
pasur parasysh se modeli i simulimit duhet të përdorë cikle kohore të vazhduara diskrete
dhe mjeti i zhvillimit JaCaMo nuk ofron një model kohor për agjentët, në këtë plan
është programuar pikërisht ky model kohor. Agjenti koordinator tashmë shërben edhe
si kontrolluesi i hapave kohor të simulimit. Në listën 7, shfaqet pjesët e kodit të agjentit
koordinator që bëjnë të mundur planifikimin kohor dhe thirrjen e aktiviteteve ditore të
agjentëve.
Lista 8-7: Planifikimi kohor i simulimit dhe thirrja e veprimeve ditore të
agjentëve në agjentin koordinator
Në planin e qëllimit të arritjes start fillimisht shtohet një besim me emrin iteration(1)
që përcakton gjendjen e cikleve kohore përsëritëse dhe më pas thirret qëllimi iterator,
i cili kontrollon edhe hapësirat kohore midis hapave të simulimit në bazë të numrit të
agjentëve në të. Plani i qëllimit dailiyinit përmban një kusht konteksti të bazuar mbi atë
që do e quajmë si hapi kohor i modelit të simulimit. Në planin e tij fillimisht testohet
për të marrë njohuri mbi listat e agjentëve dhe më pas dërgohet nga një mesazh arritjeje
për veprimet ditore gjithë agjentëve të modelit, dhe në fund thirret qëllimi updateTick.
Ky qëllim në planin e tij bën përditësimin e kohës dhe mund të themi se është ora e
simulimit të modelit tonë. Planet e veprimeve ditore me emrin routine, që ekzekutohen
1 +!initiate <-
2 makeArtifact("Panel","artificial_economy.Panel",[],Id);
3 focus(Id).
4 +create(P,B,F)<-
5 !create_person(P); !create_bank(B); !create_firm(F);
6 !start.
7 +!create_person(N) <-
8 for(.range(I,1,N)){
9 ?prs(X,K);
10 .concat("person_",K+1,CN);
11 .concat([CN],X,Z);
12 -+prs(Z,K+1); //përditëson listën e personave
13 .create_agent(CN,"person.asl",[agentArchClass("jaca.CAgentArch")]);
14 }.
30 +!start: true <- +iteration(1); !iterator.
31 +!updateTick<- ?tick(N); -+tick(N+1); updateTime(N+1).
32 +!iterator:iteration(N)&N=1<-
33 ?prs(_,X); .wait(200);
34 if(X>10){.wait(400);}
35 if(X>100){.wait(1000);}
36 !dailyinit; !iterator.
37 @p1[atomic]
38 +!dailyinit : tick(N) <- ?prs(P,_);
39 .send(P,achieve,[updateTick(N),routine]);
40 ?t1(A,_);?t2(B,_);?t3(C,_); .concat(A,B,C,D);
41 .send(D,achieve,[updateTick(N),routine]);
42 ?bnk(J,K);
43 .send(J,achieve,[updateTick(N),routine]);
44 !updateTick.
143
në agjentët e simulimit janë të ndërtuara në bazë të përshkrimeve dhe projektimit të
tyre.
Bashkëveprimet e agjentëve ndodhin në mjedisin e tyre të përbashkët ku ata marrin dhe
dërgojnë mesazhe njëri tjetrit. Këto mjedise janë përcaktuar në bazë të veprimeve që
agjentët bëjnë në secilin prej tregjeve të përcaktuara në projektim. Artefakti BankEnv
shërben si mjedis për tregun bankar ku të gjithë agjentët përdorin operacionet e saj për
të kryer veprimet e ndryshme bankare. Ai krijohet në momentin e krijimit të agjentit të
parë bankë. Në mjedisin e këtij artefakti ruhen të dhënat e rëndësishme rreth llogarive
bankare të depozitave dhe huave të klientëve të bankës. Klientët e bankës, përkatësisht
agjentët firmë dhe person, kërkojnë të dhëna rreth llogarive të tyre duke i dërguar
kërkesat e tyre drejt artefaktit për të përditësuar besimet e tyre. Këto artefakte shihen si
lehtësues të procesit të arsyetimit të agjentit rreth të dhënave të mjedisit. Një tjetër
artefakt i rëndësishëm është FirmEnv, i cili funksionon si një mjedis i përbashkët për
agjentin firmë dhe person. Në këtë artefakt janë vendosur të gjitha ato operacione të
rëndësishme që i përkasin tregjeve të punës, mallrave dhe aksioneve. Secili agjent në
bazë të rolit që ka përdor operacionet e duhura nga artefakti.
Në listën 8-8 paraqiten dy operacione të rëndësishme të punësimit, përkatësisht metodat
“askJob()” dhe “employ()”. Bazuar në përshkrimin e figurës 5, agjenti person shton një
besim mbi kërkimin e punës, e cila aktivizon një plan që komunikon me artefaktin
FirmEnv për të thirrur operacionin “askJob()” me parametrat e agjentit person. Ky
operacion ruan të dhënat e agjentit kërkues në një listë objektesh të llojit AskJob. Në
një moment të dytë, kur agjenti firmë shton një besim punësimi si pasojë e kushteve të
caktuara, ai aktivizon planin që thërret operacionin e punësimit “employ()” te artefakti
FirmEnv me emrin e vetë agjentit që e kërkon. Në këtë stad, artefakti kryen arsyetimin
bazuar mbi listën e objekteve AskJob dhe zgjedh kandidatin më të mirë për tu punësuar
nga firma. Më pas artefakti dërgon një sinjal punësimi te agjenti firmë bashkë me pagën
që kjo firmë ofron për punëtorin. Ky veprim kryhet paralelisht me veprimin e shtimit
të punëtorit në objektin e firmës përkatëse.
144
Lista 8-8: Operacionet e punësimit në artefaktin ‘FirmEnv.java’
Këto artefakte krijojnë dhe modifikojnë objektet e pasqyruara të agjentëve të cilat
mbajnë disa nga gjendjet e marra nga besimet e agjentëve të simuluar. Këto objekte
përdoren për të ndihmuar agjentët në një proces arsyetimi më të mirë të tyren dhe për
të përdorur shumë nga përfitimet e gjuhëve të programimit me objekte. Ndër objektet
më të rëndësishme të modelit përmendim objektin e Firm, AskJob, Owner dhe Bank.
Objekti Firm përmban të dhënat e rëndësishme të agjentit firmë në lidhje me veprimet
e saj në tregjet përkatëse. Ndërkohë që objekti AskJob përfaqëson të dhënat e
rëndësishme të agjentëve person që kërkojnë punë apo janë të punësuar dhe në të janë
edhe disa metoda të lidhura me veprimet e tyre në tregun e punës. Objekti Owner
përfaqëson vetëm të dhënat e rëndësishme të agjentëve person që duan apo kanë
investuar në agjentët firmë dhe metodat që ndodhen në të përfaqësojnë sjelljet e tyre në
tregun e aksioneve. Të tre këto objekte ndodhen në formë liste në artefaktin FirmEnv.
Në artefaktin BankEnv është vetëm një objekt me emrin Bank i cili përfaqëson të dhënat
e agjentit bankë. Ndërkohë që ky artefakt përdor objektet ndihmuese Deposit dhe Loan
për të ruajtur të dhënat e depozitave dhe huave që agjentët klient kanë në agjentin bankë.
Këto objekte ruhen në listat e veçanta të çdo objekti Bank që përfaqëson agjentët bankë,
dhe mbi to kryen operacionet e shpeshta bankare.
Të gjithë agjentët e modelit të ekonomisë artificiale bashkë me agjentin koordinator
përdorin disa klasa funksionale për veprimet e tyre të brendshme brenda mjedisit MAS.
Lidhësi kryesor i këtyre klasave është një klasë me emrin DefaultInternalAction e
shpjeguar edhe në pjesën e veçorive të mjetit zhvillues JaCaMo. Këto klasa që zgjerojnë
këtë klasë ekzekutojnë disa veprime ndihmuese të vetë agjentëve pa nevojën e
operacioneve të artefakteve. Përdorimi i këtyre klasave është i domosdoshëm sidomos
kur na duhet të përdorim klasa të tjera për llogaritje. Sipas diagramit klasë të paraqitur
në figurën 6 të pjesës së projektimit të modelit, klasa Randomize është një nga klasat
që na duhet për tu përdorur në momente të ndryshme nga agjentët dhe nëpërmjet klasave
funksionale mund të aksesohet lehtësisht. Këto klasa janë të vendosura në një folder me
emrin “jia” dhe thirren në mënyrë të drejtpërdrejtë nga agjentët përkatës.
1 public class FirmEnv extends Artifact {
-- ...
5 @OPERATION void askJob(...){
6 jobaskers.add(new AskJob(...));
7 }
-- ...
23 @OPERATION void employ(String firm){
24 if(jobaskers.size()>0){
25 AskJob personToHire=jobaskers.get(0);
-- ...
32 for(int i=0;i<jobaskers.size();i++){ ... }
-- ...
49 jobaskers.remove(personToHire);
50 signal("hire",firm,personToHire.getPerson());
51 personToHire.setWage(wage);
52 for(Firm x:firms)
53 if(x.getFirm().equals(firm))
54 { x.getWorkers().add(personToHire); }
55 } else { signal("nohire",firm); }
56 }
--- ...
205 }
145
Lista 8-9: Disa nga veprimet e klasës funksionale rnd
Në listën 8-9 paraqitet pjesë nga kodi i klasës funksionale rnd që vepron brenda mjedisit
MAS ku ndodhen edhe agjentët e modelit tonë. Siç vërejmë nga kjo pjesë kodi, në të
krijojmë një objekt të llojit Randomize me anë të cilit marrim vlerat të ndryshme sipas
shpërndarjeve probabilitare të përmendura në kapitullin e mëparshëm. Në rreshtin e 4-
rt kontrollohet nëse argumenti i parë ka vlerën “randomIncome” dhe më pas merret e
ardhura fillestare e personit në bazë të një shpërndarjeje të ardhurash të krijuar prej
nesh, dhe dërgohet si vlerë te agjenti përkatës që e kërkon. Në të njëjtën mënyrë në
kushtin pasardhës kontrollohet argumenti nëse ka vlerë “Exp” dhe thirret metoda
“randomExperience()” e objektit Randomize e cila na jep një listë vlerash fillestare për
eksperiencat e agjentit. Këto vlera unifikohen në tre argumente dhe dërgohen te agjenti
që thirri këtë klasë funksionale. E njëjta gjë vazhdon edhe me kushtet e tjera pasardhëse
në këtë klasë.
Lista 8-10: Inicializimi i besimeve për secilin agjent të ekonomisë artificiale
Në listën 10 paraqiten kodet e planeve të inicializimit të besimeve të agjentëve përkatës
të modelit tonë. Këto plan qëllime thirren në momentin e krijimit të agjentëve përkatës,
dhe me anë të tyre vendosen besimet fillestare të agjentëve. Në anën e majtë paraqitet
plani inicializues i agjentit person. Në të shohim se fillimisht thirret klasa funksionale
rnd e cila gjeneron të ardhurat fillestare të agjentit siç është sqaruar më sipër. Pas
marrjes së vlerës bëhet përditësimi i besimit “income” dhe “cash” të këtij agjenti. Në
mënyrë të njëjtë ndryshohen edhe besimi i energjisë “hp”, besimi i vendndodhjes së
1 public class rnd extends DefaultInternalAction {
2 Randomize rand=new Randomize();
3 public Object execute(TransitionSystem ts, Unifier un, Term[] args) {
4 if(args[0].toString().equals("randomIncome")){
5 double res=(new WS()).returnWage();
6 return un.unifies(args[1],new NumberTermImpl(res));
7 } else if(args[0].toString().equals("Exp")){
8 double[] x=rand.randomExperience();
9 un.unifies(args[1], new NumberTermImpl(x[0]));
10 un.unifies(args[2], new NumberTermImpl(x[1]));
11 return un.unifies(args[3], new NumberTermImpl(x[2]));
12 }
.. ...
81 }
/* Agjenti Person */
+!init <-
jia.rnd(rndIncome,I);
-+income(I);
-+cash(I);
jia.rnd(HP,H);
-+hp(H);
jia.rnd(POS,Po);
-+pos(Po);
jia.rnd(Exp,
Xp1,Xp2,Xp3)
-+exp(Xp1,Xp2,Xp3);
.
/* Agjenti Firm */
+!init : .my_name(Me) <-
jia.frnd(Me,Type);
-+type(Type);
jia.frnd(INV,Me,Inv);
-+inventory(Inv);
jia.frnd(PROD,Me,Prod);
-+production(Prod);
jia.frnd(TRE,Me,Prod,Cash);
-+cash(Cash);
jia.rnd(POS,Po); -+pos(Po);
jia.frnd(PRC,Me,P);-+price(P);
jia.frnd(WAGE,W); -+wage(W);
jia.frnd(FV,Cash,Prod,P,Fv);
-+firmvalue(Fv);
!setupfirm(Id); focus(Id);
createFirm(Me,Fv,Inv,Prod,
Cash,P,Po);
?qshare(Quantity);
+shareprice(Fv/Quantity);
!employ.
/* Agjenti Bank */
+!init:
.my_name(Me)<-
jia.rnd(loan,L);
+interestLoans(L);
jia.rnd(saving,S);
+interestSavings(S);
jia.rnd(POS,Po);
-+pos(Po);
giveMeAgents(P,B,K);
jia.rnd(MA,P,B,M);
+moneyAvailable(M);
!setuptool(Id);
focus(Id);
initializeBank(Me,
L,S,M,Po);
.
146
agjentit “pos” dhe besimi i eksperiencës që ka tre vlera sipas llojit të produkteve. Në
kodin e inicializimit të besimeve të agjentit firmë, vendosen në bazë të emrit lloji i
firmës, inventari, prodhimi, paratë bazë, pozicioni, çmimi i produkteve, paga bazë dhe
vlera e firmës. Më pas vazhdohet me thirrjen e plan qëllimit “setupfirm” e cila krijon
artefaktin FirmEnv, dhe e fokuson atë për përdorim. Pas kësaj thirret operacioni
“createFirm()” me të dhënat fillestare të agjentit që krijon objektin firmë përkatëse për
këtë agjent. Në vazhdim përcaktohet vlera e çmimit të aksioneve dhe thirret plan
qëllimi “employ” për zbatimin e planit të punësimit të punëtorëve. Për agjentin bankë
në mënyrë të ngjashme inicializohen interesat e depozitës dhe huamarrjes, pozicioni i
agjentit dhe paratë që ai ka në dispozicion. Më pas agjenti krijon artefaktin BankEnv, e
fokuson atë dhe thërret operacionin “initializeBank()” me të dhënat e tij, për të krijuar
një objekt banke ku do të ruhen llogaritë e agjentëve klient dhe veprimet mbi to.
Një veçori tjetër e rëndësishme në ndërtimin e këtij simulimi është mekanizmi i
raportimit që përdor. Në fund të çdo hapi kohor, gjithë agjentët dërgojnë një mesazh
raportimi të besimeve te agjenti koordinator. Këto të dhëna mblidhen dhe përpunohen
në artefaktin Chart të krijuar nga vetë agjenti koordinator, siç paraqitet edhe në figurën
8-6. Ky artefakt përdor libraritë e hapura JFreeChart që mundësojnë ndërtimin e
grafikëve dinamik për gjendjet e agjentëve. Në këtë mënyrë arrijmë të japim një
raportim të shpejtë grafik të rezultateve të simulimit të ekonomisë artificiale. Në të
njëjtën mënyrë është përdorur për të krijuar një dosje “Excel” e cila mund të përdoret
për analiza të mëtejshme. Në këtë rast, përdoruesi mund të klikojë mbi butonin “Analizo
me Excel” në panelin e paraqitur në figurën 8-7, dhe më pas një mesazh raportimi do
të dërgohet te të gjithë agjentët të cilët do të dërgojnë besimet e tyre te agjenti
koordinator. Këto të dhëna do të dërgohen në artefaktin DataExcel, ku edhe do të
mblidhen dhe më pas eksportohen në një dosje “Excel”. Këto të dhëna mund të përdoren
nga përdoruesi më vonë për studime të mëtejshme.
147
KAPITULLI 9: ANALIZIM DHE KRAHASIM I REZULTATEVE
EKSPERIMENTALE TË EKONOMISË ARTIFICIALE
9.1. Hyrje
Në dy kapitujt e mësipërm është prezantuar modelimi, projektimi dhe ndërtimi i një
ekonomie artificiale duke përdorur dy mjete të ndryshme zhvilluese të simulimit me
agjentë inteligjent. Në këtë kapitull trajtohen fillimisht rezultatet eksperimentale të
marra nga simulimi i ekonomive artificiale të zhvilluara me mjetet RePast dhe JaCaMo,
bazuar mbi disa të dhëna fillestare. Gjatë këtij trajtimi të rezultateve analizohen edhe
ndryshimet e mundshme të tyre nën këndvështrimin ekonomik. Më pas jepen disa
përfundime të rëndësishme rreth këtyre dy zgjidhjeve të ndryshme të ekonomisë
artificiale duke pasur parasysh edhe arsyet e zgjedhjes së tyre dhe rezultatet e arritura.
9.2. Përshkrimi i të dhënave eksperimentale dhe rezultateve të marra
Në fillim të analizës së rezultateve të marra nga simulimi i ekonomisë artificiale të
ndërtuar me dy mjetet e lartpërmendura, duhet përmendur se për marrjen e rezultateve
është përdorur e njëjta njësi përpunuese kompjuterike me të dhëna të paraqitura në
tabelën 9-1.
Tabela 9-1: Të dhënat e kompjuterit
Lloji i kompjuterit Lenovo ThinkCentre M710s Desktop
Lloji Procesorit Intel Core i7-7700 i gjeneratës 7-të me 4 core dhe 8 threads
Frekuenca 3.6 GHz
Memoria RAM 16 GB (2 x 8GB DDR4-2400)
Hard disku SSD 256 GB + HDD 1TB
Kartë grafike GeForce GT 730 (2GB DDR5)
Sistemi shfrytëzimit Windows 10 me 64-bit
Të dhënat e paraqitur më sipër tregojnë një njësi normale kompjuterike që mundëson
kryerjen e eksperimenteve të ngjashme. Duhet përmendur se një njësi e tillë përpunuese
është lehtësisht e arritshme nga çdo kërkues shkencor i cili kërkon të tilla eksperimente.
Në kryerjen e eksperimenteve u vendosën disa të dhëna fillestare të ekonomisë
artificiale të përmendura me detaje në kapitujt e mësipërm. Të dhënat fillestare të marra
nga përdoruesi janë të tilla si numri i personave, firmave apo i bankave, paga bazë apo
mundësitë e prodhimit. Këto të dhëna paraqiten në tabelën 9-2 me vlerat e tyre
përkatëse.
Tabela 9-2: Të dhënat fillestare eksperimentale
Të dhënat Vlerat
Numri i personave 500
Numri i Firmave 20 (10,7,3)
Numri i Bankave 5
Mundësia për prodhim (T1,T2,T3) (50,15,2)
Kostoja Ditore (Paga) 200
Këto të dhëna u përdorën në të dy simulimet e ndërtuara të ekonomisë artificiale dhe në
bazë të rezultateve eksperimentale të tyre u përpilua një tabelë përmbledhëse si më
poshtë.
148
Tabela 9-3: Tabelë përmbledhëse rezultatesh
Simulatori Hapi Ndryshoret Testimi 1 Testimi 2 Testimi 3
Simulatori
i ndërtuar
me RePast
1000
kërkues pune 213 220 202
vende pune 0 0 0
të punësuar 266 243 280
Firma në
ekonomi 19 20 20
Ndarja [9,7,3] [10,7,3] [10,7,3]
Çmimet [7,30,466] [6,31,423] [6,32,158]
Paga [185,93,121] [168,80,102] [150,78,103]
PBB16 20.5 23.5 20.6
2000
kërkues pune 278 186 208
vende pune 0 0 0
të punësuar 186 266 263
Firma në
ekonomi 14 10 17
Ndarja [4,7,3] [3,5,2] [7,7,3]
Çmimet [8,19,497] [7,18,451] [6,20,116]
Paga [174,44,121] [139,18,47] [121,86,37]
PBB 13.9 18.2 15.4
Simulatori
i ndërtuar
me
JaCaMo
1000
kërkues pune 0 69 185
vende pune 0 0 1
të punësuar 406 343 209
Firma në
ekonomi 20 20 20
Ndarja [10,7,3] [10,7,3] [10,7,3]
Çmimet [6,69,515] [6,42,621] [6,64,721]
Paga [129,166,132] [139,147,131] [134,136,187]
PBB 26.5 31.3 34.9
2000
kërkues pune 327 34 107
vende pune 0 0 0
të punësuar 64 358 227
Firma në
ekonomi 19 20 7
Ndarja [9,7,3] [10,7,3] [1,5,1]
Çmimet [6,99,555] [6.5,41,757] [7,77,820]
Paga [122,131,174] [133,140,131] [130,211,176]
PBB 15.9 22.2 26
Në tabelën 9-3 paraqiten në mënyrë krahasimore disa nga vlerat e marra të ekonomive
artificiale të simuluara në simulatorët e ndërtuar me anë të mjeteve të zhvillimit RePast
dhe JaCaMo. Në këto rezultate paraqiten 3 testime të këtyre ekonomive për secilin
16 PBB është i llogaritur në milion njësi paraje.
149
simulator dhe të marra përkatësisht në hapin e 1000-të dhe 2000-të të simulimit
përkatës. Rezultatet e paraqitura në këtë tabelë përfshijnë të dhënat:
e kërkesës për punë, që paraqet numrin e personave të gatshëm për punë por që
nuk janë të punësuar,
vendet e lira të punës, që paraqet numrin e kërkesave për punonjës nga firmat,
të punësuarit, që paraqet numrin e personave të punësuar
numri i firmave në ekonomi
numri i firmave të ndara sipas llojeve të firmave
çmimet mesatare të produkteve
pagat mesatare të punonjësve sipas llojeve të firmave
dhe produkti i përgjithshëm bruto i ekonomisë.
Këto të dhëna janë veç një pjesë e vogël por të rëndësishme të dhënave të gjeneruara
nga simulatorët, pasi simulatori përmban të gjitha të dhënat e përmendura në seksionin
7.3.1 të këtij punimi dhe që mund të jenë të eksportueshme nga përdoruesi i saj për
analiza më të thelluara. Në pjesën pasardhëse do të diskutohet kryesisht mbi bazën e
grafikëve përkatës që gjenerohen automatikisht nga simulatori mbi bazën e rezultateve
të saj. Në të do të vërehet dinamika e zhvillimit ekonomik brenda simulatorëve përkatës,
dhe do të analizohet ekonomia artificiale me veçantitë e saj në të dyja zhvillimet e saj.
9.3. Analiza e rezultateve të nxjerra nga simulimet
Në analizën e rezultateve të ekonomisë artificiale nga simulimet e bëra, të paraqitura
edhe në tabelën 9-3, vërejmë se këto rezultate për të njëjtat të dhëna fillestare na japin
vlera të ndryshme por brenda një kufiri të caktuar logjik. Kjo pasi të dyja modelet e
ndërtuara kanë përdorur një logjik të njëjtë të funksionimit të ekonomisë artificiale dhe
një rezultat i tillë është i pritshëm. Elementi që ndryshon në trajtimin e kësaj ekonomie
artificiale është e varur nga aftësitë e mjetit për tu përshtatur me kërkesat e modelit. Një
ndër kërkesat kryesore të modelit është autonomia dhe heterogjeniteti i agjentëve të saj.
Kjo kërkesë e veçantë është konsideruar në kapitujt e mësipërm, gjatë ndërtimit të
këtyre modeleve me agjent inteligjent, por identifikimi i mënyrës më të mirë bëhet i
vështirë në krahasimin e thjeshtë të disa rezultateve tabelore pasi duhen parë edhe
dinamikat ekonomike që çojnë drejt tyre. Për këtë arsye, në vijim do të trajtojmë
grafikët përkatës të dhënave ekonomike që paraqesin dinamikat ekonomike të
ekonomisë artificiale të ndërtuar me mjetin RePast dhe atë JaCaMo.
9.3.1 Analizë e rezultateve ekonomike me grafik nga simulimet
Në mënyrë që të kemi një analizë sa më të plotë të një ekonomie, grafiku i parë që duhet
të vështrojmë është ai i zhvillimit të produktit të brendshëm bruto (PBB) në njësi
kohore. Për këtë arsye, në figurën 9-1 paraqiten grafikët e 1000 hapave kohorë të parë
të simulimit të ekonomisë artificiale në të dy simulimet e ndërtuara. Në këtë mënyrë
paraqitet një tablo grafike e rezultateve të simulimit nga ku mund të interpretojmë këto
rezultate bashkë me dinamikën e tyre.
150
Figura 9-1 Grafikët e produktit të brendshëm bruto në ekonomitë artificiale
Në këndvështrimin ekonomik të rezultateve të shfaqura në grafikët përkatës të figurës
9-1 mund të themi se fillimisht ekonomia artificiale rritet me ritme të shpejta duke
plotësuar kështu mungesat e tregut. Një situatë e cila vazhdon kryesisht gjatë vitit të
parë kohor, pra 360 hapave të parë të simulimit. Gjatë vitit të dytë dhe të tretë kohor,
vërehet një stabilizim i produktit të brendshëm bruto me ulje-ngritje periodike që
ngjasojnë me ato të një ekonomie normale. Gjithashtu midis grafikëve të simulimeve
me mjetin RePast dhe JaCaMo nuk ekziston ndonjë ndryshim i rëndësishëm midis dy
grafikëve të paraqitur. Duhet thënë se një fenomen i tillë është i lidhur ngushtësisht me
sasinë e inventarit në ekonomi. Për këtë arsye, në figurën 9-2 shfaqen grafikët e
inventarëve për çdo lloj produkti.
Figura 9-2 Grafikët e totalit të inventarëve në ekonomitë artificiale
Edhe rezultatet e figurës 9-2 paraqesin një periudhë fillestare rritjeje prodhimi, duke
krijuar një stok të produkteve për të përballuar kërkesat e ndryshme të konsumatorëve.
Duhet thënë që është pikërisht madhësia e kësaj kërkese që do të rrisë nevojën e
prodhimit të produkteve nga firmat që ndodhen në ekonomi. Në figurën e mësipërme
shfaqen sasitë e inventarit të tre llojeve kryesore të produkteve në ekonomi, sipas
specifikimeve të bëra në kapitullin 8. Gjithashtu në to shfaqet edhe sasia totale e
inventarit të tre produkteve. Është e rëndësishme të përmendet se lloji i produktit T1,
që përbën mallrat apo shërbimet bazë të nevojshme për konsumatorin është edhe lloji i
produktit më të prodhuar në ekonomi sipas grafikëve përkatës. Në këtë grafik vërehen
disa ndryshime të vogla midis dy ekonomive artificiale të ndërtuara me mjetet RePast
151
dhe JaCaMo. Këto ndryshime janë të lidhura me përbërjen e faktorëve të tjerë që
ndikojnë në krijimin e stokut si p.sh çmimet e produkteve apo edhe efektet e brendshme
financiare të firmave.
Figura 9-3 Grafikët e të dhënave financiare të firmave në ekonomitë artificiale
Në figurën 9-3 paraqiten të dhënat financiare të firmave në vlera mesatare për të gjithë
ekonominë artificiale. Këto të dhëna përfshijnë paratë në dispozicion të firmave, vlera
e firmës që konsiderohet si vlerë financiare dhe e shëndetit ekonomik të firmës në fjalë,
të ardhurat e grumbulluara që kjo firmë kryen gjatë një viti kohor dhe pasuria që kjo
firmë ka. Paratë në dispozicion të firmave ndryshojnë në varësi të pagesave të ndryshme
që ata kryejnë ndaj punonjësve, të ardhurave të marra nga shitja e produkteve dhe
veprimeve bankare. Krijimi i një shume të caktuar parash në firmë çon në shtimin e
pasurisë së saj dhe mungesa e parave çon në uljen e kësaj pasurie. Nga ana tjetër firma
vlerësohet në bazë të kapitalit fillestar të saj dhe shtohet me rritjen e të ardhurave apo
me blerjen e aksioneve të saj. Ndërkohë që vlera e saj dobësohet apo ulet gjatë shitjes
së aksioneve të saj nga aksionarët apo humbjet e mundshme të saj. Në të dy grafikët e
prezantuar më sipër tregohet një tendencë rritjeje gjatë vitit kohor dhe në ulje në fund
të vitit kohor si pasojë e shpërndarjes së fitimeve. Duhet theksuar se në grafikun e
ekonomisë artificiale të zhvilluar me anë të mjetit JaCaMo vërehet një qëndrueshmëri
më e mirë e firmave në ekonomi. Kjo vjen për shkak të veprimeve të agjentëve të saj të
cilët kryejnë veprimet e tyre në mënyrë të pa sinkronizuar brenda një hapi kohor duke
dhënë idenë e veprimeve reale njerëzore në ekonomi. Në ekonominë artificiale të
ndërtuar me mjetin RePast, veprimet e agjentëve për shkak të kufizimeve të këtij mjeti
ndodhin në mënyrë sekuenciale brenda një hapi kohor dhe sipas një radhe të
paracaktuar, gjë e cila shkakton dhënien e prioritetit disa agjentëve ndaj të tjerëve.
Një tjetër grafik i rëndësishëm për analizimin e firmave është grafiku i ecurisë së
rendimentit mesatar të firmave. Ky lloj grafiku paraqitet në figurën 9-4.
152
Figura 9-4 Grafikët e rendimentit të firmave në ekonomitë artificiale
Në figurën e mësipërme paraqitet situata e shfrytëzimit të firmave në lidhje me
produktet e kërkuara nga konsumatorët dhe aftësisë prodhuese të saj. Në fillim të
simulimeve shohim se rendimenti fillon me një vlerë të ulët, e cila më pas rritet me
rritjen e produktivitetit të firmave. Pas një periudhe rritjeje rendimenti ulet si pasojë e
rritjes së stokut dhe nevojës për të ulur aftësinë e saj prodhuese duke hequr nga puna
punëtorë. Ky proces zgjat përgjatë një periudhe të shkurtër që çon drejt rregullimit të
tregjeve përkatëse të ofertë-kërkesës së produkteve dhe ofertë-kërkesës për punë. Nga
krahasimi i rezultateve në bazë të mjeteve zhvilluese shohim se rendimenti në firmat e
ekonomisë artificiale të ndërtuar me mjetin JaCaMo sillet më i orientuar ndaj
ndryshimeve dinamike të ekonomisë që çojnë drejt në rendimenti më të lartë të firmave.
Kjo është edhe një nga tiparet ekonomike të ekonomisë së sotme ku firmat synojnë të
optimizojnë burimet e tyre prodhuese.
Figura 9-5 Grafikët e çmimeve mesatare të produkteve në ekonomitë artificiale
Në figurën 9-5 shfaqen grafikët e dinamikës së ndryshimit të çmimeve të produkteve
në dy ekonomitë artificiale. Duhet theksuar se modeli ynë konsideron ndryshimin e
çmimeve në bazë të ekonomisë së tregut, ku çmimi i produkteve rritet me rritjen e
kërkesës apo të kostove të saj të punës dhe ulet me rritjen e ofertës nga firmat
konkurruese. Në këtë rast, ndryshimi midis ekonomive artificiale është i vogël, ku
shohim se në përgjithësi çmimet fillestare të produkteve vijnë duke u ulur në bazë të
ofertës në rritje të këtyre produkteve. Një element që mund të vërehet është
153
qëndrueshmëria e çmimeve pas vitit të parë ekonomik, e cila vërehet më tepër në
ekonominë artificiale të zhvilluar me mjetin e zhvillimit JaCaMo.
Figura 9-6 Grafikët e kërkesë-ofertës totale në ekonomitë artificiale
Në figurën 9-6 paraqiten grafikët e kërkesë-ofertës në ekonomitë artificiale. Në këtë
grafik paraqitet kërkesa totale për produkte në të gjitha firmat dhe aftësisë totale
prodhuese për të gjitha produktet për çdo hap kohor. Në grafikun e marrë nga ekonomia
artificiale të ndërtuar me mjetin RePast vërehet një aftësi prodhuese që rritet fillimisht
më shpejt se vetë kërkesa dhe më pas qëndron diku më sipër se vetë kërkesa e tregut.
Në grafikun tjetër paraqitet fillimisht një kërkesë e rritur që tërheq pas vetes rritjen e
aftësisë së prodhimit dhe më pas stabilizohet me ulje ngritje të herë pas hershme të
kërkesës konsumatore dhe aftësisë prodhuese të firmave. Normalisht në ekonominë
reale, tregu shkon drejt një ekuilibri të përgjithshëm të kërkesës konsumatore dhe
aftësisë prodhuese të firmave. Duke vështruar grafikët e mësipërm kuptohet se
ekonomia artificiale e ndërtuar me JaCaMo është më afër realitetit ekonomik.
Figura 9-7 Grafikët e pagës bazë mesatare për lloj firme në ekonomitë artificiale
Në figurën 9-7 paraqiten pagat mesatare bazë për çdo lloj firme në ekonomitë artificiale.
Në të paraqitet një tendencë rënëse të pagave pasi niveli i pagave është më i lartë se i të
ardhurave nga shitja e produkteve me çmimet e ofruara. Një gjë e tillë duhet të vazhdojë
deri në arritjen e një ekuilibri të përgjithshëm midis pagave të ofruara ndaj punëtorëve
dhe çmimeve të ofruara ndaj konsumatorëve. Në një vështrim të grafikëve të çmimeve
154
në figurën 9-5, vërejmë se ky ekuilibër arrihet në mënyrë më të mirë në grafikët e
rezultateve të ekonomisë artificiale të zhvilluar me mjetin JaCaMo.
Figura 9-8 Grafikët e të dhënave financiare të personave në ekonomitë artificiale
Në figurën 9-8 shfaqen të dhënat financiare të mesatarizuara për personat në ekonomitë
përkatëse artificiale. Në këto grafikë paraqitet paraja mesatare që personat kanë në
dispozicion në çdo moment, i cili përgjithësisht është i njëtrajtshëm në të dy këto grafikë
në bazë të kushteve të vendosura në model. Një tjetër parametër që paraqitet është
pasuria mesatare e personave e cila varet nga rritja apo ulja e parasë që personi ka, dhe
parametri i fundit që paraqitet është pasuria mesatare e ruajtur si aksione të firmave.
Parametri i pasurisë mesatare të ruajtur si aksione është i rëndësishëm pasi shfaq
pasuritë e personave pronar të firmave në ekonomi. Në një vështrim të përgjithshëm të
rezultateve në të dy zhvillimet e ekonomisë artificiale në mjetet përkatëse të zhvillimit,
shohim se mesatarja e parasë në dispozicion për çdo person qëndron e qëndrueshme
përgjatë simulimeve në të dyja simulimet. Ndërkohë që për sa i përket pasurisë mesatare
për person në ekonomitë e simuluara shohim se ai qëndron i qëndrueshëm deri në vitin
e tretë kohor të simulimit kur firma të mundshme falimentojnë, dhe firma të tjera
rivlerësohen në vlerë aksionesh më të larta. Ky efekt detyron disa prej personave të
blejnë aksione në firmat e mbetura, ndërsa aksionarët e mëparshëm të vuajnë
zhvlerësimin e aksioneve të tyre dhe uljen e pasurisë së tyre. Kjo prek përgjithësisht
pasurinë mesatare dhe pasurinë aksionare mesatare të popullatës. Duhet theksuar se në
ekonomitë artificiale e gjithë popullata fillon me një pasuri “zero” dhe me para në
dispozicion dhe secili agjent vendos në mënyrë autonome nëse do të kursej në bankë
apo të investojë duke krijuar një pasuri aksionare në firma.
Në këndvështrimin e rezultateve të simulimeve, kuptojmë se në simulimin e ndërtuar
me mjetin zhvillues JaCaMo ka një qëndrueshmëri më të madhe të rezultateve të
paraqitura. Kjo ndodh pasi veprimet e agjentëve janë të njëkohshme dhe asinkrone, dhe
kjo pjesë favorizon kryerjen e veprimeve në mënyrë më të kujdesshme nga agjentët.
Ndërkohë në simulimin tjetër, fakti që veprimet e agjentëve janë të njëkohshme dhe
sinkrone sjell ndryshime të forta në ekonominë artificiale. Këto ndryshime të tilla nuk
janë normale në ekonomitë reale pasi është e pamundur të krijohen tronditje të tilla
ekonomike ku bankat boshatisen dhe paratë e tyre kthehen të gjitha në investime. Një
fenomen i tillë nuk ndodh në simulimin e ekonomisë artificiale të ndërtuar me mjetin
JaCaMo, ku agjentët zgjedhin strategji të ndryshme në bazë të informacioneve që ata
kanë dhe kushteve të shfaqura në ekonomi.
155
Figura 9-9 Grafikët e interesave bankar në ekonomitë artificiale
Figura 9-9 paraqet një këndvështrim tjetër të ekonomisë artificiale, ku përqendrohet në
vlerat e interesave bankare të huave dhe të depozitave. Duhet pasur parasysh se
algoritmet e përdorur në ndryshimin e këtyre interesave janë plotësisht të njëjta, por në
varësi të evoluimit të ekonomisë artificiale shohim se rezultatet e tyre janë të ndryshme.
Në zhvillimin e ekonomisë artificiale të ndërtuar me mjetin JaCaMo shohim një
ekonomi më të qëndrueshme në lidhje me normat e interesave të huave dhe atyre të
depozitave.
Figura 9-10 Grafikët e likuiditetit bankar në ekonomitë artificiale
Në figurën 9-10 paraqitet likuiditeti bankar i ekonomive artificiale, i cili shpreh sasinë
e parave që bankat disponojnë në ekonomi. Paraqitja e saj në grafik tregon gjendjen e
parave përgjatë hapave kohor të zhvillimit të ekonomisë artificiale. Gjendja e parave
ndryshon në bazë të veprimeve depozituese apo tërheqëse, sikurse edhe i veprimeve
huamarrëse apo kthim huaje nga personat dhe firmat e ekonomisë. Duke ditur që në
ekonominë reale dhe të përditshme, këto veprime ndodhin në çdo ditë sipas nevojave
të ndryshme mund të themi se grafiku i nxjerrë nga simulimi i ekonomisë artificiale të
ndërtuar me mjetin zhvillues JaCaMo është më përfaqësues. Kjo është për arsyen e
thjeshtë se veprimet e ndryshme sjellin ndryshime të shpeshta të grafikut të likuiditetit.
Pasja e një vlere fikse përgjatë disa ditëve është një gjë e pazakontë në financat e
bankave.
156
9.3.2. Analiza funksionale e simulimeve
Në vlerësimin e grafikëve të mësipërm vumë re se ndërtimi i modelit të ekonomisë
artificiale në mjetin e zhvillimit JaCaMo mundësonte rezultate ekonomike të cilat ishin
më afër realitetit ekonomik, për të dhëna të njëjta fillestare. Kjo siç u arsyetua edhe në
pjesën e mëparshme vjen nga mundësimi i veprimeve të agjentëve në mënyrë
autonome, heterogjene dhe asinkrone me njëra tjetrën. Këto veti të mjedisit zhvillues
na lejojnë një imitim më të mirë të mjediseve ekonomike.
Një faktor i rëndësishëm që duhet konsideruar është koha e marrjes së rezultateve
eksperimentale nga simulimet përkatëse. Në simulimet e kryera është vërejtur se koha
e marrjes së rezultateve nga simulimet ndryshon me një diferencë të konsiderueshme.
Për këtë arsye u kryen disa eksperimente ku u mat koha e marrjes së rezultateve nga
ekonomitë artificiale në hapin e 1000-të dhe të 2000-të. Këto eksperimente u kryen me
të njëjtat të dhëna fillestare të paraqitura në tabelën 9-2 dhe në të njëjtin kompjuter me
të dhënat e paraqitura në tabelën 9-1. Në vijim u morën rezultatet kohore të paraqitura
në tabelën 9-4.
Tabela 9-4: Koha e marrjes së rezultateve të ekonomive artificiale
Mjeti zhvillues RePast JaCaMo
Hapat 1000 2000 1000 2000
Koha 120s ± 15s 240s ± 25s ~418s ~868s
Siç mund të vërejmë nga rezultatet e nxjerra në tabelën 9-4, koha e marrjes së
rezultateve nga ekonomia artificiale e ndërtuar me mjetin zhvillues RePast është më e
shpejtë. Arsyeja e këtij rezultati qëndron në faktin se ky mjet zhvillimi ka të përfshirë
një planifikues kohe që pret kryerjen e veprimeve të agjentëve dhe më pas kalon në
hapin pasardhës kohor. Në simulimin e ndërtuar me mjetin zhvillues JaCaMo, është
ndërtuar një planifikues kohe i varur nga një kohë maksimale e kryerjes së veprimeve
të agjentëve. Kjo e kufizon efiçencën kohore por mundëson veprimet asinkrone të
agjentëve. Në këtë rast kemi një kohë më të ngadaltë të marrjes së rezultateve dhe kjo
kohë është e njëtrajtshme përgjatë hapave simulues. Ndryshimi i kohës së marrjes së
rezultateve midis dy simulimeve të ekonomisë artificiale është i rëndësishëm dhe duhet
konsideruar gjatë ndryshimeve midis mjeteve zhvilluese.
Nën këndvështrimin e ndërtimit të simulimeve përkatëse, u vu re se ndërtimi i simulimit
me mjetin RePast është shumë më i thjeshtë dhe intuitiv. Në rastin e ndërtimeve të tilla
ky mjet na ndihmon të arrijmë më shpejtë në ndërtimin e simulimit, dhe për këtë arsye
do të ishte e logjikshme përdorimi i saj nga kërkues të ndryshëm në të ardhmen.
Pavarësisht kësaj duhet konsideruar rëndësia dhe kushtet e simulimit që do të ndërtohet,
dhe nëse kërkuesi do të jetë i interesuar në simulimin e sjelljeve me karakteristikat e
tyre reale atëherë ndërtimi me mjetin e zhvillimit JaCaMo do të ishte zgjedhja e duhur.
Në këtë rast do të duhej të shpenzohej pak më shumë kohë dhe mund për ndërtimin dhe
realizimin e modelit ekonomik.
9.4. Përfundime dhe krahasime
Në kapitujt shtatë dhe tetë u prezantuan dy zgjidhje të ngjashme të ndërtimit të një
mjedisi simulimi për ekonominë artificiale. Në të dy këto zgjidhje janë përdorur hapa
të ngjashëm në ndërtimin e mjedisit simulues me ndryshime kryesisht në pjesën e
projektimin. Këto ndryshime kanë lidhje me trajtimin e problemit në lidhje me veçoritë
e mjetit zhvillues.
157
Hapat kryesor të ndjekur në këto dy zgjidhje fillojnë me përshkrimin e modelit të
ekonomisë të marrë në shqyrtim. Pas këtij përshkrimi është bërë një analizë e modelit
të ekonomisë ku janë shqyrtuar specifikat e saj dhe janë analizuar me ndihmën e
diagramit me raste përdorimi dhe të aktiviteteve, pjesë e diagrameve UML. Pas kësaj
analize, është shqyrtuar përcaktimi i gjendjeve të agjentëve dhe mjedisit, ku janë
përcaktuar me detaje atributet e agjentëve bashkë me specifikat që ato do të përmbajnë.
Njëkohësisht është konsideruar edhe mjedisi në të cilin agjentët do të veprojnë dhe
specifikat e saj. Pas këtyre përcaktimeve, analiza vazhdon me vendosjet e gjendjeve
fillestare të agjentëve në fillim të simulimit të tyre. Në vazhdim përcaktojmë kërkesat
e simulimit të modelit, ku është përcaktuar modeli kohor që do të ndiqet gjatë simulimit
dhe mënyra e thirrjes së veprimeve të agjentëve. Gjithashtu janë përcaktuar edhe
faktorët të tjerë si vendosja e numrit të agjentëve dhe trajtimi i rezultateve nga
përdoruesi.
Në bazë të këtyre hapave fillestarë, në të dy kapitujt janë konsideruar dy mjete zhvillimi
të ndryshme të njohura si mjeti i zhvillimit Repast ReLogo, i cili njihet për ndërtimin e
modeleve simuluese ABM dhe mjeti i zhvillimit JaCaMo që ndihmon në simulimet me
sistemet MAS. Bazuar mbi mjetin e zhvillimit të trajtuar në secilin kapitull jepen hapat
e projektimit të modelit, ku përcaktohen me detaje veprimet e agjentëve dhe
ndërveprimet e tyre me agjentë të tjerë apo edhe me mjedisin. Në këto pjesë vërehet në
të dy zgjidhjet përdorimi i diagrameve sekuencë që paraqesin ndërveprimet e
mundshme të agjentëve. Më pas specifikohemi në detajimin teknik të ndërtimit ku edhe
është paraqitur për çdo kapitull diagrami klasë i modelit të simulimit. Në vazhdimësi
paraqiten zgjidhjet e ndërtimit të mjediseve simuluese në varësi të mjeteve të zhvillimit.
Ndryshimet themelore të këtyre dy zgjidhjeve janë të lidhura me ndryshimet midis
mjeteve të zhvillimit në lidhje me ndërtimin e mjedisit simulues dhe trajtimin e agjentit.
Bazuar mbi veçoritë e treguara në tabelat 5-1 dhe 5-3 të shfaqura në kapitullin pesë,
mund të themi se të dyja këto mjete zhvillimi, kanë një performancë, stabilitet dhe
fortësi goxha të lartë. Një ndër arsyet e zgjedhjes së këtyre dy mjeteve ishin pikërisht
këto parametra. Ndryshimi midis këtyre mjeteve është në mënyrat se si mund të
ndërtohen modelet simuluese. Për këtë arsye në tabelën 9-5, janë shfaqur ndryshimet
themelore midis këtyre mjeteve, bashkë me karakteristikat bazë që ne marrim parasysh
nga ndërtimi i modeleve të ekonomisë artificiale. Një ndryshim themelor midis tyre
është i lidhur me rolin që mjedisi ka në secilin mjet zhvillues. Në rastin e mjetit Repast,
mjedisi luan rolin e lehtësuesit të sjelljeve që agjentët kanë me njëri tjetrin. Në vetvete
ky mjeti zhvillimi, mundëson trajtimin e agjentëve si objekte dhe gjendjet e tyre si
variabla apo atribute të tyre. Kjo mënyrë e të trajtuarit mund të lejojë agjentin të ketë
njohuri të plotë mbi mjedisin, për sa kohë që vepron si objekt brenda këtij mjedisi. Pra
ky agjent mund të aksesojë çdo parametër të mjedisit, si edhe mund të komunikojë
direkt me agjentët e tjerë që janë pjesë e saj. Në rastin e mjetit të zhvillimit JaCaMo,
duhet thënë se roli i mjedisit nuk është thjesht në lehtësimin e sjelljeve që agjentët do
të kenë me njëri-tjetrin. Ky rol zgjerohet në ndihmën që artefaktet mund të japin në
veprimet apo sjelljet e agjentëve. Këto artefakte, në rastin e ekonomisë artificiale mund
të marrin rolin e tregjeve ku njësitë ekonomike veprojnë, dhe që ndihmojnë në sjelljet
racionale të tyre. Një veçori tjetër është që agjenti në këtë mjedis ka njohuri të kufizuara,
sikurse ndodh në realitet, dhe njohuritë e tij bazohen mbi besimet e krijuara nga
perceptimet e marra nga mjedisi rreth tij dhe komunikimet me agjentët e tjerë.
158
Tabela 9-5: Ndryshimet themelore midis RePast ReLogo dhe JaCaMo
Mjeti i zhvillimit RePast ReLogo JaCaMo
Problemi i
shqyrtuar Ekonomia Artificiale Ekonomia Artificiale
Roli Mjedisit Mjedisi lehtëson sjelljet e
agjentëve me njëri tjetrin
Mjedisi lehtëson sjelljet e agjentëve
me njëri tjetrin dhe ndihmon në
sjelljet e tyre në tregje
(me artefakte)
Njohuritë mbi
mjedisin
Agjenti mund të ketë njohuri
të plotë mbi mjedisin
Agjenti ka njohuri të kufizuar në
besimet e krijuara nga perceptimet
mbi mjedisin dhe artefaktet që
ndodhen në të
Aktivizimi i agjentit
Agjentët aktivizohen nga
mjedisi dhe nga komunikimi
me agjentët e tjerë
Agjentët aktivizohen nga mesazhet
vepruese nga agjentët e tjerë,
artefaktet dhe perceptimet nga
mjedisi
Vendimmarrja Në bazë të kushteve dhe
arsyetimeve racionale
Në bazë të arsyetimeve logjike dhe
racionale për të arritur qëllimin
Inteligjenca Reagime të thjeshta me
sjellje racionale
E plotë sipas konceptit BDI dhe me
sjellje racionale
Arkitektura Bazuar në OOP Hibride
Modeli Kohor I qendërzuar me kohë të
bazuar mbi ngjarje diskrete
Nuk ka, por mund të përdoren të tre
llojet (Problemi shqyrtuar përdor
model kohor diskret)
Radha e agjentëve
Me thirrje sinkrone njëri pas
tjetrit brenda hapit kohor dhe
në bazë veprimesh midis
agjentëve
Me thirrje asinkrone nga agjenti në
agjent. (Hapat në zgjidhjen tonë
përcaktohen nga një agjent që
shërben si koordinues kohor.)
Programimi Programimi i orientuar me
objekte
Bazuar në programimin logjik,
funksional, imperativ dhe
AOP, EOP,OOP,IOP (MAOP)
Ndërfaqja grafike Mundësohet bashkë me
mjedisin
Ndërtohet bashkë me mjedisin dhe
artefaktet nga zhvilluesi
Hapat e ndërtimit Në bazë të hapave të
vendosura në këtë punim
Në bazë të hapave të vendosura në
këtë punim
Një ndryshim tjetër themelor është mënyra se si e programimit të përdorur, ku mjeti
Repast përdor vetëm konceptet e objekteve te agjentët, ndërsa në mjetin e zhvillimit
JaCaMo përdoren lloje të ndryshme konceptesh. Në konceptet e përdorura në mjetin e
zhvillimit JaCaMo përmendim programimin imperativ me anë të cilit kryhet modelimi
i veprimeve, programimin funksional që ndihmon në modelimin e arsyetimit dhe
programimi logjik me anë të cilit modelojmë dijet e agjentit. Këto koncepte janë të
përfshira nën konceptin e përgjithshëm të MAOP për agjentët inteligjent, ku arrihet
programimi i orientuar ndaj agjentit, mjedisit, ndërveprimeve dhe organizimeve.
Bazuar mbi këto koncepte të përdorura në të dy mjetet themi se inteligjenca e shfaqur
e agjentit në mjetin Repast është e bazuar në reagimet e thjeshta dhe sjelljet racionale
të programuara në objektin agjent, ndërsa në mjetin JaCaMo kjo inteligjencë është e
plotë sipas logjikës së programimit të agjentëve inteligjent me anë të BDI dhe mbi të
janë shtuar edhe sjelljet racionale. Në të njëjtin këndvështrim edhe vendimmarrjet e
agjentëve merren në bazë të kushteve dhe arsyetimeve racionale te mjeti RePast, ndërsa
në mjetin JaCaMo vendimmarrja e agjentëve kryhet në bazë të arsyetimeve logjike dhe
ato racionale për të arritur qëllimin e tyre. Në rastin e dytë avantazhi qëndron në
159
strategjitë që agjentët zgjedhin në bazë të qëllimeve të tyre të ndryshme, ndërsa në rastin
e parë strategjitë varen vetëm nga kushtet e programuara në fillim.
Avantazhet kryesore të mjetit RePast ndaj mjetit JaCaMo, janë të lidhura me elementët
e gatshëm që mundësojnë krijimin më të shpejtë të modelit simulues. Më specifikisht
ndërfaqja grafike që ofron, bashkë me mundësinë e trajtimit të rezultateve me grafikë.
Në rastin e mjetit JaCaMo zhvilluesi duhet të mendojë dhe zhvillojë këto elementë.
Elementi tjetër i rëndësishëm është që mjeti RePast përdor një model kohor të
qendërzuar, i cili është i gatshëm dhe bazohet në modelin kohor me ngjarje diskrete që
do të thotë se pret që të gjithë agjentët të mbarojnë veprimet e hapit kohor dhe më pas
vazhdojnë me hapin tjetër. Meqenëse ky mjet zhvillues bazohet mbi konceptet e
orientuara ndaj objektit, edhe radha e agjentëve brenda hapit është sinkrone ku çdo
agjent thirret pasi mbaron agjenti paraardhës. Ky element vendos një kufizim për
agjentët, ku radha e veprimeve të tyre është e paracaktuar nga zhvilluesi. Në zgjidhjen
e dhënë me anë të mjetit të zhvillimit JaCaMo, ky problem është anashkaluar nëpërmjet
proceseve të vet këtij mjeti. Pasi çdo agjent i krijuar konsiderohet si një proces më vete
dhe radha e veprimeve nuk është e paracaktuar por mund të kryhen në mënyrë të
pavarur nga njëri-tjetri.
Mjeti i zhvillimit JaCaMo nuk ka një model kohor të qendërzuar, dhe për këtë shkak në
zgjidhjen tonë për ekonominë artificiale është konsideruar një agjent koordinator që
kryen rolin e kohë mbajtësit të modelit. Ai kryen thirrje asinkrone te çdo agjent i modelit
duke përdorur një kohë diskrete për çdo hap kohor.
Në tërësi pas analizimit të dy zgjidhjeve të dhëna mund të themi se të dy mjetet janë të
përshtatshme për modelime ekonomike që mund të përdoren me tej nga studiuesit e
ekonomisë. Për të dy këto mjete propozohet të ndiqen hapat e ndërtimit të modelit
ekonomik të prezantuar me detaje në këto dy kapituj. Këto hapa përfshijnë:
1. Përshkimi i modelit ekonomik
2. Analiza e modelit
2.1. Përcaktimi i gjendjeve të agjentëve dhe mjedisit
2.2. Vendosjet e gjendjeve fillestare
2.3. Kërkesat e simulimit të modelit
3. Përcaktimi i mjetit të zhvillimit
4. Projektimi i modelit ekonomik në bazë të mjetit të zhvillimit
4.1. Projektimi i veprimeve të agjentëve
4.2. Detajimi teknik
5. Ndërtimi i modelit ekonomik
5.1. Ndërtimi i mjedisit simulues
5.2. Ndërtimi i ndërfaqes së përdoruesit
5.3. Ndërtimi i paraqitjes së rezultateve
6. Eksperimentimi
7. Kthehu në hapin 4 për të përmirësuar modelin
Hapi 1 dhe 2 i ndërtimit të një modeli simulues, paraqesin punën parapërgatitore të
zhvilluesit bashkë me studiuesin e fushës ekonomike. Pas kryerjes së kësaj analize,
zhvilluesi duhet të zgjedhë mjetin e zhvillimit të përshtatshëm. Në rastin tonë, ne
sugjerojmë mjetet e përmendura si dy mjete më të mira të zhvilluara deri më sot që
plotësojnë kushtet e ndërtimit të modeleve ekonomike të bazuar në agjent inteligjent.
Në këtë hap sugjerojmë përdorimin e mjetit RePast, nëse kërkohet të ndërtohet shpejt
një model ekonomik i tillë për arsye studimore apo për të vërtetuar hipoteza të caktuara
160
pa marrë parasysh faktorë si pavarësia e agjentëve dhe mendimi logjik i tyre. Ky mjet
mbështet fort sjelljet racionale të agjentëve ekonomik, dhe është lehtësisht i përdorshëm
edhe nga përdoruesi për marrjen e rezultateve dhe grafikëve që ofron. Nëse modeli
ekonomik që kërkohet është shumë kompleks dhe kërkon një imitim të ekonomisë reale
në detaje, atëherë zgjedhja do të ishte mjeti i zhvillimit JaCaMo. Ky mjet ofron të gjithë
elementët që mund të përdoren për të ndërtuar mjedise me agjent inteligjent. Gjithashtu
mbështet edhe krijimin e organizimeve të ndryshme të këtyre agjentëve dhe lejon
ndërveprimin e tyre në mjedise të ndryshme, si p.sh në tregje të ndryshme ekonomike,
me anë të artefakteve.
Pas zgjedhjes së mjetit zhvillues në hapin 3, hapat pasardhës 4, 5 dhe 6-të duhen kryer
në mënyrë përsëritëse dhe rritëse, duke u bazuar në sugjerimet e punimit (Kamiński &
Szufel, 2013) për zhvillimin rritës dhe përsëritës, si edhe në sugjerimet për strategjitë e
projektimit të prezantuara në punimin e (Klügl, 2009). Në hapat 2 dhe 4 është e
nevojshme të përdoren edhe diagramet UML, specifikisht diagramet e aktiviteteve,
sekuencave dhe klasave pasi ndihmojnë në analizën dhe projektimin e modelit
simulues. Ndjekja e këtyre hapave është e rëndësishme në të dyja rastet pasi përmirëson
punën e zhvillimit të modeleve ekonomike të bazuara në sisteme me agjentë inteligjent.
161
KAPITULLI 10: KONKLUZIONE DHE REKOMANDIME
10.1. Përmbledhje e punës kërkimore
Në këtë punim është paraqitur një studim i plotë i modelimeve ekonomike të bazuara
në sisteme me agjentë inteligjent. Përbërja e këtij studimi e paraqitur në kapituj të
ndryshëm, paraqet punën studimore të kryer për arritjen e objektivave të vendosur të
temës në bazë të pyetjeve kërkimore të formuluara në fillim të këtij punimi, është
paraqitur një tablo e plotë e studimit të kryer.
Në këtë punim u krye fillimisht një hulumtim të gjerë të fushës së IA-së dhe ekonomisë,
ku u tregua një lidhje e ngushtë midis këtyre dy fushave. Njëkohësisht u studiua edhe
trendi i zhvillimit të këtyre fushave e cila na ndihmoi në gjetjen e mundësive në të
ardhmen për studime në lidhje me këto dy fusha. Në përfundim të kësaj faze fillestare
hulumtuese dhe në bazë të pyetjes kryesore së saj kërkimore për hapësirën për studim
u përcaktua edhe studimi i mëtejshëm i këtij punimi në lidhje me modelet ekonomike
të bazuara në sistemet me agjentë inteligjentë.
Në vazhdimësi u vazhdua me tre faza të mëtejshme hulumtimi, ku edhe u ngritën pyetje
të tjera kërkimore. Në fazën e dytë u hulumtua mbi konceptet e një fushe të re të quajtur
‘Ekonomia Artificiale’, ku paraqiten shumë prej koncepteve përbërëse të studimit tonë,
si CAS, ACE, ABM, etj. Gjithashtu janë dhënë edhe arsyet e nevojës së madhe që ka
studimi i ekonomisë me anë të modeleve të bazuara në agjentë, e cila ka lidhje me
problematikat e shumta dhe komplekse të saj. Në këtë fazë të punës kërkimore janë
identifikuar edhe nevojat për zhvillim në këtë fushë të sugjeruara nga autorë të
ndryshëm për studimin e ekonomisë me anë të modeleve me agjentë. Rëndësi ka të
theksohet se simulimi i modeleve ekonomike me anë të koncepteve të agjentit
inteligjent është e nevojshme në fushën ekonomike dhe ka nevoja për zhvillim të
mëtejshëm.
Në fazën e tretë të hulumtimit është studiuar në bazë të pyetjeve kërkimore teknikat
tradicionale të modelimit dhe simulimit dhe krahasimi i tyre me ABM-të. Gjatë këtij
hulumtimi vihet në dukje rëndësia e përdorimit të ABM-ve në zgjidhjen e problemeve
komplekse, si edhe përfshirja e metodave ekzistuese në të. Gjithashtu bashkë me
hulumtimin e kryer në fazën e dytë është e rëndësishme të theksohet se modelimi dhe
simulimi i bazuar në agjent është teknika më e mirë për trajtimin e problemeve
komplekse ekonomike.
Në vazhdim të kësaj faze u bë e mundur hulumtimi mbi konceptet kryesore të agjentit
inteligjent dhe mundësitë e përdorimit të tyre në modelet e ardhshme, në funksion të
plotësimit të nevojave të sugjeruara për zhvillim.
Në fazën e katërt dhe përfundimtare të hulumtimit në literaturë janë shqyrtuar në bazë
të pyetjeve kërkimore të ngritura hapat ekzistuese të ndërtimit të modeleve simuluese
të bazuara në agjent. Në këtë pjesë janë përcaktuar disa nga hapat e suksesshëm ku jemi
bazuar në pjesën e zhvillimit eksperimental. Duhet përmendur se nga hulumtimi i kryer
në literaturë u vu re se nuk ekziston një mënyrë e përgjithshme të ndërtimit të këtyre
modeleve dhe se nuk ka një metodikë të tillë të përcaktuar në studimin e ekonomisë.
Në këtë fazë janë trajtuar edhe mjetet ekzistuese ABM, ku janë veçuar ato mjete që
mund të zhvillojnë modele ekonomike të bazuara në agjentë. Ndërmjet tyre janë
zgjedhur pas një krahasimi të veçorive të tyre, mjetet zhvilluese NetLogo dhe RePast.
Në vazhdimësi janë trajtuar edhe metodologjitë ekzistuese të inxhinierisë së softit në
162
lidhje me ndërtimin e modeleve simuluese me agjentë. Këto metodologji paksa të
cunguara në trajtimin e problemeve ekonomike u studiuan dhe u përshtatën për një
zgjidhje të mundshme me anë të eksperimenteve të ndërtuara. Si një pjesë themelore e
studimit, në këtë fazë janë trajtuar edhe mjetet zhvilluese MAS që mund të zhvillojnë
modele të tilla të bazuara në agjentë. Në këtë stad të studimit u përzgjodhën dy mjete
zhvilluese, Jason dhe JaCaMo, të cilat plotësonin kërkesat për ndërtimin e modeleve
ekonomike të bazuara në agjentë.
Gjithashtu si pjesë e hulumtimit në literaturë u shqyrtuan dy raste studimi të ekonomisë
artificiale të arritura deri më tani. Modeli EURACE është rasti i parë i ndërtimit të
ekonomisë artificiale, i cili arriti edhe të vlerësojë nevojën e madhe të përdorimit të
këtyre metodave në studimin e ekonomisë. Ky model vërtetoi se këto modele arrijnë
një vlerësim më të mirë ekonomik se sa modelet DSGE të përdorura deri më tani si
vlerësuese më të mira të saj. Pavarësisht arritjeve të modelit EURACE dhe Jamel, u
identifikuan mangësi në lidhje me tipat e agjentëve të përdorur dhe në përdorimin e tyre
për probleme të ndryshme ekonomike.
Rezultatet e kësaj pjese hulumtuese të ndarë në katër faza, janë të përmbledhura në
kapitujt përkatës të këtij punimi. Ato përbëjnë bazën kryesore mbi të cilën bazohet ky
punim shkencor. Në vijim puna kërkimore përfshin një pjesë zhvillimore
eksperimentale, e cila është e bazuar mbi pyetjet e mëtejshme kërkimore të ngritura për
arritjen e qëllimit të punimit. Në këtë pjesë fillimisht u trajtua zhvillimi i dy
eksperimenteve të një problemi specifik në fushën ekonomike me anë të mjeteve
zhvilluese NetLogo dhe Jason.
Në eksperimentin e parë, është trajtuar modeli i terminalit detar të Durrësit ku është
kryer një eksperimentim mbi metodikat më të përshtatshme në menaxhimin e
kontejnerëve dhe vinçave. Në këtë eksperiment u vu re se mjeti zhvillues NetLogo arrin
të ndërtojë modele të tilla të thjeshta por nuk plotëson kushtet për trajtime më të
ndërlikuara me agjentë inteligjent. Për këtë arsye u krye një eksperiment i dytë me
mjetin zhvillues Jason. Në këtë eksperiment është trajtuar modeli i menaxhimit të
magazinës, ku eksperimentohen metoda të automatizuara të vendosjes dhe nxjerrjes të
mallrave në mënyrë të automatizuar. Me anë të këtij eksperimenti me një mjet MAS, u
arrit të provohej se këto mjete arrijnë të ndërtojnë mjedise simuluese për modelet
ekonomike të bazuara në agjentë, ndonëse vetëm për probleme specifike të saj.
Njëkohësisht u tregua se mund të ndërtojmë agjentë inteligjent që plotësojnë disa nga
nevojat për zhvillim të kërkuara nga komuniteti i studiuesve të ekonomisë.
Në vazhdim të kësaj pjese eksperimentale është kryer një analizë krahasuese mbi hapat
e ndërtimit të përdorur nga të dy mjetet, ku është vënë në dukje përdorimin e praktikave
më të mira të sugjeruara në fazën e katërt të hulumtimit. Gjithashtu janë paraqitur edhe
ndryshimet themelore midis këtyre dy mjeteve zhvilluese dhe sugjerimet përkatëse për
përdorim e tyre në të ardhmen. Përfundimet e këtyre dy punimeve janë të paraqitura me
detaje në pjesën 6-4 të këtij punimi.
Në vijim të këtij punimi, u ndërtua një punë eksperimentale me anë të mjetit të
zhvillimit RePast ReLogo, për të modeluar dhe ndërtuar një ekonomi artificiale.
Fillimisht jepet një përshkrim i ekonomisë që trajtohet, më pas bëhet një analizë e
modelit të propozuar ku përdoren edhe diagramet UML të llojit me raste përdorimi dhe
ai i aktiviteteve për agjentët e përdorur. Më pas bëjmë përcaktimin e gjendjeve të
agjentëve dhe mjedisit, vendosjet e gjendjeve fillestare dhe vënia në dukje e kërkesave
të simulimit. Duke u bazuar në mjetin e zgjedhur është kryer projektimi i modelit, ku
163
fillimisht jepet projektimi i veprimeve ose sjelljeve të agjentëve me anë të diagrameve
sekuencë dhe detajimi i tyre teknik me anë të diagrameve klasë të modelit. Pas tyre
jepen specifikat e ndërtimit të tyre, ndërfaqja grafike dhe shfaqja e rezultateve të
simulimeve. Nëpërmjet këtyre hapave u bë e mundur të pohojmë se modelimi dhe
ndërtimi i një ekonomie artificiale me anë të mjeteve ABM është i mundur dhe
funksional. Gjithashtu me anë të saj ne arritëm të përcaktonim disa hapa të përgjithshëm
në ndërtimin e simulimeve të ngjashme në të ardhmen.
Në vazhdimësi të punimit u arrit duke ndjekur të njëjtat hapa të mësipërme ndërtimi
eksperimental i një ekonomie artificiale me anë të mjetit të zhvillimit MAS JaCaMo.
Kjo metodikë e përdorur përbën një risi, pasi në literaturë ky mjet është trajtuar me
metodologjinë prometheus me qëllimin e përfshirjes së koncepteve të arkitekturës BDI
për agjentët inteligjent. Në pjesën e projektimit është sugjeruar përdorimi i diagrameve
UML të modifikuara që mundësojnë përfshirjen e koncepteve të agjentit inteligjent BDI
dhe përdorimin e artefakteve në to.
Në përfundim të punimit është trajtuar një analizë e rezultateve eksperimentale të marra
nga dy ekonomitë artificiale të ndërtuara. Kjo analizë konsideron ndryshimet e
gjendjeve të gjithë njësive ekonomike dhe përfundon me grafikë përmbledhës
ekonomik të rezultateve. Me anë të këtyre grafikëve vërtetohet aftësia e këtyre
modeleve për të simuluar ekonomitë reale. Në krahasimin e të dy zgjidhjeve të
ndërtuara me mjetet përkatëse, vihet re se ekonomia artificiale e ndërtuar me mjetin
JaCaMo ofron një ngjashmëri më të mirë me një ekonomi reale bazuar mbi rezultatet e
simulimeve të kryera.
10.2. Konkluzione
Krizat e shumta ekonomike dhe zhvillimet teknologjike kanë qenë arsyeja kryesore që
ka udhëhequr një punim të tillë. Ky punim analizon në detaje një qasje të re të studimit
të fushës ekonomike duke përdorur konceptet e fushës së IA-së në trajtimin e saj. Në
bazë të saj është kryer një hulumtim i detajuar në konceptet modeluese të bazuara në
agjent, dhe mundësisë së përdorimit të tyre për të simuluar situata të ndryshme
ekonomike. Gjatë këtij hulumtimi u arrit në përfundimin se një qasje e tillë është
kërkuar nga komuniteti i studiuesve të ekonomisë, duke e konsideruar atë si të
nevojshëm në trajtimin e shumë problemeve ekonomike.
Me anë të hulumtimit në literaturë u arrit identifikimi i problematikave të modelimeve
të tilla, si edhe u përcaktuan kërkesat për modelime me agjentë inteligjent. Në këtë
aspekt u analizuan risitë më të fundit të fushës së IA-së në lidhje me simulimin me anë
të MAS, ku u vu re se është e mundur të integrohen këto risi në modelimet ekonomike.
Gjithashtu u analizuan mjetet zhvilluese për këto modele dhe metodologjitë e përdorura
në ndërtimin e tyre. Në përfundim të këtyre analizave u arrit zgjedhja e mjeteve më të
mundshme për të zhvilluar këto modele, si edhe e metodologjive përkatëse për
ndërtimin e tyre.
Me anë të mjeteve zhvilluese të zgjedhura dhe bazuar mbi praktikat më të mira
zhvilluese u ndërmorën disa zhvillime eksperimentale të modeleve ekonomike. Mjeti i
parë zhvillues NetLogo, i konsideruar si një mjet zhvillimi ABM, arrin të ndërtojë
modele të thjeshta problemesh ekonomike që nuk kanë një kompleksitet të lartë në
modelimin e agjentëve. Në bazë të modelit eksperimental të ndërmarrë u vu re se ky
mjet nuk i plotëson të gjitha kushtet për trajtimin e me agjentë inteligjent. Për këtë arsye
në eksperimentin e dytë u përdor mjeti i zhvillimi Jason, i cili në mënyrë të ngjashme
164
arriti të ndërtoj një model të ngjashëm. Ky mjet i llojit MAS plotëson kushtet për
trajtimin me agjentë inteligjent. Në bazë të këtyre zhvillimeve eksperimentale të
arritura, arrijmë në përfundimin se është e mundur simulimi i problemeve specifike të
ekonomisë me anë të mjeteve të zhvillimit ABM dhe MAS. Një përfundim tjetër i
rëndësishëm është fakti që mjeti i zhvillimi Jason ofron simulimin e modeleve të
ngjashme me anë të agjentëve inteligjent, të cilët lejojnë një specifikim më real të
kushteve të mjedisit simulues.
Në zhvillimet e mëtejshme eksperimentale të këtij punimi u arrit të provohet se është e
mundur modelimi dhe ndërtimi i një ekonomie artificiale. Për këtë u përdor fillimisht
mjeti i zhvillimit RePast ReLogo, i zgjedhur ndër mjetet e zhvillimit ABM. Zhvillimi i
simulimit të kësaj ekonomie artificiale pati vështirësitë e saj, dhe për këtë u kërkuan
ndryshime në metodologjinë e zhvillimit të saj. Për këtë u përcaktuan disa hapa të
rëndësishëm për zhvillimin e modeleve të ngjashme të ekonomisë artificiale.
Duke u bazuar në hapat e përcaktuar për zhvillimin e modeleve të ekonomisë artificiale,
u zhvillua një simulator tjetër me anë të mjetit të zhvillimit JaCaMo. Me anë të këtij
mjeti MAS provuam se është e mundur ndërtimi i simulimeve të ekonomisë artificiale
me to. Gjithashtu nëpërmjet tij u arrit të provohej se hapat e përcaktuar në këtë punim
mund të na ndihmojnë në zhvillime të ngjashme në fushën e ekonomisë. Duhet
përmendur se për të arritur këtë eksperiment janë përfshirë disa ndryshime të vogla në
hapin e projektimit, duke përdorur diagrame UML të modifikuara që përfshijnë
konceptet e agjentit që ky mjet zhvillues ofron.
Këto zhvillime eksperimentale të ekonomisë artificiale na lejuan të analizojmë në detaje
avantazhet e secilit mjet zhvillimi, duke u bazuar në rezultatet e tyre eksperimentale.
Në këtë analizë të kryer vëmë në dukje se mjeti i zhvillimit JaCaMo, arrin të ndërtojë
një ekonomi artificiale me anë të hapave të përcaktuar duke pasur rezultate më të mira
se mjetet ekzistuese të modelimeve të bazuara në agjent. Ky mjet plotëson të gjitha
kushtet e kërkuara nga komuniteti i studiuesve të ekonomisë që duan të përdorin
modelimin e bazuar në agjent për studimin e saj.
Kjo përbën edhe përfundimin e këtij punimi, pra përmbushjen e qëllimit kryesor të këtij
punimi që përfshin identifikimin, studimin dhe ndërtimin e një metodike më të mirë për
modelet ekonomike të bazuara në agjent inteligjent.
10.3. Rekomandime dhe punë të mëtejshme
Bazuar mbi këtë punim rekomandohet përdorimi i hapave të paraqitura për modelimin
dhe ndërtimin e modeleve ekonomike të bazuara në sisteme me agjentë inteligjent.
Gjithashtu në bazë të vlerësimeve të kryera në këtë punim dhe në bazë të sugjerimeve
të dhëna në pjesët 6.4 dhe 9.4 të këtij punimi, do të rekomandoja përdorimin e mjeteve
përkatëse të zhvillimit në bazë të veçorive të problemeve ekonomike të marra në
shqyrtim.
Është e rëndësishme të theksohet se për ndërtimin e modeleve të tilla kërkojnë njohuri
programuese nga studiuesi dhe ekspertizë nga ndërtuesi i tyre. Për këtë arsye,
sugjerohet përfshirja në programet universitare të një lënde bazë për modelim dhe
simulim me agjentë si edhe lëndë profesionale në fushën e informatikës me njohuri të
thelluara programuese për ndërtimin e modeleve të bazuara në sisteme me agjentë
inteligjent.
Si një punë e mëtejshme e këtij punimi sugjeroj përdorimin e metodologjisë të
propozuar në këtë punim, në trajtimin e një ekonomie artificiale të bazuar mbi të dhëna
165
reale të ekonomisë shqiptare. Kjo do të mundësonte testimin e politikave të ndryshme
ekonomike, përfshirë ato fiskale dhe monetare, përpara zbatimit të tyre në ekonomi.
Një gjë e tillë do të sillte zhvillime më të qëndrueshme dhe të mirë menduara të
ekonomisë.
10.4. Kontributi i punimit
Kontributi i këtij punimi shtrihet në të dy fushat e studimit, atë të fushës së IA-së në
trajtimin e agjentëve inteligjent dhe në fushën ekonomike. Me këtë punim është arritur
përcaktimi i një metodologjie të ndërtimit të mjediseve simuluese me agjentë inteligjent
e cila mund të përdoret edhe në fusha të tjera në simulimin e fenomeneve të ndryshme
komplekse. Kjo e bazuar kryesisht mbi në mjetin e zhvillimit JaCaMo, e cila përmbledh
të gjitha avantazhet e deritanishme në literaturë.
Kontributi kryesor i këtij studimi është në përcaktimin e hapave të duhur për ndërtimin
e një ekonomie artificiale bazuar mbi teknikat e modelimeve ekonomike të bazuara në
agjentë. Ky studim përfshin sugjerime të rëndësishme mbi përdorimin e mjeteve
zhvilluese që mundësojnë ndërtimin e ekonomive artificiale dhe hapave të rëndësishme
të ndërtimit të tyre. Ndërtimi i të tilla mjeteve do të ketë një ndikim të drejtpërdrejt në
vendimmarrjet e sistemeve ekonomike, përfshirë këtu të gjithë aktorët e rëndësishëm të
një ekonomie. Ekonomistët mund të përdorin rezultatet e këtij punimi si një mjet me
një vështrim të thelluar për zgjidhjen e problemeve të ndryshme ekonomike. Politikë-
bërësit në sistemet ekonomike mund të testojnë hipotezat e tyre përpara përdorimit të
tyre si edhe përmirësimin e tyre bazuar mbi punën e bërë. Gjithashtu nëpërmjet këtyre
metodave mund të gjenden mënyra më të mira dhe të reja që sigurojnë një rezultat më
të mirë të sistemit ekonomik dhe të parandalojnë rezultatet e padëshiruara ekonomike.
166
REFERENCAT
Abdou, M., Hamill, L., & Gilbert, N. (2012). Designing and Building an Agent-Based
Model. Në A. Heppenstall, A. Crooks, L. See, & M. Batty, Agent-Based Models
of Geographical Systems (fv. 141-165). Dordrecht: Springer.
Abelson, H., Goodman, N., & Rudolph, L. (1974, 12 1). LOGO Manual. Gjetur 6 5,
2018, nga Artificial Intelligence Lab, MIT: http://hdl.handle.net/1721.1/6226
Abelson, H., Goodman, N., & Rudolph, L. (1974). LOGO Manual. Artificial
Intelligence Lab, Massachusetts Institute of Technology.
Agents of change. (2010, July 22). The Economist. Gjetur në The :
https://www.economist.com/node/16636121
Agolli, E., & Hakrama, I. (2015). The effective usage of Durres Seaport Container
Terminal capacity using an Agent-based modeling approach. Information
Systems and Technology Innovations: inducting Modern Business Solution.
Tirana.
Albin, P. S., & Foley, D. K. (2001). The Co-Evolution of Cooperation and Complexity
in a Multi-Player Local-Interaction Prisoners Dilemma. Complexity, 6(3), 54-
63.
Amblard, F., Miguel, F. J., Blanchet, A., & Gaudou, B. (2015). Preface. Advances in
Artificial Economics, Lecture Notes in Economics and Mathematical Systems
676, v-vii. doi:10.1007/978-3-319-09578-3
Andrighetto, G., Campenni, M., Conte, R., & Paolucci, M. (2007). On the Immergence
of Norms: a Normative Agent Architecture. AAAI Symposium, Social and
Organizational Aspects of Intelligence (fv. 11-18). Menlo Park, California: The
AAAI Press. Gjetur në http://www.aaai.org/Papers/Symposia/Fall/2007/FS-07-
04/FS07-04-003.pdf
Arifovic, J. (1991). Learning by Genetic Algorithms in Economic Environments. Ph.D
Thesis, University of Chicago.
Arifovic, J., & Eaton, B. C. (1994). Coordination via Genetic Learning. Computational
Economics, 8(3), 181-203.
Arora, S., Agrawal, C. P., Sasikala, P., & Sharma, A. (2012). Developmental
approaches for Agent Oriented system—A critical review. Software
Engineering (CONSEG), 2012 CSI Sixth International Conference (fv. 1-5).
IEEE.
Arthur, B. (1992). On Learning and Adaptation in the Economy. Santa Fe Economics
Research Program SFI Working Paper: 1992-07-038, 27.
Axelrod, R. (1997). The Complexity of Cooperation: Agent-Based Models of
Competition and Collaboration. Princeton, New Jersey: Princeton University
Press.
Backus, D. K., Gregory, A. W., & Stanley, Z. E. (1989, November). Risk Premiums in
the term Structure: Evidence from Artifical Economies. Journal of Monetary
Economics, 24(3), 371-399.
Backus, D. K., Gregory, A. W., & Telmer, C. I. (1993). Accounting for Forward Rates
in Markets for Foreign Currency. Journal of Finance, 1887-1908.
167
Batten, D. F. (2000). Artificial Economics. Në Discovering Artificial Economics: How
Agents Learn and Economies Evolve (fv. 257-259). Boulder, Colo: Westview
Press.
Bersini, H. (2012). UML for ABM. Journal of Artificial Societies and Social
Simulation, 15(1), 9. doi:10.18564/jasss.1897
Boccara, N. (2010). Modeling Complex Systems (bot. i 2nd). New York: Springer-
Verlag. doi:10.1007/978-1-4419-6562-2
Boissier, O., Bordini, R. H., Hübner, J. F., Ricci, A., & Santi, A. (2013). Multi-agent
oriented programming with JaCaMo. Science of Computer Programming, 78,
fv. 747-761. doi:10.1016/j.scico.2011.10.004
Boissier, O., Hubner, J. F., & Ricci, A. (2016). The JaCaMo Framework. Në H. e.
Aldewereld, Social Coordination Frameworks for Social Technical Systems (fv.
125-151). Switzerland: Springer. doi:10.1007/978-3-319-33570-4_7
Bordini, R. H., Hübner, J. F., & Wooldridge, M. (2007). Programming Multi-Agent
Systems in AgentSpeak using Jason. West Sussex, England: John Wiley & Sons.
Bowersox, D. J., Closs, D. J., & Cooper, M. B. (2002). Warehousing. Në Supply Chain
Logistics Management (Vëll. i 2nd Edition, fv. 212-234). New York: McGRAW
Hill.
Braubach, L., & Pokahr, A. (2013). The Jadex Project: Simulation. Multiagent Systems
and Applications. Intelligent Systems Reference Library, 45, 107-128.
Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., & Mylopoulos, J. (2004, May).
Tropos: An Agent-Oriented Software Development Methodology. Autonomous
Agents and Multi-Agent Systems, 8(3), 203-236.
doi:10.1023/B:AGNT.0000018806.20944.ef
Broersen, J., Dastani, M., Hulstijn, J., Huang, Z., & van der Torre, L. (2001). The BOID
architecture: conflicts between beliefs, obligations, intentions and desires.
Proceedings of the fifth international conference on Autonomous agents (fv. 9-
16). ACM.
Brooks, R. A. (1991). Intelligence without reason. Proceedings of the Twelfth
International Joint Conference on Artificial Intelligence (II-CAI-91) (fv. 569-
595). Sydney, Australia: Morgan Kaufmann Publishers.
Bruun, C. (2006). Preface. Advances in Artificial Economics The Economy as a
Complex Dynamic System, Lecture Notes in Economics and Mathematical
Systems 584, V-VII.
Buchanan, B. G. (2005). A (very) brief history of artificial intelligence. AI Magazine,
26(4), 53-60.
Buchanan, B. G., Sutherland, G. L., & Feigenbaum, E. (1969). Heuristic DENDRAL:
a Program for Generating Explanatory Hypotheses in Organic Chemistry.
Machine Intelligence, 4, fv. 209-254.
Camerer, C. F., Ho, T.-H., & Chong, J.-K. (2002). Sophisticated Experience-Weighted
Attraction Learning and Strategic Teaching in Repeated Games. Journal of
Economic Theory, 104, 137-188. doi:10.1006/jeth.2002.292
168
Camerer, C., & Ho, T.-H. (1998). EWA Learning in coordination games: probability
rules, heterogeneity, and time variation. Journal of Mathematical Psychology,
42, 305-326.
Carbon, V., & Martino, M. D. (2003, October). The changing role of ports in supply-
chain management: an empirical study. Maritime Policy & Management, 305-
320.
Ceylan, A., Gunal, M. M., & Bruzzone, A. G. (2012). A new approach to simulation
modeling of unit-load warehouses. Proceedings of the 2012 Symposium on
Emerging Applications of M&S in Industry and Academia Symposium (EAIA
'12). Article 2, f. 6. San Diego, CA, USA: Society for Computer Simulation
International.
Chaib-Draa, B., Moulin, B., Mandiau, R., & Millot, P. (1992, March). Trends in
distributed artificial intelligence. Artificial Intelligence Review, 6(1), 35-66.
Chan, S. (2001). Complex Adaptive Systems. Research Semindar in Engineering
Systems, MIT. Gjetur 10 1, 2016, nga MIT:
http://web.mit.edu/esd.83/www/notebook/Complex%20Adaptive%20Systems.
Chang, M.-H., & Harrington, J. E. (2006). Agent-Based Models of Organizations. Në
L. Tesfatsion, & K. L. Judd, Handbook of Computational Economics, Vol. 2:
Agent-Based Computational Economics (fv. 1272-1337). Amsterdam,
Netherlands: North-Holland/Elsevier.
Chen, S. H. (2008). Computational Intelligence in Agent-based Computational
Economics. Studies in Computational Intelligence (SCI), 115, 517-594.
doi:10.1007/978-3-540-78293-3_13
Chen, S. H. (2008, November). Software-Agent Designs in Economics: An
Interdisciplinary Framework. IEEE Computational Intelligence Magazine, 3(4),
18-22. doi:10.1109/MCI.2008.929844
Chen, S.-H. (2008). Computational Intelligence in Agent-based Computational
Economics. Studies in Computational Intelligence (SCI), 115, 517-594.
doi:10.1007/978-3-540-78293-3_13
Chen, S.-H. (2012). Varieties of agents in agent-based computational economics: A
historical and an interdisciplinary perspective. Journal of Economic Dynamics
and Control, 36(1), 1-25. doi:10.1016/j.jedc.2011.09.003
Chen, S.-H., & Kao, Y.-F. (2016). Herbert Simon and agent-based computational
economics. Në Minds, Models and Milieux (fv. 113-144). UK: Palgrave
Macmillan.
Chen, S.-H., & Yu, T. (2011). Toward an Autonomous-Agents Inspired Economic
Analysis. ASSRU. Gjetur në
http://www.assru.economia.unitn.it/files/DP_6_2011_II.pdf
Chin, S., Worth, D., Greenough, C., Coakley, S., Holcombe, M., & Kiran, M. (2012).
The EURACE Agent-Based Economic Model: Benchmarking, Assessment and
Optimization. Harwell Oxford: Science and Technology Facilities Council.
Gjetur në http://epubs.cclrc.ac.uk/bitstream/7678/RAL-TR-2012-006.pdf
169
Cleveland, W. S. (2001). Data science: an action plan for expanding the technical areas
of the field of statistics. International Statistical Review / Revue Internationale
de Statistique, 21-26.
Cohen, P. R. (1995). Empirical Methods for Artificial Intelligence. Cambridge, MA,
USA: MIT Press.
Consiglio, A. (2007). Preface. Artificial Markets, Modeling, Methods and Applications,
Lecture Notes in Economics and Mathematical Systems 599, V-VII.
Cossentino, M. (2005). From requirements to code with the PASSI methodology.
Agent-oriented methodologies, 3690, 79-106.
Cowan, G., & Feldman, M. (1986). Preview of workshop on complex adaptive systems.
Bulletin of the Santa Fe Institute, 1(11).
Creamer, G. (2012). Model Calibration and Automated Trading Agent for Euro Futures.
Quantitative Finance, 12(4), 531-545.
Crevier, D. (1993). AI: The Tumultuous Search for Artificial Intelligence. New York,
NY: BasicBooks.
Crooks, A. T., & Heppenstall, A. J. (2012). Introduction to Agent-based Modelling. Në
Agent-based Models of Geographical Systems (fv. 85-105). London: Springer
Dordrecht Heidelberg. doi:10.1007/978-90-481-8927-4
Dahl, O.-J., & Nygaard, K. (1966). SIMULA: an ALGOL-based simulation language.
Communications of the ACM, 9(9), 671-678.
Dastani, M. (2008, June). 2APL: a practical agent programming language. Autonomous
Agents and Multi-Agent Systems, 16(3), 214-248. doi:10.1007/s10458-008-
9036-y
Dastani, M. (2014). A Survey of Multi-agent Programming Languages and
Frameworks. Në S. O., & S. A., Agent-Oriented Software Engineering (fv. 213-
233). Berlin, Heidelberg: Springer. doi:10.1007/978-3-642-54432-3_11
Dawid, H., Gemkow, S., Harting, P., Hoog, S. v., & Neugart, M. (2014). Agent-Based
Macroeconomic Modeling and Policy Analysis: The Eurace@Unibi Mode6C.
Bielefeld Working Papers in Economics and Management No. 01-2014. Gjetur
në https://ssrn.com/abstract=2384391
Deissenberg, C., Hoog, S. v., & Dawid, H. (2008). EURACE: A massively parallel
agent-based model of the European economy. Applied Mathematics and
Computation(204), 541-552. doi:10.1016/j.amc.2008.05.116
DeLoach, S. A. (2001). Analysis and Design using MaSE and agentTool. 12th Midwest
Artificial Intelligence and Cognitive Science Conference (MAICS 2001), (fv.
46-60). Oxford, Ohio.
Detty, R. B., & Yingling, J. C. (2000). Quantifying benefits of conversion to lean
manufacturing with discrete event simulation: a case study. International
Journal of Production Research, 38(2), 429-445.
Dhar, V. (2013, December). Data science and prediction. Communications of the ACM,
56(12), 64-73. doi:10.1145/2500499
170
Di Paolo, E. A., Noble, J., & Bullock, S. (2000). Simulation models as opaque thought
experiments. Artificial Life VII: Proceedings of the Seventh International
Conference (fv. 497-506). MIT Press.
Dignum, F., & Dignum, V. (2009). Emergence and enforcement of social behavior.
18th World IMACS / MODSIM09 Congress, (fv. 2942-2948). Caims, Australia.
Dilaver, Ö., Jump, R., & Levine, P. (2016). Agent-based Macroeconomics and
Dynamic Stochastick General Equilibrium Models: Where do we go from here?
Discussion Papers in Economics 0116, 1-41.
Drogoul, A., Amouroux, E., Caillou, P., Gaudoud, B., Grignarda, A., Marilleaua, N., .
. . Zucker, J.-D. (2013). GAMA: Multi-level and Complex Environment for
Agent-based Models and Simulations. Proceedings of the 12th International
Conference on Autonomous Agents and Multiagent Systems (AAMAS 2013).
Minnesota, USA.
Eberhard, J., & Tripathi, A. (2007, July). Mechanisms for object caching in distributed
applications using Java RMI. Software-Practice & Experience, 37(8), 799-831.
doi:10.1002/spe.v37:8
Edmonds, B., & Moss, S. (2004). From KISS to KIDS: An ‘Anti-simplistic’ Modelling
Approach. Multi-Agent and Multi-Agent-Based Simulation: Joint Workshop
MABS 2004, 130-144. doi:10.1007/b106991
Eilenberg, S. (1974). Automata, Languages and Machines (Vëll. i A). New York:
Academic Press.
Epstein, J. M. (2001). Learning to be Thoughtless: Social Norms and Individual
Competition. Computational Economics, 18, 9-24.
Epstein, J., & Axtell, R. (1996). Growing Artificial Societies: Social Science from the
Bottom-up. Cambridge/Washington, DC: Brookings Institution Press, MIT
Press.
Fagiolo, G., & Roventini, A. (2017). Macroeconomic Policy in DSGE and Agent-Based
Models Redux: New Developments and Challenges Ahead. Journal of Artificial
Societies and Social Simulation, 20(1). doi:10.18564/jasss.3280
Farmer, J. D., & Foley, D. (2009, August). The economy needs agent-based modelling.
Nature, 460, 685-686. doi:10.1038/460685a
Fayyad, P.-S. S. (1996). From Data Mining to Knowledge Discovery: An Overview.
Advances in Knowledge Discovery and Data Mining, 1-34.
Ferber, J. (1999). Multi-Agent System: An Introduction to Distributed Artificial
Intelligence. Harlow: Addison-Wesley Professional.
Ferguson, I. A. (1992). Touring Machines : an architecture for dynamic, rational,
mobile agents. Clare Hall, University of Cambridge, UK: PhD Thesis.
Fianyo, E., Treuil, J., Perrier, E., & Demazeau, Y. (1998). Multi-agent architecture
integrating heterogeneous models of dynamical processes: the representation of
time. Multi-Agent Systems and Agent-Based Simulation (MABS), 226-236.
doi:10.1007/10692956_16
171
Finin, T., Fritzson, R., McKay, D., & McEntire, R. (1994). KQML as an agent
communication. Proceedings of the third international conference, CIKM ’94
(fv. 456–463). New York, USA: ACM. doi:10.1145/191246
Finin, T., Fritzson, R., McKay, D., & McEntire, R. (1994). KQML As an Agent
Communication Language. Third International Conference on Information and
Knowledge Management (ICIM '94) (fv. 456-463). New York, NY, USA:
ACM. doi:10.1145/191246.191322
Fishwick, P. A. (1997). Computer simulation: growth through extension. Transactions
of the Society for Computer Simulation International, 14(1), 13-23.
Franklin, S., & Graesser, A. (1997). It is an agent, or just a program? a taxonomy for
autonomous agents. Në N. Jennings, & M. Wooldridge, Intelligent Agents (Vëll.
i III). Springer.
Freitas, A., Cardoso, R. C., Vieira, R., & Bordini, R. H. (2016). Limitations and
Divergences in Approaches for Agent-Oriented Modelling and Programming.
Workshop on Engineering Multi-Agent Systems (EMAS-16). Singapore.
Gallegati, M., Palestrini, D., Delli Gatti, D., & Scalas, E. (2006). Aggregation of
heterogeneous interacting agents: the variant representative agent framework.
Journal of Economic Interaction and Coordination, 1(1), 5-19.
Gevel, A. J., & Noussair, C. N. (2013). The Nexus Between Artificial Intelligence and
Economics, 2013, ISSN 2191-5512. New York: Springer briefs in Economics.
doi:10.1007/978-3-642-33648-5
Gigerenzer, G., & Selten, R. (2002). Bounded rationality: the adaptive toolbox,.
Cambridge, Massachusetts: MIT Press.
Glimcher, P. W., & Fehr, E. (2014). Neuroeconomics: Decision Making and the Brain
(bot. i 2nd). London: Elsevier.
Gode, D. K., & Sunder, S. (1993). Allocative Efficiency of Markets with Zero-
Intelligence Traders: Market as a Partial Substitute for Individual Rationality.
Journal of Political Economy(101), 119-137.
Gödel, K. (1931). Über formal unentscheidbare Sätze der Principia Mathematica und
verwandter Systeme (Vëll. i 38). I. Monatshefte für Mathematik und Physik.
Goertzel, B., & Pennachin, C. (2007). Artificial General Intelligence. Springer.
Gomez-Sanz, J. J., & Fuentes-Fernández, R. (2015). Understanding agent-oriented
software engineering methodologies. The Knowledge Engineering Review,
30(4), 375-393. doi:10.1017/S0269888915000053
Greenough, C., Chin, S., Worth, D., Coakley, S., Holcombe, M., & Kiran, M. (2010).
FLAME: simulating large populations of agents on parallel hardware
architectures. 9th International Conference on Autonomous Agents and
Multiagent Systems, (fv. 1633-1636). doi:10.1145/1838206.1838517
Grignard, A., Taillandier, P., Gaudou, B., Vo, D. A., Huynh, N. Q., & Drogoul, A.
(2013). GAMA 1.6: Advancing the art of complex agent-based modeling and
simulation. PRIMA 2013: Principles and Practice of Multi-Agent Systems, 117-
131. doi:10.1007/978-3-642-44927-7_9
172
Grimm, V., Kurth, W., & Thiele, J. C. (2012). Agent-Based Modelling:Tools for
linking Netlogo and R. Artificial Societies and Social Simulation.
Grobman, G. M. (2005). Complexity Theory: a new way to look at organizational
change. Public Administration Quarterly, 29(3), 350-382.
Gu, J., Goetschalckx, M., & McGinnis, L. (2007). Research on warehouse operation:
A comprehensive review. European Journal of Operational Research, 177, 1-
21.
Gu, J., Goetschalckx, M., & McGinnis, L. F. (2010). Research on warehouse design
and performance evaluation: A comprehensive review. European Journal of
Operational Research, 203, 539-549.
Hakrama, I. (2014). Artificial Economy and the usage of ACE. Information Systems
and Technology Innovations: Projecting trends to a New Economy. Tirana,
Albania.
Hakrama, I., & Frashëri, N. (2016, November). A comparison between two simulations
based on agent-based methods: NetLogo vs. Jason. International Journal of
Science, Innovation and New Technology, 1(17).
Hakrama, I., & Tabaku, R. (2016). Modelling and Implementation of a virtual
warehouse through Jason and RMI. 4th International Conference on Advanced
Technology & Sciences (ICAT'Rome), (fv. 32-37). Rome, Italy.
Halevy, A. Y., Norvig, P., & Pereira, F. (2009). The Unreasonable Effectiveness of
Data. IEEE Intelligent Systems, 24(2), 8-12.
Hebb, D. O. (1949). The Organization of Behavior: A Neuropsychological Theory. New
York: Wiley and Sons.
Helbing, D., & Balietti, S. (2011). From Social Data Mining to Forecasting Socio-
Economic Crisis. The European Physical Journal, 195(1), 3-68.
doi:10.1140/epjst/e2011-01401-8
Held, F. P., Wilkinson, I. F., Marks, R. E., & Young, L. (2014, February). Agent-based
Modelling, a new kind of research. Australasian Marketing Journal (AMJ),
22(1), 4-14. doi:10.1016/j.ausmj.2013.12.003
Hemmati, M., Nili, M., & Sadati, N. (2010). Reinforcement Learning of Heterogeneous
Private Agents in a Macroeconomic Policy Game. Progress in Artificial
Economics, 215-226. doi:10.1007/978-3-642-13947-5_18
Hernández, C., Posada, M., & López-Paredes, A. (2009). Preface. Artificial Economics,
The Generative Method in Economics, Lecture Notes in Economics and
Mathematical Systems 631, V-VII. doi:10.1007/978-3-642-02956-1
Himmelspach, J., & Uhrmacher, A. M. (2009). The JAMES II Framework for Modeling
and Simulation. International Workshop on High Performance Computational
Systems Biology, (fv. 101-102). Trento. doi:10.1109/HiBi.2009.20
Hindriks, K. V., Boer, F. S., Hoek, W. V., & Meyer, J.-J. C. (1999, November). Agent
Programming in 3APL. Autonomous Agents and Multi-Agent Systems, 2(4),
357-401. doi:10.1023/A:1010084620690
Holcombe, M., Coakley, S., & Smallwood, R. (2006). A General Framework for agent-
based modelling of complex systems. Proceedings of the 2006 European
173
conference on complex systems. 1. Paris, France: European Complex Systems
Society.
Holcombe, M., Coakley, S., Kiran, M., Chin, S., Greenough, C., Worth, D., . . . Neugart,
M. (2013). Large-Scale Modeling of Economic Systems. Complex Systems,
22(2), 175-191.
Holland, J. H. (1992). Complex Adaptive Systems. Daedalur: A new era in
computation, 121(1), 17-30. Gjetur në http://www.jstor.org/stable/20025416
Holland, J. H. (2006). Studying Complex Adaptive Systems. Journal of Systems
Science and Complexity, 19(1), 1-8. Gjetur October 1, 2016, nga
http://hdl.handle.net/2027.42/41486
Holland, J. H., & Miller, J. H. (1991). Artificial Adaptive Agents in Economic Theory.
American Economic Revew, 81(2), 365-371.
Hoog, S. v., Deissenberg, C., & Dawid, H. (2008). Production and Finance in
EURACE. Complexity and Artificial Markets, 614, 147-158. doi:10.1007/978-
3-540-70556-7_12
Hubner, J. F., Sichman, J. S., & Boissier, O. (2007). Developing organised multiagent
systems using the MOISE+ model: programming issues at the system and agent
levels. Int. J. of Agent-Oriented Software Engineering, 1(3/4), 370-395.
doi:10.1504/IJAOSE.2007.016266
Huynh, N., & Vidal, J. M. (2010). An Agent-Based Approach to Modeling Yard Cranes
at Seaport Container Terminals. Proceedings of the Symposium on Theory of
Modeling and Simulation (f. 120). Society for Computer Simulation
International.
Iba, H. (2013). Agent-Based Modeling and Simulation with Swarm. London: CRC Press
Taylor & Francis Group.
Iba, H. (2013). Multi-Agent Simulation Based on Swarm. Në Agent-based Modeling
and Simulation with Swarm (fv. 45-72). New York: CRC Press.
Islam, S., & Olsen, T. (2011). Factors affecting seaport capacity. 19th International
Congress on Modelling and Simulation, (fv. 412-418). Perth, Western Australia.
Izquierdo, L. R., & Izquierdo, S. S. (2015). Artificial Economics: What, Why and How.
Lecture Notes in Management and Industrial Engineering. Gjetur në Available
at SSRN: http://ssrn.com/abstract=2749347
Jiang, H., Vidal, J. M., & Huhns, M. N. (2007). EBDI: An Architecture for Emotional
Agents. Proceedings of the 6th International conference on Autonomous agents
and multiagent systems (AAMAS’07). Honolulu, Hawai.
Juan, T., Pearce, A., & Sterling, L. (2002). ROADMAP: extending the Gaia
Methodology for Complex Open Systems. Proceedings of the First
International Joint Conference on Autonomous Agents and Multiagent Systems:
Part 1 (AAMAS '02) (fv. 3-10). Bologna, Italy: ACM.
doi:10.1145/544741.544744
Kamiński, B., & Szufel, P. (2013). Verification of Models in Agent Based
Computational Economics: Lessons from Software Engineering. Perspectives
174
in Business Informatics Research. BIR 2013. Lecture Notes in Business
Information Processing, 158, 185-199. doi:10.1007/978-3-642-40823-6_15
Kirman, A., & Vriend, N. J. (2001). Evolving market structure: An ACE model of price.
Journal of Economic Dynamics and Control, 25, 459-502.
Klügl, F. (2006). SeSAm: implementation of agent-based simulation using visual
programming. 5th International Joint Conference on Autonomous Agents and
Multiagent Systems (AAMAS 2006), (fv. 1439-1440). Hakodate, Japan.
doi:10.1145/1160633.1160904
Klügl, F. (2009). Agent–Based Simulation Engineering. Faculty of Mathematics and
Computer Science, University of Würzburg.
Klugl, F., Fheler, M., Herrler, R., van Dyke Parunak, H., & Michel, F. (2005). About
the role of the environment in multi-agent simulations. Environment for multi-
agent systems: First International Workshop, E4MAS 2004 (fv. 127-149). New
York, NY: Springer Berlin Heidelberg. doi:10.0.1007/978-3-540-32259-7_7
Kravari, K., & Bassiliades, N. (2015). A Survey of Agent Platforms. Journal of
Artificial Societies and Social Simulation, 18(1). doi:10.18564/jasss.2661
Kyrtsou, C., & Sornette, D. (2012). New Facets of Economic Complexity in Modern
Financial Markets. The European Journal of Finance, 1-7.
doi:10.1080/1351847X.2012.723282
Ladley, D. (2012). Zero Intelligence in economics and finance. The Knowledge
Engineering Review, 27(2), 273-286. doi:10.1017/S0269888912000173
Lane, D. A. (1993). Artificial worlds and economics, part I. Journal of Evolutionary
Economics, 3(2), 89-107. doi:10.1007/BF01213828
Lane, D. A. (1993). Artificial worlds and economics, part II. Journal of Evolutionary
Economics, 3(3), 177-197. doi:10.1007/BF01200867
Langton, C. G. (1995). Artificial Life: An Overview . Cambridge, Massachusetts: MIT
Press.
Law, A. (2014). Basic Simulation Modeling. Në Simulation Modeling and Analysis
(bot. i 5th, fv. 1-151). McGraw-Hill.
Law, A. M. (2015). Simulation Modeling and Analysis (bot. i 5th). New York, NY:
McGraw-Hill.
Laycock, G. (1993). The theory and practice of specification based software testing.
Ph.D. Thesis, Department of Computer Science, University of Sheffield.
LeBaron, B. (2006). Agent-Based Computational Finance. Në L. Tesfatsion, & K. L.
Judd, Handbook of Computational Economics, Vol. 2: Agent-Based
Computational Economics (fv. 1187-1233). Amsterdam: North-
Holland/Elsevier.
Lee, T.-C., & Wong, K. (2016, November). An agent-based model for queue formation
of powered two-wheelers in heterogeneous traffic. Physica A: Statistical
Mechanics and its Applications, 461, 199-216.
doi:10.1016/j.physa.2016.05.005
Leitner, S., & Wall, F. (2014). Preface. Artificial Economics and Self Organization:
Agent-Based Approaches to Economics and Social Systems, Lecture Notes in
175
Economics and Mathematical Systems 669, v-vii. doi:10.1007/978-3-319-
00912-4
Li, H., & Tesfatsion, L. (2009, Summer). Development of Open Source Software for
Power Market Research: The AMES Test Bed. Journal of Energy Markets, 2(2),
111-128.
LiCalzi, M., Milone, L., & Pellizzari, P. (2010). Preface. Progress in Artificial
Economics: Computational and Agent-Based Models, Lecture Notes in
Economics and Mathematical Systems 645, v-vii. doi:10.1007/978-3-642-
13947-5
Liong, C. Y., & Loo, C. S. (2009). A simulation study of warehouse loading and
unloading systems using Arena. Journal of Quality Measurement and Analysis,
5(2), 45-56.
Louçã, F. (2007). The Years of High Econometrics: A short history of the generation
that reinvented economics. New York: Routledge.
Luca, R. (1972). Expectations and the Neutrality of Money. Journal of Economic
Theory, 4, 103-124. doi:10.1016/0022-0531(72)90142-1
Lucas, R. (1987). Methods and problems in business cycle theory. Studies in Business-
Cycle Theory, 271-296.
Lucas, R., & Prescott, E. (1971). Investment Under Uncertainty. Econometrica, 36(5),
659-681.
Luke, S., Cioffi-Revilla, C., Panait, L., Sullivan, K., & Balan, G. (2005). MASON: A
multiagent simulation environment. SIMULATION, 81(7), 517-527.
doi:10.1177/0037549705058073
Lungarella, M., Iida, F., Bongard, J. C., & Pfeifer, R. (2007). AI in the 21st Century -
with Historical Reflections. 50 years of Artificial Intelligence, LNAI 4850, 1-8.
doi:10.1007/978-3-540-77296-5_1
Macal, C. (2012). Agent Based Modeling and Artificial Life. Në R. (. Meyers,
Computational Complexity (fv. 39-57). New York, NY: Springer.
Macal, C. M., & North, M. J. (2013). Introductory Tutorial: Agent-based Modeling and
Simulation. Proceedings of the 2013 Winter Simulation Conference.
Washington, DC.
MacKie-Mason, J. K., & Wellman, M. (2006). Automated Markets and Trading Agents.
Në L. Tesfatsion, & K. L. Judd, Handbook of Computational Economics, Vol.
2: Agent-Based Computational Economics (fv. 1381-1431). Amsterdam: North-
Holland/Elsevier.
Maidstone, R. (2012). Discrete event simulation, system dynamics and agent based
simulation: Discussion and comparison. System, 1-6.
Mallard, G. (2016). Bounded Rationality and Behavioural Economics. New York, NY:
Routledge.
Mannila, H. (1996). Data mining: machine learning, statistics, and databases. Int'l Conf.
Scientific and Statistical Database Management. IEEE Computer Society.
176
Marey, P. S. (2000). Exchange Rate Expectations: Evidence from an Artificial
Economy. Econometric Society World Congress 2000 Contributed Papers
0665.
Marks, R. E. (1992). Breeding hybrid strategies: Optimal behaviour for oligopolists.
Journal of Evolutionary Economics, 2, 17-38.
McCarthy, J. (1958). Programs with Common Sense. Conference on the Mechanization
of Thought Processes, (fv. 1-15). Teddington.
McCarthy, J., Minsky, M., Rochester, N., & Shannon, C. (1955). A proposal for the
Dartmouth summer research project on artificial intelligence. Gjetur në
http://www.formal.stanford.edu/jmc/history/dartmouth/dartmouth.html
McCorduck, P. (2004). Machines Who Think (2nd ed.). Natick, MA: A. K. Peters, Ltd.
McCulloch, W. S., & Pitts, W. (1943). A Logical Calculus of the Ideas Immanent in
Nervous Activity. Bulletin of Mathematical Biophysics, 5, fv. 115-133.
Michel, F., Ferber, J., & Drogoul, A. (2009). Multi-Agent Systems and Simulation: a
Survey From the Agents Community's Perspective. Në D. Weyns, & A.
Uhrmacher, Multi-Agent Systems: Simulation and Applications (fv. 3-51). CRC
Press - Taylor & Francis.
Miller, J. H., & Page, S. E. (2007). Complex Adaptive Systems: An Introduction to
Computational Models of Social Life. Princeton, New Jersey: Princeton
University Press.
Minar, N., Burkhart, R., & Langton, C. (1996). The Swarm simulation system: A toolkit
for building multi-agent simulations. Santa Fe: SFI Working Paper 96-06-042.
Müller, J. P., & Pischel, M. (1993). The Agent Architecture InteRRaP: Concept and
Application. Saarbrücken: German Research Center for Artificial Intelligence.
Nance, R. E. (1993, March). A history of discrete event simulation programming
languages. ACM SIGPLAN Notices, 28(3), 149-175.
doi:10.1145/155360.155368
Neugart, M., & Richiardi, M. (2014). Agent-Based Models of the Labor Market.
Handbook of Computational Economics and Finance.
New model army. (2013, January 19). The Economist. Gjetur në
https://www.economist.com/node/21569752
Newell, A., Shaw, J., & Simon, H. (1959). Report on a general problem-solving
program. Proceedings of the International Conference on Information
Processing, (fv. 256-264). Gjetur në http://bitsavers.informatik.uni-
stuttgart.de/pdf/rand/ipl/P-1584_Report_On_A_General_Problem-
Solving_Program_Feb59.pdf
Nikolai, C., & Madey, G. (2009). Tools of the Trade: A Survey of Various Agent Based
Modeling Platforms. Journal of Artificial Societies and Social Simulation,
12(2), 2. Gjetur në http://jasss.soc.surrey.ac.uk/12/2/2.html
North, M. J., & Macal, C. M. (2007). The Role of ABMS. Në Managing Business
Complexity: Discovering Strategic Solutions with Agent-Based Modeling and
Simulation (fv. 59-96). New York: Oxford University Press.
177
North, M. J., & Macal, C. M. (2007). The Roots of ABMS. Në Managing Business
Complexity: Discovering Strategic Solutions with Agent-Based Modeling and
Simulation (fv. 45-58). Oxford.
North, M. J., Collier, N. T., Ozik, J., Tatara, E. R., Macal, C. M., & Bragen, M. (2013).
Complex adaptive systems modeling with Repast Simphony. Complex Adaptive
Systems Modeling, 1(3). doi:10.1186/2194-3206-1-3
NRC. (1999). Developments in Artificial Intelligence. Në Funding a Revolution:
Government Support for Computing Research. National Academy Press.
Omicini, A., Ricci, A., & Viroli, M. (2008). Artifacts in the A&A meta-model for multi-
agent systems. Autonomous Agents and Multi-Agent Systems, 17(3), 432-456.
doi:10.1007/s10458-008-9053-x
Onggo, B. S., Gunal, M. M., & Maden, W. (2008). The Conceptual model of
Distribution Warehouse Simulation. Proceedings of the 4rd Operation
Research Society Simulation Workshop. SW08, fv. 129-134. Worchestershire,
UK: The Operational Research Society.
Oremland, M., & Laubenbacher, R. (2014). Optimization of Agent-Based Models:
Scaling Methods and Heuristic Algorithms. Journal of Artificial Societies and
Social Simulation, 17(6). doi:10.18564/jasss.2472
Osinga, S., Hofstede, G. J., & Verwaart, T. (2011). Preface. Emergent Results of
Artificial Economics, Lecture Notes in Economics and Mathematical Systems
645, v-vii. doi:10.1007/978-3-642-21108-9
Ozik, J., Collier, N. T., Murphy, J. T., & North, M. J. (2013). The ReLogo agent-based
modeling language. 2013 Winter Simulations Conference (WSC) (fv. 1560-
1568). Washington, DC: IEEE. doi:10.1109/WSC.2013.6721539
Padgham, L., & Winikoff, M. (2003). Prometheus: A Methodology for Developing
Intelligent Agents. Agent-Oriented Software Engineering III, Lecture Notes in
Computer Science, 2585, 174-185. doi:10.1007/3-540-36540-0_14
Palmer, R., Arthur, W. B., Holland, J. H., LeBaron, B., & Taylor, P. (1994). Artificial
economic life: a simple model of a stockmarket. Physica, 75, 264-274.
Pavón, J., & Gómez-Sanz, J. (2003). Agent Oriented Software Engineering with
INGENIAS. Multi-Agent Systems and Applications III - CEEMAS, LNCS, 2691,
394-403. doi:10.1007/3-540-45023-8_38
Poslad, S. (2007). Specifying protocols for multi-agent systems interaction. ACM
Transactions on Autonomous and Adaptive Systems (TAAS), 2(4), 15.
doi:10.1145/1293731.1293735
Raberto, M., Teglio, A., & Cincotti, S. (2011). Debt Deleveraging and Business Cycles.
An Agent-Based Perspective. Economics Discussion Paper No. 2011-31.
doi:10.2139/ssrn.1973855
Radhakrishnan, B. M., Srinivasan, D., Lau, Y. F., Parasumanna, B. G., Rathore, A. K.,
Panda, S. K., & Khambadkone, A. (2015, May). A reinforcement learning
algorithm for Agent-based Computational Economics (ACE) model of
electricity markets. 2015 IEEE Congress on Evolutionary Computation (CEC),
297-303. doi:10.1109/CEC.2015.7256905
178
Radzicki, M. J., & Taylor, R. A. (2008). Origin of System Dynamics: Jay W. Forrester
and the History of System Dynamics. U.S. Department of Energy's Introduction
to System Dynamics. Gjetur October 5, 2016, nga
http://www.systemdynamics.org/DL-IntroSysDyn/start.htm
Railsback, S. F., Lytinen, S. L., & Jackson, S. K. (2006). Agent-based Simulation
Platforms: Review and Development Recommendations. SIMULATION, 82(9),
609-623. doi:10.1177/0037549706073695
Rao, A. S. (1996). AgentSpeak (L): BDI agents speak out in a logical computable
language. European Workshop on Modelling Autonomous Agents in a Multi-
Agent World, 1038, 42-55. doi:10.1007/BFb0031845
Rao, A. S., & Georgeff, M. P. (1992). An Abstract Architecture for Rational Agents.
Proceedings of the Third International Conference (KR '92) (fv. 439-449).
Cambridge, Massachusets: M. Kaufmann.
Ricci, A., Piunti, M., & Viroli, M. (2011). Environment programming in multi-agent
systems: an artifact-based perspective. Autonomous Agents and Multi-Agent
Systems, 23(2), 158-192. doi:10.1007/s10458-010-9140-7
Ricci, A., Piunti, M., Viroli, M., & Omicini, A. (2009). Environment programming in
CArtAgO. Multi-Agent Programming: Languages, Platforms and Applications,
2, 259-288. doi:10.1007/978-0-387-89299-3
Richiardi, M. G. (2012). Agent-based computational economics: a short introduction.
The Knowledge Engineering Review, 27(2), 137-149.
doi:10.1017/S0269888912000100
Riechmann, T. (2001). Learning in Economics: Analysis and Application of Genetic
Algorithms. Physica-Verlag.
Ringler, P., Keles, D., & Fichtner, W. (2016). Agent-Based Modelling and Simulation
of Smart Electricity Grids and Markets - a Literature Review. Renewable and
Sustainable Energy Reviews, 57, 205-215. doi:10.1016/j.rser.2015.12.169
Roth, A. E. (1995). Introduction to experimental economics. Në J. H. Kagel, & A. E.
Roth, Handbook of Experimental Economics (fv. 1-109). Princeton, NJ:
Princeton University.
Rousset, A., Herrmann, B., Lang, C., & Philippe, L. (2016, November). A survey on
parallel and distributed multi-agent systems for high performance computing
simulations. Computer Science Review, 22, 27-46.
doi:10.1016/j.cosrev.2016.08.001
Russell, S., & Novig, P. (2010). Artificial Intelligence A modern approach (Vëll. i 3rd
Edition). Pearson Hall.
Saitta, L., & Zucker, J.-D. (2013). Simplicity, Complex Systems, and Abstraction. Në
Abstraction in Artificial Intelligence and Complex Systems (fv. 329-362). New
York: Springer. doi:10.1007/978-1-4614-7052-6
Schmidhuber, J. (2007). 2006: Celebrating 75 years of AI - History and Outlook: The
next 25 years. 50 years of Artificial Intelligence, LNAI 4850, 29-41.
doi:10.1007/978-3-540-77296-5_4
179
SCHMIDT, B. (2002). Modelling of human behaviour - the pecs reference model.
Proceedings 14th European Simulation Symposium and Exhibition: Simulation
in Industry. Dresden, Germany: SCS Europe BVBA.
Seiffertt, J., & Wunsch, D. C. (2012). Higher Order Neural Network Architectures for
Agent-Based Computational Economics and Finance. Në Machine Learning:
Concepts, Methodologies, Tools and Applications (fv. 219-233). USA:
Information Resources Management Association. doi:10.4018/978-1-60960-
818-7
Seppecher, P. (2012). Jamel, a Java Agent-based MacroEconomic Laboratory. Working
Papers halshs-00697225, HAL. doi:<halshs-00697225>
Seppecher, P., Salle, I., & Lang, D. (2018). Is the Market Really a Good Teacher?:
Market selection, collective adaptation and financial instability. Journal of
Evolutionary Economics, 1-37. doi:10.1007/s00191-018-0571-7
Seth Tisue, Uri Wilensky. (2004). NetLogo: A Simple Environment for Modeling
Complexity. International Conference on Complex Systems. Boston .
Shannon, C. E. (1948). A mathematical theory of communication. Bell System
Technical Journal, XXVII, 379-423.
Siebers, P. O., Macal, C. M., Garnett, J., Buxton, D., & Pidd, M. (2010). Discrete-event
simulation is dead, long live agent-based simulation! Journal of Simulation,
4(3), 204-210. doi:10.1057/jos.2010.14
Siebers, P.-O., & Ongoo, B. S. (2014). Graphical representation of agent-based models
in operational research and management science using UML. Proceedings of
the Operational Research Society Simulation Workshop 2014 (SW14), (fv. 143-
153).
Sinitskaya, E., & Tesfatsion, L. (2015). Macroeconomies as Constructively Rational
Games. Journal of Economic Dynamics and Control, 61, 152-182.
Slagle, J. R. (1963). A heuristic program that solves symbolic integration problems in
freshman calculus. J. ACM, 10(4), 507-520. doi:10.1145/321186.321193
Slanicay, M. (2014). Some Notes on Historical, Theoretical, and Empirical Background
of DSGE Models. Review of Economic Perspectives, 14(2), 145-164.
doi:10.2478/revecp-2014-0008
Smith, A. (1776). An Inquiry into the Nature and Causes of the Wealth of Nations.
London.
Smith, R. D. (1998). Simulation Article. Encyclopedia of Computer Science. Gjetur
October 4, 2016, nga http://www.modelbenders.com/encyclopedia/
Steels, L. (2006). Semiotic dynamics for embodied agents. IEEE INTELLIGENT
SYSTEMS, 21(3), 32-39. doi:10.1109/MIS.2006.58
Steels, L. (2007). Fifty years of AI: From Symbols to Embodiment - and back. 50 years
of Artificial Intelligence, LNAI 4850, 18-28. doi:10.1007/978-3-540-77296-5_3
Steels, L., & Brooks, R. (1994). The 'artificial life' route to 'artificial intelligence'.
Building Situated Embodied Agents. New Haven: Lawrence Erlbaum Ass.
180
Steels, L., & Brooks, R. (1994). The artificial life route to artificial intelligence:
Building Situated Embodied Agents. New Haven: Lawrence Erlbaum Ass.
Steels, L., & McDermott, J. (1993). The Knowledge Level in Expert Systems.
Conversations and Commentary. Boston: Academic Press.
Sturm, A., & Shehory, O. (2014). Agent-Oriented Software Engineering: Revisiting the
State of the Art. Në S. O., & S. A., Agent-Oriented Software Engineering (fv.
13-26). Berlin, Heidelberg: Springer. doi:10.1007/978-3-642-54432-3_2
Taylor, S. J. (2014). Introducing agent-based modeling and simulation. Agent-based
Modeling and Simulation, 1-10. doi:10.1057/9781137453648
Teglio, A., Alfarano, S., Camacho-Cuena, E., & Ginés-Vilar, M. (2012). Preface.
Managing Market Complexity: The Approach of Artificial Economics, Lecture
Notes in Economics and Mathematical Systems 662, v-vi. doi:10.1007/978-3-
642-31301-1
Tesfatsion, L. (2002). Agent-Based Computational Economics. Computational
Economics 0203001, EconWPA. Gjetur October 1, 2016, nga
http://econwpa.repec.org/eps/comp/papers/0203/0203001.pdf
Tesfatsion, L. (2002). Agent-based computational economics: growing economies from
the bottom up. Artificial Life, 8, 55-82.
Tesfatsion, L. (2003). Agent-based computational economics: modeling economies as
complex adaptive systems. Journal of Information Sciences, 149, 263-269.
Tesfatsion, L. (2006). Agent-Based Computational Economics: A Constructive
Approach to Economic Theory. Në L. Tesfatsion, & K. L. Judd, Handbook of
Computational Economics, Vol. 2: Agent-Based Computational Economics (fv.
831-880). Amsterdam: North-Holland/Elsevier.
Theodoropoulos, G., Minson, R., Ewald, R., & Lees, M. (2009). Simulation engines for
multi-agent systems. Në A. M. Uhrmacher, & D. Weyns, Multi-Agent Systems:
Simulation and Applications (fv. 77-108). New York, NJ: Taylor and Francis
Group.
Tinnemeier, N. A., Dastani, M. M., Meyer, J.-J. C., & Torre, L. v. (2009). Programming
Normative Artifacts with Declarative Obligations and Prohibitions. 2009
IEEE/WIC/ACM International Joint Conference on Web Intelligence and
Intelligent Agent Technology, (fv. 145-152). Milan, Italy. doi:10.1109/WI-
IAT.2009.144
Turing, A. M. (1936). On computable numbers, with an application to the
Entscheidungsproblem. Proceedings of the London Mathematical Society,
Series 2 41, fv. 230-267.
Turing, A. M. (1950). Computing machinery and intelligence. Mind, 59(236), fv. 433-
460.
van der Aalst, W. (2016). Process Mining: Data Science in Action (bot. i 2nd).
Springer-Verlag Berlin Heidelberg. doi:10.1007/978-3-662-49851-4
van der Hoog, S. (2016, January). Deep Learning in Agent-Based Models: A
Perspective. Working Papers iin Economics and Management No. 02-2016.
181
Vermeir, A., & Bersini, H. (2015). Best practices in programming agent-based models
in economics and finance. Advances in Artificial Economics, 676, 57-68.
doi:10.1007/978-3-319-09578-3_5
Vigneron, H. (1914). Les Automates. La Nature, 56-61. Gjetur 3 30, 2014, nga
http://cyberneticzoo.com/wp-content/uploads/2011/01/Automates-La-Nature-
Torres-1914.pdf
von Neumann, J., & Morgenstern, O. (1944). The Theory of Games and Economic
Behavior. Princeton University Press.
Vriend, N. J. (1995). Self-organization of markets: An example of a computational
approach. Computational Economics, 8, 203-231.
Wagner, F. (2011). Market clearing by maximum entropy in agent models of stock
markets. Journal of Economic Interaction and Coordination, 6(2), 121-138.
doi:10.1007/s11403-011-0079-9
Weis, G. (1999). Multiagent Systems: a modern approach to distributed artificial
intelligence. Cambridge, Massachusetts: MIT Press.
Wellman, M. P. (1995). The economic approach to artificial intelligence. ACM
Computing Surveys, 360-362. doi:10.1145/212094.212128
Wilensky, U., & Evanston, I. (2011). NetLogo (4.). Evanston, IL: Center for Connected
Learning and Computer-Based Modeling, Northwestern University.
Wooldridge, M. (2009). An introduction to multiagent systems (bot. i 2nd). UK: John
Wiley & Sons.
Wooldridge, M., Jennings, N. R., & Kinny, D. (2000). The Gaia Methodology for
Agent-Oriented Analysis and Design. Autonomous Agents and Multi-Agent
Systems, 3(3), 285-312. doi:10.1023/A:1010071910869
Xhafa, F., Herrero, X., Barolli, A., Barolli, L., & Takizawa, M. (2013, November).
Evaluation of struggle strategy in Genetic Algorithms for ground stations
scheduling problem. Journal of Computer and System Sciences, 79(7), 1086-
1100. doi:10.1016/j.jcss.2013.01.023
Young, H. P. (2006). Social Dynamics: Theory and Applications. Në L. Tesfatsion, &
K. L. Judd, Handbook of Computational Economics, Vol. 2: Agent-Based
Computational Economics (fv. 1081-1108). Amsterdam: North-
Holland/Elsevier.
Zahedi, F. (1987, September). Artificial Intelligence and the Management Science
Practitioner: The economics of Expert Systems and the contribution of MS/OR.
INTERFACES, 17(5), 72-81.
182
APENDIKS / SHTOJCA
Appendix A / Shtojca A
Kodi burim i projekteve të shfaqura në kapitullin gjashtë gjendet në projektin WHJason
në github në linkun: https://github.com/testep/WHJason
Kodi burim i simulimeve të ekonomisë artificiale të ndërtuar me mjetet zhvilluese
RePast dhe JaCaMo të trajtuar në kapitujt shtatë, tetë dhe nëntë gjendet në github në
linkun: https://github.com/ihakrama/AEv1
Të gjitha materialet eksperimentale të punimit, së bashku me dosjet e ekzekutueshme
të projekteve gjenden në CD, si edhe në linkun e mëposhtëm:
http://ihakrama.epoka.edu.al/phd-appendix/