Inteligentni agenti

Izvor: Hrvatska internetska enciklopedija
Inačica 424403 od 8. ožujka 2022. u 18:45 koju je unio WikiSysop (razgovor | doprinosi) (brisanje nepotrebnog teksta)
(razl) ←Starija inačica | vidi trenutačnu inačicu (razl) | Novija inačica→ (razl)
Skoči na:orijentacija, traži

Inteligentni agenti predstavljaju računalni softver koji ima za sposobnost da fleksibilno, samostalno i bez intervencije korisnika izvršava postavljeni zadatak, a krajnjeg korisnika izvještava o završetku zadatka ili samoj pojavi događaja koji se očekuje. Sam agent je u interakciji s okolinom kako bi na što precizniji način izvršio postavljeni zadatak. Inteligencija je sposobnost kako inteligentni agenti prihvaćaju zadane ciljeve, te kako ih izvršavaju. Inteligencija odražava razinu kvalitete razmišljanja i naučenog ponašanja. Inteligentni agenti su prije svega programske komponente i služe kao posrednici između svojih korisnika i računala. Osnovno svojstvo im je da samostalno djeluju u ime korisnika kako bi obradili informaciju, surađivali sa ostalim agentima i tako riješili postavljene upite te dogovorili određenu radnju. Prije svega temelje se na umjetnoj inteligenciji, raspodijeljenom programiranju, Internet tehnologiji i mobilnoj komunikaciji. Karakteristike koje mora imati svaki agent je da:

  1. radi za svog korisnika,
  2. radi s njegovom dozvolom,
  3. i da je specijaliziran za neko područje.

Inteligentni agenti su poznati pod nekoliko imena: softverski agenti, vodiči , roboti znanja i softverski roboti.

Struktura inteligentnog agenta

Jednostavi agent može biti matematički definiran kao funkcija agenta[1] koji mapira svaku moguću sekvencu percepcije prema mogućoj akciji koju agent može izvršiti ili prema koeficijenu, povratnoj vezi, funkciji ili konstanti koja utječe na eventualnu akciju:

[math]\displaystyle{ f : P^\ast \rightarrow A }[/math]

Funkcija agenta je abstraktni koncept koji uključuje različite principe donošenja odluka kao što je izračun individualnih mogućnosti, dedukcije iznad logičkih pravila i slično.[2]

Vrste inteligentnih agenata

jednostavni refleksivni agent
refleksivni agent temeljen na modelu
agent temeljen na cilju
agent temeljen na korisnosti
učeći agenti

Russell i Norvig grupiraju agente u pet klasa temeljenih na njihov stupanj percipirane inteligencije i mogućnosti.[3]

  1. jednostavni refleksivni agenti
  2. refleksivni agenti temeljeni na modelu
  3. agenti temeljeni na cilju
  4. agenti temeljeni na korisnosti
  5. učeći agenti
Jednostavni refleksivni agenti

Jednostavni refleksivni agenti djeluju samo na temelju trenutne percepcije, ignorirajući ostatak perceptivne povijesti. Funkcija agenta je bazirana na pravilu stanje-akcija: ako se zadovoljava stanje (uvjet), tada slijedi akcija. Ta funkcija agenta uspijeva samo kada je okolina u potpunosti primjetljiva. Neki refleksivni agenti mogu sadržavati informacije o njihovom trenutačnom stanju što im omogućava zanemarivanje uvjeta čiji su pokretači već pokrenuti. Beskonačne petlje su često neizbježne za jednostavne refleksivne agente koji "rade" u djelomično primjetljivim okolinama.

Refleksivni agenti temeljeni na modelu

Agenti temeljeni na modelu se mogu nositi sa djelomično primjetljivom okolinom. Njegovo trenutačno stanje je pohranjeno unutar agenta održavajući neku vrstu strukture koja opisuje dio svijeta koji ne može biti viđen. To znanje o "kako svijet radi" je nazvano model svijeta, od tuda i naziv "agent temeljen na modelu" Refleksivni agent temeljen na modelu treba održavati neku vrstu internog modela koji ovisi o povijesti percepcije te odražvati barem dio neprimjetnog aspekta trenutačnog stanja. Tada odabire akciju na isti način kao i jednostavni refleksivni agent.

Agenti temeljeni na cilju

Agenti temeljeni na cilju proširuju mogućnosti agenata temeljenih na modelu, korištenjem informacije o cilju. Informacija o cilju opisuje situaciju koja je poželjna. To omogućuje agentu način odabira među višestrukih mogućnosti, odabirući onu koja ispunjava ciljno stanje.

Agenti temeljeni na korisnosti

Agenti temeljeni na cilju samo znaju razliku između ciljnog stanja i ne-ciljnog stanja. Moguće je definirati mjeru kojom se mjeri poželjnost određenog stanja. Ta mjera se može dobiti kroz uporabu funkcije korisnosti. Općenite performanse mjere omogućuju usporedbu različitih stanja svjetova prema načinu da se mjeri usrećenost agenta. Zapravo, pojam "korisnost" opisuje koliko je "sretan" agent. Racionalan agent baziran na korisnosti odabire akciju koja maksimizira očekivanu korisnost ishoda akcije.

Učeći agenti

Učenje ima prednost koja omogućuje agentu da inicijalno "radi" u nepoznatoj okolini te da postane kompetentan naspram njegovom inicijalno znanju. Najvažnije je znati razliku između "elementa učenja", koji je odgovoran za poboljšanje, i "elementa performanse" koji je odgovoran za odabir eksternih akcija. Također, postoji komponenta učećeg agenta koja se naziva "generator problema". Ona je odgovorna za predlaganje akcija koje će voditi prema novim i informativnim iskustvima.

Ostale klase inteligentnih agenata

Postoje još i ostale vrste inteligentnih agenata, a to su

  • Odlučujući agenti (pomažu u donošenju odluka);
  • Ulazni agenti (procesiraju ulaze, senzori);
  • Procesirajući agenti (rješavaju probleme kao što su prepoznavanje govora)P;
  • Prostorni agenti (vezani su za fizički, realni svijet);
  • Svjetski agenti (kombinacija ostalih klasa agenata omogućujući autonomno ponašanje);
  • Vjerojatnosni agenti
  • Fizički agenti - Entitet koji percipira kroz senzore i djeluje kroz pokretače
  • Vremenski agenti

Implementacija agenata

Inteligentni agenti se mogu implementirati na raznim platformama. Jedna od njih je i platforma SPADE, koja predstavlja modul za programski jezik Python. Više o tome na linku: http://hr.wikipedia.org/wiki/Spade


Izvori

  1. Script error: The function "harvard_citation_no_bracket" does not exist.
  2. Salamon, Tomas (2011). Design of Agent-Based Models. Repin: Bruckner Publishing. str. 42–59. ISBN 978-80-904661-1-1. http://www.designofagentbasedmodels.info/ 
  3. Script error: The function "harvard_citation_no_bracket" does not exist.