7.6. Ítéletlogikát alkalmazó ágensek

Ebben a szakaszban, összeszedünk mindent, amit eddig tanultunk, hogy olyan ágenseket konstruáljunk, amelyek az ítéletlogika felhasználásával működnek. Kétfajta ágenst fogunk megvizsgálni: olyat, amely következtetési algoritmust és egy tudásbázist használ, mint a 7.1. ábra általános tudásbázisú ágense, és olyat, amely a logikai kifejezések kiértékelését közvetlenül, áramköröket alkalmazva végzi. Mindkétfajta ágenst a wumpus világban fogjuk demonstrálni, és látni fogjuk, hogy mindkettő komoly hátrányoktól szenved.

7.6.1. Csapdák és wumpusok megtalálása logikai következtetés felhasználásával

Kezdjünk egy ágenssel, amely képes logikusan érvelni a csapdák és wumpusok helyével és a biztonságos négyzetekkel kapcsolatban. A feladat megoldása a tudásbázis felírásával kezdődik, amely reprezentálja a wumpus világ „fizikáját”. Az ágens tudja, hogy az [1, 1] nem tartalmaz se csapdát, se wumpust, azaz ¬C1,1 és ¬W1,1. Az ágens minden [x, y] négyzetre ismer egy mondatot, ami azt jelenti ki, hogy a szellő honnan ered:

Sx,y ⇔ (Cx,y+1Cx,y–1Cx+1,y Cx–1,y) (7.1)

Az ágens minden [x, y] négyzetre ismer egy mondatot, ami azt jelenti ki, hogy a bűz hogyan ered:

Bx,y ⇔ (Wx,y+1Wx,y–1Wx+1,yWx–1,y) (7.2)

Végül tudja, hogy pontosan egy wumpus van. Ezt két részben fejezzük ki. Először ki kell jelentenünk, hogy legalább egy wumpus van:

W1,1W1,2 ∨…∨ W4,3W4,4

Ezután azt kell mondanunk, hogy legfeljebb egy wumpus van. Az egyik lehetséges módja ennek, hogy minden két mezőre kijelentjük, hogy a két mező egyikének wumpusmentesnek kell lennie. Ha n négyzet van, akkor n(n – 1)/2 mondatot kapunk, olyanokat mint a ¬W1,1 ∨ ¬W1,2. Egy 4 × 4-es világ esetében, így összesen 64 különböző szimbólumot tartalmazó 155 mondattal kezdünk.

Az ágensprogram, amelyet a 7.19. ábra mutat, KIJELENTI a tudásbázisnak az összes szellő és bűz érzetet. (Ezenkívül frissíti néhány hagyományos változójának értékét is, amelyek azt őrzik, hogy az ágens merre van most és merre járt korábban – erre később még visszatérünk). Ezután a program kiválasztja, hogy melyik cellát nézze meg a peremen lévők közül – olyan négyzetek közül, amelyek szomszédosak valamelyik meglátogatottal. Egy peremen lévő [x, y] cella bizonyíthatóan biztonságos, ha a (¬Ci,j ∧ ¬Wi,j) mondat vonzata a tudásbázisnak. A „második legjobb dolog”, ha egy cella lehetséges, hogy biztonságos, amikor az ágens nem tudja bizonyítani, hogy ott egy csapda vagy egy wumpus van – azaz, hogy a (Ci,j Wi,j) nem vonzat.

A KÉRDEZ eljárásban levő maga után vonzás számítása implementálható a fejezetben korábban bemutatott a módszerek közül bármelyikkel. Az IT-VONZAT? (7.10. ábra) nyilván nem praktikus, mivel fel kellene sorolni a 264 sort. A DPLL (7.16. ábra) néhány milliszekundum alatt végrehajtja a kívánt következtetést, leginkább az egység-propagáció heurisztikának köszönhetően. A WALKSAT szintén használható, a teljesség hiányából származó gyengeségeivel. A wumpus világokban, a modell megtalálásának kudarca, 10 000 cserét feltételezve, praktikusan megfelel a kielégíthetetlenségnek, így nem valószínű, hogy hiba fordulhatna elő a teljesség hiánya miatt.

7.19. ábra - (Egy wumpusvilág-beli ágens programja, amely ítéletkalkulust használ a csapdák, a wumpusok és a biztonságos négyzetek azonosítására. Az ÚTVONAL-PROBLÉMA szubrutin létrehoz egy keresési problémát, aminek megoldása egy cselekvéssorozat, amely elvezet az [x, y] négyzetből az [i, j]-be, és csak korábban már látogatott négyzeteken vezet keresztül.
(Egy wumpusvilág-beli ágens programja, amely ítéletkalkulust használ a csapdák, a wumpusok és a biztonságos négyzetek azonosítására. Az ÚTVONAL-PROBLÉMA szubrutin létrehoz egy keresési problémát, aminek megoldása egy cselekvéssorozat, amely elvezet az [x, y] négyzetből az [i, j]-be, és csak korábban már látogatott négyzeteken vezet keresztül.

Az IK-WUMPUS-ÁGENS igen jól működik kisméretű wumpus világban. Azonban mégis van valami erősen nem megnyugtató az ágens tudásbázisával kapcsolatban. A TB tartalmazza a fizikai leírást a (7.1) és (7.2) alakú egyenletek formájában minden egyes négyzetre. Minél nagyobb a környezet, annál nagyobb kezdeti tudásbázisra van szükség. Sokkal inkább azt szeretnénk, hogy csak két mondatunk lenne, amelyek kimondják, hogy hogyan is keletkezhet a szellő vagy a bűz bármely kockában. Ez mát túl van az ítéletkalkulus kifejezési képességén. A következő fejezetben látni fogunk egy nagyobb kifejezőerővel rendelkező logikai nyelvet, amelyben egyszerű lesz ilyen mondatot kijelenteni.

7.6.2. A hely és az irány nyomkövetése

A 7.19. ábra ágensprogramja „csal”, mert a helyzetének nyomkövetését a tudásbázison kívül oldja meg, ahelyett hogy logikai következtetést végezne.[72] Hogy „helyesen” oldjuk meg a nyomkövetést, szükségünk lesz az elhelyezkedéssel kapcsolatos állításokra. Első hallásra hajlamosak lehetünk felvenni egy H1,1 szimbólumot, ami azt reprezentálná, hogy az ágens az [1, 1]-ben van. Így a kezdeti tudásbázis ilyen mondatokat tartalmazhatna:

H1,1ArccalJobbra Halad H2,1

Azonnal láthatjuk, hogy ez nem fog működni. Ha az ágens kiindul az [1, 1]-ből arccal jobbra és halad abban az irányban, akkor a tudásbázisból következni fog a H1,1 (az eredeti elhelyezkedés) és a H2,1 (az új elhelyezkedés). Mégsem lehet azonban mindkét állítás igaz! A probléma az, hogy az elhelyezkedés állításoknak két különböző időpontra kell vonatkozniuk. Szükségünk van egy szimbólumra, ami azt jelentené, hogy az ágens az [1, 1]-ben van az 1 időpontban, és egy szimbólumra, ami azt, hogy az ágens a [2, 1]-ben van a 2 időpontban és így tovább. Az irány és az cselekvés állításoknak szintén függeniük kell az időtől. Így a helyes mondatok:

és így tovább. Az látható, hogy igen ügyesnek kell lennünk egy teljes és helyes tudásbázis felépítéséhez, hogy mindent nyomon kövessünk a wumpus világban; ennek teljes tárgyalását elhalasztjuk a 10. fejezetig. A lényeg, amire itt rá akartunk mutatni, hogy a kezdeti tudásbázis tartalmazni fog olyan mondatokat, mint az előző két példa, minden t időpontra és minden helyre is. Ami azt jelenti, hogy minden t időpontra és [x,y] helyre a tudásbázis tartalmaz egy következő formájú mondatot:

Még akkor is, ha felső korlátot szabunk a megengedett lépések számának – 100-at talán – mondatok tízezreihez jutunk. Ugyanez a probléma merül fel, ha minden időlépéshez is hozzáadunk mondatokat, „ahogy szükséges”. A klózoknak ez az elburjánzása olvashatatlanná teszi számunkra a tudásbázist, de a gyors ítéletkalkulus megoldók még így is könnyen tudják kezelni a 4 × 4-es wumpus világot (korlátaikat a 100 × 100-as méret körül érik el). Az áramkörre alapuló ágens, amit a következő alfejezet mutat be, részleges megoldást kínál a klózok elburjánzásának problémájára, de a teljes megoldásra várnunk kell, míg nem alkalmazzuk az elsőrendű logikát majd a 8. fejezetben.

7.6.3. Az áramkörön alapuló ágens

Az áramkörön alapuló ágens (circuit-based agent) a reflexív ágens egy állapottal rendelkező speciális fajtája, mint ahogy ezt a 2. fejezetben definiáltuk. Az érzetek egy sorrendi áramkör (sequential circuit) bemenetei, amely sorrendi áramkör egy kapukból (gates) álló hálózatból, amelyek mindegyike egy logikai kapcsolatot valósít meg, és regiszterekből (registers) épül fel, amelyek mindegyike az egyes állítások igazságértékeit tárolja. Az áramkör kimenetei olyan regiszterek, melyek cselekvéseknek felelnek meg – például a Megragad kimenet igaz-ra van állítva, ha az ágens meg akar ragadni valamit. Ha a Csillogás bemenetet közvetlenül összekötjük a Megragad kimenettel, akkor az ágens meg fogja ragadni a célt bármikor, ha látja (lásd 7.20. ábra).

7.20. ábra - Egy áramköralapú, wumpusvilág-beli ágens egy része, a bemeneteket és a kimeneteket mutatva, az arany megragadását megvalósító áramkör, és az áramkör, amely meghatározza, hogy a wumpus él-e. A regisztereket négyzet jelöli, és a késleltetőket kis háromszögek mutatják.
Egy áramköralapú, wumpusvilág-beli ágens egy része, a bemeneteket és a kimeneteket mutatva, az arany megragadását megvalósító áramkör, és az áramkör, amely meghatározza, hogy a wumpus él-e. A regisztereket négyzet jelöli, és a késleltetőket kis háromszögek mutatják.

Az áramköröket az adatfolyamok (dataflow) mintájára értékeljük ki, minden időlépésben beállítjuk a bemenetet, és a jeleket végigterjesztjük a hálózaton. Ha egy kapunak minden bemenete rendelkezésre áll, létrehoz egy kimenetet. Ez a folyamat közeli kapcsolatban van az előrefelé láncolással és az ÉS-VAGY gráfokkal, mint amilyen a 7.15. (b) ábrán látható.

Az előző szakaszban azt állítottuk, hogy az áramkörön alapuló ágens az időt kielégítőbb módon kezeli, mint az ítéletkalkulus következtetés alapú ágens. Ez azért lehet így, mert egy regiszterben tárolt változó értéke adja meg a megfelelő ítéletkalkulus szimbólumnak az igazságértékét a pillanatnyi t időpontban, ahelyett hogy másolatok léteznének minden egyes időlépéshez. Például lehetne egy Élve regiszterünk, amelynek igaz értéket kell tartalmaznia, ha a wumpus életben van, és hamis-at, ha halott. Ez a regiszter az Élvet ítéletkalkulus szimbólumnak felel meg, így minden egyes időpillanatban egy különböző ítéletállításra vonatkozik. Az ágens belső állapotai – például a memóriája – megőrizhetőek a regiszterek kimenetének egy késleltető soron (delay line) keresztül történő viszszacsatolásával. Ez a regiszter az előző lépéshez tartozó értéket szolgáltatja. A 7.20. ábra egy példát mutat. Az Élve értékét a Sikoly negáltjának és az Élve késleltetett értékének a konjunkciója adja. Állításokban megfogalmazva ez a hálózat az Élve fogalomra megvalósítja a következő ekvivalenciát:

Élvet⇔ ¬SikolytÉlvet–1 (7.4)

amely mondat azt mondja ki, hogy a wumpus a t időpontban akkor és csakis akkor él, ha nem észleltünk sikolyt a t időpillanatban (egy t – 1 időpontbeli sikoly alapján) és élt a t – 1 időpillanatban. Feltételezzük, hogy az áramkörben az Élve regiszter igazra van inicializálva. Így az Élve igaz marad mindaddig, amíg nincs egy sikoly, amikor is hamissá válik és a későbbiekben hamis marad. Ez pont az, amit mi akarunk.

7.21. ábra - Egy áramkör, amely meghatározza, hogy az ágens az [1, 1]-ben van-e. Minden pozíció és orientáció regiszterhez egy hasonló áramkör csatlakozik.
Egy áramkör, amely meghatározza, hogy az ágens az [1, 1]-ben van-e. Minden pozíció és orientáció regiszterhez egy hasonló áramkör csatlakozik.

Az ágens helyzete nagyon hasonló módon kezelhető, mint a wumpus halála. Szükségünk van egy Hx,y regiszterre minden x-hez és y-hoz, és ennek az értéke igaz kell, hogy legyen, amikor az ágens az [x, y]-ban van. Az áramkör, amelyik beállítja Hx,y értékét azonban sokkal bonyolultabb, mint az Élve áramköre. Például az ágens az [1, 1]-ben van a t időpontban, ha (a) az ott volt a t – 1-ben és vagy nem haladt semerre, vagy megpróbálta, de falnak ütközött; vagy (b) az [1, 2]-ben volt arccal lefelé és haladt előrefelé; vagy (c) a [2, 1]-ben volt arccal balra és haladt előre:

A H1,1 hálózata a 7.21. ábrán látható. Minden elhelyezkedés regiszterhez egy hasonló áramkör tartozik. A 7.13. (b) feladatban azt kérjük, hogy készítsen áramkört az irányra vonatkozó állításokhoz.

A 7.20. és 7.21. ábrákon levő áramkörök fenntartják az Élve és a Hx,y igazságértékét minden időpillanatban. Egy ilyen áramkör által reprezentált állítások szokatlanok azonban abban az értelemben, hogy a helyes igazságértékeiket minden pillanatban meg tudjuk határozni. Tekintsük az előző helyett az S4,4 állítást: a [4, 4] négyzet szellős. Habár az állításnak az igazságértéke rögzítve van valamilyen értéken, az ágens nem ismerheti az igazságértéket mindaddig, amíg meg nem látogatja a [4, 4] mezőt (vagy ki nem következteti, hogy van egy szomszédos csapda). Az ítéletlogikát és az elsőrendű logikát igaz, hamis és ismeretlen értékű állítások automatikus reprezentálására tervezték, de az áramköröket nem: az S4,4 regiszternek tartalmaznia kell valamely értéket, vagy igaz vagy hamis értéket, még mielőtt az igazságot feltárják. A regiszterbeli érték lehet helytelen, és ez helytelen irányba is vezetheti az ágenst. Más szavakkal, szükségünk volna háromféle lehetséges állapot reprezentálására (S4,4 ismerten igaz, ismerten hamis vagy nem ismert), és csak egy bitünk van arra, hogy megoldjuk ezt.

A megoldás erre a problémára az, hogy használjunk két bitet egy helyett. Az S4,4-et reprezentálja két regiszter, amelyeket K(S4,4)-nek és KS4,4)-nek nevezünk, ahol K jelöli azt, hogy „ismert”. (Emlékezzünk, hogy ezek még mindig csak összetett nevekkel rendelkező szimbólumok, még akkor is, ha strukturált kifejezésnek tűnnek!) Ha mind K(S4,4) és KS4,4) hamis, akkor ez azt jelenti, hogy az S4,4 igazságértéke nem ismert. (Ha mindkettő igaz, akkor hiba van a tudásbázisban!) Ebben a reprezentációban bármikor is használnánk az S4,4-et a hálózat valamely részében, a K(S4,4)-et használjuk helyette; és bármikor használnánk az ¬S4,4-et, akkor a KS4,4)-et használjuk. Általánosságban, minden potenciális határozatlan állítást két tudásállítással (knowledge propositions) reprezentálunk, kijelentve, hogy a vonatkozó állítás ismerten igaz vagy ismerten hamis.

Hamarosan látni fogunk egy példát arra, hogyan kell alkalmaznunk a tudásállításokat. Először is, szükségünk van annak kidolgozására, hogy hogyan határozzuk meg maguknak a tudásállításoknak az igazságértékét. Vegyük észre, hogy miközben az S4,4-nek rögzített igazságértéke volt, a K(S4,4) és KS4,4) változik, miközben az ágens egyre többet tud meg a világról. Például a K(S4,4) hamis értékről indul, és igazzá válik, amint az S4,4-ről meghatározható, hogy igaz – azaz, amikor az ágens a [4, 4]-be lép, és detektálja a szellőt. Majd igaz marad ezután. Így megállapítható, hogy

Hasonló egyenlet írható fel KS4,4)t-re is.

Most, hogy az ágensnek van már ismerete a szellős négyzetekről, foglalkozhat a csapdákkal is. Egy csapda hiánya az adott négyzetben akkor és csakis akkor határozható meg, ha valamelyik szomszédos négyzetéről ismert, hogy nem szellős. Például ha létezik

KC4,4)tKS3,4)t KS4,3)t (7.7)

Egy csapda adott négyzetben való jelenlétének a meghatározása sokkal nehezebb – szellőnek kell lennie egy szomszédos négyzetben, de olyan szellőnek, amely nem egy másik csapda miatt keletkezett:

K(C4,4)t ⇔ (K(S3,4)tKC2,4)tKC3,3)t) (7.8)

∨ (K(S4,3)tKC4,2)tKC3,3)t)

Fontos

Miközben egy kicsit zavaros a csapdák jelenlétének és hiányának bizonyítása az áramkörök használata esetében, az áramkör konstans számú kaput használ minden egyes négyzethez. Ez a tulajdonság alapvetően fontos ahhoz, hogy olyan áramkörön alapuló ágenst építsünk, amelynek bonyolultsága kezelhető módon nő a probléma méretével. Ez valójában magának a wumpus világnak a jellemzője; azt mondjuk, hogy egy környezet lokalitás (locality) tulajdonságot mutat fel, ha igaz, hogy bármelyik vizsgálandó állítás igazságának meghatározásához csak egy konstans számú másik állítás megvizsgálása szükséges. A lokalitás tulajdonság nagyon érzékeny a környezet pontos „fizikájára”. Például az aknakereső tárgyterület (7.11. feladat) nemlokális, mert az akna egy adott négyzetbeli létezésének eldöntése igényelheti, hogy akármilyen távol levő négyzetet is megnézzünk. Nemlokális tárgyterületekre az áramkörre alapuló ágens alkalmazás nem mindig praktikus.

Van egy másik probléma is, amely mellett eddig óvatosan elmentünk: a hurokmentesség (acyclicity) kérdése. Az áramkört hurokmentesnek tekintjük, ha minden olyan ág, amely egy regiszter kimenetét visszacsatolja a bemenetére, tartalmaz legalább egy közbülső késleltető elemet. Megköveteljük, hogy minden áramkör hurokmentes legyen, mivel a hurkokat tartalmazó áramkörök, mint fizikai eszközök, nem működnek! Az ilyen áramkör instabil oszcillációba kerülhet határozatlan értékeket eredményezve. Példaként a hurkot tartalmazó áramkörökre, tekintsük a (7.6) egyenletnek a következő kibővítését:

K(S4,4)tK(S4,4)t–1 ∨ (H4,4tSzellőt) ∨ K(C3,4)t K(C4,3)t (7.9)

A hozzáadott diszjunktok, a K(C3,4)t és aK(C4,3)t lehetővé teszik az ágens számára, hogy a szellő jelenlétét meghatározza a szomszédos négyzetekben levő csapdák jelenlétéből, ami teljesen ésszerűnek tűnik. Így viszont sajnos a szellő tulajdonság függ a szomszédos csapdáktól, és a csapdák függenek a szomszédos négyzetek szellő tulajdonságától, ahogy azt a (7.8) egyenlet leírja. Ezáltal a teljes áramkör tartalmazna hurkot.

A nehézség nem az, hogy a (7.9) egyenlet nem helyes. A probléma inkább az, hogy az egyenletek által reprezentált függőségek összekapcsolása nem oldható fel az igazságértékek propagálásának egyszerű mechanizmusával a vizsgált logikai áramkörökben. A (7.6) egyenletet alkalmazó hurokmentes verzió, amely a szellősséget a közvetlen megfigyelésekből határozza meg, nem teljes abban az értelemben, hogy bizonyos pontokon az áramköralapú ágens kevesebbet tud, mint a teljes következtetési eljárást alkalmazó következtetésalapú ágens. Például ha van szellő az [1, 1]-ben, a következtetésalapú ágens képes arra a megállapításra jutni, hogy van egy szellő a [2, 2]-ben, míg a (7.6) egyenletet használó, hurokmentes áramkörre alapuló ágens erre nem képes. Lehetséges építeni egy teljes áramkört – végül is, szekvenciális áramkörök képesek emulálni bármilyen digitális számítógépet –, de ez jelentősen bonyolultabb volna.

7.6.4. Összehasonlítás

A következtetésalapú és az áramkörön alapuló ágensek a deklaratív és procedurális megközelítés szélsőséges esetei az ágens tervezésében. Számos szempont szerint összehasonlíthatjuk őket:

  • Tömörség. Az áramkörön alapuló ágensnek, ellentétben a következtetésalapú ágenssel, nincs szüksége a „tudásának” önálló másolataira minden időlépésben. Ehelyett, mindig csak a pillanatnyi és a megelőző időlépésre hivatkozik. A „fizika” leírásához mindkét ágensnek szüksége van minden egyes négyzetre vonatkozó másolatokra (mondatok vagy áramkörök formájában), és így nem könnyű nagyobb környezeteket leírni. Azokban a környezetekben, ahol számos objektum összetett kapcsolatait kell leírni, a kijelentések száma eláraszt bármilyen ítéletkalkulus ágenst. Ezek a környezetek már igénylik az elsőrendű logika kifejezőerejét (lásd 8. fejezet). Mindkét típusú ítéletkalkulus ágens rosszul alkalmazható egy biztonságos négyzettel szomszédos helyre vezető útvonal megtalálásának kifejezésére vagy megoldására. (Emiatt az IK-WUMPUS-ÁGENS keresési algoritmusokat alkalmaz.)

  • Számítási hatékonyság. A legrosszabb esetben a következtetés időigénye exponenciálisan függ a szimbólumok számától, míg az áramkör futtatása az áramkör méretétől lineárisan függő időt igényel (vagy a mélységtől lineárisan függő időt, ha fizikai eszközként megvalósítjuk). Láthattuk azonban, hogy a gyakorlatban a DPLL igen gyorsan elvégezte a szükséges következtetéseket.[73]

  • Teljesség. Azt sugalltuk korábban, hogy az áramköralapú ágens lehet, hogy nem teljes a ciklusmentességgel kapcsolatos korlátozás miatt. A teljesség hiányának okai azonban még alapvetőbbek. Először is, emlékezzünk, hogy az áramkör a méretével lineárisan arányos időben oldja meg a feladatot. Ez azt jelenti, hogy bizonyos környezetek esetében egy teljes áramkörnek (egy olyannak, amely minden meghatározható állításhoz kiszámítja az igazságértéket) exponenciálisan nagyobbnak kell lennie, mint a következtetésalapú ágens tudásbázisának. Egyébként lenne módszerünk arra, hogy hogyan oldjuk meg az ítéletkalkulus vonzat problémáját kisebb mint exponenciális idő alatt, ami nagyon valószínűtlen. A második érv az ágens belső állapotainak a jellege. A következtetésalapú ágens emlékezik minden érzetre, és implicit vagy explicit módon ismer minden mondatot, ami az érzetekből és a kezdeti adatbázisból következik. Például ha adott S1,1 és ismeri a C1,2C2,1 állítást, abból S2,2 következik. Ezzel szemben az áramköralapú ágens elfelejt minden korábbi érzetet és csak a regiszterekben tárolt egyedi állításokra emlékszik. Ekképpen az első érzet után a C1,2 vagy a C2,1önmagában ismeretlen marad, és így semmilyen következtetés nem vonható le S2,2-re vonatkozóan.

  • A létrehozás egyszerűsége. Ez egy nagyon fontos kérdés, amelyet nehéz pontosan megítélni. A könyv szerzője számára a „fizika” leírása bizonyára sokkal egyszerűbb deklaratív úton, miközben kisméretű, hurokmentes, majdnem teljes áramkörök tervezése a csapdák megtalálására igen nehéznek bizonyult.

Összefoglalva, úgy tűnik, hogy létezik kompromisszum a számítási hatékonyság, a tömörség, a teljesség és a könnyű létrehozás között. Ha az érzetek és a cselekvések közötti kapcsolat egyszerű – mint a Ragyogás vagy a Megragad közötti kapcsolat esetében – az áramkör optimálisnak tűnik. Ennél bonyolultabb kapcsolatok esetében a deklaratív megközelítés jobb lehet. Egy olyan területen, mint a sakk például, a deklaratív szabályok tömörek és könnyen kódolhatók (legalábbis az elsőrendű logikában), de a tábla állapotaiból a lépéseket közvetlenül számító hálózat elképzelhetetlenül hatalmas lenne.

Eltérő dolgokat látunk ezekkel a megközelítésekkel kapcsolatban az állatok világában. Az egyszerű idegrendszerrel rendelkező kisebb állatok valószínűleg hálózatalapúak, míg a magasabb rendű állatok úgy tűnik, hogy explicit reprezentációkon következtetéseket végeznek. Ez lényegesen bonyolultabb ágensfunkciók számítását teszi lehetővé számukra. Az emberek szintén rendelkeznek áramkörökkel, amelyek a reflexeket valósítják meg, és talán képesek lefordítani (compile) deklaratív ismereteket áramkörökké, amikor bizonyos következtetések rutinná válnak. Ily módon egy hibrid ágens (hybrid agent) tervezése (lásd 2. fejezet) lehet a legjobb mindkét világ számára.



[72] A figyelmes olvasó észreveszi, hogy ez megengedte számunkra azt, hogy ügyeskedjünk a nyers érzet, mint a Szellő, és a helyspecifikus állítás, mint az S1,1, közötti kapcsolattal.

[73] Valójában minden olyan következtetés, amely megvalósítható egy áramkörrel, megoldható lineáris időben a DPLL-lel. Ez azért van így, mert egy áramkör kiértékelése hasonlít az előrefelé láncoláshoz, amely emulálható DPLL-lel az egység propagáció szabály alkalmazásával.