You are on page 1of 13

Mesterséges intelligencia II MEMO_01 Pletl

Ágensek
ápr.7. 16-18. Bólyai terem Pletl Szilveszter
Knowledge is of two kinds. We know a subject ourselves or we know where
we can find information about it.
-- Samuel Johnson
Ez az emlékeztető nagyban támaszkodik az [1] irodalom anyagára. A
témakör alaposabb megismerésére alkalmas irodalom felsorolása az
emlékeztető végén található.

Az ágens bármi lehet, amit úgy tekinthetünk, mint ami az érzékelői


segítségével érzékeli a környezetét, és beavatkozó szervei segítségével
megváltoztatja azt.
Az ágens (agent) jelentése: valami, ami cselekszik (forrása agere- cselekedni).
Környezet
beavatkozás

Ágens
érzékelő végrehajtó

Vezérlőelv: Mindenkinek az az ágens amire használni akarja


(szoftverágensek, fizikai ágensek)
Egy ágens a környezete nélkül NEM ágens. Egy ágens intelligenciája
(racionalitása) a környezet függvénye.
Emberi ágens: szemek, fülek, egyéb szervek az érzékelésre, kéz, láb, száj,
egyéb testrészek a beavatkozásra.
Robot ágens: kamerák, infravörös távolsági keresők, különféle motorok
beavatkozó szervekként.
Szoftver ágens: kódolt bitsorozatok - érzékelés és beavatkozás.

Általános jelentés - Filozófusok, rendszertervezés, magas szintű absztrakció


Gyakorlati minimum - általános alkalmazások, robotika R
e M R Szoftver-
a D a
Interakciós képességek - minimum multi-ágens rendszer k e o E technoló-gia
c g
t l b y
(maga a kód
í i i
Antropomorfizálás - HC alkalmazások, MI i o ü is ágens
v b
e l n t alapú)
Adaptív képességek - MI, szakértő ágensek i t
r a m
a t l ű
Személyiség t á i
í k
– multimédia, szórakoztatás v s t ö
á d
s é
s

Az ágens fogalmának jelentésszintjei

MEMO_01 1
Mesterséges intelligencia II MEMO_01 Pletl

Az intelligens ágensek alapelvei:


 Érzékelés képessége (külső világ, belső állapot)
 Észlelés (felügyeli az érzékelést és csak a hasznos információt
szelektálja)
 Tudás-szerzés (az észlelések és beavatkozások konzerválása)
 Tanulás (Folyamat, amely során tudásra vagy gyakorlatra lehet
szert tenni. Módszerek: soft computing és szakértői rendszer)
 Következtetés (megjósoljuk a beavatkozások hatását)
 Döntéshozatal (Meghatározza, hogyan kell viselkedni a tudás
és az érzékelés alapján. Például mobil robotok esetén itt
történik a mozgástervezés és parancsok generálása)
 Beavatkozás

Multi-ágenses környezetben az entitás üzeneteket küld, fogad és feldolgozza


azokat.
Az üzenetek lehetnek:
 Tájékoztatóak
 Felkérőek
 Felajánlások
 Igéretek
 Elfogadások
 Visszautasítások

AOP agent-oriented programming Yoav Shoham szerint :


OOP AOP
Alapegység objektum ágens
Alapegység állapotát nem meghatározott vélekedés, szándék, képesség,
definiáló paraméterek választás, …
Számítási folyamatok üzenetküldő és válaszadó üzenetküldő és válaszadó
metódusok metódusok
Üzenettípusok nem meghatározott informál, kér, felajánl, ígér,
visszautasít, …
Metódusokkal kapcsolatos nincs becsületesség, konzisztencia
megszorítás
Öröklődés származtatott örökli szülője pl. ágenscsoport lesz új
metódusait ágens, aki az előzőek
vélekedéseit stb. örökli

A robot intelligenciája a lokális modulok integrációjának eredményeként


alakul ki globális tanulás keretében. (Fukuda and Arakawa)

Ágensek esetén gyakran alkalmazott leírási mód a TKBÉ - Teljesítmény,


Környezet. Beavatkozók, Érzékelők (Performance. Environment, Actuators.
Sensors) leírási mód.

MEMO_01 2
Mesterséges intelligencia II MEMO_01 Pletl

Egy automatizált taxi feladatkörnyezetének TKBÉ leírása:


Ágenstípus Teljesítménymérték Környezet Beavatkozók Érzékelők
Taxisofőr Biztonságos, gyors. Utak. egyéb Kormány, gáz. Kamerák.
törvényes, forgalom. fék, index. hangradar.
kényelmes kürt.
utazás, maximális gyalogosok. kijelző sebességmérő.
haszon
ügyfelek GPS (műholdas
pozicionáló).
kilométeróra.
motorérzékelők.
billentyűzet

Ágenstípus Teljesítménymérték Környezet Beavatkozók Érzékelők


Orvosi Egészséges Páciens, kórház. Kérdések kijelzése, Tünetek, leletek,
diagnosztikai páciens, költségek
személyzet vizsgálatok, páciensek
rendszer és perek diagnózisok, válaszainak
minimalizálása, kezelések, bevitele
beszámolók billentyűzeten
Műholdas Helyes Orbitális A kép Színes
képfeldolgozó képkategorizálás műhold földi kategorizálásának képpontmátrixok
rendszer kapcsolata kijelzése
Alkatrész- A helyes Futószalag Csuklós kar és fogó Kamera,
felvevő tartályokban levő alkatrészekkel, csuklószög-
robot alkatrészek aránya tartályok érzékelők
Olajfinomító- A tisztaság, hozam Finomító, Szelepek, pumpák. Hőmérséklet,
vezérlő és biztonság operátorok fűtők és kijelzők nyomás, kémiai
maximalizálása érzékelők
Interaktív A tanulók Tanulók egy Gyakorlatok, Billentyűzet
angol tanár teszteredményeinek csoportja, javaslatok és bevitel
maximalizálása tesztelő hivatal javítások kijelzése

Racionális ágens helyesen cselekszik. Hogyan és mikor döntsük el, hogy az


ágens helyesen cselekszik?

Teljesítménymérték alapján döntünk. Nem maguk az ágensek döntik el


sikerességüket, mert az torzított információ lenne. Egy külső szerv,
megfigyelő dönti el a helyesség szabályait és osztályozza az ágenseket.

Pl. porszívó ágens esetében elsődleges feladat a padló felporszívózása. Egy


teljesítmény mérték lehet a felporszívózott terület méretének figyelése vagy a
por mennyisége. Kifinomultabb mérték figyelembe veheti az elhasznált
energiát, keltett zajt, vagy esetleg a munkavégzés közbeni észrevétlenséget.
A teljesítmény értékelésének időpontja is nagyon fontos. Így a
kiegyensúlyozott feladatvégzést is osztályozni tudjuk.

MEMO_01 3
Mesterséges intelligencia II MEMO_01 Pletl

A racionalitás nem azonos a tökéletességgel. A racionalitást és a


mindentudást külön kell választani. A gyakorlatban a mindentudás
lehetetlen. Egy mindentudó ágens ismeri a cselekedetei valódi kimenetelét. A
külső hatások (zavarok) hatása sokszor nem kompenzálható és semmi képen
nem látható előre.
A racionalitás az elvárt teljesítményt maximalizálja, míg a tökéletesség a
tényleges teljesítményt. Az, hogy elállunk az ágensekkel szemben támasztott
tökéletesség követelményétől, nem csak a velük szembeni méltányosság
kérdése. Az a helyzet, hogy ha azt a cselekvést várjuk el egy ágenstől, ami a
megtörténte után a legjobbnak bizonyul, akkor lehetetlen lesz egy ilyen ágens
megalkotása - hacsak nem javítjuk a kristálygömbök vagy az időgépek
teljesítményét.

Négy dolgon múlik az, hogy egy adott pillanatban mi racionális. Ezek:
 A siker fokát mérő teljesítménymérték.
 Az ágens eddigi tudása a környezetről.
 A cselekvések, amiket az ágens képes végrehajtani.
 Az ágens érzékelési sorozata az adott pillanatig.
Ez elvezet a racionális ágens (rational agent) definíciójához:
Az ideális racionális ágens minden egyes észlelési sorozathoz a benne
található tények és a beépített tudása alapján minden elvárható dolgot
megtesz a teljesítménymérték maximalizálásáért.

A hasznos információk beszerzése érdekéhen véghezvitt - általában


információgyűjtésnek (information gathering) hívott - cselekedetek a
racionalitás fontos részét jelentik. Az információgyűjtés másik példáját a
felfedezés (exploration) szolgáltatja, amit egy porszívóágensnek egy
ismeretlen környezetben meg kell tennie.
Definíciónk nemcsak azt követeli meg a racionális ágenstől, hogy
információt gyűjtsön, hanem azt is, hogy amennyit csak lehet tanuljon (learn)
a megfigyeléseiből. Az ágens kezdeti konfigurációja valamilyen előzetes
tudást tükrözhet a környezetről, de ahogy az ágens tapasztalatot szerez, ez a
tudás módosulhat és átértékelődhet. Vannak szélsőséges esetek, amikor a
környezet a priori teljesen ismert. Ilyen esetekben az ágensnek nem kell
érzékelnie vagy tanulnia, egyszerűen csak helyesen cselekszik. Természetesen
az ilyen ágensek nagyon sérülékenyek. Vegyük például az egyszerű ganaj-túró
bogarat. Miután kiásta a fészkét és elhelyezte a tojásait, a közeli halomból
egy ganajlabdát készít, hogy elzárja a fészek bejáratát. Ha útközben a labdát
eltávolítjuk a fogói közül, a bogár folytatja útját, és a nem létező labdával is
eljátssza a fészek lezárását, miközben észre sem veszi, hogy a labda hiányzik.
Az evolúció beépített egy feltételezést a bogár viselkedésébe, és amikor ez
megsérül, sikertelen viselkedés lesz az eredménye. Kicsit intelligensebb a
szöcskeölő darázs. A nőstény ás egy lyukat, keres és megcsíp egy hernyót,

MEMO_01 4
Mesterséges intelligencia II MEMO_01 Pletl

elcipeli a lyukhoz, bemegy a lyukba megnézni, hogy minden rendben van-e,


majd bevonszolja a hernyót és lerakja a tojásait. A hernyó szolgál a tojások
kikelése után táplálékul. Eddig jó, de ha egy rovarkutató pár centiméterrel
odébb rakja a hernyót, miközben a darázs a lyukat ellenőrzi, az visszalép a
hernyó odacipelése fázishoz, és a tervét változtatás nélkül folytatja onnan,
akár tucatnyi hernyóelmozdító közbelépés után is. A darázs képtelen
megtanulni, hogy öröklött terve hibás, így nem fogja megváltoztatni.
A sikeres ágensek három különböző periódusra bontják az ágensfüggvény
kiszámításának feladatát: amikor az ágenst tervezik, a számítás egy részét
tervezőik végzik; amikor megfontolja a következő cselekvését, az ágens
további számításokat végez; és amikor tanul a tapasztalataiból, még további
számításokat végez annak eldöntésére, hogy hogyan módosítsa a
viselkedését.
Addig a szintig, míg az ágens a tervezői által beépített tudásra épít és nem
saját megfigyeléseire, azt mondjuk, hogy az ágens nem autonóm (autonóm).
Egy racionális ágensnek autonómnak kell lennie - mindent, amit csak
megtanulhat, meg kell tanulnia ahhoz, hogy a hiányos vagy hibás előzetes
tudását kompenzálja. Például az a porszívóágens, amelyik megtanulja
előrelátni, hogy hol és mikor tűnik fel további szemét, jobban fog dolgozni,
mint amelyik nem. Praktikus okból ritkán kell teljes autonómiát biztosítani
már a kezdetektől: amikor egy ágensnek nincs tapasztalata, vagy csak kevés
van, akkor véletlenszerűen kellene cselekednie, hacsak a tervezője nem ad
valamilyen segítséget. Így, mint ahogy az evolúció ellátja az állatokat
elegendő beépített reflexszel a túléléshez addig, míg saját maguk is
megtanulják mindazt, ami a túléléshez szükséges, a mesterséges intelligens
ágensek kezdő tudással és tanulási képességgel való ellátása is ésszerű lenne.
Miután elegendő tapasztalatot szerzett a környezetéről, a racionális ágens
viselkedése gyakorlatilag függetlenné válhat a beépített előzetes tudásától. Ily
módon a tanulás alkalmazásával olyan ágens tervezhető, amely sokféle
környezetben is sikeres lesz.

Egy rendszer olyan mértékig autonóm, amennyire a viselkedését saját


tapasztalatai határozzák meg.

Az intelligens ágensek struktúrája


Ágens = architektúra+program

Szoftverágensek vagy szoftverrobotok, azaz szoftbotok. Repülőgép


esetében automata pilóta.

MEMO_01 5
Mesterséges intelligencia II MEMO_01 Pletl

Egyszerű reflexszerű ágensek:

Ágensek, amelyek nyomon követik a világot:

MEMO_01 6
Mesterséges intelligencia II MEMO_01 Pletl

Célorientált ágensek:

Hasznosságorientált ágensek:

Az ágens és környezete
Az MI-ben felmerülő feladatkörnyezetek választéka nyilvánvalóan hatalmas.
Mindazonáltal meghatározhatunk viszonylag kevés számú dimenziót,
amelyek mentén a feladatkörnyezeteket kategorizálhatjuk.
 Teljesen megfigyelhető (fully observable) vagy részlegesen
megfigyelhető (partially observable). Ha az ágens szenzorai minden
pillanatban hozzáférést nyújtanak a környezet teljes állapotához, akkor
azt mondjuk, hogy a környezet teljesen megfigyelhető. Egy környezet
ténylegesen teljesen megfigyelhető, ha az érzékelők minden olyan
aspektusát észlelik, amelyek a cselekvés kiválasztásához relevánsak - a

MEMO_01 7
Mesterséges intelligencia II MEMO_01 Pletl

relevancia pedig a teljesítménymértéktől függ. A teljesen megfigyelhető


környezetek kényelmesek, mivel az ágensnek nem kell semmilyen belső
állapotot nyilvántartania a környezet nyomon követéséhez. Egy
környezet lehet részlegesen megfigyelhető a zajos és pontatlan
szenzorok miatt, vagy mivel az állapot egyes részei egyszerűen nem
szerepelnek a szenzorok adatai közölt -például egy helyi koszérzékelő
szenzorral rendelkező porszívóágens nem tudja megmondani, van-e
piszok más négyzetekben, és egy automata taxi nem láthatja, hogy más
vezetők mit gondolnak.
 Determinisztikus (deterministic) vagy sztochasztikus (stochastic).
Amennyiben a környezet következő állapotát jelenlegi állapota és az.
ágens által végrehajtott cselekvés teljesen meghatározza, akkor azt
mondjuk, hogy a környezet determinisztikus, egyébként sztochasztikus.
Teljesen megfigyelhető, determinisztikus környezetben az ágensnek
elvben nem kell a bizonytalansággal törődnie. Amennyiben azonban a
környezet részlegesen megfigyelhető, úgy sztochasztikusnak tűnhet.
Különösen igaz ez, ha a környezet összetett, nehezen teszi lehetővé nem
megfigyelhető aspektusainak követését. Így gyakran jobb az ágens
szemszögéből determinisztikusnak vagy sztochasztikusnak tekinteni egy
környezetet. A taxivezetés ebben az értelemben nyilvánvalóan
sztochasztikus, mivel senki sem tudja megjósolni a forgalmat pontosan,
továbbá egy motor minden figyelmeztetés nélkül lerobbanhat, és a
kerekek váratlanul kidurranhatnak. A porszívóvilág, ahogy leírtuk,
determinisztikus, de egyes variációk tartalmazhatnak sztochasztikus
elemeket, például véletlenszerűen megjelenő piszkot vagy
megbízhatatlan szívási mechanizmust. Ha a környezet más ágensek
cselekvéseit leszámítva determinisztikus, akkor azt stratégiainak
(strategic) nevezzük.
 Epizódszerű (episodic) vagy sorozatszerű (sequential). Epizódszerű
környezetben az ágens tapasztalata elemi „epizódokra” bontható.
Minden egyes epizód az ágens észleléseiből és egy cselekvéséből áll.
Nagyon fontos, hogy a következő epizód nem függ az előzőben
végrehajtott cselekvésektől. Epizódszerű környezetekben az egyes
epizódokban az akció kiválasztása csak az aktuális epizódtól függ. Sok
osztályozási feladat epizódszerű. Például az összeszerelő soron levő
hibás alkatrészeket észlelő ágens minden egyes döntését az aktuális
alkatrész alapján hozza, függetlenül a korábbi döntésektől, továbbá az
aktuális döntés nem befolyásolja, hogy a következő alkatrész hibás lesz-
e. Másrészt, sorozatszerű környezetekben az aktuális döntés
befolyásolhat minden továbbit. A sakk és a taxivezetés sorozatszerű: a
rövid távú akciók mindkét esetben hosszú távú következményekkel
járhatnak. Az epizódszerű környezetek sokkal egyszerűbbek a
sorozatszerűeknél, hiszen az ágensnek nem kell előre gondolkodnia.

MEMO_01 8
Mesterséges intelligencia II MEMO_01 Pletl

 Statikus (static) vagy dinamikus (dynamic). Ha a környezet


megváltozhat, amíg az ágens gondolkodik, akkor azt mondjuk, hogy a
környezet az ágens számára dinamikus; egyébként statikus. A statikus
környezetekkel egyszerű bánni, mivel az ágensnek nem kell állandóan a
világot figyelnie, miközben dönt a cselekvés felől, és nem kell az idő
múlásával sem törődnie. Másrészt, a dinamikus környezetek állandóan
azt kérdezik az ágenstől, hogy mit akar tenni: ha még nem döntötte el, az
annak számít, hogy úgy döntött, hogy nem tesz semmit. Ha a környezet
nem változik az idő előrehaladtával, de az ágens teljesítménymértéke
igen, akkor azt mondjuk, hogy a környezet szemidinamikus
(semidynamic) A taxivezetés nyilvánvalóan dinamikus: a többi autó és a
taxi továbbhalad, miközben a vezetési algoritmus azon bizonytalankodik,
hogy mit is tegyen. Az órával játszott sakk szemidinamikus. A
keresztrejtvények statikusak.
 Diszkrét (diserete) vagy folytonos (continuous). A diszkrét/folylonos
felosztás alkalmazható a környezet állapotára, az időkezelés módjára, az
ágens észleléseire, valamim cselekvéseire. Például egy diszkrét állapotú
környezet, mint amilyen a sakkjáték, véges számú különálló állapottal
rendelkezik. A sakkban szintén diszkrét az akciók és cselekvések
halmaza. A taxivezetés folytonos állapotú és idejű probléma: a sebesség,
a taxi és más járművek helye folytonos értékek egy tartományát járja
végig a folytonos időben. A taxivezetés akciói szintén folytonosak
(például kanyarodási szögek stb.). Szigorúan véve a digitális kameráktól
érkező bemenet diszkrét, de tipikusan úgy kezeljük, mint amely
folyamatosan változó mennyiségeket és helyeket reprezentál.
 Egyágenses (single agent) vagy többágenses (multiagent). Az
egyágenses és több-ágenses környezetek közötti különbségtétel
egyszerűnek tűnhet. Például a keresztrejtvényt megfejtő ágens
önmagában nyilvánvalóan egyágenses környezetben van, míg egy
sakkozó ágens egy kétágensesben. Vannak azonban kényes kérdések.
Először is: leírtuk azt, hogy egy entitás hogyan tekinthető ágensnek,
ugyanakkor nem magyaráztuk meg, mely entitások tekintendők
ágensnek. Egy A ágensnek (például a taxisofőrnek) egy B objektumot
(egy másik járművet) ágensnek kell tekintenie, vagy egyszerűen egy
sztochasztikusan viselkedő dolognak, a tengerparti hullámokhoz vagy a
szélben szálló falevelekhez hasonlatosan? A választás kulcsa az, hogy
vajon B viselkedése legjobban egy A viselkedésétől függő
teljesítménymérték maximalizálásával írható-e le. Például a sakkban a B
ellenfél saját teljesítménymértékét próbálja maximalizálni, amely - a sakk
szabályainak következtében - A teljesítménymértékét minimalizálja. így a
sakk egy versengő (competitive) többágenses környezet. Másrészről, a
taxi vezetési környezetben az ütközések elkerülése az összes ágens
teljesítménymértékét maximálja, így az részben kooperatív (cooperative)

MEMO_01 9
Mesterséges intelligencia II MEMO_01 Pletl

többágenses környezet. Emellett részben versengő is, hiszen például


csak egy autó tud egy parkolóhelyet elfoglalni. A többágenses
környezetekben felmerülő ágenstervezési problémák gyakran egészen
mások, mint egyágenses környezetekben. Többágenses környezetekben
például a kommunikáció (communication) gyakran racionális
viselkedésként bukkan fel: egyes részlegesen megfigyelhető versengő
környezetekben a sztochasztikus viselkedés racionális, hiszen így
elkerülhetők a megjósolhatóság csapdái.
Ahogy várható, a legnehezebb a részlegesen megfigyelhető, sztochasztikus,
sorozatszerű, dinamikus, folytonos és többágenses eset. Az is kiderül, hogy
a valós helyzetek legtöbbje olyan bonyolult, hogy valódi
determinisztikusságuk vitatott kérdés: gyakorlati okokból
sztochasztikusként kezelendők. A taxivezetés mindezen szempontok szerint
nehéz.

Környezet Megfigyelhető Determinisztiku Epizódszer Statikus Diszkrét Ágensek


s ű
Kereszt-rejtvény Teljesen Determinisztiku Sorozat Statikus Diszkrét Egy
Sakkjátszma Teljesen s Stratégiai Sorozat Szemi- Diszkrét Több
időméréssel dinamikus
Póker Részben Sztochaszlikus Sorozat Statikus Diszkrét Több
Teljesen Sztochasztikus Sorozat Statikus Diszkrét Több
Taxivezetés, Részben Sztochasztikus Sorozat Dinamikus Folytonos Több
Orvosi Részben Sztochasztikus Sorozat Dinamikus Folytonos Egy
diagnosztika
Képfeldolgozó Teljesen Determinisztiku Hpizód Szemi- Folytonos Egy Egy
rendszer Részben s Sztochasztikus Epizód dinamikus Folytonos
Alkatrész- Dinamikus
felvevő robot
Olajfinomító- Részben Sztochasztikus Sorozat Dinamikus Folytonos Egy
vezérlő Részben Sztochaszlikus Sorozat Dinamikus Diszkrét Több
Interaktív angol
tanár

Multi-ágens rendszerek
Több ágensből álló rendszerek. Az ágensek együtt, vagy egymástól
függetlenül, netalán egymás ellenében (pl. nem biztos, hogy minden ágens a
"miénk") csinálnak valamit.
DAI és MAS: Az előbbiben Elosztott Problémamegoldásról (Distributed
Problem Solvers, DPS) van szó, míg az utóbbiban nem tesszük fel, hogy
minden ágens ugyanazon a feladaton dolgozik.
Konfliktus, Koordináció, Kollaboráció, Kooperáció: Mindkét esetben
szükség van a konfliktusok feloldására (ez felléphet akkor is, ha mindenki
ugyanazért a célért dolgozik!), a működés összehangolására, illetve az azonos
feladaton dolgozó ágensek együttműködésére.

MEMO_01 10
Mesterséges intelligencia II MEMO_01 Pletl

Porszívó-robot (T. Dobrowieczki és T. Mészáros nyomán)


A porszívó-robot egy bútorozott lakásban "él", a lakást szobák alkotják.
Feladat a bútorok közötti rész tisztántartása.
A robot aktuális tartózkodási helyéről tud X egységnyi port felszívni
időegységenként. A környezetéről érzékelőin keresztül szerez információkat.
Az érzékelők azt jelzik, hogy D távolságban hol van akadály, illetve mekkora
por van. (Az érzékelés esetleg korlátozható: csak "előre"lát, illetve az útban
levő bútorok gátolhatják az érzékelést).
A feladatnak az alábbi fokozatai vannak.
 A por mennyisége kezdetben adott. A takarítás elvégzése után a robot
kijelölt helyére ("haza")megy.
 A robotnak korlátos erőforrásai vannak.
 Az robot érzékeli telepei energiaszintjét és ezen információ alapján
saját maga gondoskodik azok feltöltéséről. Ehhez töltőállomások
állnak rendelkezésére legegyszerűbb esetben "otthonában", de
elegánsabban: bárhol, ahol jelölve van).
 A töltőállomások helyét a robot nem ismeri előre (maximum az
otthonáét), de működése során megtanulhatja azokat.
 A robot csak korlátos mennyiségű por tárolására képes, ha betelt a
kijelölt hely(ek)en ki kell azt ürítenie.
o A lakásban több porszívó-robot van. Valósíts meg különböző
"együttélési", együttműködési szabályokat. Az együttműködés során a
porszívó-robotok együtt élnek és kommunikálhatnak.
o A lakásban „szemetelőágens(ek)” is van(nak). Több „szemetelőágens”
esetén azoknak a célja lehet a minél nagyobb, vagy minél jobban
szétterített por létrehozása.
A megvalósításnak paraméterezhetőnek kell lennie, azaz a lakás alaprajzát, a
por nagyságát, az esetleges egyéb objektumok, illetve a robot(ok)
paramétereit induláskor be kell olvasnia. Ez megvalósítható grafikus
lehetőleg interaktív interfészen keresztül, de nagyobb mennyiségű adat
esetén támogatni kell a file-ból történő beolvasást is.

Robotfoci a CMU-United csapat szimulálása


A robotfoci lényege, hogy egy kis pályán 2 robot csapat próbálja a másik
hálójába kavarni a labdát (ki hinné). A robotfoci a robotika jelenleg egyik
leglátványosabban fejlődő ága. A feladatban 5-5 "fős" robot csapatot kell
szimulálni egy nxm-es pályán. 1 kapus, 2 támadó, két védő lehet. A
paraméterek a következők. A robotoknak három kerekük van, az első kettő
fix a hátsó kormányozható (min. fordulókör!). A robotok elején kamera van

MEMO_01 11
Mesterséges intelligencia II MEMO_01 Pletl

és egy lap, amivel "elütik" a labdát. A labda a mechanika törvényei szerint


pattan és mozog. A védők és a csatárok szabadon mozoghatnak, a kapus
azonban, a csocsóhoz hasonlóan csak a kapu előtt. Forogni azonban a saját
függőleges tengelye körül tud. A szabályok egyszerűek. Kezdés mint focinál.
A kis, narancssárga labdát előre kell lökdösni. A robotok kommunikálhatnak
egymással. A robot csak egy fi szöget lát a pályáról és b% biztonsággal tudja
megállapítani, hol a labda. A b% lineárisan csökken a távolsággal. Ha nem lát
labdát forog és keresgél és/vagy beszélget. A robotok villanymotorral
mennek, ezért gyorsulás jellegű mozgáskarakterisztikát kell készíteni. Túl
nagy (v-nagy) sebességű robot-robot ütközés szabálytalan. Labda a falon
pattanhat (nincs "kint"). A feladat, hogy The CMU-United Robotic soccer
team: Perception and Multi-agent control alapján készítsd el a szimulációt.
Területvédelmet alkalmazz, formációk definiálhatósága. Érzékelési zaj,
műszaki hiba (ami az ilyen meccseknek nagy részét kíséri) szimulációja. Hiba
esetén a játék középkezdéssel indul és fél büntetőpont a meghibásodott
félnek. Súlyos hiba ill. másik játékos megrongálása esetén (pl. nagyon erős
ütközés) ki lehet állítani játékost ill. tizenegyest lehet elrendelni.
Természetesen központi tervezés nincs. A maximum az előredefiniált
formációk, de erről is külön ismeretük van a robotoknak, nem szabad
program szinten sem egy helyen tárolni.

Rakodó-robotok
Egy raktárban (mérete: AxB) az érkező teherautókat mozgó ágensek
(robotok) rakodják ki. Minden ágens C(i) mennyiségű egységnyi tömegű áru
kirakására képes 1 időegység alatt. A nehezebb árukat arányosan lassabban
rakja ki. Az ágensek a raktárban V(i) sebességgel mozognak, egyenes
vonalban (az esetleges ütközéseket elhanyagoljuk). A raktárba folyamatosan
érkeznek teherautók, s minden teherautónak két paramétere van: M(j), az áru
egységnyi tömege és N(j) az áru mennyisége. A feladat az, hogy az érkező
teherautókat minél gyorsabban és minél kevesebb várakozással kipakoljuk.
KÖZPONTI KONTROLL NINCS! Készíts programot, mely szimulálja a
raktár és az ágensek működését!

Általános célú mozgó-robotok építése


Az általános célú "mozgó-robotok" egy szimulált 2D környezetben tudnak
mozogni (véletlenszerűen, illetve megadott cél felé) úgy, hogy közben az
esetleges akadályokat elkerüli. A 2D környezet kiegészíthető domborzattal is
(pszeudo 3D), rögzítve, hogy milyen típusú emelkedőket, illetve lejtőket
képes az ágens "bevenni". A megvalósítás általánosságát bizonyítandó, az
általános ágensnek építhető egy olyan változata, amely csapatban képes
"célra tartani" (lásd. még 'flocking' a stigmergiánál), illetve alakzatban mozog

MEMO_01 12
Mesterséges intelligencia II MEMO_01 Pletl

Irodalom:
[1] STUART J. RUSSELL-PETER NORVIG: Mesterséges intelligencia
modern megközelítésben, PANEM 2000.
[2] http://aima.cs.berkeley.edu
[3] http://foner.www.media.mit.edu/people/foner/Julia/Julia.html
[4] http://www.auml.org/
[5] http://www.agentbuilder.com/
[6] http://www.fipa.org/
[7] http://www.agentlink.org/index.php
[8] http://multiagent.com/
[9] http://www.agentland.com/

Kérdések és feladatok:
Az [1] irodalom 92-93 oldalain találhatók.

MEMO_01 13

You might also like