CMD + K

14 min lesing

Intelligente agenter

En agent tar inn persepsjoner og velger handlinger, og den er rasjonell når valgene gir best forventet ytelse. Du beskriver oppgavemiljøet med PEAS, klassifiserer det etter sju egenskaper og velger agentprogram ut fra hva miljøet krever, fra enkle refleksagenter til lærende agenter.

Læringsmål
  • 01Skriv en PEAS-beskrivelse for et nytt system og skill aktuatorer fra sensorer
  • 02Klassifiser et oppgavemiljø langs de sju egenskapene og begrunn hver av dem
  • 03Skill agentfunksjonen fra agentprogrammet, og regn ut tabellstørrelsen
  • 04Forklar hvorfor en rasjonell agent ikke er allvitende, og hvorfor ytelsesmålet måles på miljøtilstander
  • 05Velg en passende agenttype for et gitt miljø og begrunn valget
  • 06Beskriv rollene i en lærende agent og forskjellen på atomisk, faktorisert og strukturert representasjon
0 av 16 aktiviteter
Kjerneidé

En agent er en løkke: se, velg, gjør, se igjen. En termostat gjør det med én temperaturføler og én bryter, en autonom ferje med radar, kamera og ror. Kapitlet handler om hva som gjør en slik løkke god, hvordan vi beskriver verdenen den lever i, og hvilke typer program som passer til hvilke verdener.

Steg 1 av 7

Agenter og agentfunksjonen

Konsept

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.

Laster interaktiv figur …
Figur 1.1Agenten og miljøet i en løkke. Agenten oppfatter miljøet gjennom sensorer og påvirker det gjennom aktuatorer, om og om igjen.

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 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?

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.

Playground

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.

Pythonkap1-tabellagent.py
Øving 1 av 2

Hva er riktig om agentfunksjonen og agentprogrammet?

Øving 2 av 2

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?

Mine notater

Skriv egne notater for dette kapittelet. De lagres automatisk og dukker opp i «Mine notater»-oversikten paa fag-siden.

Laster…