VIŠEAGENTSKI SUSTAV ZA OPTIMIZACIJU PROCESA … · U poglavlju 4 opisuju se vrste i modeli...
Transcript of VIŠEAGENTSKI SUSTAV ZA OPTIMIZACIJU PROCESA … · U poglavlju 4 opisuju se vrste i modeli...
S V E U Č I L I Š T E U S P L I T U
FAKULTET ELEKTROTEHNIKE, STROJARSTVA I BRODOGRADNJE
Ivan Ćurak
VIŠEAGENTSKI SUSTAV ZA OPTIMIZACIJU
PROCESA IZRADE VREMENSKOG RASPOREDA
DOKTORSKA DISERTACIJA
Split, 2012.
S V E U Č I L I Š T E U S P L I T U
FAKULTET ELEKTROTEHNIKE, STROJARSTVA I BRODOGRADNJE
Ivan Ćurak
Višeagentski sustav za optimizaciju procesa izrade
vremenskog rasporeda
DOKTORSKA DISERTACIJA
Split, 2012.
ii
Doktorska disertacija je izrañena na Zavodu za elektroniku, Fakulteta elektrotehnike,
strojarstva i brodogradnje u Splitu.
Mentor: dr.sc. Darko Stipaničev, prof.
Rad br. 70
iii
Povjerenstvo za ocjenu doktorske disertacije:
Dr. sc. Jadranka Marasović, red. prof.– predsjednik
Dr. sc. Darko Stipaničev, red. prof. – mentor
Dr. sc. Maja Štula, izv. prof. – član
Dr. sc. Andrina Granić, red. prof. – Prirodoslovno matematički fakultet u Splitu – član
Dr. sc. Saša Mladenović, doc. – Prirodoslovno matematički fakultet u Splitu – član
Povjerenstvo za obranu doktorske disertacije:
Dr. sc. Jadranka Marasović, red. prof.– predsjednik
Dr. sc. Darko Stipaničev, red. prof. – mentor
Dr. sc. Maja Štula, izv. prof. – član
Dr. sc. Andrina Granić, red. prof. – Prirodoslovno matematički fakultet u Splitu – član
Dr. sc. Saša Mladenović, doc. – Prirodoslovno matematički fakultet u Splitu – član
Disertacija obranjena dana 10. travnja 2012.
iv
VIŠEAGENTSKI SUSTAV ZA OPTIMIZACIJU PROCESA IZRADE VREMENSKOG RASPOREDA
Sažetak: Izrada vremenskog rasporeda je jedan od najpoznatijih optimizacijskih problema, a izrada rasporeda nastave je podvrsta tog problema. Dva su osnovna pristupa rješavanju problema: centralizirani sustavi i distribuirani sustavi. Kod centraliziranog pristupa sve potrebne informacije se koncentriraju na jedno mjesto, a najčešće se za rješavanje problema koriste metaheurističke metode. Razvoj agentske tehnologije i višeagentskih sustava stvorio je pretpostavke za razvoj distribuiranih sustava za izradu rasporeda nastave. U takvim sustavima svaki sudionik u procesu izrade rasporeda je predstavljen jednim agentom, a rješenje se postiže interakcijom izmeñu softverskih entiteta. Pregovaranje je osnovni oblik interakcije u višeagentskim sustavima u kojem grupa agenata s konfliktnim interesima pokušava postići uzajamno prihvatljiv sporazum o podjeli oskudnih resursa. U distribuiranom sustavu za izradu rasporeda nastave agenti sudionici (reprezentativni agenti za nastavnike i studente) pregovaraju o terminima nastavnih sati iz odreñenog predmeta. Svaki termin je jedan atribut procesa pregovaranja, a budući da su termini meñuovisni govorimo o višeatributnom pregovaranju u uvjetima nelinearne funkcije cilja. U radu je predložen novi model višeagentskog sustava za optimizaciju procesa izrade vremenskog rasporeda koji je temeljen na višeatributnom pregovaranju izmeñu agenata sudionika u uvjetima nelinearne funkcije cilja i velikog prostora pretraživanja. Napravljena je eksperimentalna usporedba predloženog protokola s standardnim protokolima za pregovaranje u uvjetima nelinearne funkcije cilja i velikog prostora pretraživanja (hill
climbing i simulated annealing). Ključne riječi: izrada vremenskog rasporeda, izrada rasporeda nastave, agent, višeagentski sustavi, višeatributno pregovaranje
v
MULTI-AGENT SYSTEM FOR TIMETABLING Abstract: Scheduling is one of the most known optimization problems and one of its subgroup is course timetabling. There are two approaches of the problem solving: centralized systems and distributed systems. According to the centralized approach all necessary information are concentrated in the same place and mataheuristic methods are usually used for the problem solving. Development of agent technology and multi-agent systems has created the prerequisites for the development of distributed systems for course timetabling. In that kind of systems every participant in the process of timetabling is represented by one agent and the problem is solved by interaction between software entities. The negotiation is the basic form of the interaction in the multi-agent systems in which group of agents with conflicting interests is trying to achieve mutually acceptable agreement on the sharing of scarce resources. In the distributed system for course timetabling, the participating agents (the agents that represent both teachers and students) negotiate on timeslots for specific course. Each timeslot is one issue of the negotiation process and since the timeslots are interdependent we are talking about multi-issue negotiation in terms of nonlinear goal function. In this work the new multi-agent system for optimization of timetabling process, based on multi-issue negotiation between participating agents in conditions of nonlinear goal function and big search space, is proposed. The experimental comparison between proposed protocol and standard protocols of negotiation in terms of the nonlinear goal function and the large search space (hill climbing and simulated annealing) is made. Keywords: scheduling, timetabling, agent, multi-agent systems, multi-issue negotiation
vii
SADRŽAJ
1. UVOD ........................................................................................................................... 1
2. PROBLEM IZRADE VREMENSKOG RASPOREDA .......................................... 3
2.1 Opći model problema izrade vremenskog rasporeda ........................................ 4
2.2 Problem izrade satnice .......................................................................................... 6
2.2.1 Opći model problema izrade satnice ............................................................... 7
2.2.2 Problem izrade rasporeda nastave u obrazovnim institucijama....................... 7
2.2.3 Problem izrade rasporeda nastave za fakultete ................................................ 8
3. AGENTI I VIŠEAGENTSKI SUSTAVI ................................................................. 27
3.1 Agenti .................................................................................................................... 27
3.1.1 Racionalni agent ............................................................................................ 30
3.1.2 Agentske arhitekture ...................................................................................... 36
3.2 Višeagentski sustavi ............................................................................................. 38
3.2.1 Komunikacija u višeagentskom sustavu ........................................................ 40
3.2.2 Agentski-orijentirani programski jezici i agentski programski okviri........... 41
3.2.3 Primjena agentske tehnologije ....................................................................... 44
4. PREGOVARANJE U VIŠEAGENTSKIM SUSTAVIMA .................................... 46
4.1 Modeli pregovaranja ........................................................................................... 51
4.1.1 Pristup temeljen na teoriji igara ..................................................................... 51
4.1.2 Heuristički pristup ......................................................................................... 54
4.1.3 Pristup temeljen na argumentaciji ................................................................. 56
4.2 Pregovaranje složenih ugovora .......................................................................... 57
4.2.1 Višeatributno pregovaranje............................................................................ 59
4.2.2 Pregovaranje o teško rješivim problemima ................................................... 62
viii
5. MINMASTT – NOVI MODEL VIŠEAGENTSKOG SUSTAVA ZA
OPTIMIZACIJU PROCESA IZRADE VREMENSKOG RASPOREDA ......... 72
5.1 Logički model sustava ......................................................................................... 75
5.2 Distribuirani algoritam ....................................................................................... 78
5.3 Protokol pregovaranja ........................................................................................ 82
5.4 Implementacija sustava ...................................................................................... 93
5.5 Eksperimentalni rezultati MINMASTT višeagentskog sustava za
optimizaciju procesa izrade vremenskog rasporeda ........................................ 98
6. ZAKLJUČAK .......................................................................................................... 111
7. LITERATURA ........................................................................................................ 114
ix
POPIS TABLICA
Tablica 5.1 – Osobine nekoliko najznačajnih modela višeagentskih sustava za izradu
rasporeda nastave korištenjem pregovaranja ....................................................................... 73
Tablica 5.2 – Različite opcije rasporeñivanja nastavnih sati za primjer sa slike 5.9 ........... 87
x
POPIS ILUSTRACIJA
Slika 2.1 - Koncept najopćenitijeg slučaja problema izrade satnice ..................................... 6
Slika 2.2 – Koncept problema izrade rasporeda nastave u obrazovnim institucijama .......... 8
Slika 2.3 – GeNCA protokol pregovaranja ......................................................................... 18
Slika 2.4 – Najjednostavniji primjer pregovaranja po GeNCA protokolu .......................... 19
Slika 2.5 – Primjer GeNCA pregovaranja: postoji konflikt i opoziv ugovora .................... 19
Slika 2.6 - Primjer postojanja konflikta kod GeNCA pregovaranja .................................... 20
Slika 2.7 - Pasivni način rada ............................................................................................. 22
Slika 2.8 – Aktivni način rada ............................................................................................. 23
Slika 2.9 – Dijagram stanja za agenta nastavnika ............................................................... 25
Slika 3.1 – Hijerarhija entiteta prema SMART konceptualnom okviru .............................. 29
Slika 3.2 – Apstraktni prikaz agenta .................................................................................... 31
Slika 3.3 – Struktura višeagentskog sustava ........................................................................ 39
Slika 3.4 – WADE agentska platforma ............................................................................... 44
Slika 4.1 - Prostor potencijalnih dogovora za vrijeme pregovaranja .................................. 48
Slika 4.2 – Standardni pogled na pregovaranje ................................................................... 57
Slika 4.3 - Kompleksno pregovaranje ................................................................................. 58
Slika 4.4 - Primjer funkcije korisnosti kod meñuovisnih atributa[93] ................................ 60
Slika 4.5 - Jednostavni primjer pregovaranja s posrednikom .............................................. 64
Slika 4.6 - Primjer binarnog ograničenja (A) i nelinearne funkcije korisnosti (B)[107]..... 66
Slika 4.7 - Uzorkovanje prostora korisnosti ........................................................................ 67
Slika 4.8 - Podešavanje uzorkovanih točaka (traženje lokalnog optimuma) ....................... 67
Slika 4.9 - Davanje ponuda.................................................................................................. 68
Slika 4.10 - Identifikacija sporazuma .................................................................................. 69
Slika 4.11 - Otkriveno područje prostora korisnosti............................................................ 70
Slika 4.12 - Proces podešavanja praga ................................................................................ 70
Slika 5.1 – Koncept predloženog višeagentskog sustava .................................................... 74
Slika 5.2 – Logički model sustava ....................................................................................... 76
Slika 5.3 – Distribuirani algoritam ...................................................................................... 79
Slika 5.4 – Matrica sinkronizacije ....................................................................................... 80
Slika 5.5 – Pretplaćivanje CourseAgent-a na promjene stanja RoomAgent-a .................... 81
xi
Slika 5.6 – Problem pregovaranja izmeñu nastavnika i studenata ...................................... 84
Slika 5.7 – Novi protokol pregovaranja .............................................................................. 85
Slika 5.8 – Dijagram sekvenci ............................................................................................. 86
Slika 5.9 - Primjer zauzetosti termina u trenutku primanja zahtjeva za ponudu ................. 87
Slika 5.10 - Primjer funkcije korisnosti agenta ................................................................... 89
Slika 5.11 – Konteksti primjene WADE aplikacija ............................................................. 94
Slika 5.12 – JADE/WADE distribuirana arhitektura........................................................... 95
Slika 5.13 – Screenshot Open Course Timetabler aplikacije .............................................. 96
Slika 5.14 – Isječak iz WADE konfiguracijske datoteke .................................................... 97
Slika 5.15 – Upravljačka konzola WADE platforme .......................................................... 97
Slika 5.16 – Primjer sadržaja ACL poruke u WADE platformi .......................................... 98
Slika 5.17 – Rezultati pregovaranja za nekoliko različitih problema .................................. 99
Slika 5.18 – Usporedba rezultata pregovaranja dobivenih primjenom predloženog
protokola pregovaranja s rezultatima dobivenim s hill climbing i simulated annealing
protokolom ........................................................................................................................ 106
Slika 5.19 – Primjena virtualizacije u svrhu testiranja modela sustava............................. 107
Slika 5.20 – Rezultati dobiveni primjenom MINMASTT sustava na nekoliko problema
izrade rasporeda za FESB i usporedba s rezultatima ljudskog agenta .............................. 108
Slika 5.21 – Usporedba rezultata za jednu studentsku grupu (Računarstvo 120) dobivenih
radom ljudskog agenta i pomoću MINMASTT sustava .................................................... 109
1. UVOD Mnogobrojni problemi iz stvarnog života su zadnjih nekoliko desetljeća mapirani u
optimizacijske probleme za čije rješavanje se primjenjuju različite metode optimizacije.
Jedan od takvih problema je i problem izrade vremenskog rasporeda, odnosno problem
izrade rasporeda nastave za obrazovne institucije koji predstavlja podvrstu spomenutog
problema. Pri rješavanju ovog problema potrebno je pridjeliti resurse objektima,
smještenim u vrijeme i prostor, uz zadana ograničenja i na način da se što više zadovolje
željeni ciljevi.
Za rješavanje ovog problema razvijene su mnoge optimizacijske metode, meñu kojima se
posebno zastupljene metaheurističke metode (genetički algoritmi, simulated annealing,
tabu search, ant colony optimization i dr.) koje najprije pronalaze inicijalno rješenje, a
zatim pretražuju prostor rješenja pokušavajući unaprijediti trenutno najbolje rješenje.
Spomenute metode slijede paradigmu centraliziranih sustava, tj. za njihov rad potrebno je
na jedno centralno mjesto prikupiti sve informacije o dogañajima i resursima. Današnja
moderna sveučilišta su složeni, distribuirani sustavi, podložni stalnim promjenama, što čini
centralizirane metode nepraktičnim. Sve češće se zahtjeva da se u promjenjivom okruženju
uzimaju u obzir parametri i preferencije korisnika u realnom vremenu.
Razvojem agentske tehnologije i višeagentskih sustava nastale su u zadnjem desetljeću
pretpostavke za uspješnu primjenu distribuirane paradigme na problem izrade vremenskog
rasporeda. U višeagentskom sustavu za rješavanje problema izrade vremenskog rasporeda
svaki sudionik je predstavljen jednim agentom, a optimalno ili kvazi-optimalno rješenje
problema nastaje kao rezultat interakcije velikog broja softverskih entiteta. Pregovaranje je
najosnovniji i najmoćniji oblik interakcije u višeagentskim sustavima u kojem grupa
agenata s konfliktnim interesima pokušava postići uzajamno prihvatljiv sporazum o podjeli
oskudnih resursa.
Kod problema izrade rasporeda nastave za obrazovne institucije osnovni resursi koji su
predmet pregovaranja su vremenski termini za nastavne sate odreñenog predmeta.
Specifičnost problema očituje se u tome što su termini svih nastavnih sati pojedinog
predmeta meñuovisni te je funkcija korisnosti svih sudionika u pregovaranju (nastavnika i
studenata) nelinearna. Pritom je prostor rješenja jako velik te npr. ako se pregovara o
terminima za 8 sati koji se mogu rasporediti u 60 termina u tjednu, on iznosi 2,56x1010.
Termin svakog nastavnog sata predstavlja jedan atribut procesa pregovaranja te govorimo
o višeatributnom ili višetematskom pregovaranju u uvjetima nelinearne funkcije cilja.
2
U ovom radu predstavljen je novi model sustava s distribuiranim algoritmom za rješavanje
problema izrade rasporeda nastave za obrazovne institucije. Korišteni protokol
pregovaranja se temelji na višeatributnom pregovaranju u uvjetima nelinearne funkcije
cilja i s jako velikim prostorom pretraživanja. Disertacija je organizirana kako slijedi:
U 2. poglavlju definiran je problem izrade vremenskog rasporeda te su opisana dva
temeljna pristupa rješavanju problema izrade rasporeda nastave: centralizirani sustavi i
distribuirani sustavi. Budući da ova disertacija obrañuje rješavanje problema pomoću
višeagentskih sustava, dat je detaljan pregled postojećih radova koji ovom problemu
pristupaju iz perspektive distribuiranih sustava.
U 3. poglavlju sažeto se obrañuje agenti i višeagentski sustavi. Date su definicije agenta i
višeagentskog sustava i opisan problem racionalnog agentskog odlučivanja. Izneseni su
principi komunikacije u višeagentskom sustavu i navedeni najčešće korišteni agentski
programski okviri.
U poglavlju 4 opisuju se vrste i modeli automatskog pregovaranja, s naglaskom na
pregovaranje o složenim i teško rješivim problemima.
U poglavlju 5 dat je novi model višeagentskog sustava za optimizaciju procesa izrade
vremenskog rasporeda. Opisan je distribuirani algoritam koji vodi računa o
sinkronizacijskim pitanjima te je predložen višeatributni protokol za pregovaranje u
uvjetima nelinearne funkcije cilja i velikog prostora pretraživanja. Prikazana je usporedba
rezultata eksperimenata s primjenom predloženog protokola s rezultatima dobivenim
korištenjem hill climbing i simulated annealing protokola. Dati su rezultati primjene
distribuiranog algoritma i predloženog protokola na problem izrade rasporeda nastave za
Fakultet elektrotehnike, strojarstva i brodogradnje u Splitu.
U poglavlju 6 dat je zaključak istraživanja, naglašen znanstveni doprinos disertacije i
iznesene smjernice za daljnji rad na ovom području.
3
2. PROBLEM IZRADE VREMENSKOG RASPOREDA U modernom društvu planiranje vremena i načina upotrebe resursa ima jako značajnu
ulogu jer omogućava povećanje ekonomičnosti poslovnih procesa. Kod složenih problema
jako je teško naći najbolji plan upotrebe resursa u vremenu te se takvi problemi rješavaju
mapiranjem problema u optimizacijski problem u kojem je neke varijable od interesa
potrebno minimizirati (ili maksimizirati), uz prisustvo mnogih zadanih ograničenja.
Postoje tri osnovne vrste optimizacijskih problema povezanih s ovim područjem ljudskog
djelovanja: planiranje, izrada vremenskog rasporeda i izrada satnice[1]. Budući da se ovi
pojmovi često koriste na način da nije jasna granica izmeñu njih, definirajmo najprije što
podrazumijevamo pod pojmovima:
� Planiranje (eng. planning) je pronalaženje slijeda akcija koje će početno stanje
sustava pretvoriti u željeno stanje. Rješenje problema je slijed akcija koje vode od
početnog do željenog stanja, a naziva se plan. Važno je istaknuti da niti struktura
plana niti akcije u planu nisu unaprijed poznate na početku procesa planiranja, nego
je zadatak generirati akcije i spojiti ih u strukturu koja čini plan. Akcije u planu
moraju zadovoljavati pravila koja su data npr. kao preduvjeti i post-uvjeti akcije.
Mada se pojam resursa ne koristi eksplicitno u planiranju, resursi mogu biti
zapisani kao preduvjeti i post-uvjeti neke akcije. Takoñer, u planiranju se koristi
samo relativno vrijeme, tj. navodi se da npr. akcija A prethodi akciji B, bez točnog
specificiranja kada se akcija treba izvesti. Zadnjih godina se u planiranju sve više
uzimaju u obzir vrijeme i resursi pa u tom slučaju govorimo o planiranju pod
ograničenjima vremena i resursa.
� Izrada vremenskog rasporeda (eng. scheduling) je točno pridjeljivanje aktivnosti
resursima (ili obrnuto), kroz odreñeni vremenski period, uzimajući u obzir
prethoñenje, trajanje, kapacitet i zadana ograničenja. Ulazne veličine za ovaj proces
su: skup aktivnosti, popis resursa i specifikacija ograničenja. Izlaz je točno
pridjeljivanje aktivnosti resursima, kroz odreñeno vrijeme. Glavna razlika izmeñu
izrade vremenskog rasporeda i planiranja pod ograničenjima vremena i resursa je u
tome što u procesu izrade vremenskog rasporeda unaprijed imamo skup aktivnosti
dok kod planiranja tek trebamo generirati aktivnosti.
� Izrada satnice (eng. timetabling) je problem vrlo sličan problemu izrade
vremenskog rasporeda. Mnogi autori smatraju ovaj problem specijalnim slučajem
4
problema izrade vremenskog rasporeda, a tako će biti tretiran i u ovom radu. Po
definiciji, izrada satnice je pridjeljivanje resursa objektima, smještenim u vrijeme i
prostor, uz zadana ograničenja i na način da se što više zadovolje željeni ciljevi.
Kod izrade satnice, optimizirana funkcija cilja ističe drugačije kriterije nego što je
to slučaj kod izrade vremenskog rasporeda gdje se obično želi postići optimalna
ekonomičnost u upotrebi resursa. Značajna razlika je i u tome što su jako rijetke
direkne veze meñu aktivnostima jer je većina relacija izražena preko resursa (npr.
dvije aktivnosti ne mogu biti alocirane u isti vremenski period).
2.1 Opći model problema izrade vremenskog rasporeda
Problem izrade vremenskog rasporeda je vezan za povezivanje jednog ili više resursa s
aktivnostima kroz odreñeno vremensko razdoblje i uz zadana ograničenja. Ova vrsta
problema se javlja u mnogim domenama, kao npr. u planiranju proizvodnje, planiranju
radnog osoblja, planiranju transporta i sl. Neki od konkretnih problema iz ovih područja su
npr. izrada rasporeda (plana) proizvodnje u industrijskom pogonu, izrada plana korištenja
uzletno-sletne staze u zračnim lukama, izrada rasporeda rada djelatnika u pogonu ili
sličnom radnom mjestu.
U svim ovim situacijama, zadatak je optimizirati funkciju cilja koja ovisi o domeni
problema. Npr. u proizvodnom pogonu, obično je zadatak optimizirati dužinu trajanja
procesa izrade nekog proizvoda. Proučavanje problema izrade rasporeda proizvodnje
započelo je početkom 20. stoljeća, a od ranih 50-ih godina prošlog stoljeća razvoj teorije i
primjena razvijenih metoda dobili su značajno mjesto u istraživanjima i opisani su u
mnogobrojnoj literaturi (pregled se može vidjeti u [2]). Postoje mnoge instance ovog
problema, a ovdje navodimo definiciju općeg problema izrade vremenskog rasporeda[3]:
Definicija:
Neka je zadan skup od n zadataka T = {T1, . . . , Tn}, skup od m procesora (ili strojeva) P =
{P1, . . . , Pm}, i skup od q resursa R = {R1, . . . ,Rq}. Svaki zadatak Ti ∈ T ima pridjeljenu
integer varijablu koja mjeri njegovo vrijeme izvoñenja, τi, i vrijeme početka izvoñenjaσi
(tj. radimo s diskretnim vremenskim točkama, eng. time-slots). Takoñer, svaki zadatak Ti ∈
T ima pridjeljen i procesor Pj preko binarne varijable pij (pij = 1 samo ako je zadatak Ti
rasporeñen na procesor Pj).
5
Opći problem izrade vremenskog rasporeda se sastoji od pridjeljivanja svakom zadatku Ti
vremena početka izvoñenja σi i procesora Pj. Ovo pridjeljivanje <σ,p> naziva se vremenski
raspored (eng. schedule). Zahtjeva se da vremenski raspored zadovoljava sljedeće uvjete:
(1) Rokovi izvoñenja: Za svaki zadatak Ti postoji rok izvoñenja (eng. deadline) di koji
pokazuje da zadatak mora biti izveden di vremenskih jedinica nakon početka prvog
zadatka. Bez gubitka općenitosti, uzimamo da prvi zadatak počinje u vremenskom periodu
(time-slot) 0. Na ovaj način, apsolutni rok izvoñenja (deadline) može se izraziti kao σi +
τi ≤ di, za sve i = 1, . . . , n.
(2) Kompatibilnost procesora: zadatak se ne može izvesti na bilo kojem procesoru, nego
samo na odreñenoj grupi procesora. Formalno napisano, postoji binarna matrica
kompatibilnosti Cij koja definira da li se zadatak Ti može izvesti na procesoru Pj. Ovaj
uvjet se može izraziti kao: pij = 1 samo ako je Cij = 1.
(3) Meñusobno isključivanje: niti jedan par zadataka (Ti, Ti') ne može biti izveden
istovremeno na istom procesoru Pj . Ovo se izražava na sljedeći način: pij = pi'j ⇒σi + τi
≤ σi' ∨ σi' + τi' ≤ σi.
(4) Količina (kapacitet) resursa: postoji integer matrica Aik koja uzima u obzir količinu
resursa Rk potrebnu za svaki zadatak Ti. Za svaki resurs Rk, u bilo kojem trenutku
maksimalno je raspoloživo bk jedinica. Na taj način, u svakom vremenskom periodu i za
svaki resurs Rk, broj jedinica od Rk alociranih zadatku koji se trenutno izvodi, ne može biti
veći od bk.
(5) Poredak: Postoji relacija prethoñenja (T ,≺) na skupu zadataka tako da Ti ≺ Ti' znači
da je Ti preduvjet za Ti' . Drugim riječima, Ti mora završiti izvoñenje prije nego Ti'
započne svoje izvoñenje. Ovo odgovara stanju σi + τi ≤ σi' .
Pored zadovoljavanja navedenih ograničenja, potrebno je takoñer i optimizirati funkciju
cilja. Prirodan izbor za ovu funkciju je uzimanje u obzir ukupnog vremena izvoñenja
zadataka, mada se mogu koristiti i neki drugi kriteriji (kašnjenje, preranost, sporost i sl.) ili
njihova ponderirana suma koja reflektira relativno značenje kriterija.
6
2.2 Problem izrade satnice
Problem izrade satnice predstavlja značajno područje istraživanja u domeni sustava za
izradu vremenskog rasporeda. Najpoznatiji problemi koji se proučavaju su:
• raspored održavanja nastave i ispita u obrazovnim institucijama
• red letenja u zračnim lukama ili vozni red u željezničkom prometu
• raspored održavanja sportskih natjecanja
• raspored rada medicinskih sestara
Zajedničko kod svih ovih problema je da je vremenski interval unutar kojeg je potrebno
izvesti odreñeni zadatak unaprijed poznat. Koncept najopćenitijeg slučaja problema izrade
satnice prikazan je na slici 2.1. Wren[4] definira problem izrade satnice (eng. timetabling
problem) na sljedeći način:
Definicija:
Izrada satnice je alokacija datih resursa objektima smještenim u vrijeme i prostor, uz
zadana ograničenja, na način da se što je više moguće zadovolji skup poželjnih ciljeva.
Mjesto Vrijeme
Resursi
Dogañaj
Slika 2.1 - Koncept najopćenitijeg slučaja problema izrade satnice
Sličnu definiciju općeg problema izrade satnice dali su Burke, Kingston i de Werra [5]:
Definicija:
Problem izrade satnice je problem s 4 parametra: T, ograničeni skup vremenskih perioda;
R, ograničeni skup resursa; M, ograničeni skup sastanaka (dogañaja); i C, ograničeni
skup ograničenja. Problem se sastoji u pridjeljivanju vremena i resursa sastancima
(dogañajima), tako da se zadovolji što je moguće više ograničenja.
7
2.2.1 Opći model problema izrade satnice
Opća verzija problema izrade satnice se može definirati na sljedeći način[3]:
Definicija:
Neka je zadan skup od n dogañaja E = {e1, . . . , en}, skup od m resursa R = {r1, . . . , rm},
skup od p vremenskih perioda P = {1, . . . , p}, i m×n matrica ρij koja definira zahtjeve
za resursima. Opći problem izrade satnice se sastoji u dodjeljivanju vremenskog perioda
τi svakom dogañaju ei , na način da su zadovoljeni sljedeći uvjeti:
(1) niti jedan resurs nije prisutan na dva ili više dogañaja u isto vrijeme, tj.τi = τi' ⇔ ρ
ij ≠ρi'j (j = 1, . . . ,m);
(2) mora postojati dovoljno resursa za servisiranje svih dogañaja u vremenskim periodima
u koje su rasporeñeni.
Dodjeljivanje τ se naziva satnica ili raspored dogañaja (eng. timetable).
2.2.2 Problem izrade rasporeda nastave u obrazovnim institucijama
Problem izrade rasporeda nastave u obrazovnim institucijama se sastoji u rasporeñivanju
skupa dogañaja (nastavnih sati ili ispita) kojima prisustvuju nastavnici i/ili studenti, u
predefinirane vremenske periode. Rješenje problema mora zadovoljiti različite vrste
ograničenja, izmeñu ostalih, ne može postojati preklapanje dogañaja s zajedničkim
sudionicima ili broj sudionika ne može biti veći od kapaciteta učionice. Pri rješavanju
problema, zadatak je pronaći ono rješenje koje najbolje zadovoljava preferencije
nastavnika, studenata (ili učenika) te obrazovne institucije. Koncept problema izrade
rasporeda nastave u obrazovnim institucijama prikazan je na slici 2.2.
Postoje 3 glavne vrste problema izrade rasporeda nastave u obrazovnim institucijama:
• Izrada rasporeda nastave za osnovne i srednje škole (eng. school timetabling)
• Izrada rasporeda nastave za fakultete (eng. university course timetabling)
• Izrada rasporeda ispita za fakultete (eng. exam timetabling)
Izrada rasporeda nastave za osnovne i srednje škole predstavlja odreñivanje tjednog
rasporeda nastave za razredna odjeljenja i nastavnike. Sličan problem je i izrada rasporeda
nastave za fakultete, ali s jednom velikom razlikom: predmeti (kolegiji) na fakultetu mogu
imati zajedničke studente dok su u školi razredna odjeljenja razdvojeni skupovi učenika.
8
Takoñer, na fakultetima raspoloživost učionica i oprema u njima imaju veliku ulogu dok u
školama to nije toliko izraženo jer najčešće razredna odjeljenja imaju svoju vlastitu
učionicu.
Slika 2.2 – Koncept problema izrade rasporeda nastave u obrazovnim institucijama
Izrada rasporeda ispita na fakultetima zahtjeva rasporeñivanje ispita iz zadanih predmeta u
zadane vremenske periode. Ovaj problem sličan je problemu izrade rasporeda nastave za
fakultete, ali svaki od njih ima svoje specifičnosti. Neke od specifičnosti problema izrade
rasporeda ispita su:
• u jednu učionicu se može rasporediti više od jednog ispita
• postoji samo jedan ispit za svaki predmet (kod rasporeda nastave svaki predmet ima
odreñeni broj sati tjedno)
• nikako ne smije doći do preklapanja ispita jer student mora imati mogućnost
prisustvovanja ispitu
• ograničenja problema su nešto drugačija, npr. maksimalno jedan ispit dnevno za
svakog studenta
Budući da ćemo u ovom radu ekperimentalne rezultate provjeravati na problemu izrade
rasporeda nastave za Fakultet elektrotehnike, strojarstva i brodogradnje u Splitu, u
daljnjem tekstu ćemo pobliže obraditi problem izrade rasporeda nastave za fakultete.
2.2.3 Problem izrade rasporeda nastave za fakultete
Problem izrade rasporeda nastave za fakultete predstavlja jedan od najpoznatijih
optimizacijskih problema. Moguće ga je definirati kao problem pridjeljivanja odreñenog
broja dogañaja u ograničeni broj predefiniranih vremenskih perioda, zadovoljavajući pri
tome ograničenja različite vrste [6]. Pod dogañajem podrazumijevamo održavanje
9
nastavnog sata iz odreñenog predmeta, u kojem sudjeluju nastavnici i studenti, a održava
se u odreñenoj učionici.
Ograničenja koja se javljaju kod problema izrade rasporeda nastave mogu se podijeliti u
dvije kategorije [7]: jaka i slaba. Jako ograničenje je npr. da niti jedan resurs ne može biti
istodobno alociran na više od jednog mjesta. Slabo ograničenje je npr. da odreñeni profesor
preferira održavati nastavu u odreñenoj učionici.
Kao rješenje problema smatra se ono rješenje koje zadovoljava sva jaka ograničenja te što
više slabih ograničenja. Dakle, nije dovoljno samo pronaći izvedivo rješenje, nego je
potrebno pronaći optimalno rješenje.
Na mnogim fakultetima i sveučilištima, veliki broj nastavnih sati koje treba rasporediti kao
i veliki broj ograničenja koje treba uzeti u obzir čini izradu rasporeda nastave izrazito
kompleksnim zadatkom koji treba obaviti nekoliko puta godišnje. Ručno rješavanje ovog
problema obično zahtjeva višednevni rad jedne osobe, ali još je značajnije da ovako
dobiveno rješenje često ne zadovoljava zahtjevane kriterije. Iz ovog razloga su istraživači
mnogo pažnje posvetili razvoju algoritama i aplikacija za automatsko generiranje
rasporeda upotrebom računala.
2.2.3.1 Matematički model problema izrade rasporeda nastave za fakultete
Jednu od prvih i najčešće korištenih matematičkih definicija problema izrade rasporeda
nastave dao je De Werra [8]:
Definicija:
Neka je zadano q predmeta K1, . . . , Kq, i za svaki i, predmet Ki sadrži ki nastavnih sati
koje treba rasporediti. Takoñer, zadano je r nastavnih planova (curricula) S1, . . . , Sr, koji
predstavljaju grupe predmeta s zajedničkim studentima. To znači da svi predmeti u Sl
moraju biti rasporeñeni u različite vremenske periode. Broj vremenskih perioda je p, a lk je
maksimalni broj nastavnih sati koje je moguće rasporediti u vremenski period k (tj. broj
raspoloživih učionica u periodu k). Formulacija problema je sljedeća:
Pronañi yik (i = 1..q; k = 1..p), tako da je zadovoljeno:
i
p
k
ik ky =∑=1
(i=1..q) (2.1)
k
q
i
ik ly <∑=1
(k=1..p) (2.2)
10
1≤∑∈ lSi
iky (l=1..r; k=1..p) (2.3)
yik = 0 ili 1 (i=1..q;k=1..p) (2.4)
gdje je yik = 1 ako je nastavni sat iz predmeta Ki rasporeñen u period k, i yik = 0 u
obrnutom slučaju.
Ograničenja u jednadžbi 2.1 definiraju da svaki predmet sadrži točan broj nastavnih sati.
Ograničenja u jednadžbi 2.2 osiguravaju da u bilo kojem vremenskom periodu ne može biti
više rasporeñenih lekcija nego što ima učionica. Ograničenje 2.3 onemogućava da se
nastavni sati (lekcije) koji imaju zajedničke studente rasporede u isti period vremena.
Ekvivalentna formulacija se može dobiti upotrebom matrice konflikata umjesto nastavnog
plana (curricula). Matrica konflikata Cqxq je binarna matrica koja ima elemente cij = 1 ako
predmeti Ki i Kj imaju zajedničke studente, a cij = 0 ako nemaju.
De Werra za dobivanje najboljeg rješenja koristi sljedeći izraz:
max ik
q
i
ik
p
k
yd∑∑= =1 1
(2.5)
gdje je s dik definirana poželjnost da nastavni sat iz predmeta Ki bude rasporeñen u
vremenski period k.
Tripathy [9] koristi matricu konflikata Cqxq čiji elementi su integer vrijednosti, tako da cij
predstavlja broj studenata koji pohañaju oba predmeta, Ki i Kj. Na ovaj način, cij
predstavlja takoñer i mjeru nezadovoljstva u slučaju da su nastavni sati iz predmeta Ki i Kj
rasporeñeni u isto vrijeme. Tripathy pokušava minimizirati globalno nezadovoljstvo
dobiveno kao suma svih pojedinačnih nezadovoljstava povezanih s pojedinim predmetima.
Nakon toga, mnogi autori su počeli s razdvajanjem ograničenja na jaka i slaba. Jaka
ograničenja moraju biti zadovoljena te tako definiraju prostor pretraživanja, dok su slaba
ograničenja uključena u funkciju cilja koju je potrebno optimizirati. Obično nije moguće
zadovoljiti sva slaba ograničenja. Primjeri jakih ograničenja su:
• niti jedan resurs ne može u bilo kojem vremenskom periodu biti rasporeñen na
više od jednog mjesta
• kapacitet učionice mora biti veći ili jednak ukupnom broju studenata koji su
upisani na predmet koji se rasporeñuje u učionicu
Primjeri slabih ograničenja su:
• nastavnici žele održavati nastavu u odreñenoj učionici
11
• nastavnici žele imati nastavu samo odreñeni broj dana u tjednu
• studenti i nastavnici žele imati raspored bez praznina (tzv. rupa) u rasporedu
• studenti i nastavnici ne žele imati broj sati nastave u kontinuitetu veći od
odreñene vrijednosti
Skup primjenjenih slabih ograničenja se najčešće razlikuje od fakulteta do fakulteta jer
svaka institucija ima neke specifičnosti koje treba uzeti u obzir.
2.2.3.2 Načini rješavanja problema izrade rasporeda nastave za fakultete -
centralizirani sustavi
Već 50-tak godina problem izrade rasporeda nastave privlači istraživače iz različitih
znanstvenih područja, posebno iz znanstvenih disciplina 'Operacijska istraživanja' i
'Umjetna inteligencija'. Do danas je istraženo i testirano mnogo različitih pristupa
rješavanju ovog problema. Primjenjene metode se mogu podijeliti u 4 osnovne
grupe[10][11]:
1. Sekvencijalne metode. Općenito se kod ovih metoda dogañaji naprije poredaju,
koristeći heuristiku iz domene problema, a zatim se rasporeñuju u vremenske
periode pazeći da ne postoje konflikti meñu njima. Problem izrade rasporeda
nastave se obično predstavlja kao graf na kojem su dogañaji (nastavni sati)
predstavljeni s čvorovima, dok su meñusobni konflikti predstavljeni vezama meñu
čvorovima. Na ovaj način je izrada rasporeda predstavljena kao problem bojanja
grafa. Svakom vremenskom periodu u rasporedu odgovara jedna boja, a zadatak je
obojati čvorove grafa tako da ne postoje susjedni čvorovi s istom bojom. Ova
tehnika spada u tradicionalni način pristupa problemu i koristila se je uglavnom u
samim počecima istraživanja problema izrade rasporeda nastave (kao i integer
programiranje).
2. Klaster metode. Kod ovih metoda se skup dogañaja najprije podijeli u grupe (tako
da su zadovoljena jaka ograničenja), a zatim se grupe pridjeljuju vremenskim
periodima na način da se zadovolji što više slabih ograničenja. Za rasporeñivanje
grupa dogañaja u vremenske periode koriste se različite optimizacijske metode.
Glavni problem kod ovakvog pristupa je u tome što se klasteri dogañaja formiraju i
fiksiraju na početku algoritma, što može rezultirati slabom kvalitetom dobivenog
rješenja.
12
3. Metode temeljene na ograničenjima (eng. constraint based methods).
Korištenjem ovog pristupa, problem izrade rasporeda nastave se modelira kao skup
varijabli (tj. dogañaja) kojima treba pridjeliti vrijednosti (tj. resurse – učionice i
vremenske periode), na način da se zadovolje zadana ograničenja. Obično su
zadana brojna pravila za pridjeljivanje resursa dogañajima. U slučaju da se niti
jedno pravilo ne može primjeniti na trenutno parcijalno rješenje, provodi se tzv.
backtracking, sve dok se ne pronañe rješenje koje zadovoljava sva ograničenja.
4. Meta-heurističke metode (eng. meta-heuristic methods). Zadnjih 30-tak godina
se za rješavanje problema izrade rasporeda nastave istražuju različite meta-
heurističke metode: simulated annealing, tabu search, genetički algoritmi, ant
colony optimization i hibridne metode. Zajedničko je kod ovih metoda da se
najprije pronañe inicijalno rješenje, a zatim se primjenjuje postupak pretraživanja
prostora rješenja (specifičan za svaku metodu), pokušavajući izbjeći lokalni
optimum. Ove metode su sposobne dati jako kvalitetno rješenje, ali često uz dugo
vrijeme računanja.
U literaturi iz ovog područja postoji veliki broj preglednih radova [6][7][10][11][12] u
kojima se može vidjeti povijesni razvoj ovih metoda kao i usporedbe njihovih
rezultata[13][14][15].
Problem izrade rasporeda nastave se najčešće u smislu zahtjeva i ograničenja znatno
razlikuje od institucije do institucije. To je glavni razlog što se većina do danas
implementiranih sustava za rješavanje ovog problema najčešće koristi samo na instituciji
na kojoj je sustav dizajniran. Takva rješenja se mogu koristiti samo za rješavanje vrlo
specifičnog problema. Vrlo malo istraživanja je provedeno na razvoju sustava koji će biti
fleksibilniju u odnosu na ulazne podatke, odnosno koji će moći inteligentno izabrati
najbolju metodu rješavanja za svaki pojedini problem.
Zadnjih godina prevladava mišljenje da se umjesto razvoja specifičnih algoritama za
specifične probleme trebaju istraživati metode koje će automatski i inteligentno izabrati
najbolji algoritam za tretirani problem. Na takav način dobio bi se općenitiji sustav koji bi
bio i jeftiniji za krajnje korisnike. Nije za očekivati da bi takav općeniti sustav mogao
davati bolje rješenje od specifičnog sustava za specifični problem, ali bilo bi prihvatljivo
da takav sustav daje približno dobro rješenje jer korisnici ionako obično žele dobiti
prihvatljivo rješenje u prihvatljivom vremenskom roku (“good enough – soon enough“).
13
Dakle, intencija je razvoj sustava koji će raditi na višoj razini općenitosti. U tom cilju,
posebno su interesantna dva pravca istraživanja:
� Hiper-heuristične metode (eng. hyper-heuristic methods). Pojam hiper-heuristika
se može najlakše razumjeti kao heuristika za izbor heuristike. Ideja je da se
dizajnira algoritam koji će u odreñenoj situaciji izabrati najbolji algoritam za
izvoñenje odreñenog zadataka.
� Izbor najprikladnije heuristike zaključivanjem na temelju specifičnog slučaja
(eng. case based reasoning approach to heuristic selection). Ovim pristupom želi se
primjeniti case based reasoning na izbor prikladne heuristike za specifični
problem. U tu svrhu potrebno je najprije napraviti bazu slučajeva u koju su
pohranjene informacije o svakom slučaju (konfiguracija problema i algoritam za
njegovo rješavanje). Kod rješavanja novog problema konzultira se baza slučajeva
(temeljena na prethodnom iskustvu) i odabire najprikladniji algoritam za rješavanje.
Najveći problem kod ovog pristupa je definiranje i prepoznavanje sličnosti izmeñu
slučajeva.
Sve metode spomenute u ovom poglavlju slijede paradigmu centraliziranih sustava, tj. za
njihov rad potrebno je prikupiti na jedno centralno mjesto sve informacije o dogañajima i
resursima i nakon toga pokrenuti algoritam koji traži optimalno rješenje problema. Ovakav
pristup ne dozvoljava udaljenim korisnicima da sudjeluju u procesu izrade rasporeda.
U složenim, distribuiranim sustavima, podložnim stalnoj promjeni, kakva su današnja
moderna sveučilišta, ovaj nedostatak čini centralizirane metode za rješavanje problema
izrade rasporeda nastave nepraktičnim. Stoga se zahtjeva primjena novih principa, tako da
se u realnom vremenu uzimaju u obzir preferencije korisnika u kompleksnom i
promjenjivom okruženju. Razvoj agentske tehnologije i višeagentskih sustava stvorio je u
zadnjem desetljeću osnovu za uspješnu primjenu distribuirane paradigme na ovaj problem,
tako da se optimalno ili kvazi-optimalno rješenje problema izrade rasporeda nastave dobije
kao rezultat interakcije velikog broja autonomnih softverskih entiteta.
Pregled postojećih istraživanja primjene višeagentskih sustava za rješavanje distribuiranog
problema izrade rasporeda nastave za fakultete dat je u sljedećem potpoglavlju.
14
2.2.3.3 Načini rješavanja problema izrade rasporeda nastave za fakultete -
distribuirani sustavi
U zadnjih desetak godina znanstvenici su prepoznali mogućnost primjene agentske
tehnologije na rješavanje problema izrade rasporeda nastave. U prvo vrijeme agentska
tehnologija i višeagentski sustavi su se koristili kao arhitektura za rješavanje distribuiranog
problema izrade rasporeda nastave za sveučilište koje se sastoji od više fakulteta. Budući
da svaki fakultet posjeduje vlastite resurse, ima posebne zahtjeve, preferencije i strategije,
svaki fakultet treba zbog toga riješiti poseban problem, koristeći pritom način rješavanja
koji najviše odgovara vlastitim potrebama. Ipak, iako odreñeni predmet pripada jednom
fakultetu, čest je slučaj da značajan broj predmeta s jednog fakulteta pohañaju i studenti s
nekog drugog fakulteta. Ako predmet pohañaju studenti s više od jednog fakulteta onda
nastava iz tog predmeta treba biti rasporeñena u isti termin i učionicu, u rasporedima svih
fakulteta koji dijele dotični predmet.
Kaplansky i Meisels [16] su predložili rješenje ovog problema korištenjem višeagentskog
sustava. Predloženi model se temelji na precizno definiranom, više-etapnom procesu
pregovaranja koji uvijek završava sa sporazumom (bez garancije da je dobiveno optimalno
rješenje). Zbog toga su finalni rasporedi svih fakulteta konzistentni s obzirom na meñu-
fakultetska ograničenja.
Slično rješenje ponudila je i Oprea [17]. Ovo rješenje je prilagoñeno za primjenu na
rumunjskim sveučilištima gdje se proces izrade rasporeda nastave za cijelo sveučilište
odvija u dvije faze: prvo se na svakom pojedinom fakultetu napravi raspored kolegija po
vremenskim terminima (dan i sat), a nakon toga se na razini sveučilišta pravi raspored po
učionicama. Predloženo rješenje uključuje višeagentski sustav u kojem postoji nekoliko
vrsta agenata, a najznačajniji su agenti za izradu rasporeda za fakultete (po jedan za svaki
fakultet), glavni agent za rasporeñivanje predmeta po učionicama te agenti koji
predstavljaju nastavnike. Reprezentativni agenti za nastavnike sadrže podatke o poželjnim
terminima za predmete koje nastavnik predaje, u obliku liste termina poredanih prema
stupnju poželjnosti. Takoñer, ovi agenti sadrže i podatke o terminima u kojima nastavnik
ne može držati nastavu (iz bilo kojeg razloga). Svi eventualni konflikti koji nastaju u
procesu izrade rasporeda se rješavaju pregovaranjem, pri čemu je poželjnost termina za
nastavnika glavni kriterij na osnovu kojeg se donose odluke. Detaljan opis protokola
pregovaranja nije naveden u radu.
15
Specifična verzija problema izrade rasporeda nastave za sveučilišta postoji u slučaju kad
svaki fakultet na svoj vlastiti način rješava problem izrade svog lokalnog rasporeda
nastave, ali dodatno ima i potrebu i/ili želju da dio svojih učionica ustupi na korištenje i
drugim fakultetima. Ostali fakultetu mogu u tom slučaju poboljšati kvalitetu (funkciju
cilja) svog rasporeda nastave. Za ovaj problem rješenje su predložili Di Gaspero et al.
[18], a temelji se na elektroničkom tržištu nazvanom RSMP (RoomSlotMarketPlace) za
razmjenu roomslot-ova izmeñu fakulteta. Jedinica dobra kojim se trguje je par
učionica/termin (eng. room/timeslot) i nazvana je roomslot. Svaki fakultet u ovom modelu
sustava je predstavljen s agentima za izradu lokalnog rasporeda, za upravljanje podacima i
za pregovaranje. Kao dio rješenja, za pregovarački agent su definirani protokoli za ponude,
sinkronizaciju i mehanizmi trgovanja.
Nakon početnog razdoblja primjene višeagentskih sustava uglavnom samo za pregovaranje
prilikom rješavanja problema izrade rasporeda nastave za sveučilišta (radi izbjegavanja
preklapanja resursa meñu fakultetima istog sveučilišta) s vremenom se razvila ideja za
izradom takvog modela sustava u kojem će svaki nastavnik, student (ili grupa studenata) i
učionica biti predstavljeni s jednim agentom. Cilj je da agenti, koristeći vlastito znanje i
zaključivanje, meñusobno razmjenjuju informacije sve dok se ne pronañe rješenje
problema. Na taj način dobila bi se nova vrsta heuristike koji bi se mogla primjeniti za
rješavanje vrlo različitih oblika problema izrade rasporeda.
Općenito se kod višeagentskih sustava funkcija sustava definira preko mnogo autonomnih
elemenata koji čine sustav. Kako sustavi postaju sve kompleksniji, postavlja se pitanje na
koji način kontrolirati djelovanje agenata, a time i performanse sustava. U višeagentskim
sustavima kontrola može biti centralizirana te djelomično ili potpuno decentralizirana.
Obje vrste kontrole sustava imaju svoje prednosti i nedostatke tako da izbor vrste kontrole
ovisi o specifičnostima rješavanog problema.
Jedini poznati pokušaj primjene samoorganizirajućih višeagentskih sustava na rješavanje
problema izrade rasporeda nastave je ETTO (Emergent Timetabling Organisation) [19].
ETTO kao mehanizam samoorganiziranja koristi kooperativno ponašanje temeljeno na
AMAS teoriji (Adaptive Multi-Agent Systems) [20]. U sustavima temeljenima na AMAS
teoriji, željeno kolektivno ponašanje (poznato kao globalna funkcija) proizlazi i dogaña se
kao rezultat kooperacije. Drugim riječima, niti jedan agent nema globalni pogled na status i
svrhu sustava niti ima centralnu kontrolu, ali lokalnim kooperativnim meñudjelovanjem
agenata postiže se globalni cilj.
16
ETTO sustav se sastoji od dvije vrste agenata: reprezentativni agenti (Representative
Agents – RA) i agenti za rezerviranje (Booking Agents – BA). Agenti RA služe kao veza
izmeñu stvarnih učesnika u procesu izrade rasporeda (nastavnici i studentske grupe) i
sustava za izradu rasporeda. Svaki agent RA stvara onoliko svojih agenata za rezerviranje
(BA) koliko ima školskih sati za držanje nastave (nastavnik) ili za prisustvovanje nastavi
(studentska grupa).
Prostor rješenja je predstavljen trodimenzionalnom virtualnom mrežom sastavljenom od
ćelija. Svaka ćelija predstavlja jedan vremenski termin za odreñenu učionicu. Agenti BA se
u startu slučajno pozicioniraju u virtualnoj mreži, a nakon toga kreću u pretraživanje. Svaki
BA mora pronaći svog partnera (nastavnik mora pronaći studentsku grupu i obrnuto) i
ćeliju koja predstavlja učionicu dovoljnog kapaciteta. U tom slučaju agent se nalazi u
kooperativnoj situaciji. Provoñenjem lokalnih funkcija svakog agenta BA postiže se da svi
agenti doñu u kooperativno stanje, odnosno pronalazi se rješenje cijelog sustava. Glavno
svojstvo ETTO-a je da samoorganiziranje omogućava sustavu da se prilagodi
perturbacijama i promjenama u okolišu. Ako se za neki RA agent promjene ograničenja,
on provjerava konzistentnost svoje pozicije i ako ustanovi da je nekonzistentna (tj.
nekooperativna), onda njegov BA pretražuje virtualnu mrežu i primjenom standardnih
pravila traži novu (kooperativnu) poziciju.
Višeagentski sustav za izradu rasporeda nastave dizajniran prema ETTO modelu je
sposoban uvijek pronaći rješenje problema, ako postoji barem jedno rješenje. Meñutim,
zbog ograničenja u dizajnu, ovakav sustav nam kao rezultat ne može dati globalno
optimalno rješenje s obzirom na realne zahtjeve iz stvarnog života. Naime, sveukupno
optimalno ponašanje realnog sustava iz prakse ipak ne može proisteći iz meñudjelovanja
pojedinačnih agenata koji raspolažu samo s prethodno spomenutim informacijama.
Sljedeća rješenja koja ćemo opisati predstavljaju sustavi s nekim oblikom centralne
kontrole i koji kao način pronalaska rješenja koriste proces pregovaranja. Spomenuta
rješenja ćemo predstaviti detaljnije jer se ova disertacija naslanja upravo na sustave koji su
tako modelirani da se rješenje problema traži pregovaranjem izmeñu softverskih agenata
koji predstavljaju učesnike u procesu. U literaturi se može pronaći nekoliko radova koji
predlažu modele sustava s različitim načinima pregovaranja.
Verrons i Mathieu [21] su predstavili višeagentski sustav u kojem su nastavnici,
studentske grupe i učionice predstavljeni odgovarajućim agentima, a rješenje problema se
postiže pregovaranjem. Resursi koji su predmet pregovaranja su vremenski termini (eng.
17
timeslots). Za implementaciju sustava korišten je prethodno razvijeni API (Application
Programming Interface) za generičko pregovaranje, pod nazivom GeNCA [22]. Svi
učesnici imaju definirana ograničenja koja je potrebno što bolje zadovoljiti. Nastavnici
imaju ograničenja vezana za termine u kojima mogu držati nastavu i za potrebu za
dodatnom opremom u učionici (npr. projektor). Studentska grupa ima definiran odreñeni
broj predmeta, svaki s odreñenim brojem nastavnih sati koje treba rasporediti. Učionica
može imati posebnu opremu (npr. projektor). Vezano za ograničenja, svi učesnici imaju
definirane dvije liste prioriteta: u odnosu prema ostalim učesnicima i u odnosu prema
resursima (vremenskim terminima).
Važno svojstvo GeNCA je mogućnost istovremenog pregovaranja za više ugovora, kao i
mogućnost poništenja prethodno zaključenog ugovora i njegovo ponovno automatsko
pregovaranje. Kao što je prethodno spomenuto, u GeNCA agenti definiraju dvije liste
prioriteta: jednu za resurse i drugu za osobe. Ove dvije liste služe za usporedbu i
klasifikaciju predloženih ugovora s obzirom na činjenicu tko je inicijator i koji resursi su
uključeni. Takoñer pomoću ovih lista agenti sudionici daju svoje prijedloge u slučaju
zahtjeva za modifikacijom ugovora.
Korišteni protokol za pregovaranje je proširenje Contract-Net protokola [23], a prikazan je
na slici 2.3. Protokol pregovaranja sadrži sljedeće korake:
1. Pregovaranje uvijek započinje tako da agent inicijator stvara ugovor i šalje ga svim
sudionicima (propose contract).
2. Kad agent sudionik primi prijedlog ugovora, analizira ga i odlučuje hoće li ga
prihvatiti ili odbiti (accept ili reject).
3. Inicijator agent prikuplja odgovore agenata sudionika i nakon što svi odgovori
stignu ili nakon što istekne vrijeme kašnjenja, donosi odluku.
U tom trenutku moguća su tri scenarija:
1. Inicijator potvrñuje ugovor svim sudionicima (poruka confirm). U toj situaciji je
moguće da kod pojedinog sudionika treba poništiti (poruka retract) ugovor koji ima
niži prioritet.
2. Inicijator poništava ugovor (poruka cancel).
3. Inicijator traži od sudionika da mu pošalju prijedlog promjena ugovora
(modification request). Kad svi prijedlozi stignu (propose modification), inicijator
provodi sintezu prijedloga i predlaže novi ugovor ili odustaje od prethodnog.
18
Broj mogućih rundi zahtjeva za promjenom ugovora je parametar pregovaračkog
protokola. Kad inicijator primi poruku za poništenje ugovora (retraction), on može
poništiti ugovor za sve sudionike ili poslati zahtjev za modifikacijom ugovora svim
korisnicima.
Slika 2.3 – GeNCA protokol pregovaranja
Ovaj protokol ćemo objasniti na nekoliko jednostavnih primjera. U najjednostavnijoj
situaciji imamo pregovaranje izmeñu dvije osobe, Marka i Petra (Slika 2.4). Marko je
inicijator agent, a Petar je sudionik. Marko stvara ugovor i šalje Petru poruku propose
contract. Petar prima poruku, analizira je i šalje Marku poruku da prihvaća ugovor
(accept). Marko tada prima poruke (odgovore) od svih sudionika (budući da je Petar jedini
sudionik) i odlučuje potvrditi ugovor, tako da šalje Petru potvrdnu poruku (confirm).
U složenijoj situaciji imamo prgovaranje izmeñu tri osobe: Marka, Petra i Luke (Slika 2.5).
Uzmimo da za Marka Luka ima veći prioritet od Petra. Na početku Petar predlaže ugovor
Marku, koji ga prihvaća. Zatim Luka predlaže ugovor Marku, za isti resurs. U Markovoj
internoj logici Luka ima veći prioritet od Petra tako da Marko šalje Luki poruku o
prihvaćanju ugovora (accept). Luka zatim potvrñuje ugovor Marku (confirm). Marko zatim
provodi opoziv ugovora koji ima s Petrom (retract). Petar prima poruku od Marka i
odlučuje mu poslati zahtjev za modifikacijom ugovora (modification request).
19
Slika 2.4 – Najjednostavniji primjer pregovaranja po GeNCA protokolu
U idućem primjeru u Markovoj logici Petar ima veći prioritet od Luke (Slika 2.6). Petar
najprije predlaže ugovor Marku koji ga prihvaća. Petar tada potvrñuje ugovor. Luka zatim
predlaže Marku ugovor za isti resurs. Budući da za Marka Luka ima manji prioritet od
Petra, Marko odbija ovaj ugovor predložen od Luke. Luka tada odlučuje zatražiti od Marka
promjenu ovog ugovora (modification request). Marko mu zatim šalje prijedlog promjena
(propose modification). Luka analizira ovaj prijedlog od Marka i šalje mu zatim prijedlog
novog ugovora (propose contract).
Slika 2.5 – Primjer GeNCA pregovaranja: postoji konflikt i opoziv ugovora
20
GeNCA protokol omogućava inicijatoru da predlaže ugovor većem broju sudionika.
Budući da svaki agent može istovremeno sudjelovati u većem broju pregovaranja,
sveukupno imamo na taj način pregovaranje tipa 'više-na-više' (eng. many-to-many). U
bilo kojem trenutku, bilo koji resurs (vremenski period) može biti uključen samo u jedan
proces pregovaranja. Zbog toga je implementiran algoritam koji vodi računa o
sinkronizaciji s obzirom na uključene resurse. Za implementaciju istovremenog
višestrukog pregovaranja agenata korišteni su tzv. mikro-agenti, tako da za svaki proces
pregovaranja matični agent stvara jedan mikro-agent koji onda vodi proces pregovaranja,
neovisno o tome da li je matični agent trenutno uključen u jedan ili više procesa
pregovaranja.
(1) propose contra
ct
(2) accept
(3) confirm
Slika 2.6 - Primjer postojanja konflikta kod GeNCA pregovaranja
U opisanom radu koji primjenjuje GeNCA protokol na rješavanje problema izrade
rasporeda nastave, kao agenti koji iniciraju pregovarački proces definirani su agenti koji
predstavljaju nastavnike, a agenti sudionici su agenti za studentske grupe i učionice. Ovo
rješenje predstavlja vrlo fleksibilan sustav koji je sposoban reagirati na dinamičke
promjene sustava u stvarnom vremenu (promjena ograničenja agenta, dodavanje novog
agenta, brisanje postojećeg agenta) ponovnim pregovaranjem samo zainteresiranih agenata,
bez potrebe za perturbacijom cijelog sustava.
21
Kyaw i Thein [24] su izradili višeagentski sustav za izradu rasporeda nastave, a koji je
posebno prilagoñen zahtjevima njihove obrazovne institucije. Proces izrade rasporeda
odvija se u tri faze. U prvoj fazi se naprije pridjeljuju predmeti nastavnicima, zatim se
provodi alokacija inicijalnog rasporeda, a u trećoj fazi se provodi pregovaranje.
Pregovaranje se koristi za rješavanje konflikata nastalih uslijed različitih preferencija
nastavnika vezanih za vremenske termine. U tu svhu definirana su i pravila za postupanje
kod pregovaranja, a koja su uglavnom temeljena na činjenici da su predmeti i nastavnici
rangirani prema važnosti pa u slučaju konflikta nastavnici s većim rangom (ili iz nekog
drugog organizacijskog razloga, npr. gostujući profesori) imaju prednost pri zauzimanju
preferiranog termina.
Yang et al. [25] predložili su višeagentski sustav u kojem svaki agent predstavlja jedno
ograničenje koje je definirano u problemu izrade rasporeda nastave. Naime, svaki problem
izrade rasporeda nastave ima nekoliko zajedničkih 'jakih' ograničenja: student može u
odreñenom trenutku prisustvovati samo jednom predmetu; u bilo kojem trenutku, samo
jedan predmet može biti rasporeñen u odreñenu učionicu; učionica u koju je odreñeni
predmet rasporeñen mora biti dovoljno velika da primi sve upisane studente. Predloženi
model uključuje sljedeće agente:
� CHC agent koji predstavlja prethodno navedena zajednička jaka ograničenja
(Common Hard Constraints).
� HC agenti (Hard Constraints) koji predstavljaju dodatna jaka ograničenja (npr. niti
jedan predmet nije rasporeñen u periodu dnevnog odmora).
� SC agenti koji predstavljaju slaba ograničenja (Soft Constraints), kao npr. student
ne može imati više od 5 sati nastave u kontinuitetu.
Postoji samo jedan CHC agent u sustavu, a broj HC i SC agenata ovisi o specifičnom
problemu koji se rješava. Dizajn sustava uključuje tri različita načina rada: pasivni, aktivni
i paralelno-aktivni, a za svaki od njih su definirani načini na koji se razmjenjuju
informacije i traži rješenje problema. U pasivnom načinu rada (Slika 2.7), CHC agent
najprije stvara osnovnu verziju rasporeda, pazeći samo na zadovoljavanje jakih
ograničenja. Nakon toga šalje kopiju ovih rasporeda svim ostalim agentima. Ostali agenti
procjenjuju (penaliziraju) ovaj raspored s obzirom na vlastita ograničenja, tj. svaki agent
penalizira ovu verziju rasporeda proporcionalno broju narušavanja slabog ograničenja koje
agent predstavlja. Procjene svih agenata se šalju CHC agentu koji provodi analizu ukupnih
22
rezultata. Na osnovu toga, CHC agent radi malu preinaku u rasporedu, uz ograničenje da
preinake ne narušavaju niti jedno jako ograničenje.
Mala promjena rasporeda se realizira pomicanjem jednog predmeta na drugu slobodnu
poziciju u rasporedu ili zamjenom mjesta izmeñu dva ili tri predmeta. Nakon toga se ovaj
prijedlog opet šalje svim agentima na procjenu. Oni procjenjuju prijedlog i vraćaju svoje
utiske CHC agentu. CHC agent na osnovu toga zaključuje da li ovaj prijedlog predstavlja
unaprijeñeno rješenje ili ne. Ako se prijedlog rasporeda prihvaća, CHC agent ga onda
usvaja kao trenutno najbolje rješenje i informira ostale agente kako bi i oni napravili isto.
Na taj način je postignuto da u bilo kojem trenutku svi agenti garantirano rade s istom
verzijom rasporeda.
Slika 2.7 - Pasivni način rada
Ako je prijedlog rasporeda odbijen, CHC agent ga potpuno odbacuje. Nakon toga CHC
agent kontinuirano pokušava unaprijediti najbolju verziju rasporeda slanjem novih
prijedloga na evaluaciju. To se ponavlja sve dok se ne pronañe rješenje koje ne narušava
niti jedno ograničenje. S druge strane, ako se broj povreda slabih ograničenja u cijelom
sustavu nikako ne uspijeva smanjiti, sustav prelazi u aktivni način rada (Slika 2.8).
U aktivnom načinu rada svi agenti komuniciraju meñusobno, korištenjem tokena koji kruži
izmeñu njih. Samo agent koji trenutno posjeduje token ima pravo dati novi prijedlog
rješenja, uz garanciju da nije narušeno njegovo vlastito ograničenje. Ako je prijedlog u
kontradikciji s jakim ograničenjima, bit će odbačen jer svi prijedlozi moraju predstavljati
izvediva rješenja. Daljnja komunikacija u aktivnom aktivnom načinu rada je slična kao u
pasivnom. Govori se o aktivnom načinu rada jer svi agenti jednako pokušavanju
23
unaprijediti rješenje problema, čime se postiže efikasnije reduciranje narušavanja
ograničenja. Ako se, nakon što token proñe odreñeni broj krugova meñu agentima, ne
pronañe rješenje problema, proces se završava. Dakle, kao i kod drugih sličnih metoda, ni
ovaj pristup ne daje garanciju pronalaska optimalnog rješenja problema.
Paralelno-aktivni način rada se može dobiti modifikacijom aktivnog načina rada na način
da se potpuno izbaci upotreba tokena te da agenti onda rade paralelno. CHC agent tada
djeluje kao posrednik koji procjenjuje da li su prijedlozi rješenja valjani ili nisu. Predloženi
model višeagentskog sustava se može koristiti za rješavanje najopćenitijih problema izrade
rasporeda nastave te se odlikuje dobrom skalabilnošću i fleksibilnošću.
Slika 2.8 – Aktivni način rada
Babkin et al. [26] predstavili su višeagentski sustav i pripadajući matematički model za
izradu rasporeda nastave za fakultete. U ovom sustavu postoje tri vrste agenata (nastavnici,
studentske grupe i učionice), a mogu se grupirati u dvije grupe: agenti organizatori i agenti
sudionici. Agenti nastavnici imaju ulogu organizatora, a agenti za studentske grupe i
učionice igraju ulogu sudionika. Broj agenata nastavnika i agenata studentskih grupa u
ovom višeagentskom sustavu odgovara broju stvarnih nastavnika i studentskih grupa na
fakultetu, a sve stvarne učionice su predstavljene samo jednim agentom.
Osnovni koncept ovog sustava sastoji se u tome da su svi predmeti poredani po prioritetu
(tako da predmet s većim prioritetom ima prednost kod zauzimanja termina i učionica) te
svi nastavnici imaju definirane vlastite preferencije s obzirom na poželjnost održavanja
nastave u odreñenom vremenskom terminu i odreñenoj učionici. Pri pregovaranju o
rasporedu za pojedini predmet, algoritam pokušava maksimizirati funkciju cilja
24
predmetnog nastavnika, a koja ovisi upravo o ispunjavanju prethodno spomenutih
preferencija nastavnika. Za svaki pojedini predmet, u cilju rasporeñivanja nastave u
vremenski termin i učionicu, agent nastavnik provodi sljedeći skup akcija (Slika 2.9):
1) Ask_when_avail. Ovo je početno stanje algoritma. Nastavnik šalje studentskim
grupama upit WHENAVAIL, tražeći od njih vremenski termin za predmet o kojem
se pregovara. Studentske grupe odgovaraju s porukom USERAVAIL u kojoj
informiraju kad agent ima slobodne termina za ovaj predmet. Ako su sve
studentske grupe dale svoj prijedlog, nastavnik traži presjek njihovih prijedloga.
Ako je presjek prazan, agent nastavnik dolazi u stanje imposs_meeting.
1a) Imposs_meeting. U ovom stanju se agent nastavnik nalazi kad je presjek dostupnih
termina agenata studentskih grupa prazan skup. Dotični predmet se tada označava s
oznakom 'nema rješenja'.
2) Ask_subj_prefs. U ovom stanju agent nastavnik zahtjeva od studentskih grupa
preferencije o vremenskim terminima i učionicama (poruka EVALUATE).
Studentske grupe šalju svoje preferencije u poruci SUBJPREFS. Nastavnik sortira
primljene prijedloge prema kriteriju da se maksimiziraju preferencije nastavnika s
obzirom na termin i učionicu.
3) Propose_time. Agent nastavnik uzima prvi vremenski termin (eng. timeslot) iz
prethodno opisane poredane liste i šalje ga agentima studentskim grupama putem
poruke TIMEPROPOSAL. Da bi dale odgovor, studentske grupe analiziraju vlastiti
raspored. Ako je predloženi termin slobodan u njihovom rasporedu, agent vraća
pozitivan odgovor (poruka ACCEPT). Ako nije, agent usporeñuje prioritet
predmeta koji već zauzima ovaj termin u njegovom rasporedu s prioritetom
predmeta za koji se pregovara. Ako je prioritet predmeta za koji se pregovara veći,
onda agent takoñer daje pozitivan odgovor (ACCEPT). U obrnutoj situaciji, agent
odbija prijedlog i šalje poruku REJECT. Ako sve studentske grupe prihvate
predloženi termin, agent nastavnik prelazi u stanje propose_location. Ako termin
nije prihvaćen od svih studentskih grupa, nastavnik ostaje u stanju propose_time i
odabire sljedeći termin za pregovaranje. Ako su na kraju svi termini odbačeni, to
znači da ne postoji rješenje za dotični predmet i agent nastavnik prelazi u stanje
solnot_found.
25
Slika 2.9 – Dijagram stanja za agenta nastavnika
3a) Solnot_found. U ovom stanju agent nastavnik se nalazi ako su prijedlozi za sve
termine odbačeni od strane studentskih grupa. Predmet se tada označava s oznakom
'nema rješenja'.
4) Propose_location. Agent nastavnik šalje unutar poruke LOCPROPOSAL sortiranu
listu učionica (prema njegovim preferencijama) agentu za učionice. Ova poruka
sadrži takoñer i podatke o terminu koji je dogovoren u prethodnoj fazi algoritma.
Koristeći vlastite podatke o zauzetosti učionica, agent za učionice traži prvu
učionicu u nastavnikovoj listi koja je slobodna u zahtjevanom terminu ili je zauzeta
s predmetom manjeg prioriteta od predmeta za koji se pregovara. Ako je učionica
pronañena, agent za učionice vraća poruku ACCEPT s oznakom pronañene
učionice. Ako nije pronañena niti jedna učionica, agent za učionice vraća poruku
REJECT. U slučaju da agent nastavnik primi poruku ACCEPT, on prelazi u
sljedeće stanje, a ako primi poruku REJECT on se vraća u stanje propose_time u
kojem će pokušati ponovno s drugim terminom.
26
5) Fix_meeting. Kad se agent nastavnik nañe u ovom stanju, to znači da je uspješno
pronañen i termin i učionica. Tada nastavnik šalje poruku FIXMEETING agentima
studentskim grupama i agentu koji predstavlja sve učionice. Poruka sadrži
identifikatore predmeta, termina i učionice. Ako studentska grupa ima slobodan
traženi termin, termin se tada fiksira. Na sličan način agent za učionice fiksira
učionicu. Ako je traženi termin (ili učionica) već zauzet, agent tada poništava
prethodno fiksiranje za predmet nižeg prioriteta i šalje njegovom agentu-nastavniku
poruku CANCEL MEETING, koja se dalje proslijeñuje drugim povezanim
agentima, kako bi promjenili svoje rasporede.
U stanjima 1), 2), 3) i 4) ako neki agent ne pošalje svoj odgovor unutar prethodno
definiranog vremena, agent-nastavnik stavlja dotični predmet u listu neuspješnih predmeta,
kako bi kasnije ponovno pokušao provesti njegovo rasporeñivanje. Bitna značajka ovog
algoritma je da je parcijalni raspored uvijek dostupan. Kompletan raspored, koji uključuje
sve predmete, ponekad jednostavno ne postoji. Pa ipak, i u takvoj situaciji, opisani
algoritam će proizvesti konzistentno rješenje, s tim da će neki predmeti nižeg prioriteta biti
ignorirani.
Strnad i Guid [27] su razvili višeagentski sustav za izradu rasporeda nastave na fakultetu,
a koji koristi pregovarački protokol podijeljen u više faza. U prvoj fazi se izvodi
generiranje inicijalnog rasporeda na principu slučajnosti, nakon toga se radi podjela
agenata u konfliktne grupe, a zatim agenti rade odreñene ustupke i odustajanja kako bi se
riješile konflikte situacije. Jedno od osnovnih pravila je da bilo koji ustupak koji agenti
čine mora reducirati konflikt unutar konfliktne grupe te da mora biti individualno
racionalan. Racionalnim se smatra onaj ustupak koji ne onemogućava agentu da zadovolji
svoje minimalne zahtjeve. Ovaj sustav je do sada testiran samo na nekoliko primjera u
simuliranom nedistribuiranom okruženju, pokazujući dobru efikasnost.
27
3. AGENTI I VIŠEAGENTSKI SUSTAVI U današnje doba, moderna računalna okruženja odlikuje složenost i distribuiranost.
Takoñer, okolina u koju se smještaju softverske aplikacije je neizvjesna i nepredvidiva, sve
informacije koje se primaju nisu pouzdane. Moderna okruženja su promjenjiva i otvorena
za nove informacije. Softverski sustavi koji djeluju u takvom okruženju trebaju biti
prilagodljivi, inteligentni, efikasni i svrhoviti.
Agenti su prepoznati kao koncept kojim se mogu zadovoljiti spomenuti zahtjevi te se može
reći da agentska paradigma predstavlja prirodnu evoluciju softverskih sustava. Mada se
osnovne ideje iz područja agentske tehnologije susreću od samih početaka razvoja
područja umjetne inteligencije (AI – Artificial Intelligence) od sredine 20. stoljeća,
značajan razvoj na području agenata kao integriranih sustava sposobnih za izvoñenje
autonomnih akcija počinje tek sredinom 80-ih godina prošlog stoljeća. Brzim razvojem
interneta početkom 90-ih godina dobiva se snažan poticaj za istraživanje na ovom
području, a najveći utjecaj na razvoj agentske tehnologije imala su područja umjetne
inteligencije, objektno-orijentiranih sustava i softverskog inženjerstva.
3.1 Agenti
Bez obzira na uznapredovalu primjenu i mnogo uloženog truda u kontinuirani razvoj
agentske tehnologije, postoji i jedna neočekivana kontradikcija: na žalost, ne postoji
jedinstveno prihvaćena definicija pojma agent. Postoji opći konsenzus da je autonomija
centralni pojam agentstva (eng. agency), ali malo je slaganja iznad toga. Do ovoga je došlo
dijelom i zbog toga što različiti atributi povezani s agentstvom imaju različit značaj u
različitim domenama. U uvodu ćemo dati dvije definicije agenta koje se najčešće susreću u
literaturi:
M.Wooldridge, N.R. Jennings [28]:
Agent je računalni sustav smješten u okolinu koji može autonomno djelovati u svrhu
ostvarivanja vlastitih ciljeva.
S.J. Russell, P. Norvig [29]:
Agentom se može nazvati sve ono što opaža okolinu preko senzora i djeluje na okolinu
preko aktuatora. Primjeri uključuju ljude, robote ili softverske agente.
28
Pored pojma agent, u upotrebi u raznim područjima je i mnogo drugih sličnih pojmova:
autonomni agent, softverski agent, inteligentni agent, ili nešto specifičniji pojmovi
virtualni agent, mobilni agent, informacijski agent te agent za korisničko sučelje. Razne
inačice pojma agent se upotrebljavaju tako često da, kao posljedica, ne postoji zajednički
prihvaćen stav o tome što je agent. Shoham[30] upućuje na tu činjenicu te zaključuje da
takva upotreba nema smisla bez reference na specifični koncept agenta.
Kako nema jedinstvene definicije agenta, mnogi istraživači su dali svoje vlastite definicije.
Franklin i Graesser su u preglednom radu [31] dali cjelovit prikaz do tada postojećih
definicija. U jednom od temeljnih radova iz područja agentske tehnologije, Wooldridge i
Jennings[28] su identificirali slabu i jaku notaciju agentstva. Slaba notacija uključuje
autonomiju (sposobnost rada bez vanjske intervencije), socijalnu sposobnost (interakcija s
drugim agentima), reaktivnost (agenti mogu opažati okolinu i odgovarati na promjene
okoline) i proaktivnost (djelovanje u smislu ispunjavanja ciljeva). Jaka notacija pored
spomenutih elemenata uključuje i mentalne koncepte koji se obično primjenjuju na ljude
(vjerovanje, želja, namjera, znanje, emocije). Većinom se smatra da je slaba notacija
esencija agentstva. Etzioni i Weld[32] su u poželjne agentske osobine uključili autonomiju,
vremenski kontinuitet (tako da agent ne predstavlja samo 'one-shot' izračun), osobnost,
komunikaciju, adaptibilnost, mobilnost, orijentiranost prema cilju, sposobnost za suradnju i
fleksibilnost. U literaturi se mogu pronaći i ostale osobine, npr. vjerodostojnost,
dobronamjernost i racionalnost. Dakle, očigledan je nedostatak pojmovne preciznosti i
konsenzusa povezan s agentskom tehnologijom.
Česta je usporedba izmeñu agenata i objekata. Temeljna razlika meñu njima je vezana za
pojmove autonomnosti i proaktivnosti. Neki smatraju da su agenti 'pametni objekti' ili
'objekti koji mogu reći ne'. Naime, objekti su definirani kao računalni entiteti koji
enkapsuliraju svoje stanje i sposobni su izvesti akcije, odnosno metode, na tom stanju i
komunicirati razmjenom poruka. Postoji sličnost s agentima, ali i razlika. Prva razlika je u
stupnju autonomnosti agenata i objekata pri odlučivanju o tome da li će se izvesti
odreñena akcija. Kod agenata ne govorimo o pozivu akcije (metode) nego o zahtjevu za
akciju. Odluka o tome hoće li se izvesti akcija u objektno orijentiranom slučaju leži na
objektu koji poziva akciju, dok u agentskom slučaju odluka leži unutar agenta koji je
zaprimio zahtjev za akcijom. Ova razlika je ocrtana izrekom: 'Objekti to rade besplatno;
agenti to rade jer to žele.' (eng. 'Objects do it for free; agents do it because they want to.').
Drugim riječima, autonomija u smislu samostalnog odlučivanja o izvoñenju odreñene
29
metode nije komponenta osnovnog objektno-orijentiranog modela, a agenti sami odlučuju
hoće li izvesti akciju na zahtjev drugog agenta.
Druga značajna razlika izmeñu agenata i objekata je vezana za pojam fleksibilnog
autonomnog ponašanja. Agenti su sposobni za fleksibilno ponašanje (reaktivno,
proaktivno, društveno), a standardni objektni model ne govori ništa o toj vrsti ponašanja.
Treća razlika je vezana za višenitno izvoñenje programa. U standardnom objektnom
modelu postoji jedna kontrolna nit u sustavu. Višeagentni sustavi su prirodno višenitni, a
svaki agent u sustavu ima barem jednu kontrolnu nit.
Smatramo da je u ovom pregledu formalizacije osnovnih pojmova iz agentske tehnologije
vrijedno spomenuti i SMART (Structured and Modular Agents and Relationship Types)
konceptualni okvir [33]. Pokušavajući ispraviti konfuziju povezanu s osnovnom
terminologijom agentstva, ovaj strukturirani okvir daje izmeñu ostalog i precizan i
nedvosmislen vokabular i definicije osnovnih pojmova agentstva. Svojom jasnom
strukturiranošću, SMART agentski okvir pruža temelje za daljnji razvoj novih i preciznijih
koncepata. Koristeći Z jezik za specifikacije [34], izgrañen je sofisticirani model agenata i
njihovih odnosa.
U osnovi, SMART okvir predlaže četverorazinsku hijerarhiju koja uključuje entitete,
objekte, agente i autonomne agente (Slika 3.1). Temeljna ideja je da se okolina sastoji od
entiteta, od kojih su neki objekti. Neki od objekata su agenti, a neki od agenata su
autonomni agenti. Ove četiri klase su temeljne komponente koje čine ovakav pogled na
svijet. Iz slike vidimo da je entitet najapstraktniji pojam, a čini ga ne-prazan skup atributa
(tj. permanentnih svojstava), skup akcija, skup ciljeva i skup motivacija. Entitet daje
predložak iz kojeg se mogu definirati objekti, agenti i autonomni agenti. Entiteti su
smješteni u okolinu, tako de se okolina definira kao skup entiteta.
Slika 3.1 – Hijerarhija entiteta prema SMART konceptualnom okviru
30
Objekti su entiteti koji su sposobni utjecati na okolinu putem akcija. Drugim riječima,
objekt je entitet s ne-praznim skupom akcija, odnosno entitet s sposobnostima. S druge
strane, ako objekt ispunjava neku svrhu, odnosno služi ispunjavanju ciljeva nekog drugog
agenta ili svojih ciljeva, tada se naziva agentom. Npr. ako želim koristiti neki objekt za
postizanje svog cilja, tada taj objekt postaje moj agent, odnosno objekt je usvojio moj cilj.
Agenti su, dakle, definirani u odnosu na ciljeve, tj. agent je objekt s ciljevima. Agenti koji
su sposobni generirati vlastite ciljeve nazivaju se autonomnim agentima. Njihovi ciljevi su
generirani 'iznutra', odnosno nisu usvojeni od drugih agenata. Takvi ciljevi se generiraju na
temelju motivacija. Motivacije se razlikuju od ciljeva na način da one ne predstavljaju
stanje okoline. Npr. ako postoji motivacija 'pohlepa', ona može dovesti do generiranja cilja
'pljačka banke'. Motivacija predstavlja razlog za izvoñenje neke akcije i kritična je u
ostvarivanju autonomije. U SMART okviru, autonomni agent mora biti motivirani agent.
Prema načinu rada, agenti se u literaturi najčešće dijele na sljedeći način:
• Jednostavni refleksni agenti. Ovakvi agenti temelje svoj rad na pravilu uvjet-
akcija (stanje okoline - akcija) te nemaju nikakvu memoriju u kojoj bi se čuvala
prethodna stanja okoline.
• Refleksni agenti s memorijom. Imaju interno stanje (memoriju) koje služi za
čuvanje prošlih stanja okoline.
• Agenti s ciljevima. Pored internog stanja imaju i informacije o ciljevima
(poželjnim stanjima). Ovakvi agenti kod odlučivanja uzimaju u obzir i buduće
dogañaje.
• Agenti temeljeni na korisnosti. Svoje odluke temelje na klasičnoj teoriji
korisnosti.
• Agenti koji uče. Imaju mogućnost poboljšavanja performansi putem učenja.
3.1.1 Racionalni agent
Apstraktni prikaz agenta smještenog u okolinu dat je na slici 3.2. Agent prima informacije
iz okoline putem senzora. Akcije na okolini izvode se preko aktuatora. Izmeñu senzora i
aktuatora nalazi se kontroler koji obrañuje primljene informacije iz okoline i odlučuje koje
akcije će se izvesti.
31
Slika 3.2 – Apstraktni prikaz agenta
Russell i Norvig[35] su definirali sljedeće vrste agentske okoline s obzirom na svojstva:
• Potpuno primjetna / Djelomično primjetna: Ako agentski senzori omogućuju
agentu da u bilo kojem trenutku ima pristup potpunom stanju okoline, kažemo da je
okolina potpuno primjetna. Okolina može biti djelomično primjetna zbog pojave
šuma ili netočnih senzora ili zbog toga što dio potrebnih informacija nedostaje u
senzorskim podacima. Ako agent uopće nema senzore, okolina je neprimjetna.
• S jednim agentom / S više agenata
• Deterministička / Stohastička: Ako je sljedeće stanje okoline potpuno odreñeno s
trenutnim stanjem i akcijom izvedenom od strane agenta, kažemo da je okolina
deterministička. U suprotnom, okolina je stohastička.
• Epizodna / Sekvencijalna: U epizodnoj okolini, agentsko iskustvo je podijeljeno
u više temeljnih epizoda. U svakoj epizodi agent provodi opažanje i onda izvodi
jednu akciju. Sljedeća epizoda ne ovisi o akcijama izvedenim u prethodnim
epizodama. U sekvencijalnom okruženju, trenutna odluka može utjecati na sve
buduće odluke. Epizodna okruženja su mnogo jednostavnija od sekvencijalnih jer
agenti ne moraju misliti unaprijed.
• Statička / Dinamička: Ako se za vrijeme dok agent razmatra sljedeću akciju
okolina može promjeniti, kažemo da je okolina za taj agent dinamička. U
suprotnom slučaju je statička.
• Diskretna / Kontinuirana
32
• Poznata / Nepoznata: Ova podjela se odnosi na to koliko agent (ili dizajner
agenta) zna o pravilima koja vrijede u okolini. U poznatoj okolini, rezultati (ili
vjerojatnosti rezultata, ako je okolina stohostička) svih akcija su unaprijed poznati.
Ako je okolina nepoznata, agent će morati naučiti njena pravila kako bi mogao
donositi dobre odluke.
Razmotrimo problem optimalnog agentskog odlučivanja: kako agent može izabrati
najbolju moguću akciju u svakom vremenskom koraku, uzimajući u obzir ono što agent
zna o svijetu oko sebe? Za agent kažemo da je racional ako uvijek izabire onu akciju koja
optimizira odgovarajuću mjeru uspješnosti. Mjera uspješnosti je obično odreñena od
korisnika (dizajnera agenta) i odražava ono što korisnik očekuje od agenta. Npr. robot –
nogometni igrač mora djelovati tako da maksimizira šanse svog tima za postizanje
zgoditka, softverski agent u elektronskoj aukciji mora pokušati minimizirati troškove
(kupovne cijene) svog korisnika, itd. Racionalni agent se često naziva inteligentni agent. U
tekstu ćemo se dalje fokusirati na računalne agente, tj. agente koji su eksplicitno
dizajnirani za rješavanje odreñenih zadataka i implementirani su na računalnom ureñaju.
3.1.1.1 Agent kao racionalni donositelj odluka
Pretpostavimo da u svakom diskretnom vremenskom koraku t = 0, 1, 2, ... agent mora
izabrati akciju at iz konačnog skupa A dostupnih akcija. Kako bi djelovao racionalno u
trenutku t, agent treba uzeti u obzir i prošlost i budućnost, tj. sve ono što je do trenutka t
agent opazio i akcije koje je poduzeo te sve ono što agent očekuje da će opažati i činiti
nakon trenutka t.
Ako s θτ označimo opažanje agenta u trenutku τ, da bi izabrao optimalnu akciju u trenutku
t, agent općenito mora koristiti svoju cjelokupnu povijest observacija θτ i akcija aτ, za τ ≤ t.
Funkcija
π(θ0, a0, θ1, a1, ..., θt) = at (3.1)
koja mapira cjelokupnu povijest parova opažanje-akcija do trenutka t u optimalnu akciju at,
naziva se obično politika agenta[36].
Ukoliko je moguće pronaći funkciju π koja implementira navedeno mapiranje, dio
problema optimalnog odlučivanja koji se odnosi na prošlost je riješen. Meñutim, definicija
i implementacija ovakve funkcije nije uopće jednostavna jer se cjelokupna povijest može
sastojati od vrlo velikog (čak i beskonačnog) broja parova opažanje-akcija. Samo
33
spremanje svih opažanja bi zahtjevalo vrlo veliku memoriju, da i ne govorimo o
računalnom trošku računanja vrijednosti funkcije π.
Ova činjenica zahtjeva pojednostavljivanje problema. Jedna mogućnost je da agent
zanemari sva povijesna opažanja osim zadnjeg opažanja θt . U tom slučaju politika agenta
poprima oblik:
π(θt) = at (3.2)
što je zapravo mapiranje s trenutnog opažanja agenta na akciju koja se poduzima. Ovakav
agent koji jednostavno mapira trenutno opažanje θt na novu akciju at (i tako ignorira
prošlost) naziva se refleksni ili reaktivni agent, a njegova politika se naziva reaktivna ili
bezmemorijska. Za odreñene vrste okoline ovakvi agenti mogu davati zadovoljavajuće
rezultate.
3.1.1.2 Opservabilna okolina
Pretpostavimo postojanje okoline s jednim ili više agenata koji primaju informacije iz
okoline, promišljaju i djeluju. Ukupnu informaciju koja je sadržana u okolini u
vremenskom koraku t i koja je relevantna za agenta nazivamo stanje okoline st. Označimo
sa S skup svih stanja okoline. Kao primjer, u robotskom nogometu stanje okoline je
karakterizirano s oblikom nogometnog igrališta, pozicijama i brzinama svih igrača i
nogometne lopte, s vremenom proteklim od početka igre i sl. Kao što smo već naveli,
okolina može biti diskretna ili kontinuirana. Diskretna okolina ima konačan broj stanja
(kao npr. u šahu) dok kontinuiranu okolinu odlikuje neograničeni broj mogućih stanja.
Iz perspektive agenta, temeljno svojstvo koje karakterizira agentsku okolinu je vezano za
mogućnost opažanja. Kažemo da je za agent okolina potpuno opservabilna ako trenutno
opažanje θt potpuno oslikava trenutno stanje okoline, tj. st = θt. S druge strane, u
djelomično opservabilnoj okolini, trenutno opažanje θt pruža samo parcijalnu informaciju o
trenutnom stanju st u obliku determinističkog ili stohastičkog observacijskog modela, npr.
u obliku uvjetne distribucije vjerojatnosti p(st│θt). To znači da trenutna opservacija θt
potpuno ne otkriva stvarno stanje okoline, nego za svako stanje st agent pridjeljuje
vjerojatnost p(st│θt) da je st stvarno stanje, s tim da vrijedi 0 ≤ p(st│θt) ≤ 1 i
∑ ��| �� � 1��∈� . Pritom je st slučajna varijabla koja može poprimiti sve vrijednosti u S.
Parcijalna opservabilnost može biti povezana s dva faktora. Može biti rezultat šuma na
agentskim senzorima u kojem slučaju agent za isto stanje okoline dobiva različite
34
opservacije u različitim vremenskim trenucima. Kao drugo, djelomična opservabilnost
može biti povezana sa svojstvom okoline koje se naziva prekrivanje opažanja (eng.
perceptual aliasing): u različitim vremenskim trenucima, dva različita stanja okoline mogu
agentu stvarati identične opservacije, odnosno, dva stanja mogu agentu izgledati isto iako
su zapravo različita.
Djelomična opservabilnost je mnogo zahtjevnija za analizu od potpune opservabilnosti i
algoritmi za donošenje optimalnih odluka u uvjetima djelomične opservabilnosti mogu
postati neizvedivi. Parcijalna opservabilnost se može vezivati ne samo za to što agenti
znaju o stanju okoline, nego i za to što agenti meñusobno znaju o znanju (bazi znanja,
stanju) drugih agenata.
U slučaju refleksnog agenta s reaktivnom politikom π(θt) = at, smještenog u potpuno
opservabilnu okolinu, vrijedi da je st = θt, tako da politika agenta postaje:
π(st) = at (3.3)
Drugim riječima, u potpuno opservabilnoj okolini, politika refleksnog agenta je mapiranje
sa stanja okoline na akcije. Prednost leži u tome što kod mnogih problema stanje okoline u
trenutku t pruža potpunu karakterizaciju povijesti prije trenutka t. Za takvu okolinu koja
sažima u sebi sve relevantne podatke o prošlosti se kaže da ima svojstvo Markova (eng.
Markov property). Poznato je da stohastički proces ima svojstvo Markova ako uvjetna
distribucija vjerojatnosti budućeg stanja procesa ovisi samo o trenutnom stanju. Vrijedi
dakle da agent sa svojstvom Markova može za odlučivanje koristiti bezmemorijsku
politiku umjesto politike koja zahtjeva mnogo memorije.
3.1.1.3 Odlučivanje u stohastičkom okruženju
U svakom vremenskom koraku t agent izabire akciju at iz konačnog skupa akcija A. Kao
rezultat agentske akcije dolazi do promjene stanja okoline. Način na koji se okolina
mijenja nakon izvoñenja akcije odreñen je modelom tranzicije. Ako je trenutno stanje
okoline st i agent izvede akciju at, razlikujemo dva slučaja:
• U determinističkoj okolini, tranzicijski model mapira par stanje-akcija (st, at) na
jedinstveno novo stanje st+1.
• U stohastičkoj okolini, tranzicijski model mapira par stanje-akcija (st, at) na
distribuciju vjerojatnosti stanja p(st+1│st,at). U ovom slučaju st+1 je slučajna
varijabla koja može poprimiti sve vrijednosti iz S, svaku s odgovarajućom
35
vjerojatnošću p(st+1│st,at). Većina aplikacija iz stvarnog života uključuje
stohastičke tranzicijske modele.
Efekti koje će imati odreñena agentska akcija u stohastičkoj okolini nisu unaprijed poznati,
nego postoji element slučajnosti koji odreñuje kako će se okolina promjeniti. Stohastičnost
u tranziciji stanja uvodi nove poteškoće u proces optimalnog agentskog odlučivanja. U
determinističkoj okolini, da bi planirao način postizanja nekog cilja, agent si može
predstaviti problem kao problem pretraživanja grafa (eng. graph search problem) i
primjeniti neki od algoritama koji su prikladni za rješavanje tog problema. U stohastičkom
okruženju, planiranje se ne može provoditi na takav način jer tranzicije izmeñu stanja nisu
determinirane, nego agent mora kod planiranja uzeti u obzir neizvjesnost.
U determinističkom okruženju, agent preferira stanje s ciljem u odnosu na stanje bez cilja.
Najopćenitije, agent može imati preferencije prema stanju okoline. Npr. agent – igrač
nogometa ima najveću preferenciju za postizanje zgoditka, nešto manju preferenciju da
stoji s loptom ispred praznog gola i sl. Način na koji se može formalizirati pojam
preferencije stanja je pridjeljivanje svakom stanju s realnog broja U(s) koji se naziva
korisnost stanja s za dotičnog agenta. Za dva stanja s i s' vrijedi da je U(s)>U(s') ako i
samo ako agent preferira stanje s u odnosu na stanje s', a U(s)=U(s') ako i samo ako je
agent indiferentan prema stanjima s i s'. Korisnost stanja za agenta predstavlja poželjnost
tog stanja; što je veća korisnost stanja, to je za agenta to stanje bolje.
Pretpostavimo da se samo jedan agent nalazi u okolini za koju vrijedi stohastički
tranzicijski model p(st+1│st,at). Uzmimo da je trenutno stanje st i da agent treba odlučiti
koju akciju at će izvesti. Neka je U(s) funkcija korisnosti agenta. Odlučivanje na temelju
korisnosti se bazira na premisi da optimalna agentska akcija at* u stanju st treba
maksimizirati očekivanu korisnost:
��� � ��� �����∈� ∑ ���� |�, ���������� ! (3.4)
Sumiranje se provodi po svim mogućim stanjima ��� ∈ " u koje okolina može prijeći
izvoñenjem akcije at na trenutnom stanju st. Drugim riječima, da bi procjenio koliko je
dobra neka akcija, agent mora pomnožiti korisnost svakog mogućeg rezultirajućeg stanja s
vjerojatnošću postizanja tog stanja i napraviti sumiranje po svim stanjima. Tada agent
izabire akciju at* koja daje najveću sumu.
36
Ako je svakom stanju okoline pridjeljena korisnost, agent može za svako stanje okoline
napraviti navedene kalkulacije i izabrati najbolju akciju. Na ovaj način se optimalna
politika agenta može opisati s izrazom:
#�� � ��� ���� ∑ �$ |, ����$��% (3.5)
Postoji i alternativni i često koristan način zapisivanja optimalne politike. Za svako stanje s
i svaku akciju a možemo definirati optimalnu vrijednost akcije ili Q-vrijednost Q*(s,a) koja
mjeri dobrotu akcije a u stanju s. Za Q-vrijednost vrijedi da je U*(s) = maxa Q
*(s,a), tako
da se optimalna politika agenta može zapisati kao:
#�� � ��� ���� &� , �� (3.6)
što daje jednostavniju formulu koja ne uključuje tranzicijski model.
3.1.2 Agentske arhitekture
Agentska arhitektura je u osnovi plan internih komponenti agenta – njegovih struktura
podataka, operacija koje se izvode nad tim strukturama i tijeka kontrole izmeñu struktura.
Maes[37] definira agentsku arhitekturu na sljedeći način:
Agentska arhitektura odreñuje komponente od kojih se gradi agent i način na koji te
komponente meñusobno djeluju. Ukupni skup komponenti i njihovih interakcija treba dati
odgovor na pitanje kako senzorski podaci i trenutno interno stanje agenta odreñuju akcije
i buduće interno stanje agenta.
Povijesni razvoj agentskih arhitektura je prešao put od pristupa temeljenih na logici ili
prosuñivanju, preko čisto reaktivnih arhitektura do kombinacije različitih pristupa, tj.
hibridnih arhitektura. Osnovne vrste agentske arhitekture su:
• Logička arhitektura
• BDI arhitektura
• Reaktivna arhitektura
• Hibridna arhitektura
Logička i BDI arhitektura koriste se još od samih početaka razvoja agentske tehnologije i
obje arhitekture se temelje na prosuñivanju (eng. deliberative architecture). Arhitektura
temeljena na prosuñivanju sadrži eksplicitno predstavljeni, simbolički model svijeta u
kojem se odluke donose logičkim zaključivanjem koje se temelji na simboličkoj
37
manipulaciji i prepoznavanju uzoraka. Kod logičke arhitekture, kao simbolička
reprezentacija se koriste logičke formule, a logička dedukcija (ili dokazivanje teorema) je
način na koji se izvodi simbolička manipulacija. Najpoznatiji rad koji koristi ovu
arhitekturu je ConGolog[38].
Arhitektura tipa vjerovanje-želja-namjera (eng. belief-desire-intention – BDI) je
inspirirana načinom na koji ljudi donose odluke, odnosno ima korijene u filozofskoj
tradiciji razumijevanja praktičnog zaključivanja (eng. practical reasoning). Osnove BDI
agentskog modela nalaze se u teoriji praktičnog zaključivanja koju je razvio filozof
Michael Bratman[39]. Ljudsko praktično zaključivanje se sastoji od barem dvije različite
aktivnosti. Prva aktivnost je odlučivanje o tome što želimo postići i naziva se prosuñivanje
ili razmatranje (eng. deliberation), a druga aktivnost je odlučivanje kako to postići i naziva
se sredstvo-cilj zaključivanje (eng. means-ends reasoning). U BDI modelu, agent ima:
• Vjerovanja – o sebi, o drugim agentima i o okolini,
• Želje – koje želi zadovoljiti,
• Namjere – obavezivanje na djelovanje prema ispunjenju odabranih želja. Namjere
moraju biti konzistentne s agentskim vjerovanjima i s drugim namjerama.
Krajnji rezultat zaključivanja sredstvo-cilj je plan, odnosno način na koji će se postići
željeno stanje. Nakon dobivanja plana, agent provodi izvoñenje plana i, ako je plan
uspješno izveden, postiže se traženo stanje. BDI arhitektura je uspješno primjenjena u
mnogim znanstvenim i komercijalnim radovima, a najpoznati su Procedural Reasoning
System (PRS)[40], dMARS[41], IRMA[42] i GRATE[43].
Problemi povezani s primjenom simboličke AI na agentsku strukturu doveli su do
propitkivanja cijele paradigme i do razvoja reaktivnih arhitektura. Ponekad se ovi
pristupi nazivaju i pristupi temeljeni na ponašanju (eng. behavioural) ili pristupi temeljeni
na situiranosti u okolinu (eng. situated). Pod reaktivnom arhitekturom podrazumijevamo
onu arhitekturu koja ne uključuje nikakav simbolički model okoline niti koristi
kompleksno simboličko zaključivanja.
Pomoću reaktivne arhitekture napravljeni su brojni značajni projekti, npr. robot za
istraživanje Marsa ('Mars explorer')[44], PENGI[45] i 'Agent Network
Architecture'[37][46].
38
Hibridna agentska arhitektura kombinira reaktivno ponašanje i ponašanje temeljeno na
prosuñivanju. Hibridni agent se sastoji od više podsustava:
• reaktivni podsustavi – sposobni za brzu reakciju na dogañaje, bez kompleksnog
zaključivanja,
• podsustavi koji izvode planiranje i donose odluke simboličkim zaključivanjem.
Različiti podsustavi su organizirani u hijerarhiju slojeva koji provode meñusobnu
interakciju. Svaki sloj izvodi zaključivanje na različitoj razini apstrakcije. Fundamentalni
radovi temeljeni na hibridnoj agentskoj arhitekturi su 'Touringov stroj'[47], COSY[48] i
InteRRaP[49].
3.2 Višeagentski sustavi
U višeagentskom sustavu (eng. multi-agent system - MAS) se dva ili više agenata udružuju
zajedno kako bi izveli zadatak koji pojedinačno nisu u stanju izvesti ili kako bi ga izveli
efikasnije[50]. Budući da zadaci (ciljevi) u sustavu ne mogu postojati ako nisu generirani
od autonomnih agenata, višeagentski sustav mora sadržavati barem jedan autonomni agent.
Dodatni uvjet da bi skup agenata činio višeagentski sustav je da postoji interakcija meñu
agentima, inače bi svaki agent djelovao neovisno jedan od drugog te ne bi imalo smisla
promatrati takav skup komponenti kao jedan sistem. Struktura jednog višeagentskog
sustava prikazana je na slici 3.3[51]. Osnovna svojstva višeagentskog sustava su:
• Svaki agent ima nepotpune informacije i sposobnosti za rješavanje globalnog
problema
• Ne postoji globalna kontrola sustava
• Podaci su decentralizirani
• Proračun je asinkron
Motivacija za istraživanje višeagentskih sustava proizlazi iz njihovih sljedećih sposobnosti:
• Rješavanje problema koji su preveliki za rješavanje korištenjem jednog agenta
uslijed ograničenih resursa i mogućeg problema s performansama (usko grlo,
mogućnost pada u kritičnom trenutku).
• Meñusobno povezivanje i djelovanje više postojećih naslijeñenih sustava. Kako bi
se pratile potrebe, stariji sustavi se uključuju u agentske zajednice, najčešće tako da
se implementiraju agentski omotači (eng. agent wrapper) za naslijeñeni softver.
39
Slika 3.3 – Struktura višeagentskog sustava
• Mogućnost davanja rješenja za probleme koji se na prirodan način mogu predstaviti
kao zajednice autonomnih agenata koji provode interakciju.
• Mogućnost davanja rješenja koja efikasno koriste informacijske izvore koji su
prostorno distribuirani (npr. senzorske mreže).
• Mogućnost davanja rješenja za situacije u kojim je ekspertiza (znanje) distribuirano
(npr. u zdravstvu).
• Mogućnost pružanja boljih performansi sustava u smislu računske efikasnosti,
pouzdanosti, proširivosti, robustnosti, lakšeg održavanja, boljeg odziva,
fleksibilnosti i ponovne upotrebe komponenti.
Višeagentski sustavi su karakterizirani specifičnim meñuagenskim strukturama. Na razini
sustava mogu npr. biti strukturirani kao organizacija sebičnih agenata koji igraju različite
uloge unutar organizacije, provodeći svoje vlastite interese. Drugi višeagentski sustav se
može sastojati od kooperativnih agenata čija namjera je postizanje zajedničkog cilja. Kako
bi postigli svoj cilj, agenti mogu izvoditi meñusobnu interakciju na različite načine:
komuniciranjem putem komunikacijskog jezika visoke razine, korištenjem specifičnog
interakcijskog protokola ili manipulacijom znakova u dijeljenom koordinacijskom
medijumu.
40
3.2.1 Komunikacija u višeagentskom sustavu
Paralelno s razvojem višeagentskih sustava prisutan je i konstantan rad na području
agentske komunikacije. Naime, da bi ostvarili svoje ciljeve, agenti u višeagentskom
sustavu moraju najčešće surañivati i komunicirati s drugim agentima. Komunikacija
izmeñu agenata podstiče agentsku autonomiju, a isto tako pruža i mogućnost izgradnje
agentskih zajednica koje su kao cjelina sposobne dati rješenja kompleksnih problema. Kad
agent u višeagentskom sustavu primi komunikacijsku poruku, on treba biti u stanju
odgonetnuti značenje poruke i dati odgovarajući odgovor na nju kako bi se stvorila
dosljedna koordinacijska struktura za postizanje zajedničkog cilja.
Kako bi mogao surañivati s drugim agentima u višeagentskom sustavu, agent mora:
• otkriti postojanje, mrežnu adresu, sposobnosti i uloge drugih agenata
• komunicirati putem standardnog komunikacijskog jezika
Agentski komunikacijski jezici su izgrañeni na temeljima teorije govornog čina (eng.
speech act theory). Ova teorija je originalno nastala kao lingvistički pokušaj razumijevanja
kako ljudi koriste jezik u svakodnevnim situacijama. Počeci teorije sežu do radova Johna
Austina[52] i Johna Searlea[53] 60-tih godina prošlog stoljeća, a Cohen i Levesque[54] su
je 1990. god. prilagodili za agentsku komunikaciju.
U teoriji govornog čina ljudska komunikacija se tretira kao akcija, na isti način kao i akcije
koje se svakodnevno izvode u fizičkom svijetu (npr. podizanje predmeta sa stola). Kao
rezultat toga, teorija govornog čina koristi pojam performativa za identifikaciju namjere
koja leži iza govorne komunikacije. Primjeri performativa uključuju glagole poput request
(eng. zahtjevati), inform (eng. informirati), tell (eng. kazati), promise (eng. obećati).
Performativi se koriste kao semantička ograničenja komunikacije izmeñu agenata i oni
pojednostavljuju način na koji agenti reagiraju na poruke koje primaju. Dva najpoznatija
agentska komunikacijska jezika su Knowledge Query and Manipulation Language
(KQML) i FIPA-ACL.
Ako dva agenta žele komunicirati o nekom području interesa, moraju se složiti o
terminologiji koju će koristiti za opis domene problema, tj. trebaju prethodno definirati
ontologiju. Korijen riječi ontologija je grčka riječ ontos što znači biće ili priroda stvari. U
klasičnoj filozofiji ontologija se koristila u proučavanju prirode svijeta. U računalnoj
znanosti istraživači (od kojih je najpoznatiji Tom Gruber) su uveli pojam ontologije prije
15-ak godina, a Gruber ga je definirao kao 'formalna specifikacija konceptualizacije'.
Najveći dio istraživanja u području ontologije potječe od interesa za semantički web. Ideja
41
je da se ontologije koriste za dodavanje informacija web stranicama na način da računala
mogu obrañivati informacije s web stranica na smislen i koristan način.
Poput taksonomije ili sheme relacijske baze podataka, zadatak ontologije je organizirati
informacije. Bez obzira na domenu ili opseg, ontologija uvijek predstavlja opis pogleda na
svijet. S obzirom na korišteni formalizam, ontologije mogu biti više ili manje neformalne
te strogo formalne. U formalnoj ontologiji slotovi (eng. slots) opisuju svojstvo klasa i
instanci, s time da ponekad za slotove vrijede ograničenja (koja ovise o domeni).
Ontologija zajedno sa skupom definiranih instanci klasa (objektima) se naziva baza znanja
(eng. knowledge base).
Ontologija se formalno izražava jezicima za ontologiju. Ako trebamo napraviti
jednostavnu ontologiju, s malo truda i za kratak period korištenja, možemo koristiti
najobičniji XML format zapisa, s time da sami definiramo potrebne tagove. Za složenije i
formalnije namjene koriste se najčešće OWL (Web Ontology Language) ili RDF
(Resource Description Framework) jezici/formati koji su danas de facto standardi za rad s
ontologijom.
Pri izradi ontologije moguće je koristiti mnogobrojne alate koji nude bogato grafičko
sučelje s prikazom hijerarhije klasa i automatskim stvaranjem izvornog koda. Najpoznatiji
alat za ovu namjenu je Protégé[55], koji osim prethodno spomenutih mogućnosti, pruža i
mogućnost importa i eksporta ontologija iz/u različite formate, uključujući i OWL.
3.2.2 Agentski-orijentirani programski jezici i agentski programski okviri
Pojam agentski-orijentiranog programiranja (eng. agent-oriented programming – AOP)
uveo je Shoham [56] 1993. godine. Ključna ideja agentski-orijentiranog programiranja je
da se direktno programiraju agentska svojstva vezana uz mentalna stanja (kao što su
vjerovanja, želje i namjere). Motivacija za ideju dolazi od činjenice da ljudska bića koriste
ove koncepte kao apstrakcijski mehanizam za predstavljanje osobina kompleksnih sustava.
Na osnovu toga se zaključuje da bi se pojmove vezane za mentalna stanja moglo koristiti i
za opisivanje ponašanja softverskih agenata.
Prva implementacija agentski-orijentirane programske paradigme bio je programski jezik
AGENT0. U ovom jeziku, ponašanje agenta se odreñuje skupom sposobnosti, skupom
inicijalnih vjerovanja, skupom inicijalnih predanosti (privrženosti) i skupom pravila za
obavezivanje. Ključna odrednica ponašanja agenta je skup pravila za obavezivanje, a
42
sastoji se od uvjeta vezanih za poruku, uvjeta vezanih za mentalno stanje te od akcije.
Naime, nakon primitka poruke, provjerava se uvjet vezan za poruku i uvjet vezan za
mentalno stanje. Ako su ovi uvjeti zadovoljeni, agent se obavezuje na izvoñenje akcije.
Akcija u AGENT0 jeziku može biti privatna (izvoñenje interne rutine) ili komunikacijska
(slanje poruke).
Nedugo nakon pojavljivanja AGENT0 jezika, Michael Fisher je razvio Concurrent
MetateM jezik[57] koji se temelji na direktnom izvoñenju logičkih formula.
Programiranje agenata Concurrent MetateM jezikom se provodi definiranjem temporalne
logike (eng. temporal logic) ponašanja koje bi agent trebao izvoditi. Agenti u
višeagentskom sustavu su sposobni meñusobno komunicirati slanjem poruka. Svaki
Concurrent MetateM agent ima dvije glavne komponente:
• programsko sučelje (eng. interface), koje definira kako agent komunicira s
okolinom,
• komponenta za računanje (eng. computational engine), koja definira kako će agent
djelovati (korišteni pristup se temelji na MetateM paradigmi izvršne temporalne
logike[58]).
Nakon spomenutih početaka, od sredine 90-ih godina prošlog stoljeća do danas, s više ili
manje uspjeha pojavili su mnogi agentski-orijentirani programski jezici i pripadajuće
platforme za razvoj višeagentskih sustava, a najpoznatiji od njih su:
• Jason i AgentSpeak – Jason[59] je interpreter, napisan u Javi, za proširenu verziju
AgentSpeak[60] jezika (budući da je AgentSpeak u osnovi samo apstraktni jezik).
Prikladan je za implementaciju kognitivnih agenata prema BDI arhitekturi.
• 3APL/2APL – 3APL[61] je programski jezik za implementaciju kognitivnih
agenata koji pruža mogućnost implementacije agentskih vjerovanja, ciljeva,
osnovnih sposobnosti (ažuriranje vjerovanja, vanjske akcije, komunikacijske
akcije) i skupa praktičnih pravila za zaključivanje putem kojih se agentski ciljevi
mogu ažirirati ili promjeniti. Projekt je nedavno preimenovan u 2APL[62].
• JADE – (Java Agent DEvelopment framework)[63][64] je jedan od najviše
korištenih programskih okvira za razvoj agentskih sustava. JADE daje srednji sloj
(eng. middleware) koji potpuno podržava FIPA specifikaciju te dodatno pruža
različite grafičke alate koji olakšavaju razvoj i instalaciju agentskih sustava.
Implementiran u Javi, inicijalno je razvijen od istraživačkog odjela Telecom Italia,
a poslije je prerastao u projekt otvorenog koda.
43
• Jadex[65] je programska komponenta za zaključivanje koja omogućava
programiranje inteligentnih agenata pomoću XML-a i Jave. Vrlo je fleksibilna te se
kao komponenta najviše razine može koristiti u kombinaciji s različitim
infrastrukturama srednjeg sloja (npr. JADE).
• JACK[66] je komercijalna agentska platforma koja zadovoljava industrijske
standarde u smislu skalabilnosti i integrabilnosti. Implementiran je u Javi te koristi
BDI agentsku paradigmu. JACK je inicijalno razvijen 1997. godine od bivših
članova australskog instituta za umjetnu inteligenciju, korištenjem iskustava
stečenih na razvoju Procedural Reasoning System-a (PRS) i Distributed Multi-
Agent Reasoning System-a (dMARS).
• Brahms[67] je skup softverskih alata (compiler, virtual machine, Composer, Agent
Viewer, Java application interface) za razvoj i simulaciju višeagentskih modela
ponašanja ljudi i strojeva. Brahms je originalno razvijen u cilju analiziranja i
dizajniranja ljudskih organizacija i radnih procesa. Brahms ima sličnosti s BDI
arhitekturom i drugim agentskim jezicima, ali se temelji na teoriji prakse rada (eng.
theory of work practice) i situirane spoznaje (eng. situated cognition). Koristi ga
agencija NASA.
• JIAC (Java Intelligent Agent Componentware)[68] programski okvir koji podržava
dizajn, implementaciju i instalaciju agentskih sustava. Naglasak u JIAC-u je na
distribuciji, skalabilnosti, adaptabilnosti i autonomiji. Razvijen je na Tehničkom
sveučilištu u Berlinu, u laboratoriju za distribuiranu umjetnu inteligenciju.
Praktični dio ove disertacije implemetiran je korištenjem JADE-a, odnosno njegovog
proširenja WADE-a[69] (Workflows and Agents Development Environment). Kao što je
vidljivo na slici 3.4, JADE pruža distribuirano runtime okruženje, apstrakciju agenata i
njihovih ponašanja, peer-to-peer komunikaciju izmeñu agenata, mehanizam za upravljanje
životnim vijekom agenata te mehanizam za otkrivanje agenata.
44
Slika 3.4 – WADE agentska platforma
Na prethodno navedena svojstva JADE-a WADE dodaje podršku za izvoñenje zadataka
definiranih pomoću metafore tijeka izvoñenja (eng. workflow) te brojne mehanizme koji
pomažu u upravljanju distribuiranim sustavima, u smislu administriranja sustava kao i
upravljanja pogreškama u sustavu. Uz WADE se dobiva razvojno okruženje nazvano
WOLF (dodatak za Eclipse IDE) koje olakšava razvoj WADE aplikacija. Glavna ideja
WADE-a je da se workflow pristup prenese s razine poslovnih procesa na razinu sistemske
interne logike. WADE je stoga posebno pogodan za aplikacije koje izvode prilično
kompleksne zadatke, koji uz to eventualno i dugo traju. U WADE-u svaki agent može
imati mikro sustav za izvoñenje workflow-a, tako da skup individualnih koordinirajućih
agenata može izvoditi jako složene procese, pri čemu svaki agent izvodi samo dio procesa.
3.2.3 Primjena agentske tehnologije
Agenti i višeagentski sustavi pronašli su primjenu u mnogim područjima ljudskog
djelovanja. U početnom periodu razvoja agentske tehnologije značajan dio istraživanja bio
je usmjeren na razvoj osobnih softverskih asistenata, tj. agenata koji za vrijeme dok
korisnik koristi odreñenu aplikaciju (npr. E-mail klijent) imaju ulogu proaktivnih
asistenata. Ovakvi agenti se često nazivaju i agenti za korisnička sučelja, a definira ih se
kao 'kompjuterske programe koji primjenjuju tehnike umjetne inteligencije kako bi pružili
pomoć korisniku za vrijeme korištenja aplikacije' [70].
45
Druga glavna grupa agentskih aplikacija se odnosi na distriburane sustave u kojima svaki
agent predstavlja jedan čvor sustava. U ovu grupu pripada većina današnjih agentskih
aplikacija, kao što su npr. agentski sustavi za upravljanje poslovnim procesima, za pristup i
upravljanje informacijama, za elektronsko trgovanje, za kontrolu zračnog prometa, za
simulaciju društvenih procesa i sl. Jedna od temeljnih primjena višeagentske tehnologije je
za upravljanje mrežom prostorno distribuiranih senzora (eng. sensor networks). Postoji
mnogo primjera ovakvih sustava, počevši od sustava za distribuirano praćenje vozila pa do
distribuiranih sustava za inteligentnu detekciju šumskih požara [71].
U području telekomunikacija agentski sustavi se izmeñu ostalog koriste za upravljanje
telekomunikacijskom mrežom, za upravljanje kvalitetom usluge (eng. quality of service
(QoS) management), za dinamičko rutiranje te za rutiranje temeljeno na parametrima
kvalitete usluge (eng. QoS routing). Višeagentski sustavi dobivaju sve veće značenje i u
području medicine i zdravstva. Primjeri primjene su sustavi za izradu rasporeda aktivnosti
koje se provode nad pacijentima u bolnici, sustavi za upravljanje transplantacijom organa,
sustavi za nadzor hospitaliziranih pacijenata i pomoć pri izradi dijagnoze stanja pacijenta.
Postoje tri glavna pravca primjene višeagentskih sustava u industriji: upravljanje
proizvodnim strojevima u realnom vremenu, interno upravljanje organizacijom
proizvodnje (planiranje, rasporeñivanje, strateško odlučivanje, obrada informacija) te
organiziranje virtualnih poduzeća (eng. virtual enterprise). Virtualno poduzeće je
privremeni savez više poduzeća, povezanih putem komunikacijske mreže, koja se udružuju
u cilje razmjene kompetencija i resursa, kako bi bolje odgovorili na trenutne poslovne
prilike.
Ako kritički analiziramo razvoj i primjenu agentske tehnologije, vidimo da su se u zadnjih
15-ak godina pojavila u raznim područjima mnoga eksperimentalna rješenja temeljena na
agentskoj tehnologiji, dok je broj komercijalnih rješenja i prototipova ipak znatno manji.
Stručna javnost se uglavnom slaže da agentska tehnologija ipak još nije doživjela onakav
procvat kakav je bio predviñan u zadnjoj dekadi prošlog stoljeća. Kao jedno od opravdanja
za takvo stanje smatra se proces razvoja softvera, odnosno proces razvoja agentski-
temeljenog softvera još nije toliko sazrio da bi ga se moglo primjenjivati u najvećim i
najkritičnijim projektima, koji bi i profitirali najviše od primjene agentske tehnologije.
Prisutno je i mišljenje da su postojeće agentske teorije i modeli zaključivanja još uvijek
neadekvatni te da je potrebno daljnje bazično istraživanje u tom području prije nego
agentska paradigma postane široko prihvaćena.
46
4. PREGOVARANJE U VIŠEAGENTSKIM SUSTAVIMA U agentski-orijentiranom računarstvu, potreba za postojanjem više agenata kao dijelova
odreñenog višeagentskog sustava je evidentna: za predstavljanje decentralizirane prirode
problema, za predstavljanje višestrukih perspektiva i/ili sukobljenih interesa u sustavu. U
takvom sustavu agenti trebaju izvoditi meñusobnu interakciju kako bi postigli vlastite
ciljeve ili upravljali zavisnostima koje proizlaze iz činjenice da su smješteni u zajedničku
okolinu. Takve interakcije mogu varirati od jednostavnih razmjena informacija, preko
zahtjeva za izvoñenje akcija, sve do kooperacije (zajednički rad na postizanju zajedničkog
cilja) i koordinacije. Ipak, najosnovniji i najmoćniji mehanizam za upravljanje
meñuagentskim zavisnostima u realnom vremenu (za vrijeme izvoñenja programa) je
pregovaranje – proces kojim grupa agenata dolazi do meñusobno prihvatljivog sporazuma
o npr. svojim vjerovanjima, ciljevima ili planovima. Walton i Krabbe[73] su definirali
pregovaranje kao:
Pregovaranje je oblik interakcije u kojem grupa agenata s konfliktnim interesima i sa
željom za kooperacijom pokušava postići uzajamno prihvatljiv sporazum o podjeli
oskudnih resursa.
Pojam resursa u ovoj definiciji ima jako širok smisao, to mogu biti usluge, vrijeme, novac i
sl. Resursi su oskudni jer potrebe svih sudionika ne mogu biti istovremeno zadovoljene.
Premda se pregovaranje već godinama proučava u mnogim disciplinama[74], istraživanje
automatskog pregovaranja u višeagentskim sustavima je relativno novo područje. U
kontekstu višeagentskih sustava, cilj automatskog pregovaranja je dizajniranje
mehanizama za alokaciju resursa izmeñu softverskih procesa koji predstavljaju sebične
(eng. self-interested) entitete, bilo da se radi o ljudskim jedinkama, organizacijama ili
drugim softverskim procesima.
Teorija pregovaranja daje širok teorijski opseg i uključuje više različitih pristupa problemu
(npr. teorija igara, AI, socijalna psihologija), a unatoč toj raznolikosti mogu se definirati tri
osnovna područja istraživanja:
• Protokol pregovaranja je skup pravila koji upravlja interakcijom. Pod time se
podrazumijevaju dozvoljene vrste sudionika, stanja pregovaranja (npr. prihvaćanje
ponude), dogañaji koji uzrokuju promjenu stanja pregovaranja, valjane akcije
sudionika u odreñenim stanjima.
• Objekt pregovaranja definira opseg tema (atributa) o kojima se pregovara i za
koje se mora postići sporazum. U ekstremnom slučaju, objekt može sadržavati
47
samo jedan atribut, npr. kod pregovaranja o cijeni izmeñu kupca i prodavatelja, i
tada govorimo o tzv. single-issue pregovaranju. Na drugoj strani, objekt
pregovaranja može uključivati stotine atributa (npr. pri kupnji automobila, kupac i
trgovac automobila pregovaraju o cijeni, datumu isporuke, duljini garancije,
uključenoj dodatnoj opremi i sl.) i tada govorimo o više-atributnom ili više-
tematskom pregovaranju (eng. multi-issue negotiation). Višestruki atributi dovode
do eksponencijalnog rasta prostora mogućih dogovora.
• Model agentskog odlučivanja definira način na koji sudionici u pregovaranju
donose odluke kako bi postigli svoje ciljeve. Sofisticiranost modela odlučivanja,
kao i opseg odluka koje se mogu donijeti, ovisi o korištenom protokolu, o prirodi
objekta pregovaranja kao i o opsegu akcija koje se na njemu mogu provesti.
Jedan od važnijih parametara koji odreñuju složenost pregovaranja je broj agenata
uključenih u proces pregovaranja. Po toj osnovi postoji nekoliko slučajeva:
• Pregovaranje jedan na jedan (eng. one-to-one): jedan agent pregovara samo s
jednim agentom. Specijalno jednostavan slučaj je kada agent imaju simetrične
preferencije u odnosu na mogući dogovor (npr. kupac-prodavatelj).
• Pregovaranje više na jedan (eng. many-to-one): jedan agent pregovara s više
drugih agenata (npr. u aukciji).
• Pregovaranje više na više (eng. many-to-many): više agenata istovremeno
pregovara s više drugih agenata, tako da u najsloženijem slučaju može postojati
n(n-1)/2 niti pregovaranja.
S obzirom na veliki broj varijacija okruženja u kojima se koristi pregovaranje, jasno je da
ne postoji univerzalno najbolji pristup ili tehnika automatskog pregovaranja. Naprotiv,
postoji široki skup metoda sa svojstvima i performansama koje značajno variraju ovisno o
kontekstu u kojem se koriste. Pregovaranje se može promatrati kao distribuirano
pretraživanje prostora potencijalnih dogovora (Slika 4.1). Dimenzionalnost i topologija
ovog prostora je odreñena strukturom objekta pregovaranja. Svaki atribut o kojem se
pregovara dodaje jednu dimenziju objektu pregovaranja. Ako se tijekom pregovaranja
doda novi atribut (ili ukloni postojeći), dodaje se nova dimenzija objektu pregovaranja (ili
briše postojeća), a broj potencijalnih točaka u kojima je moguć sporazum se povećava (ili
smanjuje). Slično tome, ako agent u okviru ponude promjeni vrijednost nekog atributa,
možemo reći da se agent pomiče iz jedne točke u prostoru pregovaranja u drugu točku.
48
Sudionici u procesu pregovaranja su aktivne komponente koje odreñuju smjer
pretraživanja. Na početku procesa, svaki agent ima dio prostora u kojem je spreman postići
dogovor. Pregovaranje se nastavlja tako da sudionici sugeriraju specifične točke (ili
dijelove područja) u prostoru dogovaranja kao potencijalno prihvatljive. Za vrijeme
pregovaranja, prostor dogovora (tj. prostor u kojem je sudionik spreman prihvatiti
dogovor) za svakog sudionika se može mijenjati: može se proširiti, smanjiti, pomaknuti,
npr. jer se promijenilo okruženje ili jer je sudionik uvjeren od strane drugog sudionika da
promjeni svoj pogled na problem. Pretraživanje završava kad zahtjevani broj sudionika
pronañe uzajamno prihvatljivu točku u prostoru dogovora ili kad protokol pregovaranja
diktira da se iz bilo kojeg razloga pretraživanje treba završiti bez postizanja sporazuma.
Slika 4.1 - Prostor potencijalnih dogovora za vrijeme pregovaranja
U primjeru na slici 4.1, agent A1 pregovara s dva agenta, A2 i A3. Struktura sporazuma je
ista u oba slučaja. U pregovaranju A1-A3, trenutna ponuda leži u području prekrivanja
izmeñu dva agenta, što znači da predstavlja točku potencijalnog dogovora. Nasuprot tome,
trenutna ponuda u pregovaranju A1-A2 neće dovesti do dogovora jer se nalazi izvan
područja dogovora agenta A2. Zapravo, agenti A1 i A2 trenutno nemaju nikakav
zajednički prostor dogovora tako da dogovor trenutno nije nikako moguć.
Minimalni zahtjev koji treba ispunjavati pregovarački agent je da je sposoban davati
vlastite prijedloge i odgovarati na prijedloge drugih agenata, odnosno preciznije, da je
sposoban:
• predložiti dio područja dogovora koji je agentu prihvatljiv za postizanje sporazuma
• odgovoriti na takav prijedlog od drugog agenta, u smislu prihvaćanja ili
neprihvaćanja
Ako agenti mogu samo prihvatiti ili odbiti prijedloge drugih agenata, tada pregovaranje (a
osobito pregovaranje o višedimenzionalnim objektima) može jako dugo trajati i biti
neefikasno jer predlagatelj nema načina za utvrditi zašto je prijedlog neprihvatljiv, niti da
49
li su agenti blizu dogovora, kao niti u kojoj dimenziji/smjeru prostora dogovaranja bi
trebala biti sljedeća ponuda. Stoga predlagatelju preostaje samo da bira točke u prostoru
dogovaranja temeljem vlastite percepcije o tome što drugi agenti preferiraju i nadajući se
da će eventualno naići na nešto prihvatljivo svima. Za poboljšanje efikasnosti procesa
pregovaranja, primatelj treba biti sposoban pružiti korisniju povratnu informaciju o
prijedlozima koje prima. Povratna informacija (eng. feedback) može biti u obliku kritike
(komentari o tome koji dijelovi prijedloga se agentu sviñaju, a koji ne) ili protuprijedloga
(alternativni prijedlog generiran kao odgovor na prethodni prijedlog). Iz takve povratne
informacije, predlagatelj bi trebao biti u mogućnosti generirati novi prijedlog koji ima
bolje šanse dovesti do postizanja sporazuma.
Dva sljedeća kratka dijaloga su primjeri kako može izgledati kritika na prijedlog:
A1: Predlažem da mi pružiš uslugu X pod sljedećim uvjetima: (cijena,
datum isporuke,...).
A2: Odgovara mi cijena za X, ali datum isporuke je prerano.
A1: Predlažem da ti pružim uslugu Y ako mi pružiš uslugu X.
A2: Ne želim uslugu Y.
U prvom slučaju, kritika ukazuje na one aspekte prijedloga koji su prihvatljivi i na one koje
je potrebno promjeniti, te takoñer sugerira ograničenje na jednom atrubutu (datum isporuke
treba biti kasnije u odnosu na trenutni prijedlog). U drugom slučaju, kritika donosi potpuno
odbijanje dijela prijedloga. Općenito, što se više informacija nalazi u kritici, originalni
agent će lakše odrediti granice prostora dogovora za suprotnog agenta.
Protuprijedlog je prijedlog koji je pošiljatelju prihvatljiviji u odnosu na prethodni prijedlog.
Slijede dva primjera prijedloga koje slijedi protuprijedlog:
A1: Predlažem da mi pružiš uslugu X.
A2: Predlažem da ti pružim uslugu X ako ti meni pružiš uslugu Z.
A1: Predlažem da ti pružim uslugu Y ako ti meni pružiš uslugu X.
A2: Predlažem da ti pružim uslugu X ako ti meni pružiš uslugu Z.
U prvom slučaju, protuprijedlog proširuje inicijalni prijedlog, a u drugom slučaju ispravlja
dio inicijalnog prijedloga. Protuprijedlozi se razlikuju od kritika po tome što je povratna
50
informacija manje eksplicitna, ali zapravo detaljnija jer se identificiraju specifična
područja prostora dogovora suprotnog agenta.
Prijedlozi, kritike i protuprijedlozi su izjave o tome što agenti žele. Meñutim, njihov opseg
je ograničen samo na strukturu objekta pregovaranja. Mada je potpuno moguće temeljiti
pregovaranje samo na ovim konstruktima na razini objekta (a to je upravo ono što i radi
većina modela pregovaranja), takav pristup smanjuje potencijal tehnike pregovaranja jer u
tom slučaju agenti ne mogu:
• Opravdati svoje pregovaračko stajalište – Agent može imati nesavladiv razlog za
usvajanje odreñenog pregovaračkog stajališta. Npr. tvrtka nije pravno ovlaštena
prodavati specifičnu vrstu proizvoda specifičnoj vrsti kupaca, ili npr. specifični
proizvod nije na skladištu. U takvim situacijama, sposobnost pružanja opravdanja
za vlastiti stav u odnosu na odreñenu temu može omogućiti suprotnom agentu da u
potpunosti poštuje agentova ograničenja i ponašanje.
• Uvjeriti jedan drugog da promjene pregovaračko stajalište – Kako bi omogućili
da može doći do dogovora, agenti često moraju aktivno mijenjati prostor dogovora
suprotnog agenta ili njegovo vrednovanje tog prostora. U takvim slučajevima,
agenti nastoje kreirati argumente za koje vjeruju da će njihov prijedlog učiniti
prihvatljivijim za oponente u pregovaranju. Argumenti trebaju identificirati
mogućnosti za takve promjene (npr. trgovac vozilima uključuje audio ureñaj u
cijenu vozila kako bi povećao vrijednost dobra), stvoriti nove mogućnosti za
promjenu (npr. trgovac vozilima dodaje novu dimenziju funkciji vrednovanja
(korisnosti) naglašavajući nova sigurnosna svojstva vozila) ili promjeniti postojeće
kriterije procjenjivanja (npr. trgovac vozilima uvjerava kupca da promjeni svoju
funkciju vrednovanja uvjeravajući ga da je sigurnost mnogo važnija od maksimalne
brzine vozila).
U oba slučaja, pregovaratelji pružaju argumente koji podupiru njihovo stajalište, stoga se
govori o pregovaranju temeljenom na argumentaciji. Argumenti mogu biti vrlo različiti
po prirodi i tipu, a uobičajeno se koriste:
• prijetnje ('ako ne prihvatiš ovaj prijedlog, dogodit će ti se nešto negativno'),
• nagrade ('ako prihvatiš ovaj prijedlog, dogodit će ti se nešto pozitivno'),
• apeli ('trebao bi preferirati ovu opciju u odnosu na alternativu, iz nekog razloga').
Bez obzir na precizni oblik, uloga argumenata je uvijek da kod primatelja mijenjaju
područje prihvatljivosti ili da mijenjaju njegovu funkciju vrednovanja na ovom području.
51
Na taj način, argumenti povećavaju vjerojatnost postizanja sporazuma i/ili brzinu
postizanja sporazuma.
4.1 Modeli pregovaranja
Pregovaranje je sredstvo kojim agenti meñusobnom komunikacijom kompromisno postižu
uzajamno korisne sporazume[75]. U procesu pregovaranja, svaki agent želi radije postići
dogovor nego da pregovaranje završi bez sporazuma. S druge strane, svaki agent želi
postići takav sporazum koji je za njega što je moguće poželjniji. Za rješavanje ovakvog
problema korišteni su brojni modeli pregovaranja, primjenjeni npr. na alokaciju podataka u
informacijskim serverima, na alokaciju resursa i distribuciju zadataka[76][77][78][79].
Pored toga, područje primjene u kojem je agentski-posredovano pregovaranje priskrbilo
značajnu pažnju je polje elektronske trgovine[80][81][82].
Iz razloga kompleksnosti, većina pokušaja za automatizacijom procesa pregovaranja je bila
usmjerena na jednostavnije slučajeve, odnosno na 'jedan na jedan' simetrično pregovaranje
o jednom atributu. Postoje tri glavna usvojena pristupa problemu automatskog
pregovaranja: pristup temeljen na teoriji igara, heuristički pristup i pristup temeljen na
argumentaciji, a opisati ćemo ih ukratko u sljedećim podpoglavljima.
4.1.1 Pristup temeljen na teoriji igara
Teorija igara proučava interakcije izmeñu sebičnih agenata. Kako i sugerira njeno ime,
osnovni koncepti teorije igara proizlaze iz proučavanja igara (npr. šah). Meñutim, brzo je
postalo jasno da se tehnike i rezultati teorije igara mogu jednakovrijedno primjeniti na sve
interakcije izmeñu sebičnih agenata. Teorija igara je relevantna za proučavanje
automatskog pregovaranja jer se za sudionike pregovaranja uzima da su sebični.
Za bilo koju višeagentsku interakciju teorija igara postavlja klasično pitanje: što je najbolje
(najracionalnije) što agent može napraviti? U većini interakcija, cjelokupni ishod ovisi o
izborima koje su napravili svi agenti u scenariju. Iz toga proizlazi da, ako pojedini agent
želi napraviti takav izbor koji optimizira njegov ishod, on mora djelovati strateški.
Strateško djelovanje znači da agent mora uzeti u obzir odluke koje su donijeli drugi agenti
i mora pretpostaviti da će i oni djelovati na isti način kako bi optimizirali vlastite ishode. U
slučaju pregovaranja to uključuje npr. uzimanje u obzir privatnih vrednovanja koja drugi
52
agenti imaju o temama pregovaranja, njihove privatne krajnje rokove za postizanje
sporazuma i sl. Teorija igara daje način za formalizaciju i analizu ovakvih problema.
Pregovaranje je proučavano u literaturi iz područja teorije igara mnogo prije pojavljivanja
višeagentskih sustava kao područja istraživanja te čak i prije nastanka prvih digitalnih
računala. Računalna znanost je dodala još jednu značajku koju je teorija igara trebala uzeti
u obzir. Naime, proučavanje racionalnog odlučivanja u višeagentskim interakcijama
temeljem teorije igara pretpostavlja da agenti mogu izabrati najbolju strategiju iz prostora
mogućih strategija, uzimajući u obzir sve moguće interakcije. Uočava se da prostor
pretraživanja strategija i interakcija raste eksponencijalno, što znači da je općenito problem
pronalaska optimalne strategije teško rješiv problem u računskom smislu. U računalnoj
znanosti, proučavanjem ovakvih problema bavi se teorija računske kompleksnosti te
postoji značajna literatura posvećena razvoju efikasnih algoritama za teško rješive
probleme (eng. intractable problems). Primjena ovih tehnika na proučavanje višeagentskih
interakcija je vrlo plodno područje trenutnog istraživanja.
U zadanom scenariju automatskog pregovaranja, tehnike teorije igara se mogu primjeniti
na dva ključna problema:
• Dizajniranje protokola koji upravlja interakcijama izmeñu sudionika u
pregovaranju. Protokol definira 'pravila susreta' izmeñu agenata. Formalno,
protokol je skup normi koje ograničavaju prijedloge koje su sudionici u
pregovaranju u stanju napraviti.
• Dizajniranje strategije (modela agentskog odlučivanja) koju individualni agenti
koriste za vrijeme pregovaranja. Agent ima namjeru koristiti strategiju koja
maksimizira njegovo individualno blagostanje. Najveća poteškoća je u tome što su
strategije koje imaju najbolje rezultate u teoriji s računskog gledišta teško rješive i
uslijed toga neprimjenjive u praksi.
Neka od poželjnih svojstava protokola za upravljanje višeagentskim 'susretima' su:
• Garantirani uspjeh: Protokol garantira uspjeh ako osigurava da će se sigurno
postići dogovor.
• Maksimiziranje društvenog blagostanja: Protokol maksimizira društveno
blagostanje ako osigurava da bilo koji ishod maksimizira sumu korisnosti svih
sudionika u pregovaranju.
53
• Pareto efikasnost: Za ishod pregovaranja se kaže da je Pareto efikasan ako ne
postoji drugi ishod koji će biti bolji za barem jednog agenta, bez da je pritom bilo
kojem drugom agentu smanjena mjera zadovoljstva.
• Individualna racionalnost: Za protokol se kaže da je individualno racionalan ako
je djelovanje prema protokolu, tj. 'igranje po pravilima', u najboljem interesu
agenata sudionika. Individualno racionalni protokoli su esencijalni jer bez njih ne
postoji podsticaj za agente da uopće sudjeluju u pregovaranjima.
• Stabilnost: Protokol je stabilan ako svim agentima sudionicima daje podsticaj da se
ponašaju na odreñeni način. Najpoznatija vrsta stabilnosti je Nashov ekvilibrij.
• Jednostavnost: Protokol je jednostavan ako odreñenu strategiju čini sudionicima
očiglednom, tj. koristeći jednostavan protokol sudionici mogu na lak način odrediti
optimalnu strategiju.
Činjenica je da čak i prilično jednostavni pregovarački protokoli mogu imati ovakva
poželjna svojstva i to je jedan od razloga uspješne primjene tehnike teorije igara na
pregovaranje. Usprkos mnogim prednostima, postoje i problemi povezani s primjenom
teorije igara na automatsko pregovaranje, kao što su:
• Teorija igara pretpostavlja da je moguće karakterizirati agentske preferencije u
odnosu na moguće ishode. S druge strane, ljudima je često izrazito teško
konzistentno definirati preferencije u odnosu na ishode, čak i s jednostavnim
poredavanjem ishoda korištenjem samo numeričkih korisnosti. U situacijama gdje
su preferencije očigledne, pristup temeljen na teoriji igara bi trebao davati dobre
rezultate. Meñutim, ako su preferencije kompleksne (više-atributno pregovaranje),
smatra se da je ovakav pristup teško primjenjiv.
• Teorija igara nije uspjela stvoriti generalni model racionalnog odlučivanja, nego je
umjesto toga stvorila brojne visoko-specijalizirane modele koji su primjenjivi na
specifične vrste meñusobno-zavisnih odlučivanja.
• Modeli teorije igara često pretpostavljaju savršenu računsku racionalnost, što znači
da nije potrebno nikakvo računanje kako bi se pronašlo uzajamno prihvatljivo
rješenje unutar skupa mogućih ishoda. Pored toga, za prostor mogućih rješenja se
često uzima da je potpuno poznat svim agentima, kao i vrijednosti ishoda. U
slučajevima iz stvarnog života, ova pretpostavka je rijetko ispravna jer agenti
obično poznaju svoje informacijske prostore, ali ne znaju informacije o njihovim
oponentima. Uz to, čak i ako je zajednički prostor rješenja poznat agentima, velika
54
je razlika izmeñu poznavanja činjenice da rješenje postoji i znanja što je stvarno
rješenje. Npr. u šahu, igra ima rješenje, ali je pretraživanje izrazito kompleksno u
računskom smislu. Stoga se zaključuje da pojam savršene racionalnosti, iako
koristan za dizajniranje i predviñanje sustava, nije koristan u praksi.
Unatoč navedenim problemima, teorija igara je jako moćan alat za automatsko
pregovaranje, tako da je našla primjenu u mnogim poznatim radovima iz ovog područja, a
najznačajniji su:
• model naizmjeničnih ponuda, predložen od Rubinsteina [76][78][83]
(pregovaranje o podjeli resursa),
• monotoni koncesijski protokol i Zeuthenova strategija (Rosenschein i
Zlotkin[79]) (pregovaranje o alokaciji zadataka).
U ovu grupu modela pregovaranja pripadaju i aukcije. Razvoj interneta i weba krajem
prošlog stoljeća doveo je do povećanog interesa za aukcijske mehanizme, kako s aspekta
istraživanja, tako i sa strane komercijalne primjene (eBay kao najpoznatiji primjer).
Aukcija je mehanizam koji se koristi za postizanje dogovora o tome kako alocirati oskudne
resurse na agente sudionike[83][84]. Resursi u aukciji mogu biti vrlo različiti, od
umjetničkih slika, nekretnina, proizvoda opće namjene, prava iskorištavanja rudnog
bogatstva, korištenja uzletno-sletnih staza u zračnim lukama, prava uspostavljanja
autobusnih linija, pa sve do najvećih ikad održanih aukcija, početkom ovog stoljeća, kada
su predmet aukcija u mnogim državama bile elektromagnetske frekvencije za mobilnu
telefoniju.
4.1.2 Heuristički pristup
Heurističi metode se koriste kako bi se izbjegla prethodno navedena ograničenja modela
pregovaranja temeljenih na teoriji igara. Slično kao i kod ostalih primjena heurističkih
metoda na rješavanje različitih znanstvenih problema, heuristički pristup se očituje u manje
iscrpnom pretraživanju prostora pregovaranja nego kod pristupa temeljenom na teoriji
igara. Posljedica je da heurističke metode stvaraju dobro, ali ne i optimalno rješenje. Osim
što mogu biti računska aproksimacija tehnike teorije igara, heurističke metode mogu
predstavljati i računalnu realizaciju neformalnih modela pregovaranja[85][86][87] [88].
Ključne prednosti heurističkog pristupa su:
55
• Modeli su temeljeni na realističnim pretpostavkama, taka da daju prikladniju
osnovu za automatizaciju, te se stoga mogu koristiti u širem opsegu aplikacijskih
domena.
• Dizajneri agenata koji nemaju znanja iz teorije igara mogu korištenjem
alternativnih modela racionalnosti razviti različite agentske arhitekture.
Glavna zadaća pri ovakvom radu je modeliranje agentskog heurističkog odlučivanja za
vrijeme trajanja pregovaranja. Obično se prostor mogućih rješenja predstavlja s ugovorima
koji imaju različite vrijednosti za sve sadržane atribute o kojima se pregovara. Svaki agent
ocjenjuje ove točke prema svojim preferencijama koje su definirane funkcijom korisnosti.
Niz prijedloga i protuprijedloga završava ako protekne vrijeme predviñeno za postizanje
sporazuma ili ako se pronañe uzajamno prihvatljivo rješenje.
Kod ovakvog pristupa, mehanizam agentskog odlučivanja se obično sastoji od pasivnog
dijela koji vrednuje prijedloge suprotnog agenta, te dijela koji proaktivno manipulira
ugovorom, pokušavajući postići sporazum. Postoje dvije osnovne vrste akcije: predlaganje
kompromisa ili manipulacija atributima ugovora. Kompromisni prijedlog se obično dobiva
promjenom vrijednosti atributa, uz zadržavanje ukupne korisnosti. Cilj kompromisnog
prijedloga je postizanje veće atraktivnosti prijedloga za agenta oponenta, predlaganjem
ugovora koji je 'blizu' zadnjeg prijedloga oponenta.
Mehanizam manipulacije atributima ugovora dodaje ili oduzima atribute iz pregovaračkog
skupa, odnosno dinamički mijenja strukturu pregovaračkog objekta kako bi se izbjegli
lokalni minimumi na koje se nailazi. Budući da se agenti moraju složiti o skupu atributa o
kojima se pregovara, na ovaj način se zapravo mijenja dimenzionalnost prostora rješenja.
Heurističke metode, iako izbjegavaju neke nedostatke modela temeljenih na teoriji igara,
ipak imaju i odreñene nedostatke. U prvom redu, kao rezultat daju sporazume koji su pod-
optimalni (jer ne pretražuju cijeli prostor svih mogućih dogovora). Dodatno, ovakvi modeli
zahtjevaju temeljitu procjenu (najčešće putem simulacije i empirijske analize) jer je obično
nemoguće precizno predvidjeti kako će se agenti i sustav ponašati u mnoštvu različitih
okolnosti. Vrlo značajan problem kod heurističkih metoda je nedostatak strukturiranog
pristupa dizajniranju agentskih strategija u kompleksnim domenama primjene. Većina do
sada primjenjenih strategija je dizajnirana uglavnom korištenjem intuicije i iskustva. Jedan
od prvih pokušaja izbjegavanja ovog problema je STRATUM [89], metodologija za
dizajniranje agentskih heurističkih strategija za pregovaranje. Ova metodologija pruža
56
disciplinirani pristup analizi pregovaračkog okruženja i dizajniranju agentske strategije
prema traženim agentskim sposobnostima.
4.1.3 Pristup temeljen na argumentaciji
Prethodno opisane metode pregovaranja (pristup temeljen na teoriji igara i heuristički
pristup) se baziraju na prijedlozima. Meñutim, uočavaju se ograničenja ovakvog pristupa:
• Prijedlozi označavaju pojedinačne točke u prostoru pregovaranja.
• Jedina povratna informacija koja se može dati na prijedlog je protuprijedlog (što je
opet druga točka u prostoru) ili prihvaćanje prijedloga ili povlačenje iz pregovora.
• Jako je teško za vrijeme pregovaranja promjeniti skup atributa o kojima se
pregovara, tj. dodati novu dimenziju u prostor pregovaranja.
Pristup temeljen na argumentaciji pokušava ukloniti ova ograničenja. Ideja je da se osim
prijedloga omogući izmjena i dodatnih informacija. Te informacije su argumenti koji
eksplicitno izražavaju mišljenje agenta koji daje argumente. Na taj način, agent može npr.
pored odbijanja prijedloga, dati i kritiku prijedloga, objašnjavajući zašto je prijedlog za
njega neprihvatljiv. To ima za posljedicu identificiranje područja u pregovaračkom
prostoru koje nije vrijedno istraživanja od strane drugog agenta. Slično tomu, agent može
popratiti prijedlog s argumentom koji govori zašto bi ga drugi agent trebao prihvatiti.
Takva vrsta argumenata čini mogućim promjenu područja prihvatljivosti za drugog agenta
(mijenjanjem njegovih preferencija) kao i promjenu samog prostora pregovaranja.
Primjeri korištenja argumentacije u automatskom pregovaranju se mogu pronaći u
[90][91][92]. Korištenje argumentacije u agentima podrazumijeva baratanje agentskim
mentalnim stavovima i meñusobnom komunikacijom te integraciju argumentacijskog
mehanizma u složenu agentsku arhitekturu. Ideja je da se u odreñenom trenutku iz
standardnog pregovaračkog protokola prijeñe u posebni argumentacijski dijalog, te se
nakon završetka argumentacije vrati nazad u glavni protokol. Agenti sposobni izvoditi
argumentaciju imaju mogućnost uvjeravanja te na taj način često su sposobni postići
dogovor u situaciji kada standardni agenti to ne bi mogli. Meñutim, uslijed konstrukcije i
evaluacije argumenata, pregovarački proces postaje značajno složeniji, na osnovu čega se
očekuje da će ovakvi agenti u budućnosti predstavljati samo manji dio agenata sposobnih
za automatsko pregovaranje.
57
4.2 Pregovaranje složenih ugovora
Pregovaranje izmeñu dva agenta o jednoj temi (tj. vrijednosti jednog atributa ugovora) je
najjednostavniji slučaj pregovaranja. Sve do početka ovog stoljeća, rad na području
računalnih modela pregovaranja je gotovo isključivo bio fokusiran na situacije u kojima se
pregovara o jednom ili više nezavisnih atributa. Osnovni princip tehnike pregovaranja u
takvom slučaju se može objasniti pomoću slike 4.2. Na ovoj slici je zbog jednostavnosti
prikazana samo jedna dimenzija, ali u općem slučaju će postojati jedna dimenzija za svaki
atribut o kojem se pregovara. Svaka točka na osi x predstavlja potencijalni ugovor, dok je
na osi y prikazana korisnost svakog pojedinog ugovora. Oba agenta imaju definiranu
rezerviranu vrijednost korisnosti, a koja odreñuje da će biti prihvaćeni samo ugovori čija
korisnost je veća od rezervirane korisnosti. Budući da se pregovara o relativno malom
broju atributa, prostor svih mogućih ugovora se može iscrpno pretražiti, a budući da su
atributi ugovora meñusobno neovisni, funkcije korisnosti za svakog agenta su linearne. To
znači da agenti mogu zbrojiti korisnosti pojedinih atributa kako bi dobili ukupnu korisnost.
U takvom kontekstu, razumna strategija svakog agenta je započeti pregovaranje sa svojim
idealnim ugovorom i zatim popuštati (putem iterativne razmjene prijedloga) onoliko koliko
je potrebno da druga strana prihvati ugovor.
rezervirana korisnost
Agent 1
rezervirana korisnost
Agent 2
Slika 4.2 – Standardni pogled na pregovaranje
58
Realni slučajevi iz stvarnog života su ipak složeniji te se mogu sastojati čak i od velikog
broja meñusobno ovisnih atributa. Budući da su vrijednosti atributa meñusobno ovisne,
agenti imaju nelinearnu funkciju korisnosti, s višestrukim lokalnim optimumima (Slika
4.3). Realni ugovor može imati i do stotinu različitih atributa. Kao jednostavniji primjer,
prilikom pregovaranja o konfiguraciji PC računala, ukupna korisnost konfiguracije se zbog
meñuovisnosti atributa ne može dobiti zbrajanjem korisnosti za procesor, matičnu ploču,
disk, memoriju i dr. Ako postoji 50 meñusobno ovisnih atributa o kojima se pregovara i
ako svaki od njih može imati samo dvije vrijednosti (1 i 0), dobije se prostor pretraživanja
od reda veličine 1015 potencijalnih ugovora, što je jako teško iscrpno pretražiti.
Slika 4.3 - Kompleksno pregovaranje
U takvom kontekstu, ako bi agenti imali strategiju da započnu pregovaranje od svog
idealnog ugovora i zatim polagano daju ustupke, to bi moglo rezultirati da propuste pronaći
ugovore koji imaju veću kvalitetu iz perspektive oba agenta. Npr. u primjeru na slici 4.3,
ako oba agenta jednostavno popuštaju od svog idealnog ugovora prema idealnom ugovoru
oponenta, propustit će pronaći bolje ugovore na desnoj strani. S druge strane, iscrpno
traženje takvih 'win-win' ugovora je nepraktično zbog veličine prostora pretraživanja. Isto
59
tako, s obzirom da su funkcije korisnosti pojedinog agenta prilično kompleksne, nije
praktično ni da agenti uče funkciju korisnosti oponenta, primjenom nekih od algoritama za
učenje. U sljedeća dva potpoglavlja dajemo pregled dosadašnih spoznaja o problemu
pregovaranja složenih ugovora, počevši od jednostavnijeg višetematskog pregovaranja do
pregovaranja o teško rješivim problemima uslijed izrazito velikog prostora pretraživanja.
4.2.1 Višeatributno pregovaranje
Višeatributno ili višetematsko pregovaranje je fundamentalni interakcijski mehanizam u
višeagentskim sustavima. Prostor rješenja kod ovakvog pregovaranja je n-dimenzionalan
(n>1), nasuprot jednodimenzionalnom prostoru kod pregovaranja o jednom atributu.
Takoñer, za razliku od pregovaranja o samo jednom atributu gdje se uvijek radi o 'win-lose'
situaciji (što jedna strana dobije, druga mora izgubiti), kod višetematskog pregovaranja
može postojati i 'win-win' situacija. Naime, u ovom slučaju agenti mogu imati različite
preferencije o atributima tako da obje strane mogu postići bolji sporazum o atributima koji
su im važniji, čineći ustupke na atributima koji im nisu tako važni.
Mada do sada postoje mnoga predložena rješenja problema višetematskog pregovaranja,
sve do prije nekoliko godina većina istraživanja se temeljila na pretpostavci da ne postoji
meñuovisnost atributa o kojima se pregovara, tj. da su funkcije korisnosti agenata linearne.
U tom slučaju, ukupna vrijednost funkcije korisnosti agenta se dobije kao težinska suma
vrijednosti ovisnih o pojedinom atributu. Ako se radi o dva atributa, vrijedi:
u(a1,a2) = w1v1(a1)+ w2v2(a2) (4.1)
Ipak, kao što je poznato, većina problema iz stvarnog života uključuje meñusobnu ovisnost
atributa, odnosno nelinearnu funkciju korisnosti s višestrukim optimumima. U takvoj
situaciji, vrijedi izraz:
u(a1,a2) = w1v1(a1, a2)+w2v2(a1,a2) (4.2)
Navedimo samo jedan jednostavan primjer[93]. Poslodavac i posloprimac pregovaraju o
radnom ugovoru koji ima dva značajna atributa: broj radnih dana posloprimca u tjednu i
broj dana u kojima poslodavac plaća čuvanje djece posloprimca. Posloprimac mora voditi
računa o meñuovisnosti ova dva atributa jer radno vrijeme treba balansirati s vremenom
čuvanja djece. Uz pretpostavku da je partner posloprimca takoñer zaposlen i da je preuzeo
odgovornost takoñer samo za djelomično čuvanje djece, posloprimac je obećao da će
barem dva dana u tjednu brinuti o djeci, osobno ili koristeći profesionalnu skrb koju će
60
platiti njegova buduća tvrtka. Ako mu poslodavac predloži ugovor za pet radnih dana,
kandidat će pokušati ispregovarati takav ishod koji uključuje dva dana u kojima
poslodavac plaća brigu o djeci. Za kandidata korisnost ugovora koji uključuje pet radnih
dana i manje od dva dana plaćenog čuvanja djece ima nisku vrijednost (npr. u(5,0)=0,1;
u(5,1)=0,5). Kod ugovora u kojem posloprimac radi tri dana u tjednu, atribut vezan za
čuvanje djece ima manju ulogu, tako da je npr. u(3,0)=0,35 i u(3,1)=0,55. Na sličan način
su odreñene vrijednosti funkcije korisnosti i za ostale kombinacije broja radnih dana i broja
plaćenih dana čuvanja djece (Slika 4.4).
Slika 4.4 - Primjer funkcije korisnosti kod meñuovisnih atributa[93]
Kod višetematskog pregovaranja prostor pregovaranja Neg = <P, A, D, U, T> je petorka
koja se sastoji od konačnog skupa agenata sudionika (P), skupa atributa o kojima se
pregovara (A) koji je poznat svim sudionicima p∈ P, skupa domena za atribute (D), skupa
funkcija korisnosti U sa pojedinim funkcijama Up∈ U za agent p∈ P. Domena pojedinog
atributa se označava s Dai, gdje je Dai∈ D i ai∈ A. Svaki agent p može imati krajnji rok za
postizanje sporazuma (deadline) tp∈ T. Pretpostavlja se da su informacije o P, A i D
razmjenjene izmeñu agenata sudionika prije samog početka pregovaranja. Ponuda '(=
<da1, da2, ..., dan> je n-torka vrijednosti atributa koja se odnosi na konačni skup atributa
A={a1,a2,...,an}. Ponuda se takoñer može promatrati kao vektor vrijednosti atributa u
geometrijskom prostoru pregovaranja, pri čemu svaka dimenzija predstavlja jedan atribut o
kojem se pregovara. Svaki atribut ai uzima svoju vrijednost iz domene Dai. Budući da ljudi
imaju sklonost specificirati svoje preferencije u obliku raspona vrijednosti, još općenitiji
61
oblik ponude se može navesti kao n-torka raspona atributa, npr. oi=<10-15(Kn), 1-2
(godine), 20-25 (dana), 300-400(komada) >.
Kod rješavanja linearnih problema ukupno rješenje se pronalazi optimizacijom svakog
pojedinog atributa zasebno. Na žalost, istraživanja su pokazala da primjena postojećih
mehanizama prikladnih za pregovaranje kod linearnih problema ne daje dobre rezultate
kod nelinearnih problema. Višetematsko pregovaranje je složen zadatak iz nekoliko
razloga:
• kompleksne preferencije (funkcije korisnosti) agenata, ovisne o višestrukim,
najčešće meñuovisnim atributima
• nepotpune informacije: agentske preferencije nisu zajedničko znanje - u realnim
scenarijima agenti nisu spremni dijeliti svoje preferencije s partnerima u
pregovaranju, odnosno žele dijeliti što je moguće manje takvih informacija.
• visoka složenost računanja pri izboru pregovaračke strategije
Racionalni agenti koji traže 'win-win' rješenje ne bi trebali 'ostaviti ekstra novac na stolu',
drugim riječima, idealni sustav bi trebao postići Pareto-efikasno rješenje. Postizanje
Pareto-optimalnog rješenja nije ipak jednostavan zadatak u situaciji kada jedna strana teži
optimizaciji vlastite korisnosti bez respekta prema korisnosti druge strane. Dosadašnja
istraživanja koriste dva temeljna pristupa:
• pristup temeljen na teoriji igara
• heuristički pristup
Pri pristupu temeljenom na teoriji igara istraživači su koristili dva različita podpristupa
problemu: a) pregovaranje svih atributa istovremeno [94], b) sekvencijalno (jedan po
jedan) pregovaranje atributa[95]. U [95], autori uzimaju u obzir i vremenska ograničenja
prilikom pregovaranja, kao što su: a) oba sudionika (kupac i prodavatelj) imaju zadan
krajnji rok do kojeg moraju postići sporazum, b) gubitak korisnosti tijekom vremena, c)
povećavanje korisnosti tijekom vremena. Kao što smo naveli u prethodnim potpoglavljima,
najveći nedostatak pristupa temeljenog na teoriji igara je postojanje 'zajedničkog znanja', tj.
uzima se da agenti na samom početku pregovora meñusobno dijele preferencije i taktiku
pregovaranja. Mnogo realističniji pristup je predložen u [95], gdje agenti prvih nekoliko
rundi pregovora uče preferencije oponenta.
Heuristički pristup višetematskom pregovaranju se u današnje doba mnogo više proučava.
Osnovna ideja ovog pristupa je pretpostavka da se korištenjem heurističkih algoritama
može na najbolji način postići kontinuirano poboljšavanje pregovaračke strategije agenta.
62
Pritom se, za razliku od pristupa temeljenog na teoriji igara, polazi od činjenice da u
realističnim scenarijima pregovaranja agenti imaju ograničeno znanje o svojim
oponentima. U takvim situacijama agenti moraju donositi odluke na temelju nepotpunih i
nesigurnih informacija. Jedan od načina za postizanje tog cilja je da agenti imaju
mehanizam za postupno učenje dobrih strategija promatranjem poteza (ponuda) oponenta
tijekom procesa pregovaranja. Dodatno, budući da se preferencije agenta i njegovih
oponenata mogu mijenjati tijekom vremena, efektivni mehanizam pregovaranja mora biti i
adaptibilan na promjenu agentskog okruženja. Efikasnost heurističkih algoritama se
unaprijeñuje tijekom vremena na temelju informacija koje agenti dobivaju tijekom
pregovaranja. Heuristički algoritmi ne garantiraju postizanje optimalnog rješenja, ali u
mnogim slučajevima se dobiva prihvatljivo rješenje.
Pokazalo se da heurističke metode daju bolje rezultate kod linearne funkcije korisnosti
agenta nego u slučaju postojanja nelinearnosti. U linearnom slučaju, kad atributi ne utječu
jedan na drugi, višetematsko pregovaranje možemo tretirati kao istovremeno pregovaranje
o više pojedinačnih atributa. U slučaju višetematskog pregovaranja s nelinearnom
funkcijom korisnosti pojavljuju se mnoge poteškoće, u prvom redu potreba za snažnim
računalima i dugo trajanje pregovaranja. Svako povećanje broja atributa dovodi do
drastičnog, često i eksponencijalnog, povećavanja troška računanja. To i jest jedan od
razloga zašto je do danas ova vrsta pregovaranja mnogo manje istražena od linearnog
slučaja. Najčešće korištena metoda iz područja umjetne inteligencije za rješavanje
problema višetematskog pregovaranja je primjena genetičkih algoritama[96][97]. Vrlo
često se kod ovakvih problema koristi agent posrednik (medijator)[98][99][100][101]
[102], o čemu ćemo više pisati u sljedećem potpoglavlju.
4.2.2 Pregovaranje o teško rješivim problemima
Većina scenarija pregovaranja iz stvarnog života uključuje veliki broj meñusobno zavisnih
atributa, s nelinearnim funkcijama korisnosti agenata sudionika. U takvim situacijama
prostor pretraživanja raste eksponencijalno s brojem uključenih atributa i nemoguće ga je
iscrpno pretražiti pa govorimo o teško rješivom problemu pregovaranja (eng. complex
negotiation for intractable problem). Jedan od mogućih pristupa rješavanju ovakvog
problema dali su Hindriks et al.[103], a temelji se na transformaciji složenog prostora
korisnosti metodom ponderiranog prosjeka u mnogo jednostavniju aproksimaciju. Na taj
63
način eliminira se meñusobna ovisnost izmeñu atributa što dovodi do mogućnosti primjene
jednostavnijih strategija pregovaranja za neovisne atribute te mnogo jednostavnijeg
računanja pri pregovaranju. Naime, autori polaze od pretpostavke da sva potencijalna
rješenja nisu jednako značajna kod pregovaranja: neka rješenja sigurno nisu prihvatljiva, a
neka su preoptimistična jer nije za očekivati da će biti prihvaćena od drugih sudionika. To
znači da je moguće odrediti očekivano područje korisnosti u kojem će se najvjerojatnije
nalaziti ishod pregovora. Mada eliminacija ovisnosti izmeñu atributa implicira gubitak
informacija i točnosti, autori pokazuju da se na ovaj način mogu dobiti rješenja koja ne
odstupaju znatno od optimalnih. Problem kod ovog pristupa je u tome što se može
primjeniti samo na funkcije korisnosti koje nisu previše 'divlje' te što zahtjeva unaprijed
jako dobro poznavanje domene problema.
Lau[96] je predložio pristup temeljen na primjeni genetičkih algoritama. Korišten je
protokol s naizmjeničnim ponudama temeljen na monotonom koncesijskom protokolu
[79]. U svakoj novoj rundi, sve dok se ne dogodi preklapanje ponuda, agent korištenjem
genetičkih algoritama računa novu ponudu. Kao funkcija cilja (eng. fitness function) u
algoritmu se koristi funkcija koja ovisi o preferencijama agenta, o posljednjoj ponudi
agenta oponenta i o vremenu preostalom za sklapanje sporazuma.
Ipak, kod složenih problema višetematskog pregovaranja najčešće se koristi agent
posrednik. Upotreba agenta posrednika ima polazište u načinu odvijanja pregovora u
ljudskom društvu. U tom procesu, posrednik predlaže ugovor kojeg onda svaka strana
procjenjuje i najčešće kritizira. Na temelju ovih odgovora, posrednik predlaže novi ugovor,
nadajući se da će biti prihvatljiviji za sudionike. Proces se nastavlja sve dok se ne postigne
minimalno zahtjevana (rezervirana) korisnost za oba agenta. Na slici 4.5, vertikalna linija
predstavlja ugovor koji je trenutno predložen od posrednika. Svaki novi ugovor pomiče
liniju u različitu točku na osi x. Cilj je pronaći ugovor koji je dovoljno dobar za oba
sudionika.
Klein at al.[99] su eksperimentirali s primjenom agenta posrednika u pregovaranju izmeñu
dva agenta s velikim prostorom pretraživanja funkcije korisnosti. Ugovor o kojem se
pregovara ima 100 boolean atributa, tako da prostor pretraživanja iznosi otprilike 1030
različitih kombinacija. Za računanje funkcije korisnosti agenti koriste boolean matricu
dimenzije 100x100, za svaki pojedini pokus generiranu na principu slučajnosti. Funkcija
korisnosti je nelinearna jer ovisi o zbroju svih elemenata matrice za sve kombinacije
parova atributa koji postoje u ugovoru. Medijator inicijalno predlaže slučajno generirani
64
ugovor, a svaki agent ga prihvaća ili odbacuje. Ako oba agenta prihvate ugovor, medijator
mijenja ugovor mijenjajući vrijednost samo jednog slučajnog atributa i proces se ponavlja.
Ako neki od agenata odbaci ugovor, medijator opet mutira zadnji prihvaćeni ugovor.
Proces traje sve dok se ne zaključi da novi predloženi ugovori ne nude nikakvo poboljšanje
korisnosti za bilo kojeg agenta.
Slika 4.5 - Jednostavni primjer pregovaranja s posrednikom
Autori su usporedili ponašanje dvije različite vrste agenata: hill climber i simulated
annealer. Hill climber ima jednostavnu logiku, on prihvaća predloženi ugovor samo ako je
za njega korisnost tog ugovora veća od korisnosti posljednjeg prihvaćenog ugovora.
Annealer je složeniji, on ima virtualnu 'temperaturu' T te može prihvatiti i ugovore koji su
lošiji od prethodnog najboljeg, s vjerojatnošću: P(prihvaćanje) = e-∆U/T. Vrijednost ∆U
predstavlja razliku korisnosti izmeñu ugovora. To znači, što je veća virtualna temperatura i
manje smanjenje korisnosti, veća je vjerojatnost da će ugovor biti prihvaćen. Virtualna
temperatura se postupno smanjuje tijekom trajanja procesa.
65
Rezultati eksperimenata s četiri različite kombinacije korištenih agenata su pokazali da
prisustvo annealer-a uvijek povećava društveno blagostanje (sumu korisnosti oba agenta).
U slučaju korištenja oba agenta annealer-a dobije se 40% bolji rezultat nego pri korištenju
oba agenta hill climber-a. Kombinirani slučaj (jedan agent annealer, a drugi agent hill
climber) daje 15% bolji rezultat nego kad su oba agenta hill climber-i. U slučaju da su oba
agenta hill climber-i, oba dobiju na kraju slabu korisnost jer je jednostavno teško pronaći
ugovore koji predstavljaju poboljšanje za obje strane. Najbolja ukupna korisnost se dobije
kad su oba agenta annealer-i jer su obojica spremni prihvatiti individualno loše ugovore na
početku kako bi kasnije dobili bolje ugovore.
U više povezanih radova[104][105][106][107] grupa autora (Ito, Klein, Hattori i Fujita)
predlaže novi protokol za višetematsko pregovaranje kod velikih nelineranih prostora
rješenja, a koji se temelji na principu uzorkovanja i podešavanja. Pri ovom protokolu
agenti šalju medijatoru ponude koje opisuju područja visoke korisnosti. Agenti pripremaju
ponude uzorkovanjem vlastite funkcije korisnosti te traženjem lokalnog optimuma. Ova
tehnika omogućava izvedivost pripremanja ponuda i kod velikih prostora korisnosti, npr.
kod 1010 mogućih ugovora. Nakon dobivanja ponuda medijator pronalazi kombinaciju
ponuda koja maksimizira društveno blagostanje, tj. maksimalnu sumu korisnosti svih
agenata.
Pri ovom protokolu uzima se u obzir i činjenica da agenti pri pregovaranju žele što je više
moguće sakriti svoje privatne informacije. U tu svrhu autori koriste mehanizam za
podešavanje praga. U prvoj rundi pregovora agenti daju ponude koje imaju veću korisnost
od unaprijed zadanog praga korisnosti, a u sljedećim rundama agenti na zahtjev medijatora
spuštaju prag ovisno o tome koliko je pojedini agent otvorio drugima svojih privatnih
informacija. Proces se iterativno nastavlja dok se ne pronañe sporazum ili dok se ne
ustanovi da ne postoji rješenje.
Funkcija korisnosti agenta je definirana u obliku ograničenja. Svako ograničenje se odnosi
na odreñeno područje s jednom ili više dimenzija te ima pridruženu vrijednost korisnosti.
Slika 4.6 a) prikazuje primjer binarnog ograničenja izmeñu atributa 1 i 2. Ograničenje ima
vrijednost 55, a vrijedi samo ako je vrijednost atributa 1 u području [3,7], a vrijednost
atributa 2 u području [4,6]. Svaki agent ima vlastiti skup ograničenja. Budući da je
vrijednost funkcije korisnosti agenta definirana kao suma vrijednosti svih ograničenja,
sveukupno se dobije 'grbavi' nelinearni prostor korisnosti s vrhuncima na mjestima gdje su
zadovoljena mnoga ograničenja i niskim područjima tamo gdje je zadovoljen mali broj
66
ograničenja. Slika 4.6 b) prikazuje primjer nelinearnog prostora korisnosti agenta, s dva
atributa (tj. dvije dimenzije) s domenom [0,99]. U primjeru je definirano 50 unarnih
ograničenja (koja se odnose na samo jedan atribut) i 100 binarnih ograničenja (odnose se
na dva atributa). Kako se vidi, prostor korisnosti je izrazito nelinearan, s mnogim
brežuljcima i dolinama.
U slučaju da imamo 10 atributa, svaki sa 10 mogućih vrijednosti, ukupno bi postojalo 1010
mogućih ugovora. Ovako veliki broj potencijalnih ugovora agenti ne mogu iscrpno
pretažiti, nego se pronalaženje optimalnog ugovora izvodi pomoću neke od dobro poznatih
nelinearnih optimizacijskih tehnika (simulated annealing, evolucijski algoritmi i dr.). U
slučaju pregovaranja ove tehnike se ne mogu primjeniti na standardan način jer bi to
značilo da agenti potpuno otkriju trećoj strani svoje funkcije korisnosti, što je nerealistično
u kontekstu pregovaranja.
Slika 4.6 - Primjer binarnog ograničenja (A) i nelinearne funkcije korisnosti (B)[107]
Za predloženi protokol pregovaranja autori definiraju funkciju cilja:
��� ����(
∑ )*(�*∈+ (4.3)
Drugim riječima, primjenom protokola pregovaranja pokušava se pronaći ugovor koji
maksimizira društveno blagostanje, odnosno sveukupnu korisnost svih agenata. Takav
ugovor je po definiciji Pareto-optimalan.
67
Protokol pregovaranja uključuje sljedeće korake:
Korak 1 - Uzorkovanje: Svaki agent uzorkuje svoj prostor korisnosti kako bi pronašao
visoko-kvalitetna područja (Slika 4.7). Uzima se fiksan broj slučajnih uzoraka prema
uniformnoj distribuciji.
Slika 4.7 - Uzorkovanje prostora korisnosti
Korak 2 - Podešavanje: Nema garancije da uzorak leži na području lokalnog optimuma,
stoga svaki agent koristi nelinearnu optimizaciju (simulated annealing) kako bi pokušao
pronaći lokalni optimum u susjedstvu uzorka (Slika 4.8).
Slika 4.8 - Podešavanje uzorkovanih točaka (traženje lokalnog optimuma)
68
Korak 3 – Davanje ponuda: Za svaki pronañeni lokalni optimum agent provjerava da li je
korisnost veća od predefiniranog praga (treshold). Agent kao ponudu šalje samo ona
područja lokalnog optimuma za koja je korisnost veća od zadanog praga (Slika 4.9).
Slika 4.9 - Davanje ponuda
Korak 4 – Identifikacija sporazuma: Medijator traži finalni sporazum pretraživanjem
svih kombinacija ponuda od svih agenata. Sporazum mora biti uzajamno konzistentan, tj.
mora postojati preklapanje ponuñenih područja svih agenata sudionika. Ako postoji više
preklapanja, medijator izabire ugovor s najvećom sumom ponuñenih vrijednosti, odnosno s
najvećim društvenim blagostanjem (Slika 4.10).
Za opisani protokol, parametar prag je uveden kako bi se ograničio broj ponuda koje agent
može dati te kako bi se na taj način identifikacija finalnog sporazuma moga provesti u
razumnom vremenu. Prag odreñuje koliki dio privatnih informacija agent otkriva prilikom
pregovaranja (Slika 4.11). Smanjivanje praga znači da će agent otkriti veći dio svog
prostora korisnosti. Slika 4.12 daje primjer procesa podešavanja praga u slučaju
pregovaranja izmeñu tri agenta. Gornja slika predstavlja stanje prije podešavanja praga, a
donja slika nakon podešavanja.
Budući da je agent 3 na početku imao najmanji dio otkrivenog prostora korisnosti, on će u
sljedećem koraku napraviti najveće povećanje otkrivenosti. Prema protokolu, ovaj proces
podešavanja praga se ponavlja sve dok se ne postigne sporazum ili se ne zaključi da
dogovor nije moguć. Imamo dakle pregovaranje u više rundi pri čemu se u svakoj rundi
ponavljaju prethodno opisani koraci 1-4, svaki puta s različitom vrijednosti parametra prag
69
za pojedine agente. Točan iznos za koji se u svakoj novoj rundi smanjuje vrijednost
parametra prag se odreñuje od strane medijatora.
Slika 4.10 - Identifikacija sporazuma
71
Eksperimentalni rezultati primjene ovog protokola pokazali su da se ovakvim pristupom
postiže dobra skalabilnost i visoka optimalnost dobivenih rješenja. Mehanizam
podešavanja praga smanjuje količinu privatnih informacija koje su potrebne za postizanje
sporazuma izmeñu agenata.
U nedavnom istraživanju [108] prethodno spomenuti istraživači su eksperimentirali s
nekoliko novih protokola (Distributed Mediator Protocol, Take it or Leave it Protocol,
Hybrid Secure Protocol), a osnovna ideja ovih protokola je postizanje maksimalne zaštite
privatnih informacija pojedinog agenta. Zaključno, može se reći da je problem
pregovaranja složenih višeatributnih ugovora još uvijek u vrlo ranoj fazi istraživanja.
72
5. MINMASTT – NOVI MODEL VIŠEAGENTSKOG SUSTAVA ZA OPTIMIZACIJU PROCESA IZRADE VREMENSKOG RASPOREDA
Postojeći modeli višeagentskih sustava za izradu rasporeda nastave polaze od
pojednostavljene definicije problema. Naime, kao što se može vidjeti u tablici 5.1,
nekoliko najznačajnijih postojećih modela višeagentskih sustava koji se temelje na
pregovaranju, pri odreñivanju lokalne korisnosti u osnovi koriste samo liste termina
poredanih prema preferencijama korisnika. Takoñer, nastavnici i/ili predmeti su poredani
prema važnosti tako da u slučaju konfliktnih situacija nastavnici i predmeti s većim
prioritetom imaju prednost pri zauzimanju termina. Liste prioriteta se formiraju prije
pokretanja cjelokupnog algoritma, a pregovaranje se odvija na način da se postigne što
veće zadovoljstvo sudionika u odnosu na liste poželjnih termina. Pritom se ne uzima u
obzir ni meñusobni odnos nastavnih sati iz odreñenog predmeta niti odnos nastavnih sati iz
različitih predmeta.
Realni problemi iz prakse uključuju meñutim dodatne zahtjeve, odnosno potrebno je
provesti optimizaciju funkcije korisnosti s obzirom na zadovoljavanje svih slabih
ograničenja definirnih u sustavu. Primjeri slabih ograničenja su npr. da nastavnik može
imati nastavu najviše 3 dana u tjednu, da student može imati najviše 8 sati nastave dnevno,
da student može imati najviše 6 sati nastave u kontinuitetu i sl. Uvoñenjem slabih
ograničenja problem postaje znatno složeniji jer tada svaki sudionik pri pregovaranju o
rasporedu nastavnih sati iz odreñenog predmeta mora voditi računa o njihovom
nelinearnom meñusobnom odnosu. Osim toga, pregovaranje o svakom novom predmetu je
uvjetovano prethodnim sporazumima o vremenskim terminima nastavnih sati već
rasporeñenih premeta.
Takve zahtjeve ispunjava predloženi novi model višeagentskog sustava za izradu rasporeda
nastave za visokoškolske ustanove primjenom višeatributnog pregovaranja u uvjetima
nelinearne funkcije cilja i velikog prostora pretraživanja (MINMASTT – Multi-Issue
Negotiation based Multi-Agent System for Timetabling). Sustav je dizajniran na način da
zadovolji realne zahtjeve institucije jer omogućava definiranje neograničenog broja slabih
ograničenja. Drugim riječima, lokalna funkcija korisnosti svakog sudionika može biti jako
složena i nelinearna. Cjelokupnim procesom rasporeñivanja nastavnih sati iz svih predmeta
upravlja distribuirani algoritam, a za pregovaranje o rasporedu nastavnih sati iz pojedinog
predmeta se koristi novodefinirani protokol temeljen na višeatributnom pregovaranju (eng.
73
multi-issue negotiation) u uvjetima nelinearne funkcije cilja i velikog prostora
pretraživanja.
Koncept MINMASTT sustava prikazan je na slici 5.1. Sudionici u procesu izrade
rasporeda nastave su nastavnici i studenti. Pretpostavlja se da su na bilo koji način već
pridjeljeni predmeti nastavnicima i studentima, tj. točno je odreñeno koje predmete predaje
odreñeni nastavnik i koji studenti su upisani na odreñeni predmet. Zadaća sustava je dakle
samo napraviti vremenski raspored predavanja po terminima i učionicama, uzimajući u
obzir jaka i slaba ograničenja povezana s nastavnicima, studentima, predmetima i
učionicama.
Tablica 5.1 – Osobine nekoliko najznačajnih modela višeagentskih sustava za izradu
rasporeda nastave korištenjem pregovaranja
Višeagentski sustav
Princip odreñivanja lokalne korisnosti Princip pregovaranja
Verrons i Mathieu Svaki sudionik ima predefinirane dvije liste prioriteta: u odnosu prema ostalim sudionicima i u odnosu prema terminima.
Nastavnik stvara inicijalni ugovor na osnovu svojih preferencija i šalje ga kao prijedlog studentima. Ovisno o svim odgovorima, taj ugovor se prihvaća, odbija ili se sudionicima šalje zahtjev da pošalju svoje prijedloge promjene ugovora te se onda pokušava pronaći svima prihvatljivo rješenje.
Babkin Predmeti poredani po prioritetu. Nastavnici imaju predefinirane preferencije s obzirom na poželjnost održavanja nastave u odreñenom terminu i učionici.
Nastavnik traži od studenata njihove slobodne termine poredane prema preferencijama i na osnovu svih odgovora pokušava dogovoriti termin koji maksimizira zadovoljstvo nastavnika s obzirom na vlastitu listu prioriteta prema terminima.
Kyaw i Thein Nastavnici i predmeti su rangirani po važnosti. Nastavnici imaju preferencije vezane za termine.
Nakon inicijalnog generiranja slučajnog rasporeda, konflikti vezani za preferencije nastavnika se pregovaraju uzimajući u obzir rang nastavnika i predmeta.
74
Svaki nastavnik i student ima u sustavu delegiran svoj reprezentativni agent kojemu je
predao vlastita jaka i slaba ograničenja vezana za raspored održavanja nastave, a koji može
raditi na osobnom računalu ili mobilnom ureñaju s podrškom za JAVA platformu
spojenom na internet. Naravno, ukoliko više studenata ima isti nastavni plan (popis
upisanih predmeta) i iste preferencije, onda se oni u cilju povećanja efikasnosti
distribuiranog algoritma mogu predstaviti samo s jednim zajedničkim agentom.
Slika 5.1 – Koncept predloženog višeagentskog sustava
Preferencije svakog sudionika su privatne informacije i pretpostavlja se da ih niti jedan
sudionik ne želi dijeliti s drugima. Svi agenti predstavnici nastavnika i studenata nakon
pokretanja postaju komponente agentske platforme za izradu rasporeda nastave. U datom
trenutku, administrator sustava treba samo pokrenuti proceduru za automatsku izradu
rasporeda nastave, a koja se temelji na distribuiranom algoritmu s automatskim
pregovaranjem izmeñu sudionika uključenih na odreñeni predmet.
Matematički se problem može opisati na sljedeći način. Neka je s ∈ S jedinstveni
identifikator studenta (ili grupe studenata), a n∈ N jedinstveni identifikator nastavnika.
Skup svih predmeta označimo sa P, a skup svih učionica sa R. Označimo sa T skup svih
vremenskih termina (eng. timeslots) koji uključuje termine u svim učionicama. Rješenje
koje se traži je mapiranje sa skupa predmeta P na skup vremenskih termina T, tj. ,: . / T.
75
Jaka ograničenja u sustavu su:
• u jednu učionicu i jedan termin moguće je rasporediti samo jedan dogañaj (nastavni
sat)
• u odreñenu učionicu moguće je rasporediti samo nastavu iz predmeta za koji je broj
upisanih studenata manji ili jednak kapacitetu učionice
• nastavnik može u odreñenom terminu držati nastavu samo iz jednog predmeta
• student može u odreñenom terminu imati nastavu samo iz jednog predmeta
Pritom svaki nastavnik i student ima definirana slaba ograničenja (preferencije) koja se
koriste za izračun njihove lokalne funkcije korisnosti, a opisana su u sljedećem
potpoglavlju.
5.1 Logički model sustava
Svaki agent u sustavu, osim agenta koordinatora, predstavlja jedan entitet iz realnog
problema. Meñusobne logičke veze izmeñu agenata (Slika 5.2) su tako organizirane da
oslikavaju stvarno stanje problema te da omogućavaju najjednostavnije moguće
izražavanje jakih i slabih ograničenja u sustavu. Može se reći da je CourseAgent osnovni
agent u sustavu jer sadrži dogañaje koje treba rasporediti. Naime, svaki CourseAgent sadrži
podatak o broju dogañaja (nastavnih sati tjedno). Takoñer, u ovom agentu su sadržana i
slaba ograničenja vezana za razmještaj dogañaja tijekom tjedna (CourseLessonBlocks).
Naime, ako npr. odreñeni predmet ima 4 sata nastave tjedno, tada se ti sati mogu
rasporediti na više načina: a) 4 sata u jednom bloku, b) 3+1 sat, c) 2+2 sata. Stoga je
implemetirano spomenuto slabo ograničenje putem kojeg predmetni nastavnik ili
administrator sustava može izraziti preferenciju o tome kakav raspored blokova se
preferira (postavljanjem vrijednosti parametara scMinBlockSize, scMinNumOfBlocks,
scMaxNumOfBlocks).
CourseAgent ima logičke reference na sve agente koji predstavljaju nastavnike i studente
upisane na dotični predmet. U odreñenom trenutku koji je definiran s distribuiranim
algoritmom, CourseAgent inicira proces pregovaranja izmeñu nastavnika i studenata i u
tom procesu ima ulogu medijatora.
76
ST1
T1
ST – StudentAgentT – TeacherAgentC – CourseAgentR – RoomAgentL – lesson (nastavni sat)
C7
L1
L2L3
L4
C6
L1
L2
C5
L1
L2L3
L4
C4
L1
L2L3
C1
L1
L2
C2
L1
L2L3
C3
L1
L2L3
ST4
ST3
ST2
T5
T4
T3
T2
CoordinatorAgent R1 R3R2
Slika 5.2 – Logički model sustava
Svaki nastavnik je u višeagentskom sustavu reprezentiran s jednim TeacherAgent-om, a
svaki student s jednim StudentAgent-om. TeacherAgent ima definirana sljedeća slaba
ograničenja (preferencije):
• TeacherMaxDaysPerWeek – maksimalni broj dana u tjednu u kojima nastavnik ima
nastavu
• TeacherMaxLessonsContinuously - maksimalni broj nastavnih sati u kontinuitetu za
nastavnika
• TeacherMaxLessonsDaily – maksimalni broj nastavnih sati u jednom danu za
nastavnika
• TeacherGaps – s obzirom da se broj praznina (eng. gaps) u rasporedu pokušava
minimizirati, ovaj podatak definira što nastavnik smatra prazninom (npr. ako bi
nastavnik izmeñu dva predavanja imao pauzu od 5 sati, za nekoga to može biti
praznina pa tu situaciju treba pokušati izbjeći, a nekome to može biti poželjan
scenarij jer želi npr. imati dio nastave prije podne, a dio poslije podne).
• TeacherPrefferedStartTimePeriod – preferirani termin početka nastave u danu za
nastavnika
77
StudentAgent ima definirana sljedeća slaba ograničenja:
• StudentMaxDaysPerWeek - maksimalni broj dana u tjednu u kojima student ima
nastavu
• StudentMaxLessonsContinuously - maksimalni broj nastavnih sati u kontinuitetu za
studenta
• StudentMaxLessonsDaily - maksimalni broj nastavnih sati u jednom danu za
studenta
• StudentGaps - podatak definira što student smatra prazninom (isto kao za
nastavnika)
• StudentPrefferedStartTimePeriod - preferirani termin početka nastave u danu za
studenta
Kako bi TeacherAgent i StudentAgent tijekom pregovaranja pripremili ponude koje šalju
medijatoru (CourseAgent), svaki od njih treba izračunati vrijednosti vlastite funkcije
korisnosti za mnoge kombinacije vrijednosti varijabli koje označavaju vremenske termine
u koje se postavljaju nastavne aktivnosti. Funkcija korisnosti se odnosi na stupanj
zadovoljstva agenta sa predloženom kombinacijom, a računa se na temelju slabih
ograničenja. Najveće zadovoljstvo agent postiže ako su zadovoljena sva slaba ograničenja.
Matematički se funkcija korisnosti definira kao težinska suma svih pojedinačnih
komponenti tj. funkcija povezanih s zadovoljavanjem pojedinom slabog ograničenja.
Rezultat ovih funkcija je ili nula (ako je slabo ograničenje potpuno zadovoljeno) ili neka
negativna vrijednost koja ovisi o tome u kojoj mjeri ograničenje nije ispunjeno. Težinski
koeficijenti wj odreñuju relativno značenje pojedinog slabog ograničenja za nastavnika ili
studenta. Dakle, vrijedi:
� � ∑ 12322 (5.1)
Pri tome je U ukupna vrijednost funkcije korisnosti agenta za odreñenu kombinaciju
varijabli, a Ej predstavlja vrijednost evaluacije pojedinog slabog ograničenja.
Svaki RoomAgent predstavlja jednu učionicu koja se koristi za održavanje nastave.
Osnovna informacija kojom upravlja ovaj agent je zauzetost termina za dotičnu učionicu.
Kako ćemo kasnije vidjeti u opisu distribuiranog algoritma, svaki CourseAgent ima
lokalno spremljene informacije o terminima za učionice u kojima se za taj predmet može
održavati nastava te je kod RoomAgent-a pretplaćen na sve promjene zauzetosti termina
(kako bi mogao ažurirati lokalne informacije).
78
CoordinatorAgent u prvom redu služi za sinkronizaciju izvoñenja distribuiranog algoritma.
Naime, uslijed toga što jedan nastavnik najčešće predaje više predmeta i jedan student
upisuje više od jednog predmeta, oni iz sinkronizacijskih razloga nisu u mogućnosti
istovremenu pregovarati o rasporedu nastavnih sati za više predmeta. CoordinatorAgent
odreñuje trenutak početka pregovaranja za odreñeni predmet, pri čemu je njegov glavni
zadatak omogućiti istovremeno pregovaranje za što više različitih predmeta, ali pritom
izbjegavajući istovremeno pregovaranje za predmete koji imaju zajedničke nastavnike ili
studente.
5.2 Distribuirani algoritam
Osnova predloženog višeagentskog sustava za izradu rasporeda nastave je distribuirani
algoritam koji omogućava efikasno korištenje svih distribuiranih resursa, a u kojem se
raspored održavanja nastavnih sati za pojedini predmet odreñuje pregovaranjem izmeñu
predmetnih nastavnika (jednog ili više njih) i svih studenata upisanih na predmet (Slika
5.3). S obzirom da sudionici u pregovaranju najčešće nisu skloni dijeljenju privatnih
informacija o svojoj raspoloživosti i preferencijama, polazna ideja algoritma je omogućiti
distribuiranu pohranu privatnih informacija i efikasno korištenje računalnih resursa na
distribuiranim agentima. Dakle, za razliku od trenutno najčešće korištenih sustava za
izradu rasporeda nastave u kojima se sve potrebne informacije prikupljaju na jedno
centralno mjesto i pokreće algoritam za pronalaženje optimalnog rješenja, odlika
predloženog sustava je distribuiranost informacija i računalnih resursa.
Moguće je identificirati dvije osnovne faze algoritma:
• inicijalizacija
• glavna petlja
Algoritam omogućava rasporeñivanje nastavnih aktivnosti ne samo potpuno ispočetka,
nego i uz već prefiksirani raspored nekih aktivnosti (npr. iz bilo kojeg razloga, svi sati ili
dio nastavnih sati za neke predmete su već rasporeñeni). Stoga u prvom dijelu faze
inicijalizacije svi predmeti (CourseAgent) koji imaju iti jedan prefiksirani nastavni sat šalju
podatke o fiksiranim terminima učionicama u kojima se održava nastava (RoomAgent).
RoomAgent-i mogu prethodno imati definirane termine u kojima učionica nije raspoloživa
za aktivnosti iz rasporeda nastave, a dodavanjem prefiksiranih termina koje dobiva od
79
CourseAgent-a u listu već zauzetih termina RoomAgent na taj način u fazi inicijalizacije
postavlja stvarno stanje raspoloživosti učionica.
Sličnu akciju CourseAgent-i u fazi inicijalizacije izvode i za agente TeacherAgent i
StudentAgent, tj. ako postoje prefiksirani nastavni sati, CourseAgent šalje podatke o tim
terminima svojim nastavnicima i studentima kako bi i oni uskladili podatke o svojoj
trenutnoj raspoloživosti. Ova dva prethodno opisana koraka su potrebna jer polazimo od
pretpostavke da je na početku izvoñenja algoritma informacija o prefiksiranim nastavnim
satima definirana u sustavu samo na jednom mjestu, tj. u CourseAgent-ima.
Slika 5.3 – Distribuirani algoritam
Na osnovu potrebnih informacija koje dobije od svih CourseAgent-a (a koje se sastoje od
popisa nastavnika i studenata upisanih na predmet), CoordinatorAgent stvara u sljedećem
koraku matricu sinkronizacije (Slika 5.4) u koju su zapisane mogućnosti istovremenog
rasporeñivanja nastave za različite predmete. To je boolean matrica [n,n], pri čemu je n
80
broj CourseAgent-a u sustavu. Svako polje u ovoj matrici odreñuje da li je moguće
istovremeno rasporeñivanja za dva predmeta. Npr. ako je polje [3,5]=true, znači da je za
predmete koji imaju indekse 3 i 5 moguće istovremeno izvoditi rasporeñivanje nastavnih
sati. Matricu sinkronizacije CoordinatorAgent koristi u glavnoj petlji algoritma kako bi
omogućio da se u cijelom sustavu u odreñenom trenutku izvodi rasporeñivanje nastavnih
sati samo za predmete koji nemaju zajedničke nastavnike ni studente.
T T F F T F
T F T F F
T F T T
F T F
T T
T
simetrično
c1 c2 c3 c4 c5 c6 c7
c1
c2
c3
c4
c5
c6
c7
Slika 5.4 – Matrica sinkronizacije
Sljedeći dio inicijalizacije se odnosi na prikupljanje i sortiranje informacija od strane
CoordinatorAgent-a o tome koliko ukupno slobodnih termina (u svim prikladnim
učionicama) ima na raspolaganju pojedini CourseAgent. Ta informacija se koristi u glavnoj
petlji algoritma jer smo za kriterij za odreñivanje redoslijeda izrade rasporeda po
predmetima izabrali broj potencijalnih slobodnih termina. Ova heuristika se inače često
primjenjuje i kod centraliziranih sekvencijalnih algoritama za izradu rasporeda, a polazi od
toga da je najracionalnije tražiti najprije raspored za onaj predmet koji ima najmanje
potencijalnih termina (tj. najmanji broj potencijalnih kombinacija u prostoru rješenja) i
tako redom prema predmetima koji imaju najveći broj potencijalnih termina.
Na kraju inicijalizacijske faze svi CourseAgent-i se pretplaćuju na informacije o
promjenama stanja slobodnih termina kod svih RoomAgent-a u kojima odreñeni predmet
može imati nastavu. Ovo je potrebno iz razloga što svaki CourseAgent lokalno čuva
informacije o raspoloživosti svojih učionica te se svaka promjena stanja u agentima
RoomAgent mora propagirati i do zainteresiranih CourseAgent-a, kako bi ovi u svakom
trenutku imali najsvježiju informaciju (Slika 5.5).
81
Slika 5.5 – Pretplaćivanje CourseAgent-a na promjene stanja RoomAgent-a
U glavnoj petlji algoritma CoordinatorAgent prolazi kroz listu svih predmeta poredanih po
broju potencijalnih termina i u skladu s informacijama u sinkronizacijskoj matrici daje
signal CourseAgent-ima da otpočnu s rasporeñivanjem svojih nastavnih sati. Nakon
primanja signala za početak, CourseAgent započinje proces pregovaranja sa svim
pripadajućim TeacherAgent-ima i StudentAgent-ima kako bi se u tom trenutku pronašlo što
bolje rješenje za sve uključene sudionike. CourseAgent ima ulogu medijatora u procesu
pregovaranja. Nakon završetka procesa pregovaranja, CoordinatorAgent eliminira dotični
CourseAgent iz liste predmeta za rasporeñivanje i prelazi na sljedeći CourseAgent koji je u
tom trenutku s obzirom na stanje sinkronizacijske matrice i broj potencijalnih termina
najprikladniji za rasporeñivanje. Petlja se ponavlja sve dok se ne rasporede nastavni sati za
sve CourseAgent-e.
Potrebno je dodati da, nakon što se procesom pregovaranja izmeñu svih uključenih agenata
predstavnika nastavnika i studenata pronañe optimalno rješenje za raspored nastavnih sati
u tjednu za odreñeni predmet, CourseAgent zahtjeva potvrdu od RoomAgent-a da su
82
dogovoreni termini u dotičnim učionicama još uvijek slobodni jer se teoretski može i
dogoditi da je neki drugi CourseAgent nekoliko trenutaka prije dogovorio nastavu u nekoj
od spomenutih učionica i to baš u istom terminu/terminima. Samo ako su svi traženi
termini u svim zahtjevanim učionicama slobodni, CourseAgent će dobiti potvrdu o
raspoloživosti termina i u tom trenutku se sklapa sporazum o terminima nastavnih sati i o
učionicama u kojima će se održati nastava. U tom trenutku, s obzirom da za dotični
predmet više nema potrebe za primanjem informacija o zauzetosti termina u učionicama,
izvodi se i brisanje predmeta iz liste pretplaćenih predmeta kod svih RoomAgent-a
(unsubscribe).
U ovakvom sustavu, ako npr. u situaciji kad su rasporeñeni svi nastavni sati za sve
predmete pojedini nastavnik promjeni svoje preferencije (slaba ograničenja), moguće je
otkazati ugovore za njegove predmete i ponovno ispregovarati novi raspored samo za te
predmete. To znači da kod svake promjene parametara nije potrebno ispočetka izvoditi
cijeli algoritam za sve predmete. Isto tako, ako se u sustav doda novi predmet, potrebno je
samo naći najbolji raspored za njegove nastavne sate, pri čemu će se kod računanju
korisnosti TeacherAgent-a i StudentAgent-a uzimati u obzir svi prethodno rasporeñeni sati.
5.3 Protokol pregovaranja
Pri pregovaranju izmeñu nastavnika i studenata o terminima nastavnih sati iz odreñenog
predmeta u MINMASTT sustavu, funkcija korisnosti svakog sudionika je nelinearna, a
prostor pretraživanja raste eksponencijalno s brojem nastavnih sati tjedno (sve do reda
veličine 1010) i nemoguće ga je iscrpno pretražiti. Iz tog razloga radi se o pregovaranju o
jako složenom i teško rješivom problemu (eng. complex negotiation for intractable
problem).
U takvim sustavima se pri pregovaranju najčešće koristi agent posrednik (medijator), a
polazište takvog pristupa je u načinu odvijanja pregovora u ljudskom društvu: posrednik
predlaže ugovor kojeg svaka strana procjenjuje i najčešće kritizira. Na temelju pristiglih
odgovora posrednik predlaže novi ugovor, nadajaći se da će za sudionike biti prihvatljiviji
od trenutno najboljeg dogovora. Proces se nastavlja sve dok se ne postigne minimalno
zahtjevana korisnost za oba agenta. Ovisno o načinu na koji agenti sudionici procjenjuju
prijedloge medijatora, govorimo o dvije osnovne vrste agenata: hill climber i simulated
annealer te o pripadajućim protokolima pregovaranja.
83
Hill climber agent ima jednostavnu logiku, on prihvaća predloženi ugovor samo ako je za
njega korisnost tog ugovora veća od korisnosti posljednjeg prihvaćenog ugovora. Annealer
je složeniji, on ima virtualnu 'temperaturu' T te može prihvatiti i ugovore koji su lošiji od
prethodnog najboljeg, s vjerojatnošću: P(prihvaćanje) = e-∆U/T. Vrijednost ∆U predstavlja
razliku korisnosti izmeñu ugovora. To znači, što je veća virtualna temperatura i manje
smanjenje korisnosti, veća je vjerojatnost da će novi ugovor biti prihvaćen. Virtualna
temperatura se postupno smanjuje tijekom trajanja procesa pregovaranja.
Dva osnovna protokola za pregovoranje složenih ugovora u uvjetima velikog prostora
pretraživanja (hill climbing protokol i simulated annealing protokol) smo uzeli kao
reference za usporedbu i analizu rezultata dobivenih primjenom novog protokola
pregovaranja kojeg kasnije opisujemo. Osnovni elementi novog protokola pregovaranja
predloženog u MINMASTT sustavu imaju uporište u protokolu primjenjenom u [107], a
do protokola se došlo nakon intenzivnog eksperimentalnog istraživanja. Naime, autori su u
[107] za pregovaranje u uvjetima nelinearne funkcije cilja i velikog prostora pretraživanja
predložili višetematski protokol s mehanizmom za podešavanje praga. Pritom je funkcija
cilja definirana kao suma unarnih, binarnih ili višedimenzionalnih ograničenja i znatno se
razlikuje od lokalne funkcije cilja (tj. funkcije korisnosti) koja se koristi u našem
višeagentskom sustavu, a temelji se na evaluaciji slabih ograničenja.
U tom radu agenti tijekom pregovaranja uzorkuju prostor pretraživanja i primjenom
tehnike lokalnog pretraživanja pronalaze najbolje ponude u blizini točke uzorkovanja.
Agent medijator brine o tome da svi agenti podjednako otkrivaju svoje privatne
informacije (funkciju korisnosti) jer se polazi od toga da svaki agent u pregovaranju želi
što je moguće manje izložiti svoje privatne informacije. Za detaljan prikaz različitih
modela pregovaranja u višeagentskim sustavima vidi poglavlje 4.
U našoj situaciji imamo dakle sljedeći problem: CourseAgent treba pregovaranjem sa svim
nastavnicima (TeacherAgent) i upisanim studentima (StudentAgent) pronaći optimalni
raspored za nastavne sate iz dotičnog predmeta (Slika 5.6). Pod rasporedom pritom
podrazumijevamo odreñivanje termina i učionice u kojoj će se izvoditi nastava, za svaki
nastavni sat. Svaki predmet može imati 1, 2, 3, 4, ..., n nastavnih sati tjedno. Obično kod
ovog problema n ne prelazi 8, a najčešće ima vrijednost izmeñu 2 i 4. Ako su postavke
sustava takve da npr. raspored radimo za 5 dana u tjednu i ako u svakom danu možemo
koristiti 12 termina, tada postoji ukupno 60 mogućih termina tjedno u koje se mogu
rasporediti nastavne aktivnosti (naravno, uz pretpostavku da su trenutno svi termini
84
slobodni). Ako se nastava iz dotičnog predmeta može održavati u 4 učionice, dolazimo do
ukupno 60x4=240 mogućih vrijednosti koje je moguće pridjeliti svakom nastavnom satu iz
dotičnog predmeta.
Slika 5.6 – Problem pregovaranja izmeñu nastavnika i studenata
Dakle, u našem slučaju termin svakog nastavnog sata je jedan atribut procesa pregovaranja,
a veza meñu atributima je potpuno nelinearna jer funkcija korisnosti svih agenata koji
predstavljaju nastavnike i studente nelinearno ovisi o pozicijama svih nastavnih sati u
tjednu. Raspored jednog nastavnog sata se ne može promatrati izolirano, nego je za
funkciju korisnosti agenta važan meñusobni odnos pozicija nastavnih sati. Drugim
riječima, vrijedi formula za nelinearnost:
u(a1,a2) = w1v1(a1, a2)+w2v2(a1,a2) (5.2)
Pozicija jednog nastavnog sata predstavlja jedan atribut u procesu pregovaranja te se zbog
toga kod ovog problema govori o višeatributnom (višetematskom) protokolu za
pregovaranje u uvjetima nelinearne funkcije korisnosti.
85
Slika 5.7 – Novi protokol pregovaranja
Predloženi protokol pregovaranja prikazan je na slici 5.7, a glavni dio dijagrama sekvenci
na slici 5.8. Budući da u osnovi novog protokola imamo proces slanja zahtjeva za ponudu,
analizu prijedloga i proces odlučivanja o prihvaćanju ponuda, može se reći da je njegova
osnova Contract Net Protocol[23].
U prvom koraku CourseAgent šalje zahtjev (CFP-Call For Proposal) svim TeacherAgent-
ima i StudentAgent-ima da pošalju svoje ponude za raspored svih nastavnih sati dotičnog
predmeta. U trenutku primanja zahtjeva, svaki TeacherAgent i StudentAgent započinje
pripremu svog odgovora. TeacherAgent i StudentAgent tada rade uzorkovanje prostora
mogućih rješenja te pronalaze zonu lokalnog maksimuma funkcije korisnosti. U ovom
slučaju, budući da se radi o vrlo specifičnom problemu, imamo sljedeći proces.
87
U trenutku primanja CFP zahtjeva, svaki reprezentativni agent (TeacherAgent i
StudentAgent) može imati sve termine slobodne ili neki termini mogu biti već zauzeti (kao
u primjeru na slici 5.9). Agent treba pronaći najbolje kombinacije termina za nastavne sate
dotičnog predmeta, vodeći računa o tome da se nastava može rasporediti na različite načine
u smislu blok sati. Ako predmet ima 2 sata nastave tjedno, agent mora ispitati sve moguće
kombinacije grupiranja sati u tjednu (2+0, 1+1). Takoñer, ovakve kombinacije grupiranja
treba provjeriti za različite dane u tjednu.
Slika 5.9 - Primjer zauzetosti termina u trenutku primanja zahtjeva za ponudu
Na ovaj način dolazimo do lokalnih zona u prostoru rješenja na kojima reprezentativni
agenti provode uzorkovanje i optimizaciju. U primjeru sa slike 5.9 to bi značilo da agent
može rasporediti nastavne sate (2 sata tjedno) na sljedeće načine:
Tablica 5.2 – Različite opcije rasporeñivanja nastavnih sati za primjer sa slike 5.9
2+0 1+1
PON1 PON1+UTO1 PON2+UTO2 UTO1+ČET1 SRI1+ČET1
PON2 PON1+UTO2 PON2+SRI1 UTO1+ČET2 SRI1+ČET2
UTO2 PON1+SRI1 PON2+SRI2 UTO1+PET SRI1+PET
SRI1 PON1+SRI2 PON2+ČET1 UTO2+SRI1 SRI2+ČET1
SRI2 PON1+ČET1 PON2+ČET2 UTO2+SRI2 SRI2+ČET2
ČET1 PON1+ČET2 PON2+PET UTO2+ČET1 SRI2+PET
ČET2 PON1+PET UTO1+SRI1 UTO2+ČET2 ČET1+PET
PET PON2+UTO1 UTO1+SRI2 UTO2+PET ČET2+PET
88
U datom primjeru, zbog postojanja zauzetosti termina u nekim danima, ti dani su
podjeljeni na dva dijela (npr. ČET1 i ČET2). Primjenom iste logike može se dogoditi da
postoji i više podzona u jednom danu. Može se zaključiti da smo umjesto slučajnog
uzorkovanja prostora rješenja na temelju uniformne raspodjele vjerojatnosti (kao u
protokolu iz [107]), analizom specifičnosti našeg problema podijelili prostor rješenja na
podprostore i usmjerili proces uzorkovanja tako da se uzima po jedan uzorak iz svakog
podprostora. Nakon uzorkovanja se u podprostoru traži lokalni maksimum nekom od
tehnika lokalnog pretraživanja. Naravno, kako se povećava broj sati tjedno (tj. broj atributa
u procesu pregovaranja), tako raste i broj mogućih podprostora rješenja koji se dobiju na
ovakav način.
Za ilustraciju, primjer kompletne funkcije korisnosti reprezentativnog agenta u slučaju
pregovaranja o dva atributa (tj. o terminima za dva nastavna sata) dat je na slici 5.10.
Ovdje se radi o primjeru funkcije korisnosti nastavnika koji iz bilo kojeg razloga nikako ne
može održavati nastavu u terminima 1, 2, 3, 20, 21, 27, 28, 29, 51, 52, 53, 54, 55, 56, 57.
Na osi x i y prikazane su vrijednosti termina (1-60, redom od prvog termina ponedjeljkom
do zadnjeg termina petkom). Sivom bojom označena su područja u koja nikako nije
moguće rasporediti nastavu zbog narušavanja jakih ograničenja ili područja s izrazito
niskom korisnosti za nastavnika, svjetlo plavom nijansom označena su područja nešto veće
korisnosti, a modrom bojom su označena područja najveće korisnosti (npr. kombinacija
(13,14)). Naravno, vidimo da je funkcija korisnosti simetrična po dijagonali jer se ista
korisnost dobiva za kombinaciju npr. (15, 24) i (24, 15). Usmjerenim uzorkovanjem
zapravo se samo pokušavaju u startu identificirati zone najveće korisnosti.
Za svaki podprostor rješenja agent dakle traži zonu lokalnog maksimuma funkcije
korisnosti primjenom tehnike lokalnog pretraživanja. Pri tom procesu se izvodi evaluacija
različitih kombinacija termina za nastavne sate, u skladu sa slabim ograničenjima
(preferencijama) nastavnika ili studenta. Ako se npr. radi o podpodručju PON1+UTO2 sa
slike 5.9, agent traži točku ili zonu s najvećom vrijednosti korisnosti. Takva zona može biti
npr. [2-3, 20-22], što znači da funkcija korisnosti agenta ima maksimum (s iznosom npr. -
3,25) za bilo koju kombinaciju termina pri kojoj je jedan nastavni sat rasporeñen u termine
2 ili 3, a drugi nastavni sat u termine 20, 21 ili 22. Kad agent pronañe zone maksimalne
vrijednosti korisnosti za sva pretraživana podpodručja, spreman je za slanje ponude
CourseAgent-u. Meñutim, postoji još jedna provjera prije slanja konačne ponude, a odnosi
89
se na povjeru da li zona lokalnog maksimuma nadilazi vrijednost inicijalnog praga
(treshold). Vrijednost inicijalnog praga (prag za prvu rundu) je jednaka 100%-tnom iznosu
maksimalne korisnosti, tj. agent u prvoj rundi šalje samo najbolje moguće ponude.
Slika 5.10 - Primjer funkcije korisnosti agenta
Sadržaj poruke o ponudi koju reprezentativni agent šalje CourseAgent-u (tj. medijatoru)
ima sljedeću formu:
U(P1)#P1B1;P1F1;P1L1#P1B2;P1F2;P1L2#....&&U(P2)#P2B1;P2F1;P2L1#P2B2;P2F2;P2L2#P2B3;P2F3;P2L3... &&....
gdje je:
U(Pi) – vrijednost funkcije korisnosti za i-tu ponudu,
PiBj – broj nastavnih sati u j-tom danu i-te ponude,
PiFj – prvi mogući termin prvog nastavnog sata u j-tom danu, za i-tu ponudu,
PiLj – zadnji mogući termin prvog nastavnog sata u j-tom danu, za i-tu ponudu.
Primjer takve punude je:
-10,2#2;9;11#1;26;30&&-8,3#1;4;10#1;38;42#1;50;56
U ovom slučaju agent šalje u cjelokupnoj ponudi dvije lokalne zone u prostoru rješenja.
Prva ponuda (zona) ima vrijednost funkcije korisnosti -10,2, a nastavni sati su rasporeñeni
na način 2+1 (dva sata u bloku u jednom danu plus jedan sat u drugom danu). Za blok od 2
sata vrijedi da prvi sat može zauzeti bilo koji termin izmeñu 9 i 11 (dakle, ponedjeljkom, 9-
11 termin), a preostali sat može biti rasporeñen u bilo koji termin izmeñu 26. i 30. termina
90
(dakle, uz pretpostavku da postoji maksimalno 12 termina u jednom danu, radi se o
terminima 2-6 srijedom). Slično vrijedi za drugu ponuñenu zonu: vrijednost funkcije
korisnosti je -8,3, a zona se sastoji od 3 odvojena sata (1+1+1). Prvi sat može biti u
terminima 4-10, drugi u terminima 38-42, a treći od 50-56.
Kako vidimo, u ponudi su navedene sve zone lokalnog maksimuma skupa s pripadajućim
vrijednostima maksimuma. Kad CourseAgent primi ponude od svih TeacherAgent-a i
StudentAgent-a, njegov zadatak kao medijatora je da pokuša pronaći rješenje koje
zadovoljava sve strane u pregovaranju. U ovom slučaju, to znači pokušati pronaći zone
preklapanja ponuda svih uključenih agenata. U tu svrhu CourseAgent provjerava sve
kombinacije ponuñenih zona ne bi li pronašao kombinaciju u kojoj se preklapaju ponude
svih reprezentativnih agenata. Kad pronañe područja preklapanja ponuda, CourseAgent za
svako područje pronalazi najprikladniju moguću učionicu (s obzirom na kapacitet) te
računa vrijednost svoje funkcije korisnosti. Naime, osim što ima ulogu medijatora u
pregovaranju, CourseAgent-u smo pridjelili i neka slaba ograničenja (CourseLessonBlocks,
tj. razmještaj nastavnih sati po blokovima) na osnovu kojih se računaju preferencije koje se
odnose samo na nastavni kolegij. U budućnosti se ovdje mogu dodati i druga slaba
ograničenja, npr. preferirani raspored sati iz jednog predmeta u odnosu na neki drugi
predmet i sl.
Ovdje je potrebno dodati da CourseAgent pri računanju vrijednosti korisnosti ponude
uzima u obzir i iskoristivost učionica. Naime, budući da je neracionalno rasporediti nastavu
u učionicu koja ima znatno veći kapacitet od broja upisanih studenata na predmet,
CourseAgent pri računanju korisnosti ponude koristi i podatak o srednjoj vrijednosti
kapaciteta korištene učionice. Npr., ako se radi o rasporeñivanju 3 nastavna sata koji
pripadaju predmetu s 30 upisanih sudenata, a ako ponuda sadrži kombinaciju u kojoj se
dva sata održavaju u učionici s 70 mjesta i jedan sat u učionici s 35 mjesta, tada je srednja
vrijednost korištenog kapaciteta jednaka (70x2+35)/3 = 58,33. Ako ovaj broj podijelimo s
brojem upisanih studenata (30) dobijemo koeficijent (u ovom slučaju 1,94) koji pokazuje u
kojoj mjeri je kapacitet odabranih učionica veći od stvarno potrebnog za održavanje
nastave iz dotičnog predmeta.
Npr. neka postoje sljedeće ponude:
TeacherAgent:
-7,5#1;5;11#1;25;30&&-3,4#1;4;8,7#1;39;45&-6,9#2;15;22
91
StudentAgent1:
-11,1#1;4;7#1;28;30&&-4,5#1;10;12#1;37;41&-3,1#2;17;21
StudentAgent2:
-2,7#1;6;10#1;24;32&&-4,6#1;5;8#1;38;39&-5,1#2;16;19
U navedenom primjeru u kojem treba rasporediti dva nastavna sata postoje dvije zone
preklapanja ponuda:
a) kombinacija 1+1 nastavni sat: zona (6-7)+(28-30)
b) kombinacija 2+0: zona (17-19)
Postoje dakle dvije mogućnosti koje su prihvatljive svim sudionicima u pregovaranju: prva
mogućnost je da je jedan sat rasporeñen izmeñu 6. i 7. termina, a drugi sat izmeñu 28. i 30.
termina; druga mogućnost je kombinacija s dva sata u bloku, s time da blok treba započeti
izmeñu 17. i 19. termina. U takvoj situaciji kad treba odlučiti izmeñu više potencijalnih
mogućnosti, za odabir finalnog sporazuma koristili smo formulu[72]:
U � �+ ∑ �* 5 6∑ 789 !
: ∑ 788 �;8+9�* (5.3)
Izborom ove formule, izmeñu maksimiziranja ukupne korisnosti u sustavu i ravnomjerne
raspodjele korisnosti po agentima, odlučili smo se za ravnomjerni (egalitaristički) pristup.
Smatramo naime da je za ovakav sustav važno da svi sudionici postignu približno isti
stupanj zadovoljstva, bez velikih razlika koje mogu nastati ako primjenjujemo princip
maksimiziranja ukupne korisnosti. Ako bismo se odlučili za princip maksimiziranja
ukupne korisnosti u sustavu, kao posljedica bi se mogla pojaviti situacija da u finalnom
rješenju vremenskog rasporeda nastavnih aktivnosti na obrazovnoj instituciji, u
ekstremnom slučaju, npr. jedan nastavnik ima zadovoljene sve svoje preferencije, a neki
drugi nema zadovoljenu niti jednu preferenciju, što sigurno nije prihvatljiva situacija.
Formula 4.3 izražava ukupnu korisnost jedne ponude kao srednju vrijednost korisnosti svih
agenata umanjenu za standardnu devijaciju korisnosti. Ova metrika je dakle naš način
rješavanja problema homogenosti zadovoljstva svih uključenih korisnika (tj. njihovih
agenata) s postignutim sporazumum. Takva metrika pokušava maksimizirati prosječnu
korisnost agenata, a penalizira veliku disperziju korisnosti. U slučaju kad postoji samo
jedna zona preklapanja, odnosno samo jedno moguće rješenje, tada se naravno prihvaća
takav sporazum.
92
Prije konačnog potvrñivanja sporazuma potrebno je još provjeriti da li su predviñene
učionice još uvijek slobodne u traženim terminima. Provjera je potrebna iz
sinkronizacijskih razloga zbog toga što u teoriji postoji mogućnost da je neka od traženih
učionica netom prije rezervirana od strane drugog predmeta. Ako je rezultat provjere
pozitivan, sporazum se potvrñuje i šalju se potvrdne poruke svim uključenim sudionicima
koji onda u svojim lokalnim podacima evidentiraju dogovorene termine kao rezervirane.
Ukoliko u prvoj rundi ne postoji niti jedno područje preklapanja ponuda svih agenata,
predloženi protokol definira traženje rješenja u sljedećim rundama pregovora. Prije slanja
zahtjeva za idućom rundom pregovora, medijator agent analizira koliki dio prostora
pretraživanja je prvoj rundi otkrio pojedini agent i na osnovu toga im u zahtjevu šalje i
podatak o tome koliko treba iznositi otkrivenost funkcije korisnosti u sljedećoj rundi. Na
taj način postiže se izbalansiranost otkrivanja privatnih informacija svih uključenih agenata
(analogno kao na slici 4.12). Naravno, nije moguće postići potpuno identičnu otkrivenost
funkcija korisnosti za sve agente, nego smo postigli da otkrivenost različitih agenata bude
unutar odreñenog raspona koji je parametar protokola (korištena je vrijednost +/-10%). U
tom slučaju, ako medijator u jednoj rundi ustanovi da je razlika izmeñu maksimalne i
minimalne otkrivenosti agenata manja od 10%, za sljedeću rundu medijator spušta prag
otkrivanja za sve agente na sljedeću nižu vrijednost, a ako je razlika izmeñu maksimalne i
minimalne otkrivenosti agenata veća od 10%, medijator u sljedećoj rundi spušta prag samo
za agente čija otkrivenost odstupa više od 10% od maksimalne otkrivenosti tekuće runde.
U svim sljedećim rundama agenti pripremaju ponude na način da proširuju zone lokalnog
maksimuma iz prve runde, a to rade podešavanjem praga otkrivanja. Meñutim, za razliku
od prve runde kad su agenti slali samo ponude s maksimalnom korisnosti koja je bila
jednaka za cijelu ponuñenu zonu, u sljedećim rundama agenti proširuju zonu te šalju
medijatoru srednju vrijednost korisnosti na odreñenoj zoni. Kako smo ranije opisali, ako
postoji više od jednog područja preklapanja pristiglih ponuda, medijator ovaj podatak
koristi pri izboru najboljeg ugovora, primjenom formule iz izraza (5.3).
Ako se rješenje ne pronañe ni do posljednje protokolom definirane runde, u posljednjoj
rundi prag se spušta na nulu i agenti zapravo šalju kao ponudu sva podpodručja u kojima
su raspoloživi za održavanje nastave, bez obzira na stupanj zadovoljavanja slabih
ograničenja. Ako ni pri takvim ponudama ne postoji niti jedno preklapanje ponuñenih
odgovora, znači da nije moguće pronaći niti jedno rješenje problema u kojem su svi
sudionici u mogućnosti prisustvovati nastavi.
93
Broj rundi pregovora i koeficijent spuštanja praga su parametari protokola. U sljedećem
poglavlju smo prikazali kako promjena broja rundi protokola utječe na kvalitetu dobivenih
rezultata. Pritom smo vrijednost praga uvijek spuštali linearno, ovisno o broju rundi. Npr.,
ako smo koristili 6 rundi, prag smo spuštali od 100% do 0%, dakle 20% u svakoj rundi.
5.4 Implementacija sustava
Kao osnovni programski okvir za implementaciju i testiranje predloženog sustava korišten
je WADE[69] (vidi potpoglavlje 3.2.2), a kao razvojno okruženje korišten je Eclipse IDE s
WOLF dodatkom za WADE podršku. WADE (Workflow and Agent Development
Environment) je softverska platforma izgrañena kao proširenje JADE-a[63], popularnog
open source programskog okvira za razvoj distribuiranih aplikacija temeljenih na agentski-
orijentiranoj paradigmi. WADE dodaje JADE-u podršku za izvoñenje zadataka definiranih
prema workflow (tijek izvoñenja) metafori, kao i brojne mehanizme za lakše upravljanje
distribuiranom platformom.
Tijek izvoñenja (eng. workflow) predstavlja formalnu definiciju nekog procesa u smislu
aktivnosti koje treba izvesti, odnosa izmeñu aktivnosti, kriterija koji definiraju početak i
završetak kao i drugih informacija (sudionici, zahtjevani ulazni podaci i očekivani izlazni
podaci i dr.). Ključni aspekt workflow metafore leži u činjenici da su koraci izvoñenja i
njihov redoslijed eksplicitno definirani, tako da se proces može predstaviti i grafičkim
dijagramom (kao na slici 5.7). Workflow metafora se danas uglavno primjenjuje u
kontekstu BPM-a (Business Process Management) gdje workflow predstavlja jedan
poslovni proces i obično orkestrira rad brojnih postojećih sustava.
Workflow metafora općenito nije prikladna za izvoñenje low level operacija kao što su
upravljanje i transformacija podataka, matematički izračuni i sl. Za ovakve primjene je
softverski kod bolji i efikasniji način implementacije. WADE pokušava pomaknuti granice
u ovom području i omogućiti pristup temeljen na workflow sve do razine interne sistemske
logike. Kako vidimo na slici 5.11, WADE može biti korišten kao orkestrator za
koordinaciju postojećih sustava ili kao programski okvir za stvaranje novih aplikacija koje
zahtjevaju izvoñenje eventualno dugih i kompleksnih zadataka.
Za razliku od većine postojećih sustava za izvoñenje workflow-a koji sadrže snažnu
centralnu jedinicu, u WADE-u svaki agent pored izvoñenja standardnih zadataka (JADE
behaviours) može imati i mikro jedinicu za izvoñenje workflow-a (micro workflow engine)
94
definiranih u WADE formalizmu. Formalizam WADE workflow-a se temelji na JAVA
programskom jeziku. To znači da se workflow koji se izvodi od WADE agenata izražava u
obliku JAVA klase s dobro definiranom struktorom. Takvi workflow-i mogu sadržavati i
sve druge standardne dijelove koda koji se elementi JAVA jezika (metode, polja, ...). Na
takav način, jedinica za izvoñenje workflow-a koja je uključena u WADE agente ne radi
kao interpreter opisnog jezika za definiranje workflow-a (BPMN, BPEL, XPDL,..), nego
izvodi kompajlirani JAVA kod koji je mnogo moćniji u računanju, transformacijama
podataka i drugim low level operacijama potrebnim pri izvoñenju procesa.
Slika 5.11 – Konteksti primjene WADE aplikacija
Kao i kod JADE-a, WADE distribuirana platforma se sastoji od nekoliko kontejnera koji
rade na jednom ili više hostova i mogu sadržavati više agenata (Slika 5.12). Skup
kontejnera se naziva agentska platforma. Svaka platforma sadrži samo jedan glavni
kontejner (Main Container) koji sadrži dva specijalna agenta:
• AMS (Agent Management System) – izvodi stvaranje/ubijanje agenata, ubijanje
kontejnera i gašenje platforme,
• DF (Directory Facilitator) – 'žute stranice', agenti pomoću njega oglašavaju svoje
usluge.
U opisu koncepta novog višeagentskog sustava (MINMASTT) naveli smo da bi u
produkcijskom okruženju svaki nastavnik i student delegirao svoje podatke i preferencije
95
vlastitom agentu koji bi bio pokrenut na računalu (PC ili mobilni ureñaj) pod kontrolom
korisnika. Ostalim agentima koji predstavljaju predmete i učionice bi upravljao
administrator sustava, kao predstavnik institucije. Meñutim, za potrebe razvoja i testiranja
sustava bilo je potrebno razviti aplikaciju pomoću koje je moguće pripremiti ulazne
podatke za sve agente u sustavu kao i konfiguracijske datoteke koje su potrebne za
pokretanje distribuirane platforme.
Slika 5.12 – JADE/WADE distribuirana arhitektura
Za pripremanje ulaznih podataka korištena je prethodno razvijena aplikacija Open Course
Timetabler (Slika 5.13) koja omogućava manualni unos i rasporeñivanje nastavnih
aktivnosti za obrazovne institucije. Pomoću ove aplikacije moguće je potpuno definirati
problem koji se rješava, uključujući i definiranje preferencija svih sudionika putem slabih
ograničenja. Za potrebe istraživanja aplikacija je proširena s funkcionalnošću generiranja
WADE konfiguracijske datoteke koja sadrži podatke o svim hostovima koji su dio
agentske platforme, kao i podatke o svim agentskim kontejnerima i pripadajućim
lokacijama te podatke o svim agentima i pripadajućim inicijalnim parametrima. Isječak iz
jedne takve datoteke prikazan je na slici 5.14. U datoteci su točno specificirani svi hostovi,
kontejneri i agenti s inicijalnim parametrima. Nakon pokretanja agentske platforme i
učitavanja konfiguracijske datoteke, AMS (Agent Menagement System) pokreće sve
96
agente koji su specificirani u konfiguracijskoj datoteci, tako da nakon toga upravljačka
konzola agentske platforme pokazuje stanje slično kao na slici 5.15.
Slika 5.13 – Screenshot Open Course Timetabler aplikacije
Konfiguracijska datoteka omogućava vrlo jednostavnu inicijalizaciju sustava jer na taj
način s jednog centralnog mjesta možemo pokrenuti veliki broj agenata na udaljenim
hostovima. Prethodno je samo potrebno na svim hostovima koji su dio agentske platforme
pokrenuti tzv. BootDaemon program koji je odgovoran za aktiviranje kontejnera na
lokalnim hostovima. Izvoñenje ostalih akcija vezanih za životni ciklus agenata moguće je
izvesti putem upravljačke konzole WADE programskog okvira.
Kad su svi agenti na svim agentskim kontejnerima i hostovima pokrenuti, višeagentski
sustav je spreman za izvoñenje prethodno opisanog distribuiranog algoritma. Pokretanjem
algoritma dolazi do izvoñenja programskog koda pojedinih agenata i do meñuagentske
komunikacije slanjem ACL poruka, a na slici 5.16 dat je primjer sadržaja jedne ACL
poruke u kojoj CoordinatorAgent šalje zahtjev (REQUEST performativ) CourseAgent-u
c1 za izvoñenje workflow-a CourseScheduleLessonsWorkflow.
97
Slika 5.14 – Isječak iz WADE konfiguracijske datoteke
Slika 5.15 – Upravljačka konzola WADE platforme
98
Slika 5.16 – Primjer sadržaja ACL poruke u WADE platformi
U svrhu lakšeg testiranja i evaluacije rezultata implementirana je funkcionalnost da nakon
završetka izvoñenja distribuiranog algoritma CoordinatorAgent zapisuje u XML datoteku
rezultate rasporeñivanja nastavnih sati svih CourseAgent-a. Ova datoteka se importira u
Open Course Timetabler aplikaciju tako da se rezultati mogu pregledati i vizualno, a
moguće je i za svakog sudionika napraviti ispis njegovog rasporeda u preglednom formatu.
5.5 Eksperimentalni rezultati MINMASTT višeagentskog sustava za
optimizaciju procesa izrade vremenskog rasporeda
U cilju vrednovanja predloženog protokola za pregovaranje izmeñu sudionika u procesu
izrade vremenskog rasporeda i cjelokupnog distribuiranog algoritma, provedena je
eksperimantalna provjera teorijskog modela. Budući da predloženi protokol pregovaranja
sadrži parametar koji se odnosi na maksimalni broj rundi pregovaranja, u prvom koraku
smo imali cilj eksperimentalno odrediti najbolju vrijednost ovog parametra. U tu svrhu
smo proveli testiranja na slučajno generiranim problemima s 10 predmeta koji imaju od 2-
8 nastavnih sati tjedno. Pri svim eksperimentima težinske koeficijente za slaba ograničenja
za studente i nastavnike smo tako definirali da se vrijednost funkcije korisnosti studenata i
nastavnika može kretati u rasponu od 0 do -100. Naime, ne postoje nikakve standardne
vrijednosti težinskih koeficijenata za slaba ograničenja nego bi u realnom scenariju svaki
nastavnik i student sam postavio njihove vrijednosti, ovisno o tome koje ograničenje za
njega ima veći prioritet. Takoñer valja napomenuti da se, ovisno o broju maksimalnih
rundi pregovora, prag za ponude uvijek spušta u jednakim razmacima, tj. ako je npr.
maksimalni broj rundi jednak 11, prag se spušta u koracima od 10%, od 100% do 0%.
100
Za odreñivanje optimalne vrijednosti parametra 'maksimalni broj rundi pregovaranja'
napravili smo tri grupe mjerenja (Slika 5.17) koja se razlikuju po tome koliko sudionika
(nastavnika i studenata) sudjeluje u pregovaranju za pojedini predmet. Svaka točka na
grafovima na slici 5.17 predstavlja prosječnu vrijednost od 10 mjerenja, a isto vrijedi i za
ostala mjerenja u ovom potpoglavlju. S obzirom da je krajnji cilj testirati predloženi
protokol pregovaranja i distribuirani algoritam na podacima za Fakultet elektrotehnike,
strojarstva i brodogradnje, a za koji znamo da se proces pregovaranja za raspored nastavnih
sati iz pojedinog predmeta odvija izmeñu dva ili nekoliko sudionika (jedan nastavnik i
jedna studentska grupa ili jedan nastavnik i nekoliko studentskih grupa), iz dobivenih
rezultata zaključujemo da je u tom slučaju najbolja vrijednost parametra 'maksimalni
broj rundi pregovaranja' jednaka 10.
Naime, na grafovima vidimo da za jako mali broj maksimalnih rundi pregovaranja proces
pregovaranja traje duže i da je rezultirajuća korisnost (računata prema izrazu 5.3) niska.
Kako povećavamo maksimalni broj rundi, rezultirajuća korisnost se povećava, a trajanje
pregovaranja se smanjuje, ali se nakon odreñene vrijednosti maksimalnog broja rundi
trajanje pregovaranja opet povećava. U tom smislu vrijednost od maksimalno 10 rundi
pregovaranja je kompromis izmeñu vremena izvoñenja protokola i kvalitete dobivenog
rješenja.
U drugoj grupi eksperimenata imali smo za cilj na slučajno generiranim problemima
usporediti rezultate dobivene s predloženim protokolom pregovaranja s rezultatima koji se
dobiju primjenom dva druga protokola za automatsko pregovaranje jako složenih problema
(hill climbing i simulated annealing). Dakle, druga grupa eksperimenata je jako slična
eksperimentima koje su proveli Klein at al.[99], opisanim u potpoglavlju 4.2.2, samo što se
ovdje radi o drugačijem problemu. U našem slučaju, CourseAgent ima ulogu medijatora i
on generira slučajne ponude koje šalje TeacherAgent-ima i StudentAgent-ima. Ako svi
sudionici prihvate ponudu, tekuća ponuda postaje trenutno najbolji dogovor i u sljedećem
krugu medijator radi malu promjenu zadnje ponude (mutaciju) i opet je šalje svim
sudionicima. Ako svi sudionici u odreñenom krugu ne prihvate ponudu onda medijator za
sljedeći pokušaj izvodi mutaciju zadnjeg najboljeg dogovora.
Razlika izmeñu pristupa temeljenog na hill climbing-u i simulated annealing-u je u načinu
na koji agenti sudionici procjenjuju ponudu koju prime od medijatora. Agent hill climber
prihvaća samo onu ponudu koja je bolja od trenutno najbolje ponude, dok agent simulated
annealer koristi virtualnu 'temperaturu' T te može prihvatiti i ponude koje su lošije od
101
prethodno najbolje, s vjerojatnošću: P(prihvaćanje) = e-∆U/T. Vrijednost ∆U predstavlja
razliku korisnosti izmeñu ponuda. Što je veća virtualna temperatura i manje smanjenje
korisnosti, veća je vjerojatnost da će ponuda biti prihvaćena. Virtualna temperatura se
postupno smanjuje tijekom trajanja procesa pregovaranja. Za oba protokola (hill climbing i
simulated annealing) smo parametar koji odreñuje nakon koliko rundi bez poboljšavanja
najbolje ponude se završava pregovaranje postavili na vrijednost 100, a za simulated
annealing virtualna temperatura T je postavljena na 50.
Ovu grupu eksperimenata smo, kao i prvu, izveli tako da je cjelokupna agentska platforma
instalirana na jednom PC računalu, s Windows XP operacijskim sustavom, s procesorom
od 2,0 GHz i 2GB RAM-a. To je moguće izvesti jer je broj agenata u sustavu bio relativno
malen (do 55). Rezultati usporedbe našeg predloženog protokola i hill climbing i simulated
annealing pristupa prikazani su na slici 5.18. Eksperiment smo ponovili za različiti broj
agenata sudionika u pregovaranju, a pritom smo varirali broj nastavnih sati tjedno koje
treba rasporediti od 2-8, što zapravo znači da smo imali pregovaranje o 2-8 zavisnih
atributa. Kako raste broj nastavnih sati tjedno problem postaje složeniji, s većim prostorom
pretraživanja. Ako je 8 nastavnih sati potrebno rasporediti u 60 potencijalnih termina (5
dana, svaki s 12 termina), prostor pretraživanja je velik 2,56x1010. Naravno, svaki dodatni
sudionik u pregovaranju povećava složenost procesa pregovaranja.
Iz grafova vidimo da naš predloženi protokol pregovaranja za manji broj sudionika
ostvaruje bolje rezultate i znatno kraće vrijeme izvoñenja u odnosu na HC (hill climbing) i
SA (simulated annealing) protokol. Meñutim, za više od 10 sudionika naš protokol počinje
gubiti komparativnu prednost u odnosu na ostala dva protokola jer kvaliteta dobivenog
rješenja postaje slična ili lošija, a vrijeme izvoñenja za situacije u kojima se rasporeñuje 6
ili više sati tjedno raste iznad vremena izvoñenja HC i SA protokola. Takoñer se uočava da
SA protokol u gotovo svim uvjetima daje bolje rezultate nego HC protokol, doduše
najčešće uz nešto duže vrijeme izvoñenja.
106
Slika 5.18 – Usporedba rezultata pregovaranja dobivenih primjenom predloženog
protokola pregovaranja s rezultatima dobivenim s hill climbing i simulated
annealing protokolom
U trećoj, završnoj grupi eksperimanata imali smo cilj na realnom problemu izrade
rasporeda nastave za Fakultet elektrotehnike, strojarstva i brodogradnje u Splitu provjeriti
rezultate dobivene primjenom predloženog protokola i usporediti ih s rezultatima
dobivenim s hill climbing i simulated annealing protokolom. Pored toga, rezultate smo
usporedili s rezultatima dobivenim radom ljudskog agenta (osobe koja manualno izrañuje
raspored koristeći centralizirani pristup - koncentracija svih potrebnih informacija na jedno
mjesto).
107
Prije početka svakog semestra, osoba zadužena za izradu rasporeda kreira raspored
nastavnih aktivnosti pokušavajući što više zadovoljiti neke specifične zahtjeve nastavnika.
Meñutim, najveći dio rada se zapravo temelji na iskustvima iz prethodnih
godina/semestara. Rad ljudskog agenta smo uzeli kao referentni rezultat s kojim
usporeñujemo različite protokole automatskog pregovaranja. Dostupni su nam rezultati
rada ljudskog agenta na primjerima iz nekoliko zadnjih godina, ali je potrebno istaknuti da
je u tim primjerima ljudski agent koristio uglavnom iskustvo i specifične zahtjeve
nastavnika, a nije imao definirana nikakva slaba ograničenja koja su definirana u našem
sustavu. Stoga smo u svim testiranim primjerima pripremili ulazne podatke za slaba
ograničenja na način da smo rezultirajuće stanje dobiveno djelovanjem ljudskog agenta
proglasili željenim stanjem. To znači da smo, ako je npr. ljudski agent napravio takav
raspored u kojem nastavnik XY ima nastavu 3 dana u tjednu, vrijednost našeg slabog
ograničenja TeacherMaxDaysPerWeek za tog nastavnika postavili na 3.
Isto smo napravili za sva slaba ograničenja svih nastavnika i studenata. U idealnom slučaju
bi stoga rezultat djelovanja ljudskog agenta u smislu vrijednosti funkcije korisnosti prema
izrazu 5.3 trebao iznositi nula, ali u nekim slučajevima iz rezultata ljudskog agenta nije
moguće jednoznačno preuzeti željenu vrijednost slabog ograničenja, te iz tog razloga u
svim testiranim primjerima ukupna korisnost za ljudskog agenta iznosi nešto manje od
nula.
Ovu grupu experimenata smo izveli na 6 virtualnih strojeva (procesor 2,4 GHz, 3GB
RAM, WinXP, VMWARE virtualizacija, Slika 5.19) i jednom standardnom PC računalu
(procesor 2,0 GHz, 2GB RAM, WinXP). Broj agenata u sustavu je iznosio, ovisno o
primjeru, okvirno od 600-800, a od toga je CourseAgent-a bilo izmeñu 366 i 536. Rezultati
eksperimanata su prikazani na slici 5.20.
Slika 5.19 – Primjena virtualizacije u svrhu testiranja modela sustava
108
Slika 5.20 – Rezultati dobiveni primjenom MINMASTT sustava na nekoliko problema
izrade rasporeda za FESB i usporedba s rezultatima ljudskog agenta
Vidimo da se primjenom predloženog protokola pregovaranja i distribuiranog algoritma
dobivaju veće vrijednosti ukupne korisnosti u sustavu (prema izrazu 5.3) u odnosu na
rezultate dobivene s druga dva testirana protokola (HC i SA). Razlika u kvaliteti dobivenog
rješenja izmeñu predloženog protokola i SA protokola je doduše vrlo malena, a ti rezultati
su u skladu s očekivanjima na temelju rezultata prikazanih na slici 5.18.
Naime, u problemu izrade rasporeda nastave za FESB prevladavaju podproblemi u kojima
je potrebno odrediti raspored nastavnih sati (najčešće 3-4 sata tjedno) izmeñu najčešće 2
sudionika (jedan nastavnik i jedan predstavnik grupe studenata s istim upisanim
predmetima). Samo za manji broj predmeta (10-20%) u pregovaranju sudjeluje od 3-5
sudionika, a radi se o predmetima za koje se nastava održava zajednički za više obrazovnih
programa. U takvim uvjetima, prema slici 5.18 očekuje se da će rezultirajuća korisnost
109
nakon izvoñenja cjelokupnog distribuiranog algoritma biti vrlo slična za naš predloženi
protokol i za SA protokol, što je i potvrñeno ovim zadnjim eksperimentom.
U usporedbi s rezultatima ljudskog agenta vidimo da predloženi protokol ne uspijeva
postići korisnost koju je postignuta djelovanjem ljudskog agenta. Meñutim, pri tom postoji
i drastična razlika u vremenu izvoñenja jer se naš distribuirani algoritam izvodi za oko 70
sekundi, a ljudskom agentu je potrebno 3-4 radna dana za rasporeñivanje svih nastavnih
aktivnosti za FESB. Kao ilustracija dobivenih rezultata, na slici 5.21 vizualno su prikazani
rezultati izrade rasporeda nastave za jednu studentsku grupu dobiveni radom ljudskog
agenta (a) i rezultati dobiveni pomoću MINMASTT sustava (b).
Slika 5.21 – Usporedba rezultata za jednu studentsku grupu (Računarstvo 120) dobivenih
radom ljudskog agenta i pomoću MINMASTT sustava
110
U primjerima na slici 5.20, ljudski agent postiže ukupnu korisnost u sustavu definiranu
prema egalitarističkom kriteriju u rasponu od -3,29 do -4,41, a korisnost dobivena
primjenom našeg višeagentskog sustava je u rasponu od -10,73 do -12,25. Napomenimo da
korisnost može imati vrijednost od 0 (najbolji slučaj) do -100 (najlošiji slučaj). Na
usporedne rezultate korisnosti utječe i činjenica da je rad ljudskog agenta uzet kao
referenca na osnovu koje smo pripremili ulazne podatke za naš sustav. Ako bismo bili u
mogućnosti na neovisno generiranom problemu usporediti rezultate dobivene primjenom
predloženog višeagentskog sustava i ljudskog agenta, za očekivati je da bi razlika u
kvaliteti dobivenih rješenja bila manja.
Smatramo da objašnjenje činjenice da ljudski agent generalno postiže bolju korisnost leži u
tome što ljudski agent, nakon stvaranja inicijalnog rasporeda, izvodi veliki broj pokušaja
njegovog poboljšanja, dok naš distribuirani algoritam završava nakon što se pronañe
raspored svih nastavnih sati za sve predmete. Iz tog razloga smatramo da je jedna od
mogućnosti poboljšanja predloženog algoritma uvoñenje još jedne faze koja će se provesti
nakon stvaranja inicijalnog rasporeda. U toj fazi bi se pokušalo poboljšati inicijalno
rješenje na način da se provodi 'distribuirano lokalno pretraživanje' (eng. distributed local
search).
Jedan od načina na koji se to može implementirati je da CoordinatorAgent slučajno
odabire jedan ili više CourseAgent-a čiji raspored nastavnih sati se onda pokušava
popraviti ponovnim pregovaranjem u novim uvjetima. Naravno, pri tome bi se nove
rješenje prihvaćalo samo ako ima veću korisnost od prethodno najboljeg.
Pored navedenog, predloženi višeagentski sustav se može unaprijediti tako da se u interni
model svakog reprezentativnog agenta uključi i komponenta koja odražava njegovu
društvenu komponentu.
111
6. ZAKLJUČAK Planiranje upotrebe resursa ima jako značajnu ulogu u modernom društvu jer dovodi do
povećanja ekonomičnosti poslovnih procesa i većeg zadovoljstva korisnika. Mnogi složeni
problemi zahtjevaju primjenu različitih optimizacijskih metoda u kojima se varijable od
interesa maksimiziraju (ili minimiziraju), uz prisustvo mnogobrojnih zadanih ograničenja.
Jedan od najpoznatijih optimizacijskih problema je problem izrade vremenskog rasporeda,
odnosno problem izrade rasporeda nastave za obrazovne institucije, kao njegova podvrsta.
Postoji veliki broj optimizacijskih algoritama za rješavanje ovog problema, a koji se
temelje na centraliziranoj paradigmi, tj. takvi algoritmi zahtjevaju da se sve informacije od
svih sudionika prikupe na jedno mjesto. Meñutim, problem izrade rasporeda nastave je
distribuiran u svojoj prirodi te se stoga njegovo rješavanje pomoću distribuiranih
višeagentskih sustava nameće kao logičan izbor.
Distribuirani sustav za izradu vremenskog rasporeda omogućava svim sudionicima da
svoje informacije zadrže privatnima koliko je god to moguće te da u realnom vremenu
mogu reagirati na promjene u okruženju. U radu je predložen novi model višeagentskog
sustava (MINMASTT) za rješavanje problema izrade rasporeda nastave u kojem je svaki
sudionik u ovom procesu predstavljen s jednim reprezentativnim agentom, a rješenje
problema se postiže meñuagentskom interakcijom.
Definiran je distribuirani algoritam koji, vodeći računa o sinkronizacijskim pitanjima,
omogućava maksimalnu efikasnost procesa pregovaranja za sve predmete. Pregovaranje,
kao najosnovniji i najmoćniji oblik interakcije u višeagentskim sustavima, se koristi za
postizanje sporazuma o terminima nastavnih sati odreñenog predmeta. Pregovaranje se
odvija uz posredstvo agenta medijatora, a sudionici su nastavnici i studenti upisani na
dotični predmet.
Predložen je novi protokol višeatributnog pregovaranja u uvjetima nelinearne funkcije cilja
i velikog prostora pretraživanja, a u kojem agenti sudionici šalju ponude o svojim
prihvatljivim terminima agentu medijatoru, koji zatim traži zone preklapanja izmeñu svih
pristiglih ponuda. Budući da protokol može imati više rundi, garantira se postizanje
dogovora ako je on ikako moguć s obzirom na jaka ograničenja. Osnovni koraci u ovom
protokolu su: a) uzorkovanje, b) podešavanje, c) davanje ponuda, d) identifikacija
sporazuma.
Ovakav model višeagentskog sustava za izradu rasporeda nastave se odlikuje efikasnošću i
skalabilnošću. Sustav je efikasan jer se istovremeno odvija pregovaranje za sve predmete
112
koji nemaju zajedničke nastavnike i studente, a prema stanju sinkronizacijske matrice.
Skalabilnost se očituje u tome što je po potrebi lako moguće reagirati na promjenjene
zahtjeve (u vidu većeg ili manjeg broja uključenih agenata) dodavanjem novog hosta koji
će biti dio agentske platforme ili brisanjem postojećeg. Sustav reagira na promjene u stanju
okoline tako da je npr. lako moguće dodati novi predmet i pronaći raspored za njegove
lekcije bez perturbacije postojećeg rasporeda ostalih predmeta.
Novi model višeagentskog sustava i protokol pregovaranja testirani su na realnim
primjerima. Najprije je analizirana najbolja vrijednost parametra protokola koji se odnosi
na maksimalni mogući broj rundi pregovaranja i zaključeno je da kao kompromis izmeñu
kvalitete dobivenog rješenja i vremena trajanja pregovaranja najbolja vrijednost iznosi 10
rundi. Nakon toga je analizirano ponašanje protokola s obzirom na broj agenata sudionika i
broj sati nastave koje treba rasporediti, te je provedena usporedba s rezultatima dobivenim
primjenom hill climbing i simulated annealing protokola. Predloženi protokol za slučajeve
kad u pregovaranju sudjeluje manje od 15 sudionika daje bolje rezultate mjerene u
dobivenoj globalnoj korisnosti, dok iznad 15 sudionika simulated annealing protokol daje
nešto bolje rezultate. Za manji broj sudionika predloženi protokol ima znatno kraće
vrijeme izvoñenja, dok za situacije s iznad 15 sudionika i 6 ili više nastavnih sati njegovo
vrijeme izvoñenja je duže nego kod dva usporedna protokola.
Na kraju su sva tri protokola testirana na vrlo zahtjevnom primjeru izrade rasporeda
nastave za Fakultet elektrotehnike, strojarstva i brodogradnje u Splitu. Testirali smo
izvoñenje cjelokupnog distribuiranog algoritma za rasporeñivanje nastavnih sati svih
predmeta. U svih 5 primjera predloženi protokol je dao bolju rezultirajuću korisnost od
ostala dva protokola, s time da je vrijeme izvoñenja algoritma s korištenjem predloženog
protokola bilo izmeñu 10-20 puta kraće. U usporedbi s rezultatima koje na istim
primjerima postiže ljudski agent, uz neusporedivo kraće vrijeme izvoñenja naš predloženi
protokol daje nešto lošije rezultate, ali smatramo da se predloženim unaprijeñenjem
distribuiranog algoritma kroz buduće istraživanje mogu anulirati ovi nedostaci.
Naglasimo još jednom znanstvene doprinose disertacije. Temeljni znanstveni doprinos
ovog rada je definicija i realizacija novog modela višeagentskog sustava za optimizaciju
procesa izrade vremenskog rasporeda temeljenog na protokolu višeatributnog
pregovaranja u uvjetima nelinearne funkcije cilja i velikog prostora pretraživanja.
113
Dodatni znanstveni doprinosi su:
• razvoj distribuiranog algoritma koji omogućava efikasnu upotrebu distribuiranih
resursa, vodeći pritom računa o sinkronizacijskim pitanjima,
• razvoj algoritama za prilagodbu koji omogućavaju primjenu protokola
višeatributnog pregovaranja na proces pregovaranja pri izradi vremenskog
rasporeda u specifičnim uvjetima nelinearne funkcije cilja,
• postizanje bolje ukupne korisnosti u sustavu prema egalitarističkom kriteriju, za
najčešće vrste problema, u usporedbi s rezultatima dobivenim primjenom
standardnih protokola pregovaranja u uvjetima velikog prostora pretraživanja,
• kraće vrijeme izvršavanja procesa optimizacije u odnosu na vrijeme potrebno kod
primjene standardnih protokola pregovaranja.
Budući rad u ovom području bit će usmjeren na poboljšanje efikasnosti distribuiranog
algoritma i to na način da se algoritmu doda još jedna faza u kojoj će se, nakon inicijalne
izrade rasporeda za sve predmete, izvoditi distribuirano lokalno pretraživanje s ciljem
poboljšanja trenutnog rješenja. Isto tako, moguće je u cilju veće efikasnosti primjeniti kod
pregovaranja princip distribuiranog medijatora u kojem će svaki medijator voditi
pregovaranje za jedan dio prostora pretraživanja.
114
7. LITERATURA
1. R. Bartak, H. Rudova: Integrated Modelling for Planning, Scheduling, and
Timetabling Problems, U: Proceedings of the Twentieth Workshop of the UK
Planning and Scheduling Special Interest Group (PLANSIG 2001), pp. 19 -31,
Edinburgh, 2001.
2. C.-Y. Lee, L. Lei, and M. Pinedo: Current trends in deterministic scheduling. Annals
of Operations Research, 70:1–41, 1997.
3. L. Di Gaspero: Local Search Techniques for Scheduling Problems: Algorithms and
Software Tools, doktorska disertacija, Universita degli Studi di Udine, 2003.
4. A. Wren: Scheduling, Timetabling and Rostering – A Special Relationship?, In: E.
Burke, P. Ross: Selected papers from the 1st International Conference on the Practice
and Theory of Automated Timetabling, Springer Lecture Notes in Computer Science
Series, Vol. 1153, pp. 46-75., 1996.
5. E.K. Burke, J.H. Kingston and D. de Werra: Applications to timetabling. In: J. Gross
and J. Yellen (eds.) The Handbook of Graph Theory, Chapman Hall/CRC Press, pp.
445-474., 2004.
6. A. Schaerf: A survey of automated timetabling, Artificial Intelligence Review, 13, pp.
87-127., 1999.
7. E. Burke, J. Kingston, J. Jackson, R. Weare: Automated University Timetabling: The
State of the Art, The Computer Journal 40, pp. 565-571., 1997.
8. D. de Werra: An introduction to timetabling, European Journal of Operational
Research, Vol. 19, pp. 151-162., 1985.
9. A. Tripathy: Computerised decision aid for timetabling - A case analysis. Discrete
Applied Mathematics, 35(3):313-323, 1992.
10. M.W. Carter, G. Laporte: Recent Developments in Practical Examination
Timetabling, U: The Practice and Theory of Automated Timetabling: Selected Papers
from the 1st Int’l Conf. on the Practice and Theory of Automated Timetabling, Napier
University, August/September 1995, Springer Lecture Notes in Computer Science
Series, Vol. 1153., pp. 3-21.,1996.
11. M. W. Carter, G. Laporte: Recent Developments in Practical Course Timetabling, U:
The Practice and Theory of Automated Timetabling II: Selected Papers from the 2nd
Int'l Conf. on the Practice and Theory of Automated Timetabling, University of
115
Toronto, August 20th-22nd 1997, Springer Lecture Notes in Computer Science
Series, Vol. 1408., pp. 3-19., 1998.
12. V. A. Bardadym: Computer-Aided School and University Timetabling: The New
Wave, U: The Practice and Theory of Automated Timetabling: Selected Papers from
the 1st Int’l Conf. on the Practice and Theory of Automated Timetabling, Napier
University, August/September 1995, Springer Lecture Notes in Computer Science
Series, Vol. 1153., pp. 22-45., 1996.
13. P. Ross, D. Corne: Comparing genetic algorithms, simulated annealing, and
stochastic hillclimbing on timetabling problems, U: G. Goos, J. Hartmanis, J.
Leeuwen: Evolutionary Computation, AISB Workshop, 94 – 102. Lecture Notes in
Computer Science 993, Springer-Verlag, Sheffield, 1995.
14. K. A. Dowsland: Off-the-peg or made to measure? Timetabling and scheduling with
SA and TS, U: E.K. Burke i M.W. Carter: The Practice and Theory of Automated
Timetabling: Selected Papers from the Second International Conference, 37 – 52.
Lecture Notes in Computer Science 1408, Springer-Verlag: Berlin., 1997.
15. A. Colorni, M. Dorigo, V. Maniezzo: Metaheuristics for school timetabling.
Computational Optimisation and Applications, 9(3), 277-298., 1998.
16. E. Kaplansky, A. Meisels: Negotiation among Scheduling Agents for Distributed
Timetabling, 5th International Conference on the Practice and Theory of Automated
Timetabling, Pittsburgh, 2004.
17. M. Oprea: Multi-Agent System for University Course Timetable Scheduling, ICVL
Proceedings, pp. 231-238., 2006.
18. L. Di Gaspero, S. Mizzaro, A. Schaerf: A Multi Agent Architecture for Distributed
Course Timetabling, 5th International Conference on the Practice and Theory of
Automated Timetabling, 2004.
19. G. Picard, C. Bernon, M.-P. Gleizes: ETTO: Emergent Timetabling by Cooperative
Self-Organisation, Third International Workshop on Engineering Self-Organising
Applications ESOA’05), Utrecht, The Netherlands, pp. 31-45., 2005.
20. D. Capera, G. JP., M.-P. Gleizes, P. Glize: The AMAS theory for complex problem
solving based on self-organizing cooperative agents, 1st International TAPOCS
Workshop at IEEE 12th WETICE, IEEE, pp. 383-388., 2003.
116
21. M.-H. Verrons, P. Mathieu: How to solve a timetabling problem by negotiation?, 6th
International Conference on the Practice and Theory of Automated Timetabling
(PATAT 06), pp.502-505., 2006.
22. P. Mathieu, M.-H. Verrons: A General Negotiation Model using XML, Artificial
Intelligence and Simulation of Behaviour Journal (AISBJ), 1(6):523–542, August
2005.
23. R. G. Smith: The Contract Net Protocol : high-level communication and control in a
distributed problem solver, IEEE Transactions on computers, C-29(12):1104–1113,
December 1980.
24. T. Kyaw, N. Thein: Automated Course Timetabling in a Multiagent System,
International Conference on Internet Information Retrival (ICIIR), Korea, 2008.
25. Y. Yang, R. Paranjape, L. Benedicenti: An Agent Based General Solution Model for
the Course Timetabling Problem, The Fifth International Joint conference on
Autonomous Agents, (AAMOS'06), Hakodate, Kokkaido, Japan, May 18-12, 2006.
26. E. Babkin, H. Adbbulrad, T. Babkina: AgentTime: A Distributed Multi-agent
Software System for University's Timetabling, Emergent Properties in Natural and
Artificial Complex Systems, EPNACS, Germany, 2007.
27. D. Strnad, N. Guid: A Multi-Agent System for University Course Timetabling,
Applied Artificial Intelligence, Vol. 21, Issue 2, pp.137-153., February 2007.
28. M. Wooldgridge, N.R. Jennings: Intelligent agents: Theory and practice, The
Knowledge Engineering Review, 10(2):115-152, 1995.
29. S. Russell, P. Norvig: Artificial Intelligence: A Modern Approach, 2rd edition,
Prentice Hall, 2003.
30. Y. Shoham: Agent-oriented programming, Artificial Intelligence, 60:51-92, 1993.
31. S. Franklin, A. Graesser: Is it an agent, or just a program?: A taxonomy for
autonomous agents, In J.P. Müller, M.J. Wooldridge, N.R. Jennings, editori:
Intelligent Agents III – Proceedings of the Third International Workshop on Agent
Theories, Architectures and Languages, LNAI 1193, p. 21-35, Springer, 1997.
32. O. Etzioni, D. Weld: Intelligent agents on the internet: Fact, fiction and forecast,
IEEE Expert, 10(4):44-49, 1995.
33. M. d’Inverno, M. Luck: Understanding Agent Systems, 2nd edition, Springer, 2010.
34. J. M. Spivey: The Z Notation: A Reference Manual, Prentice Hall, 2nd edition, 1992.
117
35. S. Russell, P. Norvig: Artificial Intelligence: A Modern Approach, 3rd edition,
Prentice Hall, 2010.
36. N. Vlassis: A Concise Introduction to Multiagent Systems and Distributed Artificial
Intelligence, Morgan and Claypool Publishers, 2007.
37. P. Maes: The agent network architecture (ANA), SIGART Bulletin, 2(4):115-120,
1991.
38. Y. Lespérance, H.J. Levesque, F. Lin, D. Marcu, R. Reiter, R.B. Scherl: Foundations
of a logical approach to agent programming, U: M. Wooldridge, J.P. Müller, M.
Tambe, editori: Intelligent Agents II (LNAI Volume 1037), pp.331-346, Springer,
1996.
39. M.E. Bratman: Intention, Plans and Practical Reason, Harvard University Press,
1987.
40. A.L. Lansky, M.P. Georgeff: Reactive reasoning and planning, U: Proceedings of the
Sixth National Conference on Artificial Intelligence (AAAI-87), pp.677-682, Seattle,
USA, 1987.
41. M. d'Inverno, D. Kinny, M. Luck, M. Wooldridge: A formal specification of dMARS,
U: M.P. Singh, A. Rao, M. Wooldridge, editori: Intelligent Agents IV (LNAI Volume
1365), pp. 155-176, Springer, 1997.
42. M. Bratman, D. Israel, M. Pollack: Plans and resourse-bounded practical reasoning,
Computational Intelligence, 4:349-355, 1988.
43. N. Jennings: Specification and implementation of a belief desire joint-intention
architecture for collaborative problem solving, Journal of Intelligent and Cooperative
Information Systems, 2(3):289-318, 1993.
44. L. Steels: Cooperation between distributed agents through self organization, U: Y.
Demazeau, J. Müller, editori: Decentralized AI – Proceedings of the First European
Workshop on Modelling Autonomous Agents in Multi-Agent World, pp. 175-196,
Elsevier, Amsterdam, 1990.
45. P. Agre, D. Chapman: PENGI: An implementation of a theory of activity, U:
Proceedings of the Sixth National Conference on Artificial Intelligence, pp. 268-272,
Seattle, 1987.
46. P. Maes: The dynamics of action selection, U: Proceeding of the eleventh
International Joint Conference on Artificial Intelligence, pp. 991-997, Detroit, 1989.
118
47. I.A. Ferguson: Towards an architecture for adaptive, rational, mobile agents, U: E.
Werner, Y. Demazeau, editori: Decentralized AI 3 – Proceedings of the Third
European Workshop on Modelling Autonomous Agents and Multi-Agent Worlds, pp.
249-262, Elsevier, Amsterdam, 1992.
48. B. Burmeister, K. Sundermeyer: Cooperative problem solving guided by intentions
and perception, U: E. Werner, Y. Demazeau, editori: Decentralized AI 3 –
Proceedings of the Third European Workshop on Modelling Autonomous Agents and
Multi-Agent Worlds, pp. 77-92, Elsevier, Amsterdam, 1992.
49. J.P. Müller, M. Pischel: Modeling interacting agents in dynamic environments, U:
Proceedings of the Eleventh European Conference on Artificial Intelligence, pp. 709-
713, Amsterdam, 1994.
50. J. Rosenschein, G. Zlotkin: Rules of Encounter, MIT Press, 1994.
51. A. Ricci, M. Piunti, M. Viroli, A. Omicini: Environment programming in CArtAgO,
U: R. Bordini, M. Dastani, J. Dix, A. Seghrouchni, editori: Multi-Agent Programming
– Languages, Tools and Applications, Springer, 2009.
52. J. Austin: How to Do Things With Words, Oxford University Press, Oxford, 1962.
53. J. R. Searle: Speech Acts: An Essay in the Philosophy of Language, Cambridge
University Press, Cambridge, 1969.
54. P. R. Cohen, H.J. Levesque: Rational interaction as the basis for communication. U:
P. R. Cohen, J. Morgan, M.E. Polack, editori: Intentions in Communications, pp. 221-
256, The MIT Press, Cambridge, 1990.
55. Protégé Group: The Protégé ontology editor, http://protege.stanford.edu/publications/,
pristupljeno 7. prosinca 2010.
56. Y. Shoham: Agent-oriented programming, Artificial Intelligence, 60(1):51-92, 1993.
57. M. Fisher: A survey of Concurrent MetateM – the language and its applications, U:
D. Gabbay, H. Ohlbach, editori: Temporal Logic – Preceedings of the First
International Conference (LNAI Volume 827), pp. 480-505, Springer, Berlin, 1994.
58. H. Barringer, M. Fisher, D. Gabbay, G. Gough, R. Owens: MetateM: A framework
for programming in temporal logic, U: REX Workshop on Stepwise Refinement of
Distributed Systems: Models, Formalisms, Correctness (LNCS Volume 430), pp. 94-
129, Springer, Berlin, 1989.
59. Jason: A Java based interpreter for an extended version of AgentSpeak,
http://jason.sourceforge.net, pristupljeno 11. prosinca 2010.
119
60. A.S. Rao: AgentSpeak(L): BDI agents speak out in a logical computable language, U:
W. Van de Velde, J. Perram, editori: Proceedings of the Seventh Workshop on
Modelling Autonomous Agents in a Multi-Agent World (MAAMAW'96), (LNAI
Volume 1038), pp. 42-55, Springer, London, 1996.
61. 3APL: An Abstract Agent Programming Language, http://www.cs.uu.nl/3apl/,
prisrupljeno 11. prosinca 2010.
62. 2APL: A Practical Agent Programming Language, http://apapl.sourceforge.net/,
pristupljeno 11. prosinca 2010.
63. JADE – Java Agent Development Framework, http://jade.tilab.com/, pristupljeno 11.
prosinca 2010.
64. F. Bellifemine, G. Caire, D. Greenwood: Developing multi-agent systems with JADE,
John Wiley & Sons, England, 2007.
65. Jadex – BDI Agent System, http://jadex.informatik.uni-hamburg.de, pristupljeno 11.
prosinca 2010.
66. JACK Autonomous Software, http://aosgrp.com/products/jack/index.html,
pristupljeno 11. prosinca 2010.
67. Brahms Agent Environment, http://www.agentisolutions.com, pristupljeno 11.
prosinca 2010.
68. JIAC – Java Intelligent Agent Componentware, http://www.jiac.de/, pristupljeno 13.
prosinca 2010.
69. WADE (Workflows and Agents Development Environment), http://jade.tilab.com
/wade/, pristupljeno 13.prosinca 2010.
70. P. Maes: Social interface agents: Acquiring competence by learning from users and
other agents, U: O. Etzioni, editor: Software Agents – Papers from the 1994 Spring
Symposium, pp. 71-78., AAAI Press, 1994.
71. Lj. Šerić, D. Stipaničev, M. Štula: Observer network and forest fire detection,
Information Fusion 12:160-175, 2011.
72. J. Wainer, P. R. Ferreira, E. R. Constantino: Scheduling meetings through multi-agent
negotiations, Decision Support Systems 44:285-297, 2007.
73. D. Walton, E. Krabbe: Commitment in Dialogue: Basic Concepts of Interpersonal
Reasoning, SUNY Press, New York, 1995.
74. H. Raiffa: The Art and Science of Negotiation, Harvard University Press, 1982.
120
75. J. C. Harsanyi: Approaches to the bargaining problem before and after the theory of
games, Econometrica 24, 144-157., 1956.
76. S. Kraus: Strategic Negotiation in Multi-Agent Environment, MIT Press, Cambridge,
2001.
77. S. Kraus, J. Wilkenfeld, G. Zlotkin: Negotiation under time constraints, Artificial
Inteligence 75(2), 297-345., 1995.
78. M. J. Osborne, A. Rubinstein: Bargaining and Markets, Academic Press, San Diego,
1990.
79. J. S. Rosenschein, G. Zlotkin: Rules of Encounter, MIT Press, Cambridge, 1994.
80. A. Lomuscio, M. Wooldridge, N. R. Jennings: A classification scheme for negotiation
in electronic commerce, International Joint Group Decision and Negotiation, 12(1),
31-56., 2003.
81. P. Maes, R. H. Guttman, A. G. Moukas: Agents that buy and sell, Communications of
the ACM 42(3), 81-91., 1999.
82. T. Sandholm: Agents in electronic commerce: Component technologies for automated
negotiation and coalition formation, Autonomous Agents and Multi-Agent Systems
3(1), 73-96., 2000.
83. M. Wooldridge: An Introduction to Multi-Agent Systems, second edition, Willey,
2009.
84. P. Cramton, Y. Shoham, R. Steinberg: Combinatorial Auctions, MIT Press, 2010.
85. M. Barbuceanu, W. Lo: A multi-attribute utility theoretic negotiation architecture for
electronic commerce, Proceedings of 4th international Conference on Autonomous
Agents, pp. 239-247, Barcelona, 2000.
86. P. Faratin, C. Sierra, N.R. Jennings: Negotiation Decision Functions for Autonomous
Agents, International Journal of Robotics and Autonomous Systems 24 (3-4) 159-182,
1998.
87. P. Faratin: Automated service negotiation between autonomous computational agents,
Ph.D. thesis, University of London, Queen Mary and Westfield College, Department
of Electronic Engineering, 2000.
88. S. Fatima, M. Wooldridge, N. Jennings: Multi-issue negotiation under time
constraints, U: Proceedings of the 1st International Joint Conference on Autonomous
Agents and Multiagent Systems, ACM Press, New York, 2002.
121
89. I. Rahwan, L. Sonenberg, N. Jennings, P. McBurney: STRATUM: A Methodology for
Designing Heuristic Agent Negotiation Strategies, Applied Artificial Intelligence
21(6), 2007.
90. S. Kraus, K. Sycara, A. Evenchik: Reaching agreements through argumentation: A
logical model and implementation, Artificial Intelligence 104(1-2):1-69, 1998.
91. S. Parson, C. Sierra, N. Jennings: Agents that reason and negotiate by arguing,
Journal of Logic and Computation 8(3):261-292, 1998.
92. C. Sierra, N. Jennings, P. Noriega, S. Parsons: A framework for argumentation-based
negotiation, U: Intelligent Agents IV: 4th International workshop on Agent Theories,
Architectures and Languages, Springer Verlag, Berlin, 1998.
93. K. Hindriks, C. Jonker, D. Tykhonov: Eliminating interdependencies between issues
for multi-issue negotiation, U: Cooperative Information Agents X, Vol. 4149 of
Lecture Notes in Computer Science, pp.301-316, 2006.
94. S. Fatima, M. Wooldridge, N. Jennings: Optimal Agendas for Multi-Issue
Negotiation, Proceedings of the Second International Conference on Autonomous
Agents and Multi-Agent Systems, Melbourne, 2003.
95. S. Fatima, M. Wooldridge, N. Jennings: An agenda based framework for multi-issues
negotiation, Artificial Intelligence Journal, 152 (1). pp. 1-45., 2004.
96. R.Y. Lau: Towards genetically optimised multi-agent multi-issue negotiations, U:
Proceeding of the 38th Annual Hawaii International Conference on System sciences,
pp.1-10, Washington, DC, SAD, 2005.
97. B. Rubenstein-Montano, R. Malaga: A Weighted Sum Genetic Algorithm to Support
Multiple-Party Multi-Objective Negotiations, IEEE Transactions on Evolutionary
Computation, 6(4):366-377, 2002.
98. M. Klein, P. Faratin, Y. Bar-Yam: Using an Annealing Mediator to Solve the
Prisoners' Dilemma in the Negotiation of Complex Contracts, Proceedings of the
Agent-Mediated Electronic Commerce (AMEC-IV) Workshop, Springer-Verlag,
2002.
99. M. Klein, P. Faratin, H. Sayama, Y. Bar-Yam: Negotiating Complex Contracts, IEEE
Intelligent Systems Journal, 18: 32-38, 2002.
100. H. Ehtamo, E. Kettunen, R. Hamalainen: Searching for joint gains in multi-party
negotiations, European Journal of Operational research, 21:135-191, 2004.
122
101. G. Lai, C. Li, K. Sycara: Efficient multi-attribute negotiation with incomplete
information, Group Decision and Negotiation, 15:511-528, 2006.
102. M. Li, Q.B. Vo, R. Kowalczyk: Searching for fair joint gains in agent-based
negotiation, Proceedings of The 8th International Conference on Autonomous Agents
and Multiagent Systems, pp. 1049-1056, Richland, SC, SAD, 2009.
103. K. Hindriks, C. Jonker, D. Tykhonov: Eliminating Interdepencies between Issues for
Multi-issue Negotiation, U: Cooperative Information Agents X, Lecture Notes in
Computer Science, Vol. 4149, pp.301-316, 2006.
104. T. Ito, H. Hatorri, M. Klein: Multi-issue negotiation protocol for agents: Exploring
nonlinear utility spaces, Proceedings of the 20th International Joint Conference on
Artificial Intelligence (IJCAI-2007), pp. 1347-1352, 2007.
105. H. Hattori, M. Klein, T. Ito: A Multi-Phase Protocol for Negotiation with
Interdependent Issues, Proceedings of the International Conference on Intelligent
Agent Technology (IAT 2007), pp. 153-159, 2007.
106. T. Ito, M. Klein, H. Hattori: An Auction-based Negotiation Protocol for Agents with
Nonlinear Utility Functions, Transactions of The Institute of Electronics, Information
and Communication Engineers (IEICE) J89-D(12): 2648-2660, 2006.
107. K. Fujita, T. Ito, H. Hattori, M. Klein: An Approach to Implementing A Threshold
Adjusting Mechanism in Very Complex Negotiations: A Preliminary Result,
Proceedings of The 2nd International Conference on Knowledge, Information and
Creativity Support Systems (KICSS277), 2007.
108. K. Fujita, T. Ito, M. Klein: Secure and efficient protocols for multiple interdependent
issues negotiation, Journal of Intelligent and Fuzzy Systems 21(3): 175-185, 2010.
123
ŽIVOTOPIS
Ivan Ćurak roñen je 04. siječnja 1970. u Podosoju kod Vrlike. Osnovnu školu pohañao je u
Vrlici, a srednju elektrotehničku (smjer opća elektronika) u Splitu. Nakon završene srednje
škole upisao je 1988. god. studij elektrotehnike na Fakultetu elektrotehnike, strojarstva i
brodogradnje u Splitu. Studij je započeo nakon odsluženja vojnog roka 1989. god.
Diplomirao je u siječnju 1994. god. na smjeru Industrijska elektrotehnika i automatizacija s
prosječnom ocjenom studija 4,12., dok su diplomski rad i obrana ocijenjeni ocjenom
izvrstan.
Poslije završenog studija radio je nekoliko godina u više manjih tvrtki. Od rujna 2000. do
travnja 2002. zaposlen je u Siemensu u Splitu kao programer u odjelu za razvoj programa i
sustava. Od 2002. godine zaposlen je na Fakultetu elektrotehnike, strojarstva i
brodogradnje (FESB) u Splitu kao stručni suradnik u informatičkoj službi fakulteta.
Poslijediplomski studij elektrotehnike upisao je 2003. godine na istom fakultetu. Nakon
polaganja svih ispita s poslijediplomskog studija za stjecanje titule magistra znanosti,
2005. godine je upisivanjem dodatnih kolegija, a bez izrade magistarskog rada nastavio
studij prebacivanjem na poslijediplomski doktorski studij.
U veljači 2005. izabran je na FESB-u u suradničko naslovno zvanje asistent za znanstveno
područje tehničkih znanosti, polje elektrotehnika, grana elektronika. Kao asistent je radio u
održavanju vježbi iz kolegija “Objektno orijentirano programiranje“ i “Arhitektura
računala“.
Od rujna 2005. do lipnja 2006. pohañao je CARNet-ovu E-Learning akademiju, smjer
Course Design.