Information Technology | Higher education » Dóczy-Cservenák - Munkatábla architektúrák

Datasheet

Year, pagecount:1999, 14 page(s)

Language:Hungarian

Downloads:36

Uploaded:August 27, 2009

Size:93 KB

Institution:
-

Comments:

Attachment:-

Download in PDF:Please log in!



Comments

No comments yet. You can be the first!


Content extract

Hallgatói Esszék ELTE, MI-SÁV Tudásalapú technológia c. tárgy Munkatábla architektúrák (Blackboard architectures) Készítették: Cservenák László Dóczy Krisztián V. éves hallgatók Budapest, 1999/2000 tanév I. félév 1. Bevezetés Korábbi tanulmányaink során már találkozhattuk az előre- és a visszafelé történő következtetési módszerekkel. Az előbbi tények egy halmazából próbálja elérni a célállítást, míg az utóbbi éppen fordítva: a célállításból visszafelé haladva próbál eljutni a tényekig. Számos olyan eset van, amikor ez a két eljárás jól használható, vannak azonban olyan feladatok is, melyek a fenti módszerekkel egyszerűen nem oldhatók meg. Ilyenkor sok esetben jól jöhet az úgynevezett megalkuvó következtetési módszer (opportunistic reasoning). A megalkuvó következtetés működése dinamikus, a rendszer aktuális állapota határozza meg a megoldás további vonalát. A módszer az önálló

részekre felosztható problémák megoldására különösen jól használható. Az alábbi ismertetés a [Gonzales, 1993] könyv 7 fejezetének (207-231 old.) alapján készült 2. A munkatábla keretrendszer A fent vázolt következtetési módszert szeretnénk szemléletesebbé tenni egy egyszerű példa segítségével. Tegyük fel, hogy van egy meghibásodott műhold, mely letért normális pályájáról. A probléma megoldásában több szakértő vesz részt, melyek mindegyike a tudomány egy-egy jól körülhatárolható részterületének szakembere. Az egyik egy csillagászati szakember, a másik rakéta-szakértő, a harmadik a műholdakhoz ért, a negyedik a kommunikációhoz, az ötödik pedig a műholdat javító űrhajós. Az öt szakértő fizikailag más és más helyeken van, és számítógépes kapcsolaton keresztül kommunikálnak. Ez a kapcsolat nem tesz lehetővé közvetlen kommunikációt, az üzenetek egy üzenet-központba érkeznek be. A probléma

megoldásának kezdetén a központban egyetlen üzenet áll, mely a probléma mibenlétét írja le. Amikor valamelyik résztvevő úgy érzi, hogy érdemi hozzáfűznivalója van valamelyik üzenethez, akkor megteszi saját megjegyzését. Vannak, tehát, akik azonnal hozzá tudnak szólni a problémához, míg másoknak meg kell várniuk azt a pillanatot, amikor tudásukra szükség lesz. Az első körben például az a kérdés, hogy milyen pályára kell visszaállítani a műholdat. A csillagász erre gyorsan megadja a választ, azt azonban nem tudja, hogy hogyan lehet a dolgot technikailag megvalósítani. Eme új probléma megoldására a műhold tervezője tesz javaslatot, és így tovább. A munkatábla éppen így működik. Az üzenet-központot a munkatábla váltja fel, mely nem emberi szakértőket, hanem a részproblémák megoldására alkalmas tudásforrásokat használ. A megoldás kooperatív módon zajlik. Az egyes tudásforrások között nincs előre kijelölt

sorrend, minden forrás saját magát aktiválja, amennyiben úgy érzi, hogy hozzá tud szólni a probléma aktuális állapotához. A megoldás tehát lépésről-lépésre alakul ki Az iménti példa jól érzékelteti a problémamegoldás folyamatát, semmit sem mond azonban a rendszer megvalósításának módjáról. A munkatábla elnevezés nem véletlen, nagyon jó analógiát ad a rendszer működésének megértéséhez. Képzeljünk el egy osztálytermet, 1 melyben a diákokon kívül egy tábla is helyet kap. A diákok nem beszélhetnek egymással közvetlenül; üzeneteiket a táblára írhatják fel. Egyszerre csak egy ember írhat a táblára, mivel egyetlen egy kréta van a teremben. Szükség van természetesen egy olyan személyre is, aki átlátja az eseményeket, és mindig a megfelelő diák kezébe adja a krétát. Ő ellenőrzi a megoldás pillanatnyi állapotát, és ő választ a „szakértők” közül. A munkatábla architektúra működését ezzel az

analógiával sikerült átültetnünk napjaink szekvenciális számítógépeire. Fontos azonban, hogy észrevegyük azt, hogy a kréta kiosztásáért felelős személy bevezetésével komoly hatalmat adtunk ennek a személynek a kezébe, mivel gyakorlatilag ő dönt a probléma megoldásának módjáról. A rendszer háromféle összetevőt tartalmaz: a munkatábla, a vezérlő, és a tudásforrások. Ezekről lesz szó a következő részekben. 2.1 A tudásforrások A tudásforrások birtokolják a probléma megoldásához nélkülözhetetlen ismereteket (keretek, eljárások vagy szabályok formájában). Az egyes részterületek ismeretével ezek a források képesek a probléma kooperatív megoldására. Az egyes tudásforrások működésbe lépéséhez teljesülni kell bizonyos előfeltételeknek. Ha rendszerünket például szoftverfejlesztésre használjuk, akkor a programok tesztelésére szakosodott részegység csak akkor léphet működésbe, ha a kód megírása

befejeződött. Az előfeltételek fennállásáról maguk a források győződnek meg. Amennyiben teljesül a megfelelő előfeltétel, és a tudásforrás engedélyt kap a vezérlőtől, akkor leolvassa a tábla tartalmát, elvégzi a megfelelő következtetéseket, majd saját eredményeit elhelyezi a táblán. 2.2 A munkatábla Az egyes tudásforrások a táblán keresztül tudnak kommunikálni egymással. A táblára sokféle adat felkerülhet magával a problémával, illetve a részleges vagy teljes megoldásokkal kapcsolatosan is. Az adatok hierarchikusan jelennek meg a táblán, többféle reprezentációs szinten. Lehetőség nyílik arra is, hogy a probléma megoldása így többféle terminológiában is elkészüljön. Elképzelhető az is, hogy nem csak a táblán szereplő adatok építenek hierarchikus rendszert, hanem maga a tábla is egy nagyobb hierarchia részét képezi. Több tábla alkalmazásával párhuzamos megoldásokat készíthetünk. 2.3 A vezérlő A

rendszer szíve a vezérlő. Ez az egység koordinálja a tudásforrásokat a tábla tartalmának leolvasása közben, javaslatokat tesz arra, hogy milyen művelet kerüljön végrehajtásra. A vezérlő nagyon sok információt figyelembe véve dönt arról, hogy mi kerüljön a figyelem középpontjába. Három lehetőség van: 2    egy adott tudásforrás kerül aktiválásra; a táblán elhelyezett objektumok egyike kerül kiválasztásra; egy tudásforrás és egy objektum együttesen kerülnek kijelölésre Mivel a rendszer alapvetően semmiféle megkötést nem tesz arra vonatkozólag, hogy a mit is jelent valójában az, ha valami „középpontba kerül”, gyakorlatilag bármilyen következtetési módszert lehet alkalmazni. Hayes-Roth és Hewett foglalták össze azokat a szempontokat, amelyeket egy intelligens vezérlőnek mindenképpen szem előtt kell tartania működése során: 1. A vezérlőnek meg kell határoznia, milyen műveleteket lehet

végrehajtani, és mikor A vezérlő felel a műveletek kivitelezéséért is. 2. Különbséget kell tenni a végrehajtható és a szükséges műveletek között 3. Bizonyos esetekben specifikusabb, máskor általánosabb műveletekre van szükség A vezérlő által használt heurisztikának megfelelő arányban kell vegyítenie ezeket. 4. A megoldás során használt műveletek attribútumait nem szabad figyelmen kívül hagyni. Fontos például, hogy egy adott számítás elvégzésekor a pontosságra, vagy a gyorsaságra fektetjük a nagyobb hangsúlyt. 5. A probléma jellemzői a megoldás alatt is változhatnak A vezérlő alproblémákat próbál megoldatni. Mindig tisztában kell lenni azzal, mely alfeladatok vannak már megoldva, és melyek várnak még megoldásra. 6. A megoldás során minden pillanatban sok heurisztika közül kell választania a rendszernek. 7. Gyakran hasznos, ha a részproblémák megoldása során a rendszer „látja” a teljes, globális feladatot

is, mivel így gyorsabban célba érhet. 8. A megoldás során végrehajtott lépések vagy egy részmegoldáshoz vezetnek, vagy magát a vezérlést hivatottak módosítani. 2.4 A munkatábla működése A működés a következő lépésekből áll: 1. Az egyik tudásforrás módosítja a tábla tartalmát 2. Az egyes tudásforrások elolvassák a tábla tartalmát, majd megvizsgálják, milyen lépéseket tudnak végrehajtani. Lehetőségeiket közlik a vezérlővel 3. A vezérlő összegzi a begyűjtött adatokat, és kijelöli a figyelem középpontját 4. A figyelem középpontjába a következő dolgok kerülhetnek:    Egy tudásforrás. A tábla egyik objektuma. Egy tudásforrás és egy objektum. 5. Miután a kijelölt tudásforrás megvizsgálta a kérdéses objektumot, a rendszer visszatér az 1. lépéshez 3 Az egyetlen tisztázandó lépés a rendszer leállásával kapcsolatos. A leállás feltétele általában valamelyik tudásforrásba van beágyazva.

3. Történelmi áttekintés 1962: Allen Newell elsőként hivatkozik a falitáblára. Newell az addigi mesterséges intelligencia rendszereket szerette volna rendszerezni. Ezek a rendszerek egyre összetettebbé váltak, így programozóknak egyre inkább szükségük lett arra, hogy a rendszerek működését szekvenciálisan láthassák. Erre nagyszerű analógiát kínált a munkatábla 1966: Herb Simon teljesen más úton jut el a falitáblákhoz. Ő arra keres választ, hogy vajon hogyan születnek az emberek ötletei. A problémák tanulmányozása során felépülő, részcélokat tartalmazó fákat tanulmányozza. A fa képzeletbeli felépítése során az ember mindig egy úton próbál végighaladni, de közben sok mellékág eredményeit is észben kell tartania. A munkatáblás rendszerek történelmi fejlődése: Produkciós rendszer Hearsay-I 1965-1976 DENDRAL 1971-1976 Hearsay-II OPM 1975-1980 BB1 1977-1984 EE/mission planning 1981-1984 HASP VISIONS/Schema

CRYSALIS Hersay-III UMass GBB Age Mxa DVMT ARE EPBS SACAP Blobs HASP TRICERO BB1 CAGE/POLIGON MUSE 4 PROTEAN TRANSACTIOANAL BB 1985-1987 BB* 4. Hearsay (Hear-say) A Hearsay projekt egy ötéves DARPA projekt volt a Carnegie-Mellon Egyetemen, amely 1971-ben kezdődött [Erman, 80]. Célja egy olyan beszédfelismerőrendszer fejlesztése, amely korlátozott szókészletből álló emberi beszédfelismerése képes valós időben. Ez alatt az idő alatt három rendszer született. Az első a Hearsay-I volt, amely csak egy tesztrendszer, viszont a módszer megvalósíthatóságát igazolta. Már ennél a rendszernél előkerültek a rendszer problémái Az egyes alternatív feltételezések között a rendszer nem tudott kapcsolatokat felépíteni, pedig ez nagyon lényeges lett volna, ezenkívül a párhuzamosíthatóság is jelentősen korlátozva volt. Ezeknek a problémáknak a megoldását tűzték ki célul a Hearsay-II-ben, ahol egy kicsit kibővítették a

problémateret is. A második, és egyben a projekt legsikeresebb rendszere a HARPY volt. Ez a rendszer nagyon gyorsan képes volt felismerni az élőbeszéd egyes típusait. Ezt a képességét a bedrótozott tudásbázisának köszönhette. Annak ellenére, hogy nagyon sok eredménnyel szolgált ez a kutatás a szakemberek számára a beszédfelismerés területén, számottevő eredményt csak nagyon leszűkített feladat esetén tudott felmutatni a rendszer. A három rendszerből az utolsó (Hearsay-II) az alábbi célokat tűzte ki:           folyékony beszéd felismerése (a szavak között nem kell szünetet tartani) egyszerre több felhasználó kiejtését kell megértenie a rendszernek a felhasználók az általános amerikai kiejtést használják a felvétel egy csendes szobában történik hangrögzítésre jó minőségű mikrofonokat használnak a felhasználóktól csak természetes alkalmazkodást várnak el a lehetséges szókincset

1000 szóban limitálják nagyon mesterséges mondatokat használva, jelentősen megszorított a feladatosztály könnyed interakcióra ad lehetőséget a valós időhöz közeli megoldás egy 100 millió művelet/mp teljesítményű gépen A megoldandó feladatot egy kicsit könnyebbé, ugyanakkor azonban egy kicsit bonyolultabbá is tették. A rendszernek egy dokumentum-archívumból kellett dokumentumokat szolgáltatnia azok kivonata alapján. A konkrét megvalósításban mesterséges intelligencia témájú dokumentumokon tesztelték a rendszert. Például az alábbi parancsokat lehetett kiadni a rendszernek:    Melyik kivonatokban van hivatkozás a hegymászásra? (Which abstracts refer to hill climbing?) Ezek között vannak olyanok, amelyek Newelltől és Simontól származnak? (Are any by Newell and Simon?) Mutasd meg a megfelelő cikkeket! (List those article!) 5 A beszédfelismerő rendszer felépítése olyan, hogy független legyen a hozzá kapcsolt

konkrét alkalmazástól. Más mondatszerkezeteket, más szókincset, és más szemantikát definiálva a rendszert egy másik feladat megoldására specializálhatjuk. Beszédfelismeréskor a hibák jelentős részét mindig két dolog okozza. Először is hibák keletkeznek a beszéd során, azaz akkor, amikor egy ötletet, vagy gondolatot szavakba öntünk. Természetesen itt még figyelembe kell vennünk azt, hogy az egyes emberek kiejtése között jelentős eltérések lehetnek. Az ideális eset az lenne, ha az élő beszéd pontosan megfelelne a leírt mondatoknak. A felhasználók azonban nagyon ritkán beszélnek így Milyen problémák lehetnek? Szünetek az elhangzott mondatok között, külső környezeti zaj, nem megfelelő szavak, illetve nyelvtani formulák használata, és egy mondaton belül bizonyos kifejezések többszöri alkalmazása. Ezek a problémák lehetetlenné teszik a hanghullámok direkt leképezését szavak sorozatára. A másik hibaforrás a vevő,

hallgató oldalon jelentkezik. A hallgató oldalon pontosan az ellenkezőjét kell végrehajtani annak, mint ami a beszélő oldalán történik. Először is meg kell határozni, hogy az egyes hanghullámok milyen hangokat reprezentálnak. Ezután a hangokat szótagokba kell szervezni, majd ezeket szavakba, szókapcsolatokba, és mondatokba. Ezután a mondatokat fogalmi struktúrákba kell szervezni, azaz meg kell határozni az egyes mondatok jelentését. A fenti transzformációk mindegyike hibával terhelt Mivel minden szinten jelentős a hibaszázalék, egy beszédfelismerő rendszer viszonylag nagy alternatív megoldási halmazt tart nyilván az egyes szinteken. A rendszer mindegyiket lehetséges megoldásként kezeli Minden szinten (hang, szótag, szó, kifejezés, mondat, fogalmi szint) a rendszernek vannak potenciális megoldásai arra vonatkozóan, hogy a beszélő mit mondott. Ami az egyes szinten nagyon is valószínűnek tekinthető, az az eggyel magasabb szinten már

nagyon is valószínűtlen. Vegyük példaként az alábbi mondatot: “Find papers on how to recognize speech?”. A beszélő és a halló oldalon fellépő hibák miatt azonban lehetséges, hogy a mondat fonetikus képe eltorzul. Ez egy teljesen új alternatív megoldáshoz is vezethet A hallgató oldalon nyilvánvalóan úgy kell ezekből a potenciális szavakból válogatni, hogy a végső megoldásban tartalmilag helyes mondatok keletkezzenek. A rendszer minden szinten meghatározza az egyes alternatív megoldások valószínűségét és hihetőségét. A rendszer a legvalószínűbb megoldásnak az alábbi mondatot tekintette: “Find papers on how to wrecka nice beach?” Ezt a mondatot azonban valószínűleg elvetné a rendszer a fogalmi szinten. A Hearsay-II-be 13 különböző tudásforrást építettek be. (ld ábra) A nyilak kiindulópontjai jelentik azt, hogy a tudásforrás honnan meríti az inputját, míg a hegyei azt mutatják, hogy az output milyen szinten

keletkezik. A tudásforrások elnevezése összhangban van az ábra jelölésével. A Hearsay-II falitáblája hét szintre van osztva (paraméterek, szórészlet, szótag, szó, szókapcsolat, mondat, adatbázis kapcsolat). Mindegyik szint a megfelelő hallgatózó oldal visszakódolási fázisának felel meg. Az egyes tudásforrások új hipotéziseket készítenek, vagy már meglévőinformációkat módosítanak a munkatábla megfelelő output szintjén. A sebességtesztek azt mutatják, hogy a Hearsay-II rendszer előrehaladást jelentett a beszédfelismerés területén. Összehasonlítva egy másik, nem megalkuvó következtetési módszert (nonopportunistic reasoning) használó rendszerrel, azt találták, hogy a hibaarány 49 6 százalékról 29 százalékra csökkent, míg az eközben használt processzoridő kevesebb, mint a felére csökkent. A munkatábla rétegei a Herasay-II rendszerben: Szintek Tudásforrások Adatbázis felület Kifejezés Szavak sorozata Szó

Szótag Szegmens Paraméter 5. CRYSALIS A Crysalis rendszer [Terry 1983] a San Diegoi egyetem fehérje kristályszerkezet kutatói és a Standford egyetem Heurisztikus Programozási Projektjének számítástechnikai kutatói közös munkájaként született meg, az 1970-es évek végétől és az 1980-as évek elejéig tartó időszak alatt. A közös cél az volt, hogy olyan rendszer készüljön el, mely képes a fehérjék kristályairól készült röntgensugaras felvételeken a sugarak elhajlásából meghatározni a mulekula háromdimenziós struktúráját. Bár a kivitelezők az egész problémára nem, viszont annak jelentős részére adtak megoldást. Ezzel a munkatáblás rendszerek terében két újdonságot mutattak fel: (1) Ők használtak először több panelt a munkatáblán. (2) Egy bonyolult vezérlési problémát hoztak át a szabályalapú rendszerek területéről. A fehérjék kristályszerkezetének feltérképezése több lépésből áll. Először a

vizsgálandó fehérjét kémiai módszerekkel el kell távolítani a többi fehérjétől. A fehérjét ki kell kristályosítani. A kristályt ezután röntgensugarakkal bombázzák, majd az eltérített sugarak intenzitása és helyzete kerül tanulmányozásra. A mulekulák minden egyes atomja módosítja a röntgenhullámokat, ez garantája azt, hogy minden egyes fehérje teljesen egyedi mintázatot 7 fog produkálni. Ezen adatok vizsgálatával az a probléma, hogy a mintázatok nem elég precízek (az intenzitások nem állapíthatók meg kellő pontossággal, valamint a mintázat felbontása nem elég nagy) ahhoz, hogy belőlük fehérje struktúrája előállítható legyen. Ezért matematikai és kémiai eljárásokkal az adatok egy részét becsléssel kell előállítani, majd ez után elkészíthető az elektronsűrűség-térkép (elektron density map, EDM). Az EDM-et használják aztán a fehérje struktúra modelljének előállítására. A származtatott

modellből visszacsatolással egy pontosabb adathalmaz meghatározásával adódik egy újabb EDM. A folyamat során az objektumok árnyékát ábrázoló nem túl jó minőségű kép és egy, az ezen árnyékokhoz tartozó objektum-felsorolás áll rendelkezésre. Az árnyképek vizsgálatával próbáljuk eldönteni, hogy az adott objektumok hol helyezkednek el. Ezzel felépítjük az objektumok elhelyezkedésének modelljét, mely a fehérje-struktúráját adja. Ezzel egy új EDM-et hoztunk létre. Az eljárás mindaddig folytatódik, amíg az így kapott atom-modellek még megfelelnek az eredeti adatoknak. A rendszer két absztrakt panelt használ, melyek a problémamegoldás során rendelkezésre álló különböző típusú adatok szétválasztását teszik lehetővé. Az első a sűrűség panel, melyen a keresőalgoritmusok a röntgenfelvételek feldolgozásával állítanak elő adatokat. A második, a hipotézis panel, mely az interpretáció során előálló

információkat tartalmazza. A rendszer részleges megoldásokat állít itt össze, felhasználva a sűrűség panel szintjein megjelenő információkat. A két panel felépítése a Crysalis rendszerben: Sztereotipusok Szuperatomok Atomok Hipotézis panel Szegmensek Csomópontok Csúcsok EDM pontok Sűrűség-panel 8 A rendszer tudásbázisa szabályhalmazokat tartalmazó tudás forrás szériákba van szervezve. A Hearsay-jel szemben, ezek a tudásforrások nem lépnek életbe maguktól – nem rendelkeztek olyan előfeltételekkel, melyek teljesülése esetén a tudásforrás működésbe lép. E helyett a rendszer egy háromlépcsős vezérlő struktúrával működik, melynek szintjei a stratégia, a feladat és az objektum tudásforrások. A legmagasabb szintű tudásforrás a stratégiai, mely 29 szabályt tartalmaz. A feladat szintű tudásforrás a 112 szabályát 9 tudásforrás között osztja el. Végül az objektum szint 461 szabályát 56 tudásforrás hordozza A

tudásforrások működésbe lépése a magasabb szinttől az alacsonyabb felé tartva történik. A startégiai szintű tudásforrás megpróbál behatárolni egy konkrét területet. Miután a régió ki lett választva, a területhez a megfelelő feladat szintű tudásforrás aktivizálódik. Ez a feladat tudásforrás pedig objektum–tudásforrások egy sorozatát futtatja le. Amint a feldolgozás valamelyik szinten befejeződik, a vezérlés visszakerült eggyel magasabb szintre, a magasabb szint műveleteinek folytatása végett. Minden egyes tudásforrás az „oszd meg és uralkodj” stratégiát használta. Az eredeti problémát először régiókra osztják (stratégiai tudásforrásokkal), majd a jellegzetes csomópontok megtalálásával osztják tovább a problémát (feladat tudásforrásokkal), végül az egyes csomópontok kerülnek kezelés alá (objektum tudásforrásokkal). Az ilyen tisztán definiált hierarchia miatt a tudásbázis használatának alkalmazkodó

képessége egyáltalán nem látható. Konkrétan alkalmazkodásról csak a következőként feldolgozásra kerülő csomópont kiválasztásával kapcsolatban beszélhetünk. A Crysalis problémaköre magával von számos, a tudásalapú rendszerhez való megfelelő alkalmazás kiválasztásával járó kritériumot. Ezek: 1. Szakértők szükségessége, akik biztosítják a tudást és tesztelik a rendszer működését 2. Az elméleti tudás, a fehérjék struktúrája és funkciója közötti kapcsolatról 3. A háromdimenziós struktúrák kezelésének ismerete Végül is a rendszernek nem sikerült elérnie azt a célt, hogy a fehérjék teljes térhatású modelljeit előállítsa. Csak néhány esetben sikerült az aminosavak gyökeinek több mint 75 százalékát lemodellezni. Bár a megoldásnak csak egy nagyobb részét sikerült megoldani, e megoldás előállítása a szkértőknek a rendszer nélkül hónapokat vesz igénybe. 6. AGE (Attempt to GEneralize) Az AGE

rendszert a Standfordi Egyetem Heurisztikus Programozás Projektje keretében a az 1970-es évek végen, és a 1980-as évek elején fejlesztették ki [Nii, 88]. Feladata az volt, hogy a letisztázza, és explicit módon megfogalmazza a tudásmérnökök feladatát. Azt a tudást próbálták egy rendszerbe összefogni, amelyre egy tudásmérnöknek szüksége van egy tudásbázis építéséhez. A tudásmérnök gyakorlatilag explicitté teszi egy adott szakértő, vagy szakértők tudását, lehetővé téve ezáltal az ezen az explicit tudáson való következtetést és problémamegoldást. A fejlesztők ebbe a rendszerbe azt a tudást szerették volna összefoglalni, amit a Heurisztikus Programozás Projekteken belül elkészített rendszerek építésekor összegyűjtöttek. A végeredményt úgy képzelték, hogy az építőelemek egy gyűjteménye lesz 9 egy intelligens felhasználói felülettel, ami segíti tudásalapú rendszerek építését. Azt képzelték, hogy

ilyen általánosan használt mesterséges intelligencia programok összerakásával a fejlesztési időt drasztikusan csökkenteni tudják, és a mesterséges intelligencia területén uralkodó sokszínűséget (diszperziót) is csökkenteni tudják. A fejlesztés megkezdésekor két nagy problémába ütköztek a fejlesztők. Először is, hogyan dönthető el egy problémáról, hogy az tudásalapú megoldást követel meg, és melyek indukálnak speciális, az adott területre jellemző megoldásokat. A másik probléma egy olyan intelligens ágens fejlesztése volt, ami segítette volna a felhasználót az egyes MI-technikák felhasználásában a megoldás során. Ahhoz, hogy a problémát hatékonyan tudják megoldani, a megoldó rendszernek magának is tudásalapúnak kellett lennie. Ehhez a rendszerhez tartozott volna még egy környezet, ami lehetővé tette volna a felhasználóknak, hogy játsszanak a különböző problémamegközelítő módszerekkel. Az AGE célja az

volt, hogy olyan egyének számára, akiknek csak nagyon kevés ismeretük van az MI területén, egy lehetséges megoldást nyújtson a tudásbázisok építésének területén. Kezdetben azonban olyan kutatók használták, akik maguk is képesek voltak egy saját tudásalapú rendszer építésére. Ezeknek az embereknek a számára is hasznos volt ez a program, ugyanis így plusz ráfordítás nélkül használhattak már megírt, és letesztelt alapvető rendszerkomponenseket, valamint lehetőségük volt különböző technikákat kipróbálni anélkül, hogy bonyolult programokat kellett volna írniuk. A fejlesztés két irányban haladt. Először egy olyan eszközt szerettek volna kifejleszteni, amely segítséget nyújt a felhasználóknak tudásalapú programok fejlesztésében. Ehhez modulokra volt szükség, amelyek egyszerűen kombinálhatóak ahhoz, hogy az új tudásalapú rendszer alapját képezzék. Másodszor egy intelligens interakció szerkezetét próbálták

megtervezni. Ez segítette volna a felhasználókat abban, hogy egyáltalán milyen építő elemekre van szükségük egy adott probléma megoldásához, és hogy ezeket hogyan kell felhasználni. Az AGE kezdetben nagyon egyszerű struktúrájú volt. Egy falitáblához több tudásforrás kapcsolódott. A munkatábla struktúrája úgy volt kialakítva, hogy mind az induktív, mind a deduktív következtetést tudja használni. Képes volt feltételezések kezelésére, illetve többszintű hierarchikus struktúrájú adatok tárolására. Akár több panelből is állhatott A tudásforrások elkülönülve az egyes problémafüggő tudást reprezentálták. A tudás a tudásforrásokban szabályok formájában volt eltárolva, amelyek a speciális tudást, illetve azt a tudást reprezentálták, hogy ezt a speciális tudást milyen eszközökkel és a módszerekkel lehet kezelni. Minden tudásforrás több tulajdonsággal rendelkezett Ide tartoznak például az előfeltételek, amik

a tudásforrás meghívásához szükségesek, annak a területnek a leírása, ahol a tudásforrás szabályai alkalmazhatóak, illetve a szabályalkalmazási stratégiák. A rendszer képes volt arra, hogy a felhasználó annyi tudásforrásra darabolja szét a probléma megoldásához szükséges tudásmennyiséget, amennyire neki csak szüksége van. A tudásforrásokat ezek után akár hierarchiába is rendezhetjük, mint ahogy ezt a Crysalis tervezésekor tették. 10 A vezérlőrendszer úgy volt megtervezve, hogy a felhasználónak lehetősége volt specifikálni, hogy az egyes tudásforrások mikor aktivizálódhatnak, illetve hogyan választódik ki a falitábláról az éppen aktuális figyelem középpontja. A felhasználó nagyon sokféle reprezentációban megadhatta a vezérléshez szükséges tudást. Egy ilyen vezérlő specifikációnak az alábbiakat kellett tartalmaznia:   input adatok  a figyelem középpontjának kiválasztásának módja  a

megfelelő tudásforrás kiválasztása  a tudásforrás alkalmazásának módja  a rendszer terminálási feltétele. A rendszer előre meghatározott módon nem specifikálta, hogy a falitáblán elhelyezett adatok hogy néznek ki. Ezt annak a felhasználónak kellett megtennie, aki a rendszer segítségével egy tudásalapú rendszert épített. Ugyancsak a felhasználónak kellett az egyes tudásforrásokban a tudás reprezentációjának a formáját meghatároznia. (Például azt, hogy a szabályok milyen alakúak lehetnek.) Ehhez segítségül egy intelligens környezet állt rendelkezésre, súgóval (help), és más rendszerkomponens-leírásokkal. Az AGE rendszert nagyon sok területen bevetették. Többek közt használták kriptográfiai feladatok megoldásánál, bridzs licitáló rendszer építésénél, és tüdűfunkció-zavarok diagnosztizálásánál. 7. Fejlesztői környezetek A Hearsay, a Crysalis és az AGE klasszikus munkatábla rendszerek, melyek igazi

jelentősége úttörő mivoltukban rejlik. Az utóbbi időkben a munkatábla elvére épülő alkalmazási környezetek fejlődése igencsak meggyorsult. A fejlődés főleg az ilyen rendszerek építésének megkönnyítését célozza. Az 1980-as években került kifejlesztése a GBB (Generic Blackboard System), melynek tulajdonságai közül az alábbiakat érdemes kiemelni: 1. A tábla objektumainak beszúrása és kinyerési igen hatékonnyá vált A rendszer összes ismerete (pl. célok, feltételezések, részmegoldások, stb) a falitáblán kap helyet A több ezer objektumot kezelő rendszerekben az objektumok hatékony kezelési igen kritikus pont. 2. A táblán elhelyezett objektumok kezelése illetve magának a táblának a kezelése teljesen szét lett választva. 3. Az önálló elemekből felépülő objektumok leírásához egy általános táblaobjektumot használ. 4. Az objektumok kinyerése egy igen hatékony, mintaillesztésen alapuló nyelv segítségével

történik. 5. A vezérlő és az adatbázis teljesen el lettek választva egymástól 11 Egy másik rendszer, a BB1 esetében a rendszer vezérlési lehetőségeinek minél általánosabbá tételére helyeződött a hangsúly: 1. Az objektumok különböző absztrakciós szinteken helyezkednek el Az objektum több szinten is kapcsolódik más objektumokhoz. 2. Az objektumok összekapcsolása relációs eszközökkel történik A BB1 esetében több táblát is használhatunk, melyek mindegyike több szintet tartalmazhat. Egy szint több objektumot is tartalmazhat. A táblák különböző típusúak lehetnek: probléma-, megoldás-, tudás- és/vagy vezérlő-táblákat is használhatunk. 8. Előnyök és hátrányok Előnyök: 1. Sokféle probléma megoldására használható A megoldható problémák a következő közös vonásokkal rendelkeznek: a) Sokféle típusú bemenő adat. Az adatok esetleg zajosak is lehetnek A probléma így viszonylag nagy megoldás-térrel

rendelkezik, és a hagyományos módszerekkel többnyire megoldhatatlan. b) A problémák nem rendelkeznek jól körülhatárolt végcélokkal, melyek köré fel lehetne építeni a megoldás menetét. Ez részben a sokféle adatnak, másrészt a kooperáció szükségességének tudható be. c) Jó implementálhatóság osztott környezetekben. Az tudásforrások és a vezérlő is külön processzort kaphatnak. 2. Hierarchikus szervezés A munkatábla kitűnően használható hierarchikusan szervezett adatok kezelésére. 3. Adatabsztrakció A probléma egyes részeit absztrakt megfelelőkkel helyettesíthetjük, jelentősen csökkentve ezzel a számításigényt (ha nincs szükség bizonyos részletekre). 4. Döntések halogatása A rendszer képes halogatni bizonyos döntések meghozatalát addig, amíg az összes szükséges adat rendelkezésre nem áll. 5. A tudásanyag független felhasználásától A rendszer fejlesztőjének nem kell azzal törődnie, mit kezdjen rész- és

végeredményeivel. Minden eredmény egységesen a falitáblára kerül. Hátrányok: 1. Költséges: a munkatábla alapú rendszerek kiépítése és üzemeltetése is igen költséges Ráadásul a rendszerek többnyire egy adott feladat megoldására vannak szabva, továbbfejlesztésül így igen nehézkes. 2. A tudás partícionálása nehéz feladat: nehéz felosztani a tudásanyagot oly módon, hogy hatékony működést lehessen biztosítani. 12 Forrásmunka Gonazalez, 1993: Gonzalez, A.J; Dankel, DD, „The Engineering of Knowledge Systems – theory and Practice”, Prentice-Hall, Inc., 1993 Klasszikus irodalmi hivatkozások Corkill, 1988: Corkill, D.D; Gallagher, KQ; Murray, KE, „GBB: A Generic Blackboard Development System”, In: Englemore, R.; Morgan, T (eds), Blackboard Systems, Addison-Wesley, 1988, pp. 503-517 Erman, 1980: Erman, D.L; Hayes-Roth, VR; Lesser, VR; Reddy, DR, The HEARSAYII Speach Understanding System: Integrating Knowledge to

Resolve Uncertainty”, ACM Computing Survey, 12(2, June), 1980, pp. 213-253 Hayes-Roth, 1988: Hayes-Roth, B.; Hewett, M, „BB1: An Implementation of the Blackboard Control Arctitecture”, In: Englemore, R.; Morgan, T (eds), Blackboard Systems, Addison-Wesley, 1988, pp. 297-313 Newell, 1962: Newell, A., „Some Porblems of Basic Organization in Problem-Solving Programs”, In: Yovits, M.C; Jacobi, GT; Goldstein, GD (eds), Conference on SelfOrganizing Systems, Washington, DC: Spartan Book, pp 393-423 Nii, 1988: Nii, H.P; Aiello, N, „AGE (Attempt to Generalize): A Knowledge-Based Program for Building Knowledge-Based Programs”, In: Englemore, R.; Morgan, T (eds), Blackboard Systems, Addison-Wesley, 1988, pp. 251-280 Simon, 1977: Simon, H.A, „A Scientific Discovery and the Psychology of Problem Solving”, In: Simon, H.A (ed), Models of Discovery, Boston, MA: Reidel, pp 286-303 Terry, 1983: Teery, A., „The CRYSALIS Project: Hierarchical Control of

Production Systems”, Technical Report HPP-83-19, Stanford, CA: Stanford University, 1983. 13