I kunstig intelligens, er **intelligent agent** (**IA**) en selvstendig entitet som observerer miljøet og handler ut ifra de observasjonene som er gjort. De handlingene som er gjort basert på observasjoner er også rettet for å kunne oppnå sitt mål. Læring av sine egne handlinger, eller observasjon av andre sine handlinger samt bruk av kunnskap er deler av adferden til noen intelligent agenter. En intelligent agent kan være fra de trivielle maskinene som en robotstøvsuger til ekstremt kompliserte agenter slik som mennesker, eller avanserte ekspert systemer.

For å konstruere logikken bak en intelligent agent så blir det brukt et logisk språk for å beskrive handlingene som skal inntreffe gitt en tilstand. Målrettetet adferd er ifølge flere (Russell & Norvig 2003) essensen av intelligent adferd, og derfor brukes uttrykkene rasjonelle agenter og intelligente agenter om hverandre.

Intelligente agenter innen kunstig intelligens er nært knyttet agenter innen økonomi, og andre versjoner av intelligente agenter innen fagfelt blant annet kognitiv vitenskap og etikk.

Programvareagenter er nært knyttet intelligente agenter. Autonome programvareagenter som på vegne av brukere eller systemer utfører oppgaver. Slik oppgaver som diagnostiseringssystemer, slik som er brukt av blant annet General Motors. Innen informatikk blir intelligente agenter brukt om en programvareagent som har en form for intelligens. Programmeringsspråk brukes for å konstruere logikken bak en programvare agent er blant annet mer spesial språk som Lisp eller Prolog, samt mer utbredte språk som Java.

Definisjoner på en intelligent agent
------------------------------------

Det er ingen defacto definisjon av hva en intelligent agent skal være. I den mest brukte læreboken om kunstig intelligens (Russell & Norvig 2003) er om en agent er rasjonell det viktigste. Alan Turing sin turingtest hvor oppfattet oppførsel til agentene vil være det essensielle for å kunne skille inteligente agenter fra andre agenter.

Arkitekturen til en intelligent agent
-------------------------------------

Pseudokode av en enkel refleksiv agent:

```
'''funksjon''' enkel refleksivagent (Persepsjon) '''returnerer''' handling
Statisk regler, et sett av kondisjonsbaserte regler

situasjon <- Tolkeomverden(Persepsjon )
regel <- Matche Regel(situasjon, regeler)
handling <- RegeltilHandling[regel]

'''returnerer''' handing

```

Klasser av intelligente agenter
-------------------------------

Enkel refleksiv agent
Modellbasert refleksiv agent
Måldrevet agent
Nyttebasert agent
Læringsdrevet agent
(Russell & Norvig 2003) Bruker hovedsakelig 5 klasser av agenter basert på sitt kompleksitet, kapasitet og grad av intelligense: 

1. Enkel refleksiv agent
2. Modellbasert refleksiv agent
3. Måldrevet agent
4. Nyttebasert agent
5. Læringsdrevet agent

Enkel refleksiv agent
Gitt oppfatningen av miljøet er nå, utfør en handling som er predefinert gitt hvordan miljøet er.

Begrensinger med enkel refleksiv agent:

* Begrenset antall domener hvor en slik agent kan brukes
* For å ha et sett med regler som passer for alle situasjoner innen sjakk vil være praktisk umulig grunnet at det finnes for mange forskjellige situasjoner i sjakk
* Alle handlingene er bare basert på oppfatningen av omverden, men ikke hvordan verden har endret seg. Dette er en svakhet som kan føre til at en valgt handling vil ikke føre til den endringen som er tiltenkt.
* Når en endring av miljøet forekommer så må regelen til handlingsforløpet endres av andre enn agenten

Modellbasert refleksiv agent
Her blir verden også sett på som hvordan den var før, altså har agenten en hukommelse på hvordan verden har vært.

Måldrevet agent
Gjør den handlingen som gjør at agenten kommer til et gitt mål. En robotstøvsuger vil ha et mål om at et rom skal være rent. Alle handlingene som agenten gjør vil være handlinger som vil føre agenten til målet.

Nyttebasert agent
Nyttebaserte agenter har en nyttefunksjon. Nyttefunksjon kan skille mellom målbaserte tilstander og ikke-målbaserte tilstander, samt hvor ønskelig en gitt situasjon er. Muligheten til å velge en fremtidig situasjon over en annen fremtidig situasjon.

Læringsdrevet agent
En læringsdrevet agent har flere egenskaper, slik som minne om hvordan verden var før og hvordan handlinger endrer verden. Evnen til å se hva som har skjedd tidligere gitt en handling gjør at agenten bygger opp erfaring og kan lærer av den erfaringen.

Se også
-------

* Fuzzylogikk

Referanser
----------

* Stuart J. Russell, Peter Norvig 2003; Artificial Intelligence: A Modern Approach
* Stan Franklin ogArt Graesser (1996); Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents; Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, 1996
* N. Kasabov, Introduction: Hybrid intelligent adaptive systems. International Journal of Intelligent Systems, Vol.6, (1998) 453-454.
* The History of Artificial Intelligence; The History of Artificial Intelligence Arkivert 1. mars 2009 hos Wayback Machine.

Eksterne lenker
---------------

* Bridgeport
* Coneural
* Intelligent Agent – far MIT Encyclopedia Arkivert 4. juni 2011 hos Wayback Machine.
* David Russomanno forelesning om Intelligent Agent[*død lenke*]

|  |  |
| --- | --- |
| Oppslagsverk/autoritetsdata | Encyclopædia Britannica **·** LCCN **·** BNF **·** BNF (data)
 |