Agenter og agentfunksjonen
Den autonome ferja over fjorden ser verden gjennom radar, kamera og GPS, og påvirker den med propeller, ror og rampe. Den er en agent: noe som oppfatter omgivelsene gjennom sensorer og handler på dem gjennom aktuatorer. Det sensorene leverer på ett tidspunkt, er en persepsjon (percept), og hele historikken av slike persepsjoner er agentens persepsjonssekvens (percept sequence).
Begrepet er bredt med vilje. Et menneske har øyne og ører som sensorer og hender og stemme som aktuatorer. Et program som handler i en nettbutikk, har nettsider og meldinger som persepsjoner og klikk og bestillinger som handlinger. Agentbegrepet er et verktøy for å analysere systemer, ikke en grense mellom det som er KI og det som ikke er det: en dørklokke kan også beskrives som en agent, men det gir lite innsikt.
Atferden kan beskrives utenfra som en agentfunksjon (agent function): en avbildning fra hver mulig persepsjonssekvens til en handling, ƒagentfunksjonen:
Agentfunksjonen er et matematisk objekt. Det som faktisk kjører om bord, er et agentprogram (agent program), koden som implementerer funksjonen på agentens maskinvare. Programmet får bare den nåværende persepsjonen inn; vil det bruke historikken, må det lagre den selv.
Sjekk deg selvKan to ulike agentprogrammer ha samme agentfunksjon?Vis svarSkjul svar
Ja. Et program som slår opp i en tabell og et program med noen få regler kan gi nøyaktig samme handling for hver persepsjonssekvens. Utenfra kan de ikke skilles; forskjellen er hvor mye minne og regnetid de trenger.
Den enkleste implementasjonen er en tabell med én rad per persepsjonssekvens. Med mulige persepsjoner per tidssteg og levetid trengs ƒrader i en tabelldrevet agent:
rader. Et kamera med bare 100 piksler i gråtoner har , over , mulige bilder, langt flere enn de omtrent atomene i det synlige universet, og det er bare for ett tidssteg.
RegneeksempelHvor mange rader trenger en tabelldrevet agent med 2 mulige persepsjoner og levetid 5?Vis løsningSkjul løsning
Steg 1. Det finnes sekvenser av lengde .
Steg 2. Summen for er .
Steg 3. Øker levetiden til 6, kommer nye rader i tillegg, flere enn alle de 62 fra før.
Utfordringen i KI er derfor å skrive små programmer som gir fornuftig atferd uten en slik tabell, slik et navigasjonsprogram finner ruter uten å ha lagret en ferdig rute for hvert par av adresser.
Hvor stor blir agenttabellen?
Prøv: øk levetid med 1 og se at Rader i agenttabellen blir omtrent antall_persepsjoner ganger større, og at Rader per ny tidsenhet alene er det meste av tabellen.
Hva er riktig om agentfunksjonen og agentprogrammet?
En tabelldrevet agent har 3 mulige persepsjoner per tidssteg og levetid 4. Tabellen har én rad for hver mulig persepsjonssekvens med lengde 1, 2, 3 og 4. Hvor mange rader har tabellen?