2.1. Bevezetés

Egy ágens (agent) bármi lehet, amit úgy tekinthetünk, mint ami az érzékelői (sensors) segítségével érzékeli a környezetét (environment), és beavatkozói (actuators) segítségével megváltoztatja azt. A 2.1. ábra ezt az egyszerű elképzelést szemlélteti. Az emberi ágensnek van szeme, füle és egyéb szervei az érzékelésre, és keze, lába, szája és egyéb testrészei a beavatkozásra. A robotágens kamerákat és infravörös távolsági keresőket használ érzékelőként, és különféle motorokat beavatkozóként. A szoftverágens billentyűleütéseket, fájltartalmakat és hálózati adatcsomagokat fogad érzékelőinek bemeneteként, és képernyőn történő kijelzéssel, fájlok írásával, hálózati csomagok küldésével avatkozik be a környezetébe. Azzal az általános feltételezéssel fogunk élni, hogy minden ágens képes saját akcióinak érzékelésére (de nem mindig látja azok hatását).

2.1. ábra - Az ágensek környezetükkel érzékelőkön és beavatkozókon keresztül állnak kapcsolatban
Az ágensek környezetükkel érzékelőkön és beavatkozókon keresztül állnak kapcsolatban

Fontos

Az érzékelés (percept) fogalmat használjuk az ágens érzékelő bemeneteinek leírására egy tetszőleges pillanatban. Egy ágens érzékelési sorozata (percept sequence) az ágens érzékeléseinek teljes története, minden, amit az ágens valaha is érzékelt. Általánosságban, egy adott pillanatban egy ágens cselekvése az addig megfigyelt teljes érzékelési sorozatától függhet. Ha az összes lehetséges érzékelési sorozathoz meg tudjuk határozni az ágens lehetséges cselekvéseit, akkor lényegében mindent elmondtunk az ágensről. Matematikailag megfogalmazva azt mondhatjuk, hogy az ágens viselkedését az ágensfüggvény (agent function) írja le, ami az adott érzékelési sorozatot egy cselekvésre képezi le.

Elképzelhetjük táblázatos formában az ágensfüggvényt, amely forma mindenféle ágenst leír; az ágensek többségére ez igen nagy táblázatot jelentene – valójában végtelen nagyot, hacsak nem korlátozzuk a figyelembe veendő érzékelési sorozatok hosszát. Ha adott egy ágens, amivel kísérletezhetünk, akkor elméletileg megalkothatjuk ezt a táblázatot az összes lehetséges érzékelési sorozat kipróbálásával és az ágens válaszul végrehajtott cselekvéseinek feljegyzésével.[19] Természetesen a táblázat az ágens külső jellemzése. Egy mesterséges ágens belsejében az ágensfüggvényt egy ágensprogram (agent program) valósítja meg. Fontos, hogy megkülönböztessük e két dolgot. Az ágensfüggvény egy absztrakt matematikai leírás, az ágensprogram egy konkrét implementáció, amely az ágens architektúráján működik.

Ezen ötletek illusztrálására egy igen egyszerű példát fogunk használni – a 2.2. ábrán látható porszívóvilágot. A világ annyira egyszerű, hogy mindent le tudunk írni, ami megtörténik, továbbá ez egy kitalált világ, így sokféle variációt kitalálhatunk. A világban csak két helyszín van: az A és B négyzetek. A porszívóágens észleli, hogy melyik négyzetben van, valamint azt, hogy van-e ott piszok, vagy nincs. Lehetséges akciói: mozoghat balra vagy jobbra, felszívhatja a port, valamint nem csinál semmit. Egy egyszerű ágensfüggvény a következő: ha az aktuális négyzet koszos, szívd fel a koszt, egyébként menj át a másik négyzetbe. Ezen ágensfüggvény táblázatának egy részlete a 2.3. ábrán látható. Egy, az ágensfüggvényt megvalósító egyszerű ágensprogramot a fejezet későbbi részében, a 2.8. ábrán mutatunk be.

2.2. ábra - A porszívóvilág mindössze két helyszínnel
A porszívóvilág mindössze két helyszínnel

2.3. ábra - A 2.2. ábrán szereplő porszívóvilág egy egyszerű ágensfüggvénye részleges táblázatos formában
A 2.2. ábrán szereplő porszívóvilág egy egyszerű ágensfüggvénye részleges táblázatos formában

Fontos

A 2.3. ábrára nézve láthatjuk, hogy sokféle porszívóvilág-beli ágens definiálható egyszerűen a jobb oldali oszlop különböző kitöltésével. Ezek után a nyilvánvaló kérdés a következő: Mi a táblázat helyes kitöltésének módja? Más szavakkal, mitől lesz egy ágens jó vagy rossz, intelligens vagy buta. Ezeket a kérdéseket a következő részben fogjuk megválaszolni.

Mielőtt lezárnánk ezt a részt, fontos megjegyeznünk, hogy az ágens fogalom bevezetésének a célja nem a világ ágensekre és nem ágensekre történő felosztása, hanem egy olyan eszköz megteremtése, amivel rendszereket elemezhetünk. Egy kézi számológép is tekinthető ágensnek, amely azt a cselekvést választja, hogy „4”-et ír a kijelzőjére, ha „2 + 2 =” érzékelési sorozatot kap, de egy ilyen felfogás aligha segít minket a számológép megértésében.



[19] Amennyiben az ágens cselekvésének kiválasztásában a véletlennek is szerepe van, úgy minden sorozatot többször kellene kipróbálnunk, hogy az egyes cselekvések valószínűségeit meghatározhassuk. Látszólag úgy tűnhet, hogy véletlenszerűen cselekedni botorság, a későbbiekben azonban látni fogjuk, hogy ez lehet nagyon intelligens viselkedés is.