5.2. Tanulás módszerei az intelligens robotoknál

Amint a szakasz bevezetőjében már említettük, az intelligenciát tanulóképesség nélkül csak korlátozottnak tekinthetjük. Az intelligencia definíciók (Dudás, 2006) egyetértenek abban, hogy az intelligens működés adaptív, képes a környezet változásához, elvárásaihoz alkalmazkodni. Talán a legmodernebb szemlélet ezen a téren a C. Hewitt által képviselt nyílt rendszerek modell, melyek jellemzői:

Mivel a világ lezártsága nem igaz, az állandóan változó környezetben az életbenmaradási haszonra, boldogság-haszonra törekvő ágens akkor lehet sikeres, ha tud igazodni a környezet elvárásaihoz, ezt pedig akkor tudja leghatékonyabban végezni, ha tanulni tud új viselkedéseket, válaszokat, sőt kitalálni is, tehát kreatív. Egy ilyen rendszer egy szabályozott rendszerre emlékeztet, amely állandóan változó környezetben törekszik a célfüggvénye optimálására, de optimálás közben a környezet dinamikusan megváltozik, mielőtt a rendszer az optimumot elérné. Így ’élete’ kvázioptimális állapotok sorozata.

A következőkben Millington és Funge (2009) műve alapján áttekintjük a számítógépes játékokban megjelenő mesterséges intelligencia keretében működő tanulási technikákat. A játékokban a tanulás szerepe a gépi szereplő játék ágens intelligens viselkedésének biztosítása, azáltal, hogy az ágens megtanulja az emberjátékos ellenfél viselkedését, reakcióit, és ezek ismeretében hatékonyabb stratégiát dolgozhat ki ellene. Melléktermékként a gépi ágens karaktere természetesebb, kiszámíthatatlanabb lesz, ami növeli a játékélményt.

Ezeket a tanulási módszereket osztályozhatjuk aszerint, hogy mikor történik a tanulás, mit tanulnak meg és milyen hatással van a tanulás, a tanultak az ágens viselkedésére. A tanuló algoritmusokkal kapcsolatos néhány általános tudnivaló a következő:

5.2.1. Online, vagy offline tanulás

Az igazi tanulás az online tanulás, mely játék közben történik és lehetővé teszi, hogy a játékágens dinamikusan hozzáigazodjon az emberjátékos egyéniségéhez.

Meg kell azonban jegyezni, hogy az online tanulást nyújtó program tesztelése, debugolása igen nehéz az ismételhetetlenség miatt. Offline tanulás esetén a tanulás a játék szintjei közötti váltás közben történhet, vagy még gyakrabban a játék piacra kerülése előtt. Ezt a szorosan véve nem is adaptív működést sok valós játék lejátszásakor adódó adatok feldolgozásával nyerhető stratégiák, vagy programparaméterek formájában csatolják vissza a programba. Ilyen esetben a tesztelés alaposabb lehet. Az elmondottakból következően az offline tanulás sokkal gyakoribb.

5.2.2. Viselkedésen belüli tanulás

Ez az egyszerű és gyakori forma nem változtatja meg a teljes viselkedést, csak a létező viselkedés lefolyásának kismértékű módosítását jelenti. Pl. az ágens képes megtanulni alternatív utak közül egy optimálisat, véletlenül elhelyezkedő akadályok helyét, de nem képes új viselkedést bevonni, mondjuk a mamut lándzsával történő elejtése helyett vermet ásni neki.

5.2.3. Viselkedés tanulás

Ez a jövő játékainak jellemzője. Nehéz és gazdaságtalan implementálni a sok viselkedéselemet, melyből az ágens adott helyzetekre sikeres viselkedést építhet fel. A leginkább szóba jövő terület a döntéshozatal tanulása stratégiai játékokban. Sok rugalmatlan döntési technika helyettesíthető tanulási technikákra épülő döntésekkel.

5.2.4. Egy figyelmeztetés

A tanulás a játékokban korántsem olyan elterjedt, mint hinnénk. Ennek egyik oka a tanulási technikák viszonylagos összetettsége, pl. az útvonalkereső, vagy mozgásgeneráló technikákhoz képest. A legnagyobb gondot az ismételhetőség nehézkessége miatti minőségellenőrzés hiánya jelenti. A hibás tanuló algoritmus miatti hibás tudás kiküszöbölése a hiba megtalálásán túl a tanultakat eredményező hosszú tapasztalatgyűjtési folyamat megismétlését is igényelné, ami gyakorlatilag ellehetetleníti a tanuló algoritmusok tesztelését. A gondot növeli az is, hogy minél rugalmasabb a tanuló algoritmus, annál kevésbé rendelkezünk a játék felett kontrollal. Így kiszámíthatatlan, mit fog megtanulni a játék. Egy módszer lehet erre a megtanulható viselkedések korlátozása. A korlátozó pontokban adódó viselkedések tesztelésével ellenőrizhető a lehetséges tanultak elfogadhatósága.

5.2.5. Túltanulás

A többrétegű Perceptron mesterséges neurális hálók tanulásából ismert probléma egyes játéktanuló algoritmusokat is sújt. Nevezetesen, ha a háló túl sok neuront tartalmaz a megtanulandó mintaesetekhez képest, akkor hajlamos a mintákat adatbázis-szerűen megtanulni, ugyanakkor a tanítómintáktól kissé eltérő inputokra már durva hibával válaszol. Ez az n-edrendű polinomok illeszkedési pontok közötti erős oszcillálásával magyarázható. Megoldást és jó általánosítást a neuronok számának redukálása eredményez.

Az approximáló görbe jobb általánosítást eredményez

A számítógépi játékprogramokban alkalmazott tanulási módszerek széles skálán mozognak, és az egyszerűbb fajták számára a tanulási módszer megnevezés igen hízelgőnek tűnhet.

5.2.6. Az egyensúly megtalálása

A tanuló algoritmusok alkalmazása nagyon kényelmesnek és attraktívnak tűnhet, mivel kevés általános algoritmust kell leprogramozni és a működés mégis nagyon változatos lesz. A valóság azonban nem ilyen szép. A tanuló algoritmusok sok gyakorlatot, érzéket és tesztelést kívánnak. Ezért, bár nagy a csábítás, a javaslat az, hogy alaposan mérlegeljük a hagyományos és a tanuló algoritmusokkal elérhető előnyöket és a befektetendő munkát.