viŠeagentski sustav za optimizaciju procesa … · u poglavlju 4 opisuju se vrste i modeli...

135
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.

Upload: others

Post on 06-Sep-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

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

vi

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

70

Slika 4.11 - Otkriveno područje prostora korisnosti

Slika 4.12 - Proces podešavanja praga

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.

86

Slika 5.8 – Dijagram sekvenci

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%.

99

Slika 5.17 – Rezultati pregovaranja za nekoliko različitih problema

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.

102

103

104

105

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.