• Nie Znaleziono Wyników

1.1 C´ıle pr´ace

2.1.1 Agent

Definic samostatn´eho agenta existuje spousta, ale vˇsechny se up´ınaj´ı stejn´ym smˇerem. Russell a Norvig se zamˇeˇruj´ı na situov´an´ı do urˇcit´eho prostˇred´ı.

IDefinice 2.1.

”Agent je cokoliv, co dok´aˇze vn´ımat prostˇred´ı pˇres svoje senzory a na z´akladˇe tˇechto informac´ı vykon´avat akce v tomto prostˇred´ı pomoc´ı dostupn´ych prostˇredk˚u.“ [3, pˇreklad

3

4 Kapitola 2. Teoretick´a v´ychodiska pr´ace

vlastn´ı]

Wooldridge pˇrid´av´a definici agenta dalˇs´ı rozmˇer, a to vztah mezi agentem a jeho design´erem.

I Definice 2.2.

”Agent je poˇc´ıtaˇcov´y syst´em, kter´y je situov´an do nˇejak´eho prostˇred´ı a je schopn´y autonomn´ıch akc´ı v tomto prostˇred´ı za ´uˇcelem dosaˇzen´ı ´ukol˚u a c´ıl˚u, kter´e jsou urˇceny jeho tv˚urcem.“ [1, pˇreklad vlastn´ı]

Autoˇri pak doplˇnuj´ı, ˇze agent je schopen pouze ovlivˇnovat prostˇred´ı a nedok´aˇze ho plnˇe ˇr´ıdit. Mus´ı b´yt pak pˇripraven na moˇznost selh´an´ı. K tomu jeˇstˇe re´aln´e prostˇred´ı nen´ı vˇzdy deterministick´e, s ˇc´ımˇz se tak´e mus´ıpoˇc´ıtat. Russel a Norvig rozliˇsuj´ır˚uzn´e vlastnosti prostˇred´ı[3]:

Pˇr´ıstupn´e vs. nepˇr´ıstupn´e – Pˇr´ıstupn´e prostˇred´ı je takov´e, o kter´em dok´aˇze agent aktu´alnˇe, kompletnˇe a pˇresnˇe zjistit informace. Prostˇred´ı re´aln´eho svˇeta jsou sp´ıˇse nepˇr´ıstupn´a.

Deterministick´e vs. nedeterministick´e – V deterministick´em prostˇred´ı maj´ı vˇsechny akce jasnˇe dan´y a garantovan´y efekt. Narozd´ıl od nedeterministick´eho, kde m´ame jakousi nejistotu o stavu, kter´y bude v´ysledkem akce.

Statick´e vs. dynamick´e – Statick´e prostˇred´ınen´ımˇenˇeno niˇc´ım jin´ym neˇz pomoc´ıakc´ıagent˚u.

V praxi se ovˇsem v´ıce setk´av´ame s dynamick´ym prostˇred´ım, kter´e je ovlivˇnov´ano jin´ymi procesy (fyzick´e jevy, poruchy atd.).

Diskr´etn´ı vs. spojit´e – V diskr´etn´ım prostˇred´ı je pevn´y a koneˇcn´y poˇcet akc´ı a vjem˚u (napˇr.

pohyb na mˇr´ıˇzce rozmˇer˚u: n ∗ n | n ∈ N ∧ n je koneˇcn´e).

Zn´am´e vs. nezn´am´e – Zn´am´e prostˇred´ı je (jak z pohledu agenta, tak z pohledu design´era agenta) takov´e, kde jsou zn´am´e urˇcit´e z´akonitosti. V nezn´am´em prostˇred´ı se mus´ı agent zorientovat a pˇrij´ıt na fungov´an´ı tohoto prostˇred´ı. Pˇr´ıkladem nezn´am´eho prostˇred´ı by mohlo b´yt ˇr´ızen´ı auta v ciz´ı zemi bez navigace. Toto prostˇred´ı je pˇr´ıstupn´e (vid´ıme silnici, znaˇcky, ostatn´ı auta), ale mus´ıme pˇrij´ıt na jeho fungov´an´ı (na jak´e stranˇe se jezd´ı, kam vede silnice).

Kaˇzd´y agent by mˇel splˇnovat n´asleduj´ıc´ı vlastnosti a mˇel by b´yt:

Autonomn´ı – Agent k dosaˇzen´ı vlastn´ıho c´ılu nepotˇrebuje z´asah nebo veden´ı od uˇzivatele.

Nem´ame nad n´ım ˇz´adnou pˇr´ımou kontrolu.

Reaktivn´ı – Agent interaguje s okol´ım a reaguje na jeho pˇr´ıpadn´e zmˇeny.

Proaktivn´ı – Agent se pokouˇs´ı dos´ahnout sv´ych c´ıl˚u. Nen´ı ˇr´ızen ud´alostmi, ale pˇreb´ır´a inici-ativu.

Spoleˇcensk´y – Agent interaguje s ostatn´ımi agenty skrze spolupr´aci (pracov´an´ı spolu jako t´ym, za dosaˇzen´ı stejn´eho c´ıle, napˇr. v naˇsem pˇr´ıkladˇe d´at co nejv´ıce g´ol˚u a z´aroveˇn jich co nejm´enˇe dostat), koordinaci (ˇr´ızen´ı vz´ajemn´ych z´avislost´ı mezi akcemi v´ıcero agent˚u) a vyjedn´av´an´ı (schopnost dos´ahnout dohody ve vˇecech spoleˇcn´eho z´ajmu).

2.1. Multiagentn´ı syst´emy 5

Pr´ace umˇel´e inteligence je designovat program agenta, kter´y implementuje agentn´ı funkci – mapov´an´ı vjem˚u na akce.“[3, pˇreklad vlastn´ı] Tento program funguje na nˇejak´em fyzick´em zaˇr´ızen´ı se senzory a aktu´atory, coˇz naz´yv´ame architekturou a plat´ı [3]:

agent= architektura + program

Programy agenta maj´ı stejnou strukturu (vstup ze senzor˚u, v´ystup z aktu´ator˚u) a podle Russela a Norviga rozliˇsujeme 4 z´akladn´ı druhy program˚u – agent˚u:

Jednoduch´ y reflexn´ı agent

Nejjednoduˇsˇs´ı druh agenta. Na z´akladˇe souˇcasn´ych vjem˚u vol´ı akci, pˇritom ignoruje veˇskerou his-torii vjem˚u. Na obr´azku 2.1 a v k´odu 1 m˚uˇzeme vidˇet abstraktn´ı strukturu programu. Nejdˇr´ıve mus´ıme z´ıskat nynˇejˇs´ı stav z vjemu ze senzor˚u (napˇr. vypoˇc´ıtat pozici na z´akladˇe obrazu z ka-mery). N´aslednˇe mus´ıme naj´ıt pravidlo, kter´e odpov´ıd´a nynˇejˇs´ımu stavu a nakonec vr´atit akci nalezen´eho pravidla. Seznam pravidel je pˇredem zn´am a je ˇcistˇe koncepˇcn´ı. ”Implementace m˚uˇze b´yt trivi´aln´ı stejnˇe jako napˇr´ıklad soubor logick´ych hradel implementuj´ıc´ı boolovsk´y obvod.“[3, pˇreklad vlastn´ı] Tento typ agent˚u je velmi jednoduch´y, ale jeho inteligence je velmi omezen´a.

Jednoduch´y reflexn´ı agent bude fungovat, kdyˇz na z´akladˇe aktu´aln´ıch vjem˚u m˚uˇze b´yt spr´avnˇe rozhodnuto – to je jen tehdy, kdyˇz je prostˇred´ı kompletnˇe pˇr´ıstupn´e.“[3, pˇreklad vlastn´ı]

Jeden z vˇetˇs´ıch probl´em˚u nast´av´a pˇri zacyklen´ı v programu (agent ˇcek´a na uˇcit´y vstup, kter´y nemus´ı nastat). ˇReˇsen´ım m˚uˇze b´yt ˇc´asteˇcn´a randomizace v´ystupu, kter´a m˚uˇze b´yt v´ıce prospˇeˇsn´a v multiagentn´ıch syst´emech, neˇz v situaci s jedn´ım agentem.[3]

Obr´azek 2.1 Architektura reflexn´ıho agenta [3]

6 Kapitola 2. Teoretick´a v´ychodiska pr´ace

Algoritmus 1:Jednoduch´y reflexn´ı agent Vstup:vjem ze senzor˚u, pravidla V´ystup: akce

stav = intepretaceVstupu(vjem) pravidlo = najdiPravidlo(stav,pravidla) akce = pravidlo.akce

returnakce

Modelovˇ e zaloˇ zen´ y reflexn´ı agent

Nejefektivnˇejˇs´ı cesta, jak zvl´adnout ˇc´asteˇcnou pˇr´ıstupnost, je pamatovat si ˇc´ast prostˇred´ı, kter´a je pro agenta nepˇr´ıstupn´a.“[3, pˇreklad vlastn´ı] To znamen´a, ˇze agent si mus´ı udrˇzovat vnitˇrn´ı stav na z´akladˇe historie vstup˚u. D´ale se agent chov´a stejnˇe jako reflexn´ı. K aktualizaci vnitˇrn´ıho stavu potˇrebujeme dvˇe informace. Prvn´ı je informace o chov´an´ı prostˇred´ı nez´avisle na agentovi a druh´a je, jak agent sv´ymi akcemi m˚uˇze toto prostˇred´ı zmˇenit. Tyto informace o prostˇred´ı naz´yv´ame modelem, proto mluv´ıme o Modelovˇe zaloˇzen´em reflexn´ım agentovi.

Obr´azek 2.2Architektura Modelovˇe zaloˇzen´eho agenta [3]

Algoritmus 2:Modelovˇe zaloˇzen´y reflexn´ı agent

Vstup:vjem ze senzor˚u, pravidla, model, pˇredchoz´ı akce V´ystup: akce

stav = aktualizaceStavu(vjem,pravidla,model,pˇredchoz´ı akce) pravidlo = najdiPravidlo(stav,pravidla)

akce = pravidlo.akce returnakce

Agent na z´ akladˇ e c´ıle

Vˇedˇet informace o nynˇejˇs´ım stavu prostˇred´ı nen´ı obˇcas dost ke spr´avn´emu rozhodnut´ı.“ [3,

2.1. Multiagentn´ı syst´emy 7

pˇreklad vlastn´ı] Obˇcas je d˚uleˇzit´e zn´at informace, kter´e popisuj´ı c´ıle agenta. Program agenta pak kombinuje tyto informace s modelem (stejn´y jako v modelovˇe zaloˇzen´em agentovi) a na z´akladˇe t´eto kombinace vyb´ır´a akci. Narozd´ıl od reflexn´ıho agenta je l´epe flexibiln´ı a nen´ı probl´em definovat nov´e c´ıle (v reflexn´ım agentovi mus´ıme pˇrepisovat cel´a pravidla, pokud chceme nov´y c´ıl).

Obr´azek 2.3 Agent na z´akladˇe c´ıle [3]

Obr´azek 2.4 Prospˇeˇsnˇe zaloˇzen´y agent [3]

Prospˇ snˇ e zaloˇ zen´ y agent

C´ıle samotn´e nejsou dostateˇcn´e pro kvalitn´ı chov´an´ı v mnoha prostˇred´ı“[3, pˇreklad vlastn´ı].

Obˇcas existuj´ı rychlejˇs´ı, levnˇejˇs´ı a kvalitnˇejˇs´ı zp˚usoby, jak c´ıle splnit. C´ıle jsou bud’ splnˇeny nebo nesplnˇeny, a proto potˇrebujeme funkci, kter´a n´am bude mˇeˇrit kvalitu stavu po proveden´ı nˇejak´e

8 Kapitola 2. Teoretick´a v´ychodiska pr´ace

akce. Agent si pak vybere tu akci, kter´a byla vyhodnocena touto funkc´ı jako nejprospˇeˇsnˇejˇs´ı.

Tito agenti si l´epe porad´ı s ˇc´asteˇcnˇe pˇr´ıstupn´ym a nedeterministick´ym prostˇred´ım.

Vnitˇrn´ı mechanismus agenta m˚uˇze b´yt implementov´an mnoha zp˚usoby. ”Kaˇzd´y mechanismus m´a stejnou kostru: na vstupu berou data ze senzor˚u a na v´ystupu vracej´ı akce do pohon˚u.“[3, pˇreklad vlastn´ı] M˚uˇzeme napˇr´ıklad vyuˇz´ıt koneˇcn´e automaty, kde mus´ıme vstupy pˇrev´est na abecedu a koncov´e stavy budou reprezentovat akce. Mezi dalˇs´ı metody m˚uˇzeme zaˇradit pln´e konvoluˇcn´ı s´ıtˇe a reprezentace akc´ı pomoc´ı obr´azk˚u [4]. V naˇsem pˇr´ıpadˇe bude vnitˇrn´ı mechanis-mus reprezentov´an rozhodovac´ım stromem.

Powiązane dokumenty