Informatika | Vállalati információs rendszerek » Sziray-Varga - Szakértői rendszerek

Alapadatok

Év, oldalszám:2006, 151 oldal

Nyelv:magyar

Letöltések száma:77

Feltöltve:2016. július 08.

Méret:750 KB

Intézmény:
[SZE] Széchenyi István Egyetem

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!


Tartalmi kivonat

Dr. Sziray József – Varga Ágnes SZAKÉRTŐI RENDSZEREK Készült a HEFOP 3.31-P-2004-09-0102/10 pályázat támogatásával Szerzők: dr. Sziray József Széchenyi István Egyetem, Informatika Tanszék Varga Ágnes Széchenyi István Egyetem, Informatika Tanszék Lektor: Gaul Géza Széchenyi István Egyetem, Informatika Tanszék Szerzők, 2006 Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom A dokumentum használata Vissza ◄ 3 ► A dokumentum használata Mozgás a dokumentumban A dokumentumban való mozgáshoz a Windows és az Adobe Reader megszokott elemeit és módszereit használhatjuk. Minden lap tetején és alján egy navigációs sor található, itt a megfelelő hivatkozásra kattintva ugorhatunk a használati útmutatóra, a tartalomjegyzékre, valamint a tárgymutatóra. A ◄ és a ► nyilakkal az előző és a következő oldalra léphetünk át, míg a Vissza mező az utoljára megnézett oldalra visz

vissza bennünket. Pozícionálás a könyvjelzőablak segítségével A bal oldali könyvjelző ablakban tartalomjegyzékfa található, amelynek bejegyzéseire kattintva az adott fejezet/alfejezet első oldalára jutunk. Az aktuális pozíciónkat a tartalomjegyzékfában kiemelt bejegyzés mutatja. A tartalomjegyzék használata Ugrás megadott helyre a tartalomjegyzék segítségével Kattintsunk a tartalomjegyzék megfelelő pontjára, ezzel az adott fejezet első oldalára jutunk. Keresés a szövegben A dokumentumban való kereséshez használjuk megszokott módon a Szerkesztés menü Keresés parancsát. Az Adobe Reader az adott pozíciótól kezdve keres a szövegben A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 3 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Tartalomjegyzék Vissza ◄ 4 ► Tartalomjegyzék Bevezetés. 6 1. Tudásbázisú intelligens rendszerek 8 1.1

Intelligens gépek 8 1.2 A mesterséges intelligencia fejlődése 9 2. Szabálybázisú rendszerek 21 2.1 A tudás fogalma 21 2.2 A tudás szervezése 22 2.3 Tudásreprezentáció szabályok használatával 24 2.4 Az előreláncolás végrehajtása 27 2.5 Boole-algebra és a logikai hálózatok alkalmazása 29 2.6 A hátraláncolás végrehajtása 35 2.7 Négyértékű logikai rendszer használata 37 2.8 A láncolás általános kérdései 42 2.9 A szabálybázisú rendszerek felépítése 44 2.10 Szabálybázisú rendszerek létrehozása 45 3. A számítási komplexitás 47 3.1 A probléma felvetése 47 3.2 Polinomidejű algoritmusok 47 3.3 Az NP-teljes problémák köre 49 4. A bizonytalanság kezelése 57 4.1 A bizonytalan tudás lehetőségei 57 4.2 A valószínűségszámítás felhasználása 60 4.3 Következtetések kiszámítása a Bayes-tétel alapján 63 4.4 Időjárás előrejelzés: egy egyszerű példa 68 4.5 A bizonyossági tényezők használata 73 4.6

Összehasonlítások76 5. Fuzzi rendszerek 78 5.1 A fuzzi gondolkodás 78 5.2 Fuzzi halmazok 79 5.3 Nyelvi változók 85 5.4 Műveletek a fuzzi halmazok között 87 5.5 Fuzzi szabályok használata 89 A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 4 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Tartalomjegyzék Vissza ◄ 5 ► 5.6 A fuzzi következtetések folyamata 93 5.7 A fuzzi szakértői rendszerek létrehozása101 6. Keretalapú reprezentáció (frame) 104 6.1 Bevezetés104 6.2 Keretek, osztályok és példányok105 6.3 Öröklődés 107 6.4 A keretek közötti kapcsolatok108 6.5 Démonok 109 6.6 Keretalapú rendszerek, keretrendszerek110 6.7 Keretalapú rendszer fejlesztése – Buy Smart111 7. Egyéb rendszerek 116 7.1 Induktív rendszerek116 7.2 Esetalapú rendszerek119 8. A tudástechnológia folyamatai 121 8.1 A tudástechnológia összetevői121 8.2 A fejlesztési

eszközök használata 129 8.3 A shell mint fejlesztőeszköz 130 8.4 Eszközkészletek a fuzzi rendszerekhez 132 9. Egy szakértői rendszer alkalmazása 136 9.1 A működés szervezése 136 9.2 A szoftver hibatűrésének megvalósulása141 9.3 A szakértői rendszer szerepe az alkalmazásban144 10. Gyakorló feladatok145 10.1 Következtetési láncok 145 10.2 Bayes modell145 10.3 Szabályok: esélyek és valószínűségek 147 10.4 Fuzzi következtetés 148 Felhasznált irodalom.150 A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 5 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Bevezetés Vissza ◄ 6 ► Bevezetés A mesterséges intelligencia az informatikának olyan területe, amelyet mintegy hatvan éve művelnek a kutatók és fejlesztők. Arra szolgál, hogy az emberi gondolkodást, a szellemi munkát számítógép felhasználásával lehessen helyettesíteni. Mindez természetesen

csak a számítási lehetőségek és a rendelkezésre álló módszerek korlátain belül oldható meg. Az ugyanis nem várható, hogy a gépi programok valaha is felül tudják múlni az embert az agyműködés által elérhető legmagasabb szellemi teljesítményben. Ennek a területnek egyik kiemelten fontos kutatási-fejlesztési irányzata az ún. szakértői rendszerek létrehozása és felhasználása Ezek olyan számítógépes rendszerek, amelyek egy szűkebb szakterületen felhalmozódott szakértői tudást és tapasztalatot hordoznak magukban, és ennek felhasználásával képesek különböző feladatokat megoldani. Ez a tankönyv bevezetést nyújt a szakértői rendszerek elméletébe és gyakorlatába, amivel a témakör alapjairól ad ismertetést. Az itt feldolgozott és bemutatásra kerülő ismeretanyag a legkorszerűbb irodalomra támaszkodik, amellett néhány területen az egyik szerző, Sziray József saját kutatási eredményeit is magában foglalja. A

könyv tíz fejezetből áll, amelyek tartalma a következő: Az 1. fejezet a mesterséges intelligencia több mint félévszázados fejlődésének fontosabb állomásait tekinti át, ezen belül is kiemelve a szakértői rendszerek kialakulásának és önálló fejlődésének menetét. A 2. fejezet az előre kidolgozott szabályokon alapuló szakértői rendszerekkel foglalkozik Ezekben az ún szabályalapú rendszerekben a számítási döntéshozatal a rendelkezésre álló tényekből indul ki, és a szabályokból adódó következtetési folyamatokon keresztül valósul meg A fejezetben ezeknek a folyamatoknak a részletes ismertetésére kerül sor A következtetési folyamatok igen bonyolult számításokat igényelnek. A 3. fejezet az itt alkalmazott számítógépi programok futási idejével összefüggő számítási komplexitás kérdéseivel és problémáival foglalkozik A 4. fejezet a szakértői rendszerekben jelentkező információs bizonytalanság problémáiból

indul ki A hiányos vagy bizonytalan ismeretek gépi feldolgozására valószínűségelméleti módszereket szokás igénybe venni. Ebben a fejezetben a feltételes valószínűségekre vonatkozó Bayes-tétel felhasználását mutatjuk be, valamint a másik alternatívaként elterjedt ún. bizonyossági tényezők figyelembevételét. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 6 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Bevezetés Vissza ◄ 7 ► Az 5. fejezet a modern informatika egy új és perspektivikus irányzatát emeli ki, nevezetesen a nem egyértelmű megfogalmazáson alapuló döntéshozatal matematikai kezelését, az ún. fuzzy (fuzzi) logika alkalmazását A fejezet a fuzzi szakértői rendszerek működésének elvét és létrehozásának menetét fejti ki. A tankönyvben az ilyen típusú rendszerek hangsúlyos szerepet kaptak. A 6. fejezet az ún keretalapú

szakértői rendszerekkel foglalkozik A tudásnak keretekben való szervezése valójában az objektum-orientált szoftverfejlesztés területéhez tartozik. A teljes működés az osztályok és az őket megjelenítő objektumok közötti kölcsönhatásokban valósul meg. A szabályoknak és a következtetési folyamatoknak ebben a rendszerben is megvan a maguk szerepe. A 7. fejezetben röviden említésre kerülnek az ún induktív rendszerek, valamint az ún. esetalapú rendszerek A 8. fejezet a szoftver-technológiának azzal az ágával foglakozik, amely a szakértői tudás kinyerését és számítógépre vitelét valósítja meg. Ez a technológia magának a szakértői rendszernek a megépítését, tesztelését és hangolását foglalja magában. A tankönyv 9. fejezete egy konkrét alkalmazást mutat be, amelyben a szakértői rendszer egy vasútirányító informatikai rendszer komponenseként tölt be szoftver hibatűrést eredményező biztonsági funkciót. Az

utolsó, 10. fejezet gyakorló példákat tartalmaz Ezt a tankönyvet elsősorban a mérnök informatikusi képzésben részesülő egyetemi és főiskolai hallgatóknak ajánljuk. Ugyanakkor azonban más szakok hallgatói is hasznosíthatják, akiknek a tantervében a mesterséges intelligenciára vonatkozó ismeretek szerepelnek. Budapest, Győr, 2006. május 15 A szerzők A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 7 ► Szakértői rendszerek Tudásbázisú intelligens rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 8 ► 1. Tudásbázisú intelligens rendszerek 1.1 Intelligens gépek A filozófusok és más tudományok művelői már több mint kétezer éve próbálják megválaszolni azt a két kérdést, hogy miként működik az emberi ész, ill. létezik-e ész az emberen kívül Mindeddig egyik kérdésre sem sikerült biztos választ adni A filozófia tudományának egyik

legfontosabb kérdése az, hogy menynyiben képes az emberi ész megismerni és befogadni a körülöttünk levő világ működésének törvényszerségeit. Mint tudjuk, a nagy német filozófus, Immanuel Kant is ennek a kérdésnek a tanulmányozására fordította a legtöbb energiát. Ennek eredményeként született meg fő műve, „A tiszta ész kritikája”, 1781-ben. A számítógépes tudomány eddig elért fejlődése egyes tudósokat arra a meggyőződésre vezetett, hogy a gépek elvileg képesek mindazon szellemi tevékenység ellátására, amire az ember képes. Mások élesen elvetik ezt a lehetőséget, azt állítva, hogy az emberi érzelmek, kreativitás, morális döntések messze túl vannak bármilyen gépi működés határain. Olyan számítógépek már most is rendelkezésünkre állnak, amelyeket intelligensnek nevezhetünk. De mit kell értenünk intelligencia alatt? A londoni Collins kiadó Angol Szótára szerint: 1. „Valakinek az intelligenciája az

a képessége, hogy megértsen és megtanuljon dolgokat” 2. „Az intelligencia a gondolkodásra és megértésre való képesség, amely az ösztönös vagy automatikus tevékenység helyett létezik.” Az első meghatározás szerint az intelligencia olyan tulajdonság, amellyel az ember rendelkezik. A második meghatározás viszont már nem csak emberre vonatkozik, hanem olyan valakire vagy valamire, aki vagy ami gondolkodni és megérteni tud Ismét az Angol Szótár szerint: „A gondolkodás az a tevékenység, amelyben az agy felhasználásával egy probléma mérlegelése vagy egy elképzelés megalkotása történik.” A három definíció összevonásával az intelligencia fogalmát a következőképpen adhatjuk meg: A tanulásra és megértésre való képesség, amely problémák megoldására és döntéshozatalra szolgál. A számítógépes gondolkodás és intelligencia problémája az 1940-es évek végétől létezik. Az e területen kialakult tudomány, az ún

mesterséges A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 8 ► Szakértői rendszerek Tudásbázisú intelligens rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 9 ► intelligencia (artificial intelligence, AI) arra irányul, hogy olyan tevékenységeket végző gépeket hozzanak létre, amely tevékenységekhez intelligenciára lenne szükség, ha ember végezné azokat (M. Boden, USA, 1977) A gépi intelligencia témakörében született első jelentős cikket Alan Turing angol matematikus publikálta, 1950-ben, „Computing machines and intelligence” címmel. Ezt megelőzően egy univerzális működésű számítógépet tervezett, a Turing-elvű gépet Ő írta az első olyan programot, amely képes volt egy teljes sakkjátszmát lejátszani. Turing meg volt győződve arról, hogy létrehozható és programozható egy számítógép úgy, hogy tisztán a vele való kommunikáció

alapján nem lehet eldönteni, hogy ember vagy gép áll kapcsolatban a kísérletet, tesztet végző személlyel. Vagyis egy gép tökéletesen tudná az embert intelligenciában imitálni, helyettesíteni Ezt a tudományos áttörést ő a 2000-es év elérése idejére jósolta Mint tudjuk azonban, az áttörés egyáltalán nem következett be, sem akkor, sem azóta. A következőkben áttekintést adunk a gépi intelligencia eddigi fejlődésének legfontosabb fázisairól. 1.2 A mesterséges intelligencia fejlődése 1.21 Az AI megszületése Az első tudományos munka, amely már elismerten az AI területéhez tartozott, W. McCulloch és W Pitts tollából származott (USA, 1943) Ők a központi idegrendszer, ill. az agy működése alapján konstruáltak egy modellt, az ún mesterséges neurális hálózatot (artificial neural network, ANN) Ebben a hálózatban minden egyes idegsejt, vagyis neuron 0 vagy 1 állapotban lehetett, és a számításokat ezek a neuronok végezték.

A szerzők kimutatták, hogy az ANN modell ekvivalens a Turing-géppel, és minden kiszámítható függvényt ki tud számítani egy-egy megfelelő felépítésű hálózat A következő AI-alapító Neumann János volt, aki a tárolt programú számítógép-architektúra elvét dolgozta ki, vagyis a Neumann-elvű gépet. Szintén az 1940-es években, az Egyesült Államokban. A szakterület fejlődéséhez Claude Shannon is hozzájárult. Shannon elfogadta Turing nézetét a gépi intelligencia lehetőségéről Ő maga is foglalkozott a sakkjáték elméletével, és annak számítási bonyolultságával Az olyan esetekben, ahol a kiszámítás beláthatatlan számú lépésből áll, ún. heurisztikus megoldások használatát javasolta. (Ezek olyan megoldások, amelyek szakmai tapasztalatokon, észszerű megérzéseken alapulnak, és a számítási folyamatok leegyszerűsítésével járnak) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 9 ►

Szakértői rendszerek Tudásbázisú intelligens rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 10 ► Az AI igazi elindulását végül is az a nyári munka-összejövetel (workshop) alapozta meg, amelyet Shannon és John McCarthy szervezett meg 1956-ban az USA-beli Dartmouthban. A workshop-ot az IBM finanszírozta, az ott részt vevő kutatók és doktorandusok a következő 20 évben az AI domináns előrevivői lettek. 1.22 A szakértői rendszerek megjelenése és elterjedése Dartmouth után McCarthy kidolgozta a LISP programozási nyelvet, ami az egyik legrégebbi a maga nemében, csak két évvel „fiatalabb” a FORTRAN-nál. A LISP még ma is használatban van McCarthy 1958-ban olyan programot fejlesztett ki ezen a nyelven, amely képes volt általános problémák kezelésére és megoldására. A program előre beépített axiómák sorozatát tartalmazta, és ezek felhasználásával működött. Alkalmas volt újabb

axiómák befogadására is, mégpedig újraprogramozás nélkül. Mindez megalapozta a bővíthető-módosítható tudás-reprezentáció alkalmazását. Abban az időben sokat ígérő projekt volt az, amit A. Newell és H Simon vittek végig a Carnegie Mellon Egyetemen (USA, 1961, 1972) Ők a General Problem Solver (GPS) nevű programot fejlesztették ki, amibe az ember problémamegoldó módszereit építették be. A GPS működése formális logikán alapult, ami igen nagy számítási igénnyel járt Ez olyan mértékű futási időt és memóriaszükségletet vont maga után, hogy emiatt a program nem volt alkalmas bonyolultabb feladatok megoldására. Itt jegyzendő meg, hogy a 60-as, 70-es évek gépi teljesítménye még komoly akadályt jelentett az akkor elért ígéretes elméleti eredmények gyakorlati megvalósításában Ugyanakkor azonban az is bebizonyosodott, hogy az emberi gondolkodás általános leképezésére irányuló erőfeszítések nem vezettek valóban

használható eredményekre. Az akkoriban összegyűlt tapasztalatok arra a nézetre vezettek, hogy lényegesen szűkíteni kell a gépekre bízható problémák körét. A kutatók végül rájöttek, hogy úgy tudnak jól használható gyakorlati eredményeket elérni, ha a behatárolt területeken meglevő emberi szaktudást alkalmazzák. Ezen a vonalon az első figyelemre méltó eredmény a DENDRAL program volt, amelyet E. Feigenbaum, B Buchanan és J Lederberg fejlesztettek ki a kaliforniai Stanford Egyetemen, 1971-ben A DENDRAL a Mars-kutatási űrprogramhoz kapcsolódott. Feladata a bolygóról vett talajminták molekuláris felépítésének meghatározása volt, az űrszondán levő tömegspektrométer mérési eredményei alapján. A lehetséges molekulastruktúrák és a spektrogrammok összevetése a lehetőségek óriási száma A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 10 ► Szakértői rendszerek Tudásbázisú intelligens

rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 11 ► miatt megoldhatatlan számítási feladat lett volna. A DENDRAL-t mégis jól fel lehetett használni, ami annak volt köszönhető, hogy Lederberg szaktudását „építették bele” a rendszerbe. (Lederberg vegyész volt, és Nobel-díjat kapott genetikából) A programba vitt szakértelem igen nagy mértékben csökkentette a meghozható döntések számát, ami így hatékony megoldásnak bizonyult. Lederberg elméleti tudását a fejlesztők szabályok halmazaként képezték le a programban, hasonlóan egy receptkönyvhöz. A DENDRAL olyan számítógépi program volt, ami egy tapasztalt kémikus teljesítményét volt képes produkálni egy szűkebb területen. Mindezt azoknak a szabályoknak a felhasználásával érte el, amelyeket a fejlesztők a programba építette be. Az ilyen jellegű intelligenciát hordozó programokat szakértői rendszernek (expert system)

nevezzük. A szakértői tudás, know-how összegyűjtése, elemzése, rendezése, valamint konzisztens szabályokban való kifejezése olyan tevékenységeket jelent, amelyeket az ún. tudástechnológia (knowledge engineering) foglal magában Még egy fontos fogalom: A számítógépen létrehozott és tárolt tudásreprezentációt tudásbázisnak (knowledge base) nevezzük. A DENDRAL-t széles körben használták a vegyészetben, bekerült a kereskedelmi forgalomba is. A szakértői rendszerek sorában a következő fontos eredmény a MYCIN volt, ami az orvosi diagnosztika támogatására készült. A fejlesztési munkálatokat itt is Feigenbaum vezette, ugyancsak a Stanford Egyetemen A rendszer 1976-ra készült el A hozzá kapcsolódó elméleti eredményeket a kidolgozásban részt vevő E Shortliffe a PhD disszertációjában foglalta össze. A MYCIN a következő sajátságokkal rendelkezett: • A tudásbázisa mintegy 450 IF-THEN formájú független szabályt tartalmazott,

amelyeket egy szűkebb szakterületen gyűjtöttek össze több szakértővel készített interjúk révén. • A szabályok halmaza élesen el volt különítve az őket feldolgozó döntési mechanizmustól. A szabályokat bármikor meg lehetett változtatni, vagy bővíteni, ill. törölni Ez a rugalmasság lehetővé tette azt is, hogy az egyes betegségekhez a nekik megfelelő MYCIN-verziót hozzák létre, új szabályhalmazra alapozva. • A rendszer alkalmas volt arra is, hogy bizonytalan, nem teljesen egzakt tudás alapján is tudjon következtetéseket leszármaztatni. Ehhez valószínűségi alapú számításokat végzett a program A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 11 ► Szakértői rendszerek Tudásbázisú intelligens rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 12 ► A következő, említést érdemlő szakértői rendszer a PROSPECTOR volt, amit a Stanford

Research Institute-ban fejlesztett ki R. Duda, J Gaschnig és P. Hart A projekt kilenc évig tartott, és 1983-ban fejeződött be A tudásbázisa több mint ezer szabályt tartalmazott, amelyeket kilenc szakértőtől gyűjtöttek össze A PROSPECTOR arra készült, hogy feltárt kőzetmintákból megállapítsa, hogy milyen ásványból mekkora mennyiséget lehet várhatóan kibányászni A fejlesztők a bizonytalan információ kezelésére ugyancsak valószínűségi számításokat alkalmaztak, az ún. Bayes-szabály sorozatos felhasználásával kombinálva A PROSPECTOR a gyakorlatban is komoly sikereket hozott. 1980-ban a segítségével azonosítottak egy molibdén-lelőhelyet Washington államban. Innen 100 millió dollárnál nagyobb értékű mennyiséget tudtak kitermelni Az eddigiekben felsorolt szakértői rendszerek ma már klasszikusnak számítanak. Fejlesztésükre jellemző volt, hogy komoly tudományos alapokkal rendelkező egyetemi, ill kutatási környezetben

jöttek létre A későbbiekben a személyi számítógépek elterjedése és teljesítményük folyamatos növekedése jelentősen kibővítette a fejlesztők körét Mindehhez a szoftver-technológia fejlődése is hozzájárult. A LISP-en kívül elterjedt még a PROLOG logikai programozási nyelv is, ami kifejezetten AI célokra szolgált Emellett megjelentek azok a fejlesztési segédeszközök, az ún. shellek (kagylóhéjak), amelyek már felhasználói szinten, rutinszerűen tették lehetővé a szakértői rendszerek létrehozását. Egy shell valójában olyan keretrendszer, amelyhez kialakított felhasználói interfész a szaktudást hordozó információ bevitelét, felhalmozását, módosítását teszi lehetővé. Ilyenkor a tudásanyag magába a shellbe kerül be. A szakterület fejlődésének menetét jól tükrözi, hogy az elmúlt évtizedekben már több ezer ilyen rendszert állítottak elő világszerte. 1.23 Az öntanulás megvalósítása A szakértői

rendszerekről bebizonyosodott, hogy korlátozott képességgel rendelkeznek a tapasztalat alapján történő öntanulásra. A tapasztalatok felhasználása leginkább a tudásbázis emberi úton való megváltoztatásában, ill. bővítésében nyilvánult meg, nem pedig a rendszerbe épített automatizmusok révén A következőkben azokat a modern törekvéseket tekintjük át, amelyek az automatikus tanulás elősegítésére irányultak. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 12 ► Szakértői rendszerek Tudásbázisú intelligens rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 13 ► Neurális hálózatok Az 1.1 alpontban már szó esett arról, hogy az AI területén korábban kezdeti próbálkozások folytak az agyműködés modellezésére, nevezetesen a mesterséges neurális hálózatok (ANN) elméletével. Az 1980-as évektől ez az irányzat erőteljes fejlődésnek indult,

ami összefüggésben volt a nagyteljesítményű személyi számítógépek (PC-k) elterjedésével. A teljesítmény az ilyen hálózatokkal végzendő számítások nagy mennyisége miatt volt fontos és szükséges. A fejlődést nagymértékben előmozdította az is, hogy közben több fontos kutatási eredmény született az idegműködés területén. J Hopfield kidolgozta a neuronműködés visszacsatolási elméletét (USA, 1982), ami igen nagy visszhangot keltett. Mindez egyúttal az öntanulás elvének a továbbvitelét is jelentette Ebben az irányban igazi áttörést jelentett D Rumelhart és J. McClelland könyve, amelyben tanulási mechanizmusokat leíró algoritmusokat mutattak be. A szerzők a bostoni Massachusetts Institute of Technology (MIT) kutatói voltak, eredményeiket 1986-ban adták közre. A neuronok működését követő számítógépes rendszerek egy másik irányzata volt az, amit Leon Chua és Lin Yang dolgoztak ki a Kaliforniai Egyetemen,

Berkeley-ben, és 1988-ban publikáltak. Ez a celluláris neurális hálózatok (Cellular Neural Networks, CNN) elmélete volt, amelyben egymással teljesen azonos működésű számítási egységek, ún. cellák vesznek részt A CNN típusú rendszerek szoftver megvalósítása a biológiai működés leképezésére szolgál, míg a hardver megvalósítás olyan számítógépet eredményez, amely gyökeresen eltér a Neumann-elvű gépektől. Várhatóan olyan számítási feladatok megoldására is fel lehet majd használni, amelyekre a hagyományos típusú gépek nem alkalmasak. Ezzel kapcsolatosan említést érdemel még, hogy ennek a kutatási területnek kiváló magyar művelője Roska Tamás akadémikus, a budapesti Pázmány Péter Egyetem professzora, aki már hosszú ideje dolgozik együtt Chuaval A CNN szervezésű számítógépek fejlődésétől több különböző biológiai tevékenység helyettesítését is várják Ilyen lehet például a látás vagy a hallás

mesterséges pótlása az emberek számára Genetikus módszerek A természetes intelligencia a törzsfejlődés, az evolúció terméke. Ha ebből indulunk ki, akkor elvárhatjuk, hogy a biológiai fejlődés szimulációja révén követni tudjuk azt a folyamatot, amelyben az élő rendszerek a magasabb A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 13 ► Szakértői rendszerek Tudásbázisú intelligens rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 14 ► szintű intelligencia felé tartanak. A természetben a tanulás a gyakorlatban megy végbe. A biológiai rendszerek maguktól alkalmazkodnak a sajátos környezetekhez, miközben a túlélésért versenyben vannak egymással. A rátermettebb fajoknak nagyobb az esélye a fennmaradásra, ill. a reprodukcióra, vagyis arra, hogy átadják genetikus anyagukat a következő nemzedéknek A fejlődést utánzó számítások három

megközelítést kombinálnak: a genetikus algoritmusokat, az evolúciós stratégiákat, valamint a genetikus programozást. A genetikus algoritmusok (genetic algorithms) koncepcióját John Holland vezette be 1975-ben, a Michigan-i Egyetemen. Olyan algoritmust alakított ki, amelyben mesterséges kromoszómákkal operált. Ezek bináris stringek voltak. A kromoszómákkal a következő genetikus műveleteket lehetett végezni: kiválasztódás, kereszteződés, valamint mutáció. Az evolúciós stratégiákat (evolutionary strategies) először mérnöki optimalizálási feladatok megoldására alkalmazták a Berlini Műszaki Egyetemen, I. Rechenberg és H. Schwefel, 1965-ben A szerzők véletlenszerű változtatásokat hajtottak végre az optimalizálandó paramétereken, a természetes mutációt követve. Az intelligensen vezérelt random változtatásokkal az optimum irányában történő elmozdulást lehetett elérni. Az 1990-es években bebizonyosodott, hogy a genetikus

algoritmusokkal és az evolúciós stratégiákkal olyan bonyolult nemlineáris keresési és optimalizálási problémákat lehetett megoldani, amelyekre azelőtt még semmilyen módszer nem volt. A genetikus programozás (genetic programming) az a megközelítés, amelyben a programkód automatizált elállítása a cél. Olyan kódé, amely egy adott feladat megoldására szolgál. Ebben az esetben tehát a számítógép maga generálja a programot. Ez az irányzat az 1990-es években bontakozott ki, amihez John Koza járult hozzá jelentősen, az MIT munkatársaként. Koza genetikus műveleteket használt arra, hogy LISP nyelvű forráskód jöjjön létre az egyes problémákhoz. A fentiekben körvonalazott genetikus módszerek napjainkban is folyamatos fejlődésen mennek keresztül, és a mesterséges intelligencia fontos irányzatát képviselik. 1.24 Számítások végzése a beszéd szavaival A bizonytalan információ kezelése az AI inherens, megkerülhetetlen

velejárója. Már volt róla szó, hogy a klasszikus szakértői rendszerek ehhez valószínűségszámítási megoldásokat tartalmaztak. A szakmai tudást azon- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 14 ► Szakértői rendszerek Tudásbázisú intelligens rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 15 ► ban nem mindig lehet valószínűségi értékekkel leképezni. Egy szakértő hajlamos lehet arra, hogy olyan válaszokat adjon, amikben például a „gyakran”, „általában”, „rendszerint”, „néha”, „esetleg” vagy „ritkán” szavakkal kíséri a véleményét. Az ilyen jellegű információ feldolgozására kidolgozott fontos technológiának bizonyult az ún. fuzzi logika (fuzzy logic) bevezetése és alkalmazása Ez a logikai rendszer a nem-egyértelmű logikai feltételekkel való számítások végzésére, ill. következtetések levonására

használható (A „fuzzy” angol szó idevonatkozó jelentése: homályos, elmosódott, életlen vonalú, lágy körvonalú, ami a fényképekhez, ill. egyéb képekhez kapcsolódik A fogalom magyarra való átültetése nem oldható meg jól, ezért a helyesírásunkban szokásos angol–magyar átiratot használjuk a továbbiakban Mint pl hobby-hobbi, lobby-lobbi.) A fuzzi logika ún. nyelvi változókat (linguistic variables) használ, amelyek aktuális értékként az emberi beszéd szavait vehetik fel, nem pedig számokat. Ez a logika felhasználható a szakértői rendszerekben, ahol az emberi tudást nem precíz szabályokban, hanem fuzzi szabályokban adják meg. A szabályok ebben az esetben is az IF-THEN struktúrába vannak rendezve. Például: IF a sebesség nagy THEN a féktávolság hosszú IF a sebesség kicsi THEN a féktávolság rövid. A logika a fuzzi halmazok (fuzzy sets) elméletével függ össze. Ezt az elméletet Lotfi Zadeh, a Berkeley-i Egyetem professzora

dolgozta ki 1965-ben Elgondolásai eleinte kevés figyelmet nyertek el, először csak Japánban fogadták be őket, az 1980-as évek vége felé. A fuzzi logikát ott igen sikeresen alkalmazták olyan szakértői rendszerekben, amelyeket mosógépekhez, légkondicionálókhoz, televíziós készülékekhez, másológépekhez, valamint gépkocsikhoz fejlesztettek ki. Ezekben az eszközökben a szoftver a beágyazott számítógépeken üzemel, és intelligens vezérlési funkciókat lát el A fuzzi rendszerek elmélete napjainkra igen széles körben elterjedt, és komoly fejlődésen ment keresztül. Könyvek százai, szakcikkek ezrei jelentek meg eddig a témakörben Az alkalmazások köre is szélesedett: felöleli a szabályozástechnikát, vezérléstechnikát, valamint a különböző üzleti, vállalati döntéstámogató rendszereket is. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 15 ► Szakértői rendszerek Tudásbázisú

intelligens rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 16 ► Ez az irányzat a következő előnyös tulajdonságokkal rendelkezik: Megnövekedett számítási hatékonyság: A fuzzi szabályalapú rendszerek gyorsabb működésűek, mint a hagyományos szakértői rendszerek, és emellett kevesebb szabállyal is dolgoznak. A szabályok számának csökkenése annak köszönhető, hogy a fuzzi szabályok egyszerre több szabályt is egyesítenek magukban, mintegy összevonják őket. Javított megismerési modellezés: A fuzzi rendszerek olyan formában teszik lehetővé a tudás kódolását, ami jól tükrözi a szakértők gondolkodási módját egy komplex feladat megoldása során. Ők rendszerint nem precíz megfogalmazással élnek, hanem olyan utalásokkal, mint magas, alacsony, gyors, lassú, nehéz, könnyű, vagy pedig olyanokkal, mint igen gyakran, csaknem soha, rendszerint, aligha, esetenként stb. A konvencionális

rendszerekben az ilyen utalásokat éles határok közé kell szorítani, ahhoz, hogy szabályokba tudjuk őket rendezni. Mindez a szaktudás több szegmensre való bontásával jár, ami viszont már erősen csökkenti az eredményességet a bonyolultabb problémák esetében. Több szakértő együttes tudásának reprezentálása: A hagyományos szakértői rendszerek viszonylag szűk szakterületre alkalmazhatók, világosan definiált szaktudással. Emiatt egy rendszer teljesítménye nagymértékben függeni fog a szakértők helyes megválasztásától A bonyolultabb esetekhez mindenképpen érdemes több ember tudását igénybe venni, amivel bővülni fog a szoftver működési szakterülete. A többszörösség viszont könnyen vezethet véleményeltérésre, vagy akár konfliktusokra is. Ez különösen jellemző az üzleti és vezetői szoftverek világára, ahol nincsenek egyszerű, kézenfekvő megoldások, másrészt pedig az egymással ütköző nézeteket is

számításba kell venni. Az ilyen esetekben jól használhatók a fuzzi szakértői rendszerek, amelyek az eltérő, ill szemben álló nézeteket is be tudják fogadni. Jóllehet a fuzzi rendszerek természetesebb módon teszik lehetővé a tudás leképezését, teljesítőképességük mégis erősen függ az igénybevett szakértőktől. Vannak olyanok, akik nagyon hasznos fuzzi szabályokat tudnak közölni Ugyanakkor sok esetben komoly tévedések is bekerülhetnek a szabályok közé. Emiatt minden szabályt tesztelni, ill szükség esetén hangolni kell, ami legtöbbször időigényes folyamat lehet Egy szélsőséges példa erre, hogy Japánban a Hitachi vállalat mérnökeinek több évig tartott, amíg tesztelték és behangolták, vagyis véglegesen beállították azt a mindössze 54 fuzzi szabályt, amelyekkel a Sendai földalatti vasúti rendszerüket irányították. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 16 ►

Szakértői rendszerek Tudásbázisú intelligens rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 17 ► Az eddigiekben számba vett AI megoldások ma már széles körű alkalmazást nyertek, legfőképpen a mérnöki szférában, gyógyászatban, pénzügyi téren, üzleti és menedzsment területeken. Mindegyik megközelítés kezelni tudja az információs bizonytalanságot, és mindegyiknek megvan a maga legmegfelelőbb alkalmazási lehetősége Az egyes módszerek, irányzatok már nem állnak egymással versenyben, inkább kiegészítik egymást, sőt előnyösen kombinálhatók is. A szakértői rendszerekbe nemcsak a fuzzi logika, hanem a genetikus algoritmusok és a neurális hálózatok is beépíthetők, amivel jelentősen megnövelhető a teljesítőképességük. 1.25 Tervezés-automatizálási rendszerek A mérnöki tervezési folyamatok sikeres kivitelezése igen komoly szakmai felkészültséget, innovatív készséget,

továbbá nagy szellemi ráfordítást igényel. Az ilyen folyamatokban már az 1960-as évek óta fontos szerepet játszanak a számítógépek. Ez a megállapítás mindegyik műszaki szakterületre érvényes, de leginkább a számítógépek tervezésében van kiemelt jelentősége a gépi támogatás felhasználásának Biztosan kijelenthető, hogy számítógépek nélkül nem lehetne modern számítógépet tervezni. Ennek a szakterületnek két elnevezése terjedt el világszerte: tervezésautomatizálás (Design Automation), ill. számítógéppel segített tervezés (ComputerAided Design, CAD) A két elnevezés közül az utóbbi vált közkeletűvé A következőkben a számítógépek és a hozzájuk kapcsolódó digitális elektronikai rendszerek tervezésének AI vonatkozásait fogjuk áttekinteni. Hardver tekintetében a számítógépek a nagyintegráltságú mikroelektronikai áramkörökre épülnek. Jelenleg egy RAM (Random-Access Memory) típusú memóriát hordozó

integrált áramköri elem egymilliárdos nagyságrendben tartalmaz tranzisztorokat, míg egy mikroprocesszornál ez a szám százmilliós. Az integráltsági fok növekedésével a nagyságrendek is nőnek, ami a számítási teljesítmény növekedését vonja maga után. A közismert Moore-törvény a jelenlegi becslések szerint 2010-ig biztosan érvényesülni fog. Eszerint az integráltsági fok és a számítási teljesítmény másfél évenként továbbra is a kétszeresére növekszik. A tervezési folyamatok első fázisa a digitális áramköri egységek logikai tervének elkészítése. A hierarchiában a legfontosabb elem a központi feldolgozó egység (Central Processing Unit, CPU) A logikai működésen kívül az időbeli működés terve is kidolgozandó Ezekhez a tevékenységekhez magas szintű hardver-leíró nyelvek állnak rendelkezésre, amelyek a teljes működés specifikálására szolgálnak. A legelterjedtebb ilyen nyelv a VHDL, amit A dokumentum

használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 17 ► Szakértői rendszerek Tudásbázisú intelligens rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 18 ► az Egyesült Államokban dolgoztak ki. Ennek fordítóprogramja olyan kódot generál, amit a működés modellezésére, vagyis szimulációra lehet felhasználni A szimuláció során a tervező elemezheti a digitális rendszer jelfeldolgozási folyamatait, és a szükség szerinti módosításokat végezheti el a terven. A módosítások természetesen újabb szimulációs ellenőrzést vonnak maguk után, ami esetleg újabb változtatások meghozatalát igényli, és így tovább. A logikai és időzítési tervek elkészítése után kerül sor az ezeket megvalósító integrált áramkörök (Integrated Circuits, IC) megtervezésére. Mint ismeretes, az áramköri működést az egymással összeköttetésben álló tranzisztorok valósítják meg A

feladat itt az integrált áramkörökben elhelyezkedő tranzisztorok közötti összeköttetések síkbeli és térbeli megtervezése, ami két fázisból áll: • A tranzisztorok geometriai elrendezése az IC-n belül. • Az áramköri összeköttetések nyomvonalainak megtervezése. Az itt leírt feladat megoldására olyan számítógépes programokat fejlesztettek ki, amelyek óriási mennyiségű számítási lépés után jutnak eredményre. Az ilyen programokban nagyon sok beépített tervezési tapasztalat rejlik, valamint bonyolult elrendezési és nyomvonal-tervezési algoritmusok működnek bennük. A heurisztikus megoldásoknak itt is komoly szerepük van Hasonló jellegű probléma megoldására van szükség akkor is, amikor a hardver nyomtatott huzalozású kártyáinak megtervezésére kerül sor. Itt egyrészt szét kell osztani az IC-ket kártyákra, meg kell határozni az IC-k kártyán elfoglalt helyét, majd az IC-kivezetések közötti vezetékek geometriai

nyomvonalát kell megtervezni. Ehhez a folyamathoz az ICtervezéshez hasonló tevékenységet végző gépi programokat használnak, amelyek más geometriai feltételekkel és magasabb hierarchikus szinten működnek. A legyártott IC-k és kártyák áramköreinek helyes működését teszteléssel ellenőrzik. A bonyolult logikai működés ellenőrzésére szolgáló vizsgálójeleket (teszteket) ugyancsak gépi úton tervezik meg A teszttervező programrendszerek egy előre feltételezett hibahalmaz mindegyik eleméhez próbálnak olyan bemeneti adatokat kiszámítani, amelyek az adott hibát képesek kimutatni a kimeneti adatok ellenőrzése révén. A cél az, hogy mindegyik feltételezett hibához rendelkezésre álljon az őt kimutató, felfedő teszt. A logikai tesztek kiszámítására szolgáló módszerekkel évtizedek óta kutatók százai foglalkoznak. Az óriási számításigény miatt nagy jelen- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom

Vissza ◄ 18 ► Szakértői rendszerek Tudásbázisú intelligens rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 19 ► tősége van a módszerek hatékonyságának. A futási idő csökkentése érdekében érdemes a szakmai tapasztalatokon alapuló heurisztikus eljárásokat is kidolgozni, bevezetni. Itt említjük meg, hogy ezen a területen Sziray József is fontos eredményeket ért el, a Stanford Egyetemen kidolgozott tesztszámító algoritmusa, az ún. kettős összehangolás (composite justification) révén. Az algoritmus a hazai mikroelektronikai szférában sikeresen megvalósításra került, a DIAS nevű programrendszer elemeként, 1988-ban Ehhez még annyit fűzünk, hogy a logikai áramkörökön végzett számítások kapcsolatba hozhatók a szakértői rendszerek következtetési folyamatainak számításaival is. A két területet az algebrailag kezelhető logikai folyamatok kötik össze. Emiatt a

tesztszámítási eredményeket a logikai következtetések számításánál is jól lehet hasznosítani A CAD-rendszerek a mérnöki tervezési folyamatok nélkülözhetetlen támogatói. Használatukkal a szellemi munkavégzés egy jelentős része alól tehermentesíteni tudják a konstruktőröket. Az itt alkalmazott számítógépi programokban nagy szerepük van a tervezési tapasztalatoknak, a heurisztikus módszereknek, valamint az egzakt algoritmusoknak. Mindezek következtében ez a szféra is a mesterséges intelligencia területéhez sorolható Az óriási mennyiségű adatot tartalmazó tervezési adatbázisok, az elvégzendő számítások mennyisége és jellege miatt ezen a területen kisebb szerepet játszhatnak a szakértői rendszerek. Használatukra elsősorban az optimalizálási részfeladatok megoldásánál érdemes sort keríteni. Ugyanez mondható el a neurális hálózatok, valamint a genetikus módszerek alkalmazásáról is. 1.26 Az AI szerepe és

lehetőségei Az alábbiakban összefoglaljuk azokat az egyéni nézeteket, amelyeket e tankönyv szerzője, Sziray József alakított ki az AI szerepéről és lehetőségeiről. 1. Az intelligencia az ember és az állatvilág mindegyik fajának veleszületett tulajdonsága, amely az egyedek életének fenntartását szolgálja Egy fajra annyiban jellemző, amennyire az a faj saját életviszonyainak kiszolgálásához szükséges. Emiatt nincs értelme annak, hogy két fajt összehasonlítsunk abban, hogy melyikük az intelligensebb. Az embert is beleértve. 2. Az intelligencia egy élőlénynek az a képessége, hogy egy számára ismeretlen, szokatlan, vagy új helyzetben megtalálja a helyes megoldást, és helyes döntésre jusson. A rutinszerűen begyakorolt viselkedési, döntési A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 19 ► Szakértői rendszerek Tudásbázisú intelligens rendszerek A dokumentum használata |

Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 20 ► mechanizmusok csak kevéssé függenek össze az intelligenciával. A tanulási folyamatok annyiban tartoznak ide, amennyiben az újonnan észlelt ismeretanyag befogadása és megértése ismeretlen és szokatlan helyzetben való eligazodást igényel. 3. Az élővilágban kialakult központi idegrendszer egy fajra jellemző hatékonyságú gondolkodási, döntéshozási mechanizmust képes működtetni Ebben a felfogásban a gondolkodás nem más, mint egy biológiai folyamat, amire mindegyik faj képes, a maga lehetőségeinek korlátain belül. Még egy szúnyog is 4. A jelenlegi technikai színvonalon szervezett számítógépek és az élővilág között nem létezik semmiféle lényegi, érdemi összefüggés Az élő szervezetek működési mechanizmusa nem hozható elvi kapcsolatba, nem állítható elvi párhuzamba a meglevő gépi szerkezetek működésével. Ennek megfelelően – az emlékezés nem hozható

elvi kapcsolatba a gépi memóriában tárolt bináris információval, ill. – a gondolkodás és döntéshozatal sem hozható elvi kapcsolatba a gépi algoritmikus számítási folyamat menetével. 5. Az AI valójában az algoritmizálható, lépésenként programozható döntéshozatal tudománya Ebben a felfogásban nevezhetjük matematikai intelligenciának, vagy algoritmikus intelligenciának is. Célja és szerepe abban áll, hogy hasznosítani lehessen a számítási eredményeit, nagy mennyiségű szellemi rutinmunkától mentesítse az embert, ezáltal tágabb teret biztosítson a kreatív, magasabb szintű szellemi tevékenység végzésére, végső soron az emberi intelligencia és alkotókészség minél jobb kiteljesítését segítse elő. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 20 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 21

► 2. Szabálybázisú rendszerek 2.1 A tudás fogalma Az 1970-es években általánosan elfogadottá vált az a nézet, hogy egy számítógéppel akkor tudunk megoldani egy intellektuális problémát, ha rendelkezünk a megoldáshoz szükséges ismeretekkel, szaktudással. Egy adott szakterülethez tartozó ismeretanyag, szaktudás legmagasabb szinten a szakértők birtokában van. A sikeres vállalatoknak feltétlenül rendelkezniük kell legalább néhány első osztályú szakértővel ahhoz, hogy fennmaradjanak az üzleti világban, érvényesüljenek a piaci versenyben. Szakértőnek tekintjük azt a személyt, aki egy adott szakterületen elmélyült tudással bír a tények és szabályok tekintetében, és alapos, mélyreható gyakorlati ismeretei, tapasztalatai vannak. A szakterület korlátozott is lehet Például, a villamos gépekkel foglalkozó szakértők csak bizonyos géptípusok működésében lehetnek járatosak Vagy az életbiztosítás területén dolgozó

szakértők esetleg már keveset tudnak az ingatlanbiztosításról. Az emberi mentális folyamatok belsőleg mennek végbe, és túl bonyolultak ahhoz, hogy algoritmikus módon lehessen reprezentálni azokat. Mindazonáltal a legtöbb szakértő képes arra, hogy a tudását olyan szabályok formájában fejezze ki, amelyek alkalmasak a problémamegoldásra. Ezt a tudást át kell vinni számítógépre, ahhoz, hogy az egy szakértői rendszerben érvényesülhessen. Az emberi tudásnak a számítógépen való megjelenítését a tudásszervező személy, az ún tudásmérnök (knowledge engineer) végzi el. Feladata a szakértők interjúvolása, kikérdezése, azzal a céllal, hogy azok szaktudása gépi úton váljék felhasználhatóvá. A tudásmérnök által összegyűjtött szakismeretek a szakértői rendszer tudásbázisában (knowledge base) vannak kódolva. Ebben a fejezetben a szakértői rendszerekben felépített tudásreprezentációnak azzal a típusával

foglalkozunk, melyben a szakértői tudás szabályok (rules) formájában van jelen. Az ilyen rendszereket szabályalapú szakértői rendszereknek (rule-based expert system) nevezzük. Ide kívánkozik Immanuel Kant, a filozófus megállapítása: „A teljes természet nem más, mint szabályoknak megfelelő jelenségek kapcsolata. Szabályok nélkül egyáltalán nem létezhet semmi sem. Amikor azt hisszük, hogy olyasmivel találkoztunk, amiből hiányzik a szabály, csak annyit mondhatunk, hogy a szabályok ismeretlenek számunkra.” A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 21 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Szabálybázisú rendszerek Vissza ◄ 22 ► 2.2 A tudás szervezése 2.21 Algoritmikus és heurisztikus megkülönböztetés A szakértői rendszerek szabályainak jelentős része heurisztikus eredetű. Ez azt jelenti, hogy a szabályok tapasztalatokon

alapulnak (ilyenek a bevált megoldásokra támaszkodó ökölszabályok is), vagy pedig olyan egyszerűsítéseket tartalmaznak, amelyek lerövidítik a megoldás keresési folyamatát. A heurisztika indokoltsága abban rejlik, hogy a megoldandó feladat általában túl bonyolult, másrészt pedig nincs is pontosan értelmezve. Az ilyen feladatokhoz nem áll rendelkezésre pontos matematikai elemzés, sem pedig egzakt algoritmikus megoldás. Egzakt algoritmikus módszeren azt értjük, hogy az garantáltan előállítja a korrekt vagy optimális megoldást, míg egy heurisztikus módszer esetén ilyen garancia nem létezik, attól csak annyit várunk el, hogy egy elfogadható eredményt produkáljon. (Maga a heurisztika a görög heuréka – megvan! – szóból származik, és az emberi problémamegoldó, felfedező gondolkodásmódot tükrözi A hagyomány szerint Archimédesz kiáltott fel így akkor, amikor felfedezte a víz felhajtóerejének törvényét.) A következőkben

egy példán keresztül illusztráljuk a két megközelítés közötti különbséget. Ebben a példában a cél a polgári légi közlekedés gépeltérítési akcióinak megakadályozása Ennek érdekében meg kell akadályozni az eltérítők feljutását a repülőgép fedélzetére Az algoritmikus megoldás menete: Teljes testi átkutatása mindegyik felszálló személynek, valamint összes poggyászának az átkutatása. Ez magában foglalja az összes utast, a repülőgép személyzetét, és a szerelőket is A heurisztikus megoldás menete: Mindegyik utast és a csomagjait fémdetektoros átvilágításnak tesszük ki. Csak azok az utasok vizsgálandók át személyesen, akik a detektornál gyanússá váltak, vagy pedig valamilyen okból gyanús megjelenésűnek mutatkoztak Az itt bemutatott algoritmikus megoldás csaknem biztosan meg fogja gátolni a géprablást, mivel garantálja, hogy senki nem szállhat fel a repülőgépre fegyverrel. Sajnálatosan, ez túlságosan

időigényes eljárás lenne, és ugyanakkor eléggé népszerűtlen is. Az itt leírt heurisztika is prevenciót eredményez, de már nem nyújt biztos garanciát a bűntény előfordulása ellen. Ugyanakkor megállapíthatjuk, hogy a heurisztikus megközelítések A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 22 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 23 ► előnyös tulajdonsága abban áll, hogy általában könnyebbé teszik a megoldás keresését, és egyúttal praktikusabbak is. 2.22 A szabályok felépítése A szabályalapú tudásreprezentáció a következő felépítésű elemekből tevődik össze: IF <feltétel> THEN <akció>. Például: (1) Ha a páciens 1965 előtt szigetelő munkás volt, akkor kezelt azbesztet. (2) Ha páciens közvetlenül kezelt azbesztet és a páciens zárt térben dolgozott, akkor a páciens

súlyos sugárhatásnak volt kitéve. Amikor az aktuális probléma, szituáció egyezik egy szabály IF-részével, akkor a THEN-részben specifikált akció kerül végrehajtásra. Egy ilyen akció jelentkezhet a külvilág felé (pl. egy szöveg kinyomtatása a felhasználó számára), a programvezérlés befolyásolásában (pl egy bizonyos szabályhalmaz kiválasztása és végigkövetése), vagy eljuttatja a rendszert egy konklúzióhoz (pl. egy új adatot iktat be a tudásbázisba) A szabályok IF-részeinek sorozatos egyezése a külső tényekkel, valamint a rajtuk kívüli szabályok THEN-részeivel egy ún. következtetési láncot (inference chain) alkot. Az (1) és (2) szabályok egymást követő végrehajtásával képezett következtetési láncot a 21 ábra mutatja be Itt jól látható, hogy a rendszer miként használta fel a szabályokat arra, hogy levezesse, kikövetkeztesse a sugárhatás súlyosságát A páciens szigetelő munkás volt 1965 előtt A páciens

közvetlenül kezelt azbesztet A páciens sugárhatásnak volt kitéve A páciens zárt térben dolgozott 2.1 ábra Az azbesztsugárzás súlyosságának következtetési lánca A szabályok természetes módon írják le azokat a folyamatokat, amelyeket egy összetett és változó környezet befolyásol. A szabályok halmaza azt A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 23 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Szabálybázisú rendszerek Vissza ◄ 24 ► specifikálja, hogy miként reagáljon a program a változó adatokra, anélkül, hogy előre kellene ismerni a vezérlési folyamatot. Vagyis: a program feldolgozási folyamatát, a döntésekkel és eljárásokkal együtt, maga a szabályok rendszere határozza meg. Egy hagyományos programban a vezérlési folyamat és az adatok felhasználása eleve be van kódolva. A feldolgozás egymást követő lépésekben megy

végbe, és az elágazások csak az előre kijelölt választási pontoknál lépnek fel Ez a megoldás kiválóan működik az olyan problémák esetében, amelyeknek algoritmikus megoldásuk van, és a bemenő adataik változása nem befolyásolja az algoritmust. Ilyen például a lineáris egyenletrendszerek megoldása Ugyanakkor ez már nem működik olyan jól azoknál a problémáknál, amiket az adatok változása befolyásol, ahol az elágazások a feldolgozás természetes részei lesznek Az ilyen jellegű feladatok esetében a szabályok lehetőséget adnak arra, hogy az egyes lépésekben elvégzett vizsgálatok alapján helyzetértékelést lehessen tenni, majd ennek megfelelően reagálni, ill. továbblépni A szabályok használata emellett egyszerűbbé teszi azt is, hogy magyarázatot kapjunk a program elvégzett tevékenységére nézve, vagy pedig arra, hogy az miként jutott el egy aktuális konklúzióhoz. Erre az információra a felhasználónak lehet szüksége

2.3 Tudásreprezentáció szabályok használatával A szakértői rendszerek körében a szabály (rule) fogalmát jóval szűkebb jelentéstartalommal értelmezzük, mint a köznapi nyelvben. Itt ez a tudásreprezentáció legelterjedtebb formájára vonatkozik, nevezetesen a szabályalapú (rule-based) reprezentációra A szabályok formális módon képviselik az ajánlásokat, útmutatásokat, vagy stratégiákat. Igen gyakran alkalmasak arra, hogy egy szakterületen évek során összegyűlt tapasztalatokat, a gyakorlatban megoldott problémákból szerzett tudást foglalják magukba. Mint már láttuk, a szabályok IF-THEN (HA-AKKOR) állítások formájában írhatók le. Az alábbiakban erre adunk újabb példát: (1) Ha egy gyúlékony folyadék ömlött ki, akkor ki kell hívni a tűzoltókat. (2) Ha az ömledék pH-ja kisebb, mint 6 (másképpen: pH < 6), akkor az ömledék anyaga sav. (3) Ha az ömledék anyaga sav, és az ömledéknek ecet szaga van, akkor az ömledék

anyaga ecetsav. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 24 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 25 ► A példában olyan szabályok szerepelnek, amelyeket egy vészhelyzet-kezelő szakértői rendszerben lehet használni, egy vegyi üzemben történt nagyobb mértékű kiömlések esetén. A szabályokat néha nyíl használatával szokták leírni, ahol a nyíl az IF-részt és a THEN-részt választja szét. Például, a fenti (2) szabály így is leírható: (2) Ha az ömledék pH-ja kisebb, mint 6 az ömledék anyaga sav. A szabályalapú rendszerekben egy-egy szakterület tudásanyagát szabályok halmaza reprezentálja. Ezeket a szabályokat a mindenkori helyzetben rendelkezésre álló tények (facts) vagy ismeretek (knowledge) együttesével kell öszszevetni Mindez egyúttal azt is jelenti, hogy a szabályok önmagukban véve

nem elegendőek egy szakértői rendszer működtetéséhez, ahhoz még szükség van a kívülről vett tényekre is, amelyek valójában a bemeneti adatokat hordozzák. Ha egy szabály IF-részét kielégíti egy tény, akkor a THEN-rész által specifikált akció kerül végrehajtásra. Amikor ez történik, akkor ezt úgy fejezzük ki, hogy a szabály tüzel (fires) vagy végrehajtódik (executes). A szabályokat értelmező program rendre összehasonlítja a szabályok IF-részeit a tényekkel, és végrehajtja azt a szabályt, amelynek az IF-része egyezik egy ténnyel. Ezt a folyamatot a 22 ábra szemlélteti Tények Egyezés Végrehajtás Szabályok 2.2 ábra Tények és szabályok összehasonlítása A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 25 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 26 ► Az ilyen jellegű szakértői

rendszerek tudásbázisa kétféle információt tartalmaz: • Az aktuálisan rendelkezésre álló tények halmazát, amit ténybázisnak (fact base) nevezünk. • A beépített szabályok halmazát, amit szabálybázisnak (rule base) nevezünk. A tudásbázis általános felépítését a 2.3 ábra mutatja be Ebben a rendszerben egy szabályhoz tartozó akció módosíthatja az aktuális tények halmazát, azáltal, hogy egy új tényt ad hozzá a halmazhoz. Az új tény az éppen végrehajtott szabály THEN-részéből származik. Ennek szemléltetéséhez tegyük fel, hogy a következő tényeket tartalmazza a tudásbázis: T1: Gyúlékony anyag ömlött ki. T2: Az ömledék pH-ja kisebb, mint 6. T3: Az ömledéknek ecet szaga van. Tények halmaza Tudásbázis Szabályok halmaza Ténybázis Szabálybázis 2.3 ábra A szabályalapú tudásbázis felépítése Az adott a kiindulási helyzetben a T2 jelű tény egyezést mutat a (2) szabály IF-részével, ezért a szabály

végrehajtása után a THEN-részben megadott tény bekerül a tudásbázisba, mégpedig annak ténybázisába. Ez lesz a T4-es tény: T4: Az ömledék anyaga sav. A ténybázisba bekerült új tény már maga is részt fog venni az IF-részekkel való összehasonlítási folyamatban. Ennek során a (3) szabály fog tüzelni, aminek következtében a T5: Az ömledék anyaga ecetsav jelű tény is bekerül a ténybázisba. Ezzel a következtetési folyamat véget ért, és azt a konklúziót hozta, amit T5 fejez ki. A fenti folyamatban a tények és a szabályok egymásutánisága egy láncot alkot, amit a következtetési lánc (inference chain) fogalmával írunk le, az alábbi pontosabb definíció szerint, amit Sziray J. alakított ki: A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 26 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 27 ► Definíció:

A következtetési lánc azoknak a szabályoknak és tényeknek az egymással összefüggő, rendezett és konzisztens sorozata, amelyek felhasználásával a végső következtetésre tudunk jutni A következtetési láncban kizárólag azok a tények vesznek részt, amelyek a következtetéshez felhasznált szabályok IF-részében és THEN-részében szerepelnek. A példánkban levő (2) és (3) szabályok egymás utáni végrehajtásával adódó következtetési láncot a 2.4 ábra tünteti fel Az ömledék pH-ja kisebb, mint 6 Az ömledék anyaga sav Az ömledéknek ecet szaga van Az ömledék anyaga ecetsav 2.4 ábra Következtetési lánc az ömledék anyagának meghatározására A lánc azt mutatja be, hogy miként használta fel a rendszer a szabályokat a kiömlő anyag azonosítására. Ez az információ a felhasználó számára is kijelzésre kerül, ami lehetővé teszi, hogy ő is követhesse a konklúzióhoz való eljutás útját. A szabályok

felhasználásának két fontos módja létezik: Az egyik az ún. előreláncolás (forward chaining), a másik pedig a hátraláncolás vagy visszaláncolás (backward chaining). Az elnevezéseket D A Waterman (USA, 1986) adta Használhatjuk még az előreláncolás helyett az előrekövetkeztetés, a hátraláncolás helyett pedig a hátrakövetkeztetés vagy visszakövetkeztetés elnevezéseket is. A következőkben a két láncolási mód részletes kifejtésével foglalkozunk 2.4 Az előreláncolás végrehajtása Az előbbi példában a kiömlött vegyszer anyagának meghatározása az előreláncolás elve szerint történt. A következőkben egy másik példán mutatjuk be, hogy pontosan miként is megy végbe az előreláncolás A példában a szabályok részeit és a tényeket egyaránt nagybetűvel jelöljük. A szabályok A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 27 ► Szakértői rendszerek A dokumentum használata |

Tartalomjegyzék | Felhasznált irodalom Szabálybázisú rendszerek Vissza ◄ 28 ► megadásához a nyíl jelét használjuk, a logikai ÉS kapcsolat megadására az AND szót. Ugyanígy, a logikai VAGY kapcsolatot az OR szó, a logikai NEM-et (a tagadást) pedig a NOT szó fogja képviselni a továbbiakban. Ennek megfelelően az F AND B Z szabály azt jelenti, hogy IF az F szituáció és a B szituáció fennáll THEN a Z szituáció szintén fennáll Tegyük fel, hogy a következő három szabály van érvényben: F AND B Z C AND D F AD Az előző alpontban megadott definíció szerint az ismert tények mindenkori halmazát ténybázisnak nevezzük. A kiindulási ténybázis álljon a következő elemekből, a halmazjelölés felhasználásával: T0 = {A, B, C, E, G, H}. Mármost alkalmazzuk erre vonatkozóan a meglevő szabályainkat. Az nem zárható ki, hogy egyidejűleg több szabály is egyezhet a ténybázissal. Ezért válasszuk azt a megoldást, hogy mindig azt a

szabályt fogjuk érvényesíteni az összehasonlításban, amelyik a felsorolásban legelőször hajtható végre, vagyis a legfelül van. Ez az ún legfelső érvényes szabály elve A másik, egyébként magától értetődő elv az, hogy egy szabályt csak egyszer hajthatunk végre. A következtetési folyamatban ellentmondások is felléphetnek. Ilyenkor, ahol több szabály is érvényesíthető, ott a soron következő újabb szabály érvényesítését kell választani. Ez nem más, mint a döntési folyamatban való visszalépés, azzal a céllal, hogy egy korábban meghozott döntést módosítsunk. A későbbiekben erre részletesebben is ki fogunk térni Ha egy következtetési láncban olyan helyzet áll elő, hogy egy szabály nem érvényesíthető semelyik meglevő ténnyel, és ezen a helyzeten döntésmódosítással sem tudunk változtatni, akkor a lánc következtetési folyamata végleg leáll, és eredménytelennek minősül. A dokumentum használata |

Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 28 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 29 ► A példában a legelső szabály, amelyik tüzel, az A D, mivel A már benne van a ténybázisban. Enne következményeként a D létezése valósul meg, így D is bekerül a ténybázisba. Emiatt a második szabály, vagyis C AND D F fog tüzelni, amiből az F tény következik, így F-et is behelyezzük a ténybázisba. Mindez most azzal jár, hogy az első szabály, vagyis F AND B Z fog tüzelni, és Z is bejut a bázisba. A végső következtetés tehát maga a Z tény Az itt bemutatott eljárás azért kapta az előreláncolás elnevezést, mert az új információ utáni keresés a szabályok bal és jobb oldalát elválasztó nyíl irányában megy végbe, mindig előre haladva. Ez a megoldás a bal oldali információt használja fel arra, hogy a jobb oldali

információt származtassa le. A következtetési láncot, ami ebben a példában létrejött, a 25 ábra mutatja. Ebben a láncban a D, F és Z képezik a következtetések egymás utáni elemeit A D F C Z B 2.5 ábra Következtetési lánc a példában A következőkben egy alternatív megoldást mutatunk be az előreláncolás végrehajtására. Ez a megoldás a Boole-algebra, valamint a logikai hálózatok alkalmazására épül, és egy olyan logikai rendszeren alapszik, amely négy értéket tartalmaz. Ezt a négyértékű logikai rendszert a hátraláncolásra is ki lehetett terjeszteni. A megoldás kidolgozója Sziray József (2005) Először csak azzal az egyszerűbb esettel foglakozunk, amikor elegendő a klasszikus kétértékű logika használata. 2.5 Boole-algebra és a logikai hálózatok alkalmazása A szabályalapú rendszerekre alkalmazhatjuk az ismert Boole-algebra összefüggéseit is. Ez kétértékű logikai algebra, amely a kijelentések (predikátumok) A

dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 29 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Szabálybázisú rendszerek Vissza ◄ 30 ► igaz-hamis (true-false) értékpárjával foglalkozik. Alapműveletei az ÉS (AND), VAGY (OR), valamint a NEM (NOT) (tagadás, negálás, invertálás). Az ÉS-műveletet jelöljük a szorzásjel szerinti ponttal (⋅), a VAGYműveletet pedig a plusz jellel (+). A NEM-művelet jele legyen az aposztróf jel (’), amely arra a logikai változóra érvényes, ami fölé van téve Például A’ az A tagadását jelenti Mindezen túl a logikai kifejezéseken belül a zárójel használatát is megengedjük. 2.51 A Boole-algebra definiálása Mint ismeretes, az igaz-hamis értékpárral rendelkező logikai változókkal logikai függvényeket tudunk leírni, amelyek változóihoz, ill. magához egy függvényhez az igaz érték helyett 1-et, a hamis érték

helyett 0-t tudunk rendelni. Kisbetűs logikai változókat használva, az alábbiak érvényesek: A Boole-algebra az egy olyan matematikai rendszer, amelyre a következő definíciók vonatkoznak: Elemeinek halmaza: S. Műveleteinek halmaza: R = {(+), (⋅)}. Ezek az ún bináris műveletek (binary operations), elnevezésük logikai összeadás, ill. logikai szorzás Az S és R halmazok tetszőleges elemeire a következő négy alapfeltevés, ún. posztulátum teljesül: P1: A (+) és (⋅) műveletek kommutatívok (felcserélhetők): a + b = b + a, a ⋅ b = b ⋅ a. P2: A (+) és (⋅) műveletek disztributívok (csoportosíthatók): a + b ⋅ c = (a + b) ⋅ (a + c), a ⋅ (b + c) = a ⋅ b.+ a ⋅ c P3: Az S-ben létezik két különböző elem: 0 és 1, amelyekre nézve fennállnak: a + 0 = 0 + a = a, a ⋅ 1 = 1 ⋅ a = a, ahol a egy tetszőleges eleme S-nek. A 0 (nulla, zérus) és 1 (egy) elemek állandó, konstans értékű elemek, míg a az változó értékű elem. A

dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 30 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom P4: Vissza ◄ 31 ► S bármelyik a eleméhez létezik egy a’ elem az S-ben, amelyekre fennáll: a + a’ = 1 (egy), a ⋅ a’ = 0 (nulla). Az a’ elnevezése: a komplemense, negációja, negáltja, inverziója vagy inverze. A posztulátumokból bizonyíthatóan levezethető számos algebrai azonosság. Ilyenek például az alábbi fontos azonosságok: a + a ⋅ b = a, a ⋅ (a + b) = a. (a + b) ⋅ (a + b’) = a, a ⋅ b + a ⋅ b’ = a. A De Morgan-tétel: (a + b)’ = a’ ⋅ b’, (a ⋅ b)’ = a’ + b’. Végezetül még annyit jegyzünk meg, hogy a posztulátumokból következően a logikai összeadás és szorzás műveletei egy azonosságban egymással felcserélhetők, úgy, hogy az azonosság érvényben marad. Ugyanígy felcserélhető

egymással a 0 és 1 is Mindez a dualitás (kettősség) elvének érvényesülését jelenti 2.52 Az előreláncolás végrehajtása Boole-algebra alapján Belátható, hogy a szabályokban szereplő logikai feltételek közvetlenül megfeleltethetők a Boole-algebrai műveleteknek. Ebben a leképezésben az AND-nak a logikai szorzás, az OR-nak a logikai összeadás, a NOT-nak pedig a logikai inverzió felel meg. Eszerint a korábban vett három szabály, vagyis F AND B Z, C AND D F, AD A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 31 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 32 ► a következő alakban írható: Z = F ⋅ B, F = C ⋅ D, D = A. Ha visszafelé haladva az egyes kifejezéseket egymásba helyettesítjük, akkor Z = (C ⋅ D) ⋅ B = (C ⋅ A ) ⋅ B = A ⋅ B ⋅ C adódik. Az így kapott logikai összefüggések valójában a

következtetési láncot jelenítik meg, mivel az egyes logikai változók közötti kapcsolatot írják le. Mint ismeretes, az egyes logikai műveletekhez logikai kapukat rendelhetünk, amelyek az elektronikus, fizikai megvalósításhoz vezető ábrázolásmódot képviselik. A kapuk grafikus jelölését a 26 ábra foglalja össze ÉS-kapu VAGY-kapu NEM-kapu (Inverter) 2.6 ábra A logikai kapuk jelölése Itt szükséges még bevezetni az ún. IGEN-kaput (YES gate), amely nem hordoz logikai műveletet, és így nem is változtatja meg a bemenetére érkező jel igazságértékét (2.7 ábra) IGEN-kapu 2.7 ábra Az IGEN-kapu jelölése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 32 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 33 ► A tudásbázis szabályaihoz a szabályban megfogalmazott logikai összefüggések szerint rendelhetünk

logikai kifejezéseket, úgy, ahogy az előbb a három szabályt tartalmazó példában is bemutattuk. A logikai kifejezések kapukkal, ill. kapuhálózattal is ábrázolhatók Az egyszerű alapesetek a következők: • Ha az IF-részben tagadás van, az NEM-kapuval ábrázolható. • Ha az IF-részben tagadásmentes kijelentés van, az IGEN-kapuval ábrázolható. • Ha az IF-részben ÉS-kapcsolat van, az ÉS-kapuval ábrázolható. • Ha az IF-részben VAGY-kapcsolat van, az VAGY-kapuval ábrázolható. Ezek után az előbbi három szabály a következőképpen helyettesíthető (2.8 ábra): F Z B C F D A D 2.8 ábra A három szabály kapuhelyettesítése Az egyes szabályok kapuinak egyesítésével egy olyan logikai hálózatot kapunk, amely a következtetési lánc ekvivalense lesz. Itt magától értetődik, hogy a kapuk kivezetéseinek összekötése az egyesített hálózatban a kivezetéseken levő betűk azonossága alapján történt. Ezzel a 25 ábra

következtetési lánca a 29 ábra kapuhálózatával, vagyis logikai hálózattal helyettesíthető A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 33 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 34 ► D A F Z C B 2.9 ábra A következtetési lánc logikai hálózata A következtetések végigvitele ebben a hálózatban azt jelenti, hogy a tényekhez tartozó Boole-változók logikai 1-et vesznek fel, amikor egy tény fennáll, vagyis egy tény igaz. Az előreláncolás során azokat a logikai értékeket számítjuk ki egymás után, amelyek a hálózat pontjain jelennek meg, az elsődleges bemenetektől kezdve, és előre, a hálózati kimenetek felé haladunk. Itt egy kapu bemeneti értékei alapján határozzuk meg a kapu kimenetén megjelenő értéket. Ezt a számítási módot a logikai értékek előrekövetésének (forward tracing) is

nevezzük A példában ennek menete a következő: 1. lépés: Az, hogy A benne van a ténybázisban, logikailag azt jelenti, hogy A = 1. Ezzel D = 1 lesz az IGEN-kapu kimenetén, amivel D bekerül a ténybázisba. 2. lépés: Mivel C benne volt a ténybázisban, ezért C = 1 teljesül, ami D = 1-gyel F = 1 -et eredményez, az ÉS-kapu kimeneti értéke alapján. Tehát F is bekerül a ténybázisba 3. lépés: Mivel B már benn volt a ténybázisban, így B = 1, ami F = 1 -gyel Z = 1 -et ad az ÉS-kapu kimenetén. Ezzel Z is bekerül a ténybázisba, és a folyamat befejeződött. Végső következtetésként Z-re, mint igaz tényre jutottunk. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 34 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Szabálybázisú rendszerek Vissza ◄ 35 ► 2.6 A hátraláncolás végrehajtása Ha az előbb kifejtett példában annak meghatározását tűztük volna

ki célul, hogy a Z szituáció létezik-e, a rendelkezésre álló szabályokkal és tényekkel ez könnyen eldönthető lett volna. Az eredmény természetesen a létezés pozitív kimutatása lenne. A megoldás egyszerűsége azonban csak a feladat egyszerűségéből fakad. Egy valóságos szakértői rendszerben nem csak néhány szabály létezik, hanem több száz, vagy akár ezernél is több. Hogyha egy ilyen rendszerben kellene eldönteni egy W tény fennállását előreláncolással, akkor nagyon sok olyan szabályt is végre kellene hajtanunk, aminek semmi köze nincsen W-hez. Esetleg hosszú következtetési láncok is kialakulnának, amelyek önmagukban érvényesek, de mégsem volna kapcsolatuk W-vel. Ha tehát az lenne a célunk, hogy egy kiválasztott tény létezését mutassuk ki, mint W-jét, az előreláncolás túlságosan sok időt venne igénybe Az ilyen helyzetben a hátraláncolás (vagy visszaláncolás) (backward chaining) jóval költséghatékonyabb

megoldásnak bizonyulhat. Ebben a következtetési módszerben a rendszer azzal indul, amit bizonyítani akarunk, és csak azokat a szabályokat hajtja végre, amelyek összefüggésben vannak a bizonyítandó állítással. Tegyük fel, hogy az előző példa Z tényét akarjuk bizonyítani, ahol a kiindulási ténybázis most is ugyanaz: T0 = {A, B, C, E, G, H}. A rendelkezésre álló tények és szabályok felhasználásával a következő algoritmikus lépésekkel tudunk célhoz jutni: 1. lépés: Közvetlenül ellenőrizzük, hogy a Z szituáció létezik-e Ehhez a ténybázisban rögtön a Z létezése után nézünk. Ha ott nincs, akkor olyan szabályt keresünk, amelyből Z származik le, vagyis amelyben Z a nyíl jobb oldalán van. Esetünkben Z nincs a ténybázisban, ezért az egyetlen szóba jövő F AND B Z szabályt fogjuk választani. Ebből az származik, hogy az F-et és a B-t igaznak kell bizonyítanunk, ahhoz, hogy a Z következtetés levonható legyen 2. lépés:

A ténybázisban nincs benne F, csak B, ezért azt a szabályt választjuk, amely F-et konkludálja Ez a szabály a C AND D F, ezért most C-t és D-t kell igaznak bizonyítani, ahhoz, hogy F fennállhasson. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 35 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Szabálybázisú rendszerek Vissza ◄ 36 ► 3. lépés: C benn van, viszont D nincsen benn a ténybázisban Azt a szabályt választjuk tehát, amely D-t konkludálja Ez a szabály az A D. 4. lépés: Az A benn van, így az A D szabály végrehajtható, aminek következtében D bekerül a ténybázisba. Az unió (egyesítés) ∪ jelű műveletét alkalmazva, a kibővített ténybázis: T1 = T0 ∪ {D} = {A, B, C, D, E, G, H}. 5. lépés: Most már végrehajtható a C AND D F szabály, aminek következtében Z is bekerül a ténybázisba: T2 = T1 ∪ {F} = {A, B, C, D, E, F, G, H}. 6.

lépés: Most már végrehajtható lesz az F AND B Z szabály is, amivel Z is bekerül a ténybázisba: T3 = T2 ∪ {Z} = {A, B, C, D, E, F, G, H, Z}. Ezzel a Z fennállását igazoltuk. A most előállított következtetési lánc teljesen azonos azzal, amit az előreláncolásnál kaptunk A különbség a lánc előállításának módszerében rejlik. Mint láttuk, a visszaláncolásban másként vizsgáltuk a tényeket és a szabályokat: A THEN-részből indultunk ki, és azt vizsgáltuk, hogy annak fennállása milyen IF-részt követel meg. Ez azt jelenti, hogy a szabályok irányát kijelölő nyíl irányával végig ellentétesen haladtunk. A hátraláncolási folyamatot a 2.9 ábra logikai hálózatán is elvégezhetjük Ehhez arra van szükség, hogy a Z = 1 logikai feltétel teljesülését igazoljuk, a hálózaton való visszafelé történő haladással A szükséges lépések a következők: 1. lépés: A Z = 1 feltételt az ÉS-kapu mindkét bemenetének 1-es értéke

teljesíti: F = 1, B = 1. Azzal, hogy B a ténybázis tagja, a B = 1 feltétel teljesül. Mivel F nincs benne a ténybázisban, az F = 1 feltétel teljesülését tovább kell vizsgálnunk 2. lépés: Az F = 1 feltételt C = 1, D=1 teljesíti. C benne van a ténybázisban, D nincs, ezért a D = 1 teljesülését tovább kell vizsgálnunk. 3. lépés: A D = 1 feltételt a hálózatban A = 1 teljesíti Az A benne van a ténybázisban, így ez a feltétel teljesül. Ezzel befejeztük Z fennállásának igazolását. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 36 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 37 ► Mint láthattuk, a visszaláncolás során azokat a logikai értékeket számítjuk ki egymás után, amelyek a hálózat pontjain jelennek meg, az elsődleges kimenetektől kezdve, és visszafelé, a hálózati bemenetek felé haladunk. Itt

egy kapu kimeneti értéke alapján határozzuk meg azokat a bemeneti értékeket, amelyek az adott kapukimenetet eredményezik. Ezt a számítási módot a logikai értékek visszakövetésének (backward tracing) is nevezzük 2.7 Négyértékű logikai rendszer használata 2.71 Az új értékek definiálása Az előző két alpontban láttuk, miként lehet felhasználni a Boole-algebrát és a logikai hálózatokat a következtetési folyamatok végrehajtásában. Az eddig bemutatott számítási elvek kétértékű logikán alapultak, vagyis a 0 és 1 érték használatán. Ezeket határozott értéknek is szokás nevezni A szabálybázisok algebrai úton, ill logikai hálózattal való általános kezelése azonban kettőnél több logikai értéket követel meg. A szükséges és elégséges értékek száma négy. A 0-n és 1-en kívül bevezetendő két érték a következő: A közömbös vagy don’t care logikai érték. Jelölése: d Úgy értelmezendő, hogy az őt

hordozó hálózati pont akár 0-t, akár 1-et is felvehet szabadon, a konkrét határozott érték nem befolyásolja a számítások eredményét. Az ismeretlen (unknown) logikai érték. Jelölése: u Úgy értelmezendő, hogy az őt hordozó hálózati pontnak a valóságosan meglevő értékéről, ami lehet 0, 1 vagy d, nincsen semmilyen tudomásunk. A négy érték általános kezelését ki tudjuk terjeszteni a Boole-algebrai alapműveletekre. Ezt a kiterjesztést a ún igazságtáblázatokban foglaljuk öszsze (21 táblázat) 0 1 d u VAGY 0 0 0 0 0 0 0 1 d u 0 1 1 0 1 d u 1 1 1 1 1 1 0 d 0 d d u d d 1 d u d d u 0 u u u u u 1 u u u u ÉS 0 1 d u NEM 2.1 táblázat A négyértékű logikai rendszer igazságtáblázatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 37 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált

irodalom ◄ Vissza 38 ► 2.72 Az előrekövetés számításai A következtetési folyamatok végrehajtásához felhasználhatjuk a 2.1 szerinti igazságtáblázatokat is Először az előreláncolás bemutatásával foglakozunk Ez a folyamat, mint már láttuk, a logikai értékek előrekövetésével hajtható végre Példaként vegyük a következő szabálybázist, a nyilas, ill. a Boolemegadással: C AND D L, L=C⋅D NOT E K, K = E’ L OR K P, P=L+K Q = E ⋅ M. E AND M Q, A kiindulási ténybázis legyen a következő: T0 = {A, B, C, D, E, G, H}. Mint tudjuk, egy adott logikai hálózat a szakértői rendszer szabálybázisát reprezentálja, annak egy ekvivalens megjelenítési formája. A fenti szabályok logikai hálózata a 210 ábra látható C L D P E K Q M 2.10 ábra Egy szabálybázis logikai hálózata A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 38 ► Szakértői rendszerek A dokumentum használata |

Tartalomjegyzék | Felhasznált irodalom Szabálybázisú rendszerek Vissza ◄ 39 ► Az előrekövetés lépései: 1. lépés: Mivel C = 1 és D = 1, ezért L = 1 lesz Emiatt L bekerül a ténybázisba: T1 = T0 ∪ {L} = {A, B, C, D, E, G, H, L}. 2. lépés: E = 1 miatt K = 0 lesz, de L = 1 már önmagában véve is előidézi a P = 1-et Tehát P is bekerül a ténybázisba: T2 = T1 ∪ {P} = {A, B, C, D, E, G, H, L, P}. 3. lépés: Az, hogy M-et nem tartalmazza a ténybázis, a logikai rendszerünkben úgy értelmezhető, hogy M = u. Az M ismeretlen értéke miatt E = 1 önmagában nem elegendő ahhoz, hogy Q = 1-et eredményezzen. Ezért Q nem kerülhet be a ténybázisba A fenti számításokkal tehát egyedül csak a P végső következtetést tudtuk levonni. 2.73 A visszakövetés számításai A logikai értékek visszakövetése is a négyértékű logika igazságtáblái szerint végezhető el (lásd 2.1 táblázat) A visszakövetés elve azonban néhány ponton

különbözik az előrekövetéstől. Az előrekövetésnél egy kapu kimeneti értékét a bementi értékeinek ismeretében kell kiszámítani Ha a bemenetek adottak, akkor az egyértelműen meghatározza a kimenetet Egy kapu kimeneti értékéhez viszont a legtöbbször nem csak egy bemeneti kombináció írható elő, hanem több lehetséges választásra van mód. Kétbemenetű kaput véve, a választási lehetőségeket a 211 ábra és a 212 ábra mutatja. Ha egy kapunak kettőnél több bemenete lenne, az csak növelné a választások számát, de nem jelentene semmilyen elvi eltérést A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 39 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 40 ► Nincs megoldás 1 1 1 1 u 1 u 1 0 0 0 d d 0 0 u u 0 2.11 ábra Visszakövetési lehetőségek az ÉS-kapura vonatkozóan Nincs megoldás 0 0 1 d

d 1 0 1 0 u u 0 1 u u 1 0 1 2.12 ábra Visszakövetési lehetőségek a VAGY-kapura vonatkozóan A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 40 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Szabálybázisú rendszerek Vissza ◄ 41 ► Itt fontos kiemelni a következőket: • Csak a határozott logikai értékeket, a 0-t és 1-et kell egy kapu kimenetén visszakövetni, vagyis a kapu bementi oldalán garantálni. A d értéket ugyanis fölösleges visszakövetni, mert az nem kíván igazolást, az u érték visszakövetése pedig csak u értéket jelent az összes bemeneten. • Mivel a d érték nem kíván visszakövetést, érdemes arra törekedni, hogy mindig csak a minimális számú határozott értéket írjuk elő egy kapu bemenetein, a többit d-nek hagyhatjuk. Példaként, a 2.10 ábra szereplő logikai hálózatra elvégezhetjük a hátraláncolást, vagyis a

modellünkben a logikai értékek visszakövetését Ebben a következő eredményeket kapjuk: A visszakövetés lépései: 1. lépés: P = 1 bizonyítása: Először legyen K = 1 és L = d, ami a minimálisan szükséges kijelölés. Ekkor K = 1-ből E = 0 adódik, ami ellentmondás, hiszen E benne van a ténybázisban, így E = 1 teljesül. 2. lépés: Döntésmódosításra van szükség: Ebben legyen L = 1 és K = d. Ekkor L = 1-et C = 1 és D = 1 fogja ellentmondásmentesen eredményezni Tehát: T1 = T0 ∪ {L} = {A, B, C, D, E, G, H, L}. 3. lépés: A K = d érték visszakövetésére nincs szükség, mivel a közömbös érték nem kíván igazolást. Ezzel a P bizonyítását befejeztük, vagyis T2 = T1 ∪ {P} = {A, B, C, D, E, G, H, L, P}. 4. lépés: Q = 1 bizonyítása: A Q = 1 kimeneti érték elérése azt követeli meg, hogy az ÉS-kapu mindkét bemenetén 1 legyen, azaz E = 1 és M = 1. Mivel E tagja a ténybázisnak, így E = 1 teljesül Viszont M nincsen az aktuális

ténybázisban, ami azt jelenti, hogy M = u, s ezért nem lehetséges a Q = 1-et igazolni (lásd 2.11 ábra) Végezetül még annyit, hogy a négyértékű logikára épülő számítások előnyösen szervezhetők és kivitelezhetők számítógépen, a következők folytán: A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 41 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Szabálybázisú rendszerek Vissza ◄ 42 ► • A hálózati pontokhoz rendelt négy érték tárolási igénye elhanyagolhatóan kicsi, binárisan két bit is elegendő. • A logikai értékekkel való számítások gyorsan és hatékonyan hajthatók végre a számítógépen. 2.8 A láncolás általános kérdései 2.81 Végrehajtási problémák Az előző három alpontban bemutatott láncolási eljárások triviálisan egyszerű példákra vonatkoztak, amelyekben csak néhány szabály szerepelt. A valóságos

szakértői rendszerekben rendelkezésre álló szabálybázis és ténybázis százával tartalmazhat alkotó elemeket, amelyek esetenként igen nagy mennyiségű számítást vonhatnak maguk után. A számítási időn felül még a következő problémák is felmerülhetnek: Nem adódik megoldás egy adott helyzetre vonatkozóan. Ez akkor állhat elő, amikor a szabálybázis és a ténybázis elemei együttesen nem tartalmaznak annyi információt, ami egyértelmű megoldásra tudna vezetni A láncolási folyamatok döntési lépések sorozatából állnak. A döntések során azt az önkényes sorrendezési elvet alkalmazzuk, hogy először a legfelül előforduló szabályt választjuk ki. Előfordulhat, hogy egy ilyen választás nem vezet eredményre Ilyenkor a soron következő szabályt kell választanunk a folyamatban Ha ez sem hoz eredményt, akkor az újabb soron következőt stb, mindaddig, amíg az összes lehetőség ki nem merül Természetesen az összes lehetőségbe

a többi szabály többszörös választási kombinációi is beletartoznak. A döntési folyamatban ellentmondásokba is lehet ütközni. Ez akkor áll elő, amikor egy korábbi döntés eredménye ellentmond egy aktuálisan meghozandó döntés eredményének Ilyenkor vagy egy másik aktuális döntés után kell nézni, vagy ha ez nem megy, akkor a korábban hozott döntést kellhet megváltoztatni. Természetesen mindez lényegesen növeli számítási lépések számát. A következtetési folyamatok a nagy számítási komplexitású feladatok körébe tartoznak. Az kétségtelen, hogy mindegyik folyamat véges számú lépéssel járható végig, viszont a szükséges lépések száma nem határozható meg előzetesen. Az elméletileg lehetséges számítási lépések száma exponenciálisan függ a probléma bonyolultságát kifejező számtól, ami esetünkben a szabályok száma Olyan algoritmust, ami az exponenciálisnál lénye- A dokumentum használata | Tartalomjegyzék

| Felhasznált irodalom Vissza ◄ 42 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Szabálybázisú rendszerek Vissza ◄ 43 ► gesen kisebb lépésszámmal hozna eredményt, még nem találtak eddig. Ezekkel a kérdésekkel a tankönyv 3. fejezetében még külön foglakozunk 2.82 A láncolási irány megválasztása A korszerű szabálybázisú rendszerek többsége olyan következtetési mechanizmust valósít meg, ami egyaránt lehetővé teszi az előre- és hátraláncolást, vagyis az előre- és hátrakövetkeztetést. Annak eldöntése, hogy melyik irányt válasszuk, függ a rendelkezésre álló információtól, valamint a felhasználó gondolkodási, értékelési habitusától. Ehhez feltételezzük, hogy a felhasználó szorosan együttműködik a szakértői rendszerrel. Általánosan kijelenthető, hogy az előreláncolás elsősorban adatokon alapuló (data-driven), míg a hátraláncolás célon

alapuló (goaldriven) megközelítés Ez úgy értendő, hogy amikor sok adat áll rendelkezésünkre, akkor az ebből leszűrhető következtetés előreláncolással keresendő Amikor pedig egy előzetes koncepció megerősítésére van szükségünk, amihez kevés adatunk van, akkor a hátraláncolás lehet a jó megoldás. A döntéshez figyelembe vehetjük azt, hogy általában miként oldana meg egy problémát egy szakértő. Ha először arra törekszik, hogy minél több információt gyűjtsön be, és ebből jusson következtetésre, akkor ehhez a gondolkodásmódhoz az előreláncolás való. Ha egy szakértő arra hajlamos, hogy egy hipotetikus megoldást választ (feltételez), és ehhez akar tényeket találni, amik ezt alátámasztják, akkor ide a hátraláncolás „passzol”. Az előbbiek nem adnak támpontot ahhoz, hogy egyértelmű receptet lehessen adni. Mindenesetre az látszik, hogy az irányválasztás erősen függ a felhasználó felfogásától is.

Megállapíthatjuk még, hogy a számítási mennység, átlagosan véve, mindkét irány esetében nagyjából azonosnak várható. Az analízisre alapuló rendszerekhez, amelyek a begyűjtött információt dolgozzák fel, az előreláncolás preferálható. Tipikusan ilyen a DENDRAL, amely egy ismeretlen talaj molekuláris felépítését határozza meg, tömegspektrális mérési adatok alapján (lásd Bevezetés). Az orvosi diagnosztikai célokhoz viszont a hátraláncolás illeszkedik, mivel ott egy-egy tünet okát kell meghatározni, feltételezésekből kiindulva. Ilyen rendszer a klasszikus MYCIN is, amiről a Bevezetésben történt már említés. Végezetül még megjegyezzük, hogy több olyan szakértői rendszer létezik, amely kombináltan alkalmazza a kétféle láncolási módot. Ez a mecha- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 43 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata |

Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 44 ► nizmus be van építve a szoftverbe, így az nem igényli a felhasználó döntését az irányról. 2.9 A szabálybázisú rendszerek felépítése Egy tipikus szabálybázisú rendszer komponenseit és a közöttük levő információs kapcsolatokat a 2.13 ábra mutatja be Tudásbázis Munkamemória Következtetést végző egység Felhasználói interfész Magyarázatot adó egység 2.13 ábra Egy szabálybázisú szakértői rendszer felépítése Az ábrán feltüntetett komponensek funkciója a következő: • Tudásbázis: A szakértői tudás szervezett tárolására szolgál. A szabálybázisú rendszerek esetében a tudásbázis egyrészt a szabályok halmazát, másrészt pedig a kiindulási tényeket, valamint a kiindulási tényekből és a szabályokból levezetett újabb tények halmazát tartalmazza. • Következtetést végző egység (más néven: következtetési gép, inference engine): A

tudásbázis szabályait és tényeit feldolgozó egység, amely a következtetési folyamatok szisztematikus végrehajtását végzi el. Előreláncolás A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 44 ► Szakértői rendszerek Szabálybázisú rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 45 ► (előrekövetkeztetés), ill. hátraláncolás, visszaláncolás (hátrakövetkeztetés, visszakövetkeztetés) elvén működhet • Munkamemória: A feldolgozás segédadatainak és közbülső adatainak átmeneti tárolására szolgál. • Magyarázatot adó egység (explanation unit): A felhasználó állandó tájékoztatását végzi, a döntéshozatali folyamatokról ad információt. • Felhasználói interfész: A szakértői rendszer és a felhasználó közötti információs kapcsolatot biztosítja. A rendszer felhasználói vezérlése is ezen az interfészen keresztül valósul meg.

2.10 Szabálybázisú rendszerek létrehozása A fejezet hátralevő részében röviden áttekintjük még azt a folyamatot, amelynek során egy szabálybázisú szakértői rendszer számítógépes létrehozása és felhasználása valósul meg. Mindezt a 214 ábra szemlélteti Szakértői rendszer létrehozása Szakértő Tudásszervező Számítógép Tudásfelépítő program Tudásbázis (Knowledge Engineer) Következtetési mechanizmus programja Felhasználói interfész Számítógép Felhasználó 2.14 ábra Egy szabálybázisú szakértői rendszer létrehozása és használata A létrehozáshoz egyrészt a szakértőre, másrészt pedig a tudásszervező személyre, vagyis a tudásmérnökre van szükség. A tudásmérnök a szakértővel készí- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 45 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Szabálybázisú rendszerek

Vissza ◄ 46 ► tett interjúk alapján elvégzi a tudásbázisnak a szabályokkal való feltöltését Ehhez az általánosan tudásfelépítő programnak nevezhető rendszerkomponenst használja fel. A létrehozási folyamat alapos teszteléssel, szükség esetén további szaktudás beszerzésével, számos próbafuttatással jár. A rendszer elkészülte után kerül sor a valódi üzemeltetésre, amikor is a felhasználó kezelésébe kerül át a rendszer, ahol a vezérlés a felhasználói interfészen keresztül valósul meg. Az üzemeltetésben a következtetési mechanizmus programja dolgozza fel a tudásbázis szabályait és tényeit, azzal céllal, hogy egy adott feladatra megoldást adjon a felhasználónak. Az ábrán megkülönböztettük a létrehozást és a felhasználást. A két tevékenység azonban nem válik el egymástól egyszer s mindenkorra A bevitt szabályok módosítása és bővítése a felhasználás során felmerülő későbbi igények alapján

végezhető el A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 46 ► Szakértői rendszerek A számítási komplexitás A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 47 ► 3. A számítási komplexitás 3.1 A probléma felvetése Az informatikai szakma egyik legfontosabb problémaköre a számítógépi programok futási idejének ismerete. A futási idő általánosan két tényezőtől függ: a számítógép feldolgozási sebességétől, valamint a programban kódolt műveletek végrehajtási számától. Egy feladat megoldásának ideje elsősorban gazdasági szempontból fontos Lehetséges azonban olyan feladat is, amihez elfogadhatatlan mértékű megoldási idő tartozik, mondjuk több hónap, vagy akár több év is. Másfelől, mint ismeretes, az informatikában már évtizedek óta érvényesül az a trend, amit az amerikai Moore figyelt meg. Eszerint a számítási teljesítmény, a

mikroelektronika fejlődésének következményeként, másfél évenként megkétszereződik. Ez az ún „Moore-törvény”, ami 2010-ig minden valószínűség szerint fenn fog maradni. A hardver vonalon mutatkozó hatalmas léptékű teljesítménynövekedés mára már feleslegessé tette a legtöbb klasszikus numerikus módszert, amelyeket korábban a matematikai analízis területén használtak volt fel, közelítő gépi számításokra. Mindettől függetlenül azonban óriási számú valós feladat létezik a világban, aminek a megoldása igen komoly számítási bonyolultsággal jár. Az itt jelentkező gondokat a Moore-törvény sem fogja orvosolni. Ebben a fejezetben rövid betekintést adunk a számítási komplexitással kapcsolatos elméletbe. A szakértői rendszerek szempontjából ez azért fontos és aktuális téma, mert a tudásbázisok felett működő következtetési eljárások is a komplex számítási problémák közé tartoznak. 3.2 Polinomidejű

algoritmusok A legtöbb számítási feladat bonyolultsága számadatokkal jellemezhető. Például egy lineáris egyenletrendszer esetén az egyenletek száma, egy mátrix invertálásánál a sorok és oszlopok száma, egy listában való keresésnél a listaelemek száma stb. A következőkben olyan feladatokkal foglalkozunk, amelyeknél a bonyolultság egyetlen számértékkel, mégpedig egy egészszámmal fejezhető ki. Legyen tehát egy probléma bonyolultságát kifejező természetes szám n, amelyre n ≥ 0. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 47 ► Szakértői rendszerek A számítási komplexitás A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 48 ► Legyen továbbá egy n bonyolultságú feladat megoldásához szükséges számítási lépések száma egy adott algoritmus esetében S(n). Az n változóra felírhatunk egy k-adfokú polinomot, amely a következő: Pk(n) = ak ⋅ nk +

ak-1 ⋅ n k-1 + . + a1 ⋅ n + a0 , ahol k ≥ 1 természetes szám, az ai együttható pedig egy valós konstans szám i = 0, 1, 2, . , k-ra Definíció: S(n) ≤ Pk(n) (3.1) Ha S(n)-hez található olyan Pk(n) polinom, hogy (3.1), akkor az n bonyolultságú problémát megoldó algoritmust polinomidejűnek nevezzük (polynomial-time algorithm) Nyilvánvaló, hogy az algoritmust megvalósító számítógépi program T(n) futási ideje az S(n) értékével lesz arányos, vagyis T(n) = c ⋅ S(n) (3.2) ahol c egy valós konstans szám, és időértéket fejez ki. Ha például S(n) = 1014, és egy számítási lépés átlagos ideje c = 5 nanosec, akkor az S(n) lépés megtételéhez T(n) = 5 ⋅ 105 sec = 138 óra ≈ 6 nap programfutási időre lesz szükség. A (3.1) reláció azt fejezi ki, hogy az adott problémát megoldó algoritmus lépésszáma minden esetben alatta marad egy véges k fokszámú polinom n-től függő értékének. A (31) és (32) összevetésével T(n)

≤ c ⋅ Pk(n) (3.3) áll elő. A (33) reláció azt jelenti, hogy az algoritmus futási ideje mindig alatta fog maradni a c ⋅ Pk(n) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 48 ► Szakértői rendszerek A számítási komplexitás A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 49 ► értéknek, vagyis létezik olyan véges fokszámú polinom, amely egy arányossági tényezőn keresztül felülről ad korlátot a futási időnek. Ez tehát a polinomidejűség értelmezése. Az olyan számítási feladatokat, amelyeket megoldó algoritmusra fennáll (3.1), kezelhető, vagy kielégítően megoldható feladatoknak (problémáknak) (tractable problem, vagy satisfactorily solvable problem) nevezzük. A polinomidejűség jelentősége számítógépes szempontból abban áll, hogy a korlátozó polinom ismeretében mindig tudni lehet, hogy mekkora futási időn belül fogja a gép a feladatot

megoldani. Természetesen, ha k értéke túlságosan nagy, az már nem fog elfogadható időt adni, de ez a tény a kezelhetőség értelmezését nem befolyásolja. Jól kezelhető számítási feladat például egy n-elemű listában való keresés, ami S(n) = c1 ⋅ n lépéssel oldható meg, ahol c1 konstans. A lista elemeinek sorba rendezése S(n) = c2 ⋅ n2 lépést igényel (c2 egy konstans), ami szintén jól kezelhető. Mint látható volt, a fenti két esetben a keresési problémákra k = 1, ill. k = 2 érték adódott, a korlátozó polinom fokszámaként. 3.3 Az NP-teljes problémák köre A számításelmélet eddigi kutatási eredményei szerint kétféle probléma létezik: • Olyan, ami megoldható algoritmussal. • Olyan, ami nem oldható meg algoritmussal. A számítógépes technológia eddig elért fejlődése azt sugallja, hogy az algoritmikus feladatok kielégítően megoldhatók. Sajnálatos módon azonban ez a várakozás nem bizonyult igaznak. A gyakorlat

azt tárta fel, hogy számos olyan probléma létezik, ami bár elvileg megoldható algoritmussal, mégsem lehet megoldani számítógéppel észszerű feltételekkel, mégpedig a túlságosan nagy számítási időigény következtében. Az alábbiakban egy ilyen problémát veszünk példának. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 49 ► Szakértői rendszerek A számítási komplexitás A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 50 ► 3.31 Az utazó kereskedő problémája Tételezzük fel, hogy feladatunk egy utazó kereskedelmi ügynök útitervnek kijelölése. A kereskedő n számú városban van érdekelve, és mindegyikben eladási tevékenységet fejt ki. A hozzá kapcsolódó matematikai probléma a következőképen fogalmazható meg: Meghatározandó az n város olyan sorrendje, amely szerint ha a kereskedő végigjárja mindegyik várost, a minimális összutat teszi meg. Ez a

feladat a „The traveling salesman problem”, vagyis „Az utazó kereskedő problémája” elnevezéssel vált széles körben ismertté. A 31 ábra a bejárási feladat geometriai képét mutatja be, ahol Vi az i-edik várost jelöli, i = 1, 2, 3, , n-re. A szóban forgó feladat algoritmikusan biztosan megoldható, mivel a véges számú város különböző bejárási lehetőségeit kell csak összehasonlítani. A bejárási lehetőségek száma az ismert kombinatorikai képlet szerint n! = 1 ⋅ 2 ⋅ 3 ⋅. ⋅ (n − 1) ⋅ n A megoldási algoritmusban sora kell venni az n! számú útösszeget, és ezek közül a legkisebbet választani. Ez az egyszerűnek tűnő megoldás azonban kétségeket támaszt a mérlegelésben, mivel túl sok bejárás létezhet, amit számításba kell venni. Ha csak 10 várost vennénk, akkor 10! = 3.628800 lehetséges bejárás útösszegét kellene kiszámítani Ez még kivárható volna egy számítógépen, de mi van akkor, ha 40 városról

van szó? Az így adódó szám 1046 fölött található, amit a mai legmodernebb számítógép is csak évmilliárdok alatt dolgozna fel. Mindebből azt állapíthatjuk meg, hogy ha egy feladat elméletileg megoldható is véges lépésben, abból még nem következik, hogy az a gyakorlatban is megoldható lesz. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 50 ► Szakértői rendszerek A számítási komplexitás A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 51 ► V1 V2 V3 V4 V5 Vn 3.1 ábra Az utazó kereskedő városainak elrendezése Felvethető azonban a kérdés, hogy létezik-e esetleg olyan algoritmus, amely polinomidőben képes megoldani az utazó kereskedő problémáját. Sajnos, erre a kérdésre nincs biztos válasz. Egyrészt mert ilyen algoritmust eddig még nem talált senki, másrészt pedig azt sem sikerült bebizonyítani, hogy egyáltalán nem létezik ilyen algoritmus. 3.32

A kielégíthetőségi probléma Az előbbihez hasonló jellegű feladatnak bizonyult az ún. kielégíthetőségi probléma (satisfiability problem) is, ami a következőképpen fogalmazható meg: Adva van egy n-változós Boole-függvény diszjunktív alakban, vagyis olyan tagok logikai összegeként, amely tagokat a változók ponált és negált értékeinek logikai szorzata állít elő. Keresendő a változók azon értékkombinációja, amelyre a függvény értéke 0 lesz Például: f(x1, x2, x3) = x1 ⋅ x3’ + x1’ ⋅ x2’ + x1’ ⋅ x2 ⋅ x3. Ez a függvény kielégíthető például az x1 = 0, x2 = 1, x3 = 0 értékekkel. Ebben az esetben az összes lehetőség 2n számú kombinációból áll. Legrosszabb esetben ennyit kellene végigpróbálni és behelyettesíteni a függvénybe, ahhoz, hogy megoldást kapjunk, vagy pedig 2n próba után kimondani, hogy nincs megoldás. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 51 ►

Szakértői rendszerek A számítási komplexitás A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 52 ► A kielégíthetőségi probléma megoldására a következő egzakt algoritmus használható fel (Sziray József javaslata): A diszjunktív alak mindegyik tagját 0-val tesszük egyenlővé. Ezután a tagokat egymás után sorra véve megkíséreljük a tényezőiket olyan értékekkel ellátni, amivel a szorzat 0 lesz. Ha egy szorzat értékkiosztása egy másik szorzatnál ellentmondásra vezet, akkor visszalépéssel és döntésmódosítással egy szorzatnál új kiosztási lehetőséget keresünk, és azzal folyatjuk a számolást. Az értékkiosztás és a visszalépéses döntésmódosítás szisztematikus rendbe állítható, amivel véges számú lépés után megkapjuk az egyik kielégítési kombinációt. Ha viszont a teljes döntési bejárás eredménytelenül ér véget, akkor kimondhatjuk, hogy nem létezik megoldás A fenti

példa megoldásának menete a következő lesz: 1. lépés: 2. lépés: 3. lé pés: 4. lépés: 5. lépés: Az első tagra: x1 = 0, x3 = 1. A második tagra: x2 = 1, mivel x1’ = 1 az első lépés következtében. A harmadik tagra: nem teljesül a 0 érték, ami ellentmondás. Visszamegyünk az 1. lépés döntéséhez, és azt módosítjuk x3 = 0-ra. A harmadik tagra is teljesül a 0 érték, amivel megkaptuk a kielégítési kombinációt. 3.33 A döntési fa Az előbbiekben ismertetett folyamat egy ún. döntési fán (decision tree), vagy számítási fán (computational tree) általánosan ábrázolható. A döntési fa egy olyan gráf, amelyben a csomópontok egy döntési (számítási) helyzetet, a belőlük lefelé haladó ágak pedig egy döntési irányt, döntési lépést reprezentálnak. Az egy csomópontból kiinduló ágak száma a lehetséges döntések (választások) számát adja meg Mivel fáról van szó, ezért egy csomópontba csak egyetlen ág

csatlakozhat be A 32 ábra egy ilyen fát mutat be, ami 23 csomópontot tartalmaz, az A kiindulás ponttal (gyökérrel) kezdődően. Tegyük fel, hogy az ábrán látható számítási fa az N megoldást tartalmazza. Az ellentmondási helyzetet csillaggal (∗) jelölve, a döntési láncok egyik lehetséges szisztematikus sorrendje a következő: A − B − D − E (∗) D − F (∗) (Ellentmondásra jutottunk E-nél.) (Visszalépés D-hez, ahol döntést módosítunk.) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 52 ► Szakértői rendszerek A számítási komplexitás A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom B − G − H − I (∗) ◄ Vissza 53 ► (Visszalépés B-hez, mert ott van a soron következő módosítási lehetőség.) H − J (∗) H − K (∗) G − L (∗) B − M − N. (Ismét vissza B-hez, és vesszük az ott még meglevő harmadik választási lehetőséget Ezek után

megtaláltuk a megoldást) A B C R D E G S L H F T M U Z V O I J K N P Q 3.2 ábra Egy döntési (számítási) fa képe 3.34 Az NP-teljesség fogalma A fa csomópontjaiban hozott számítási döntések önkényesen, találomra történtek, semmiféle determináltság nem volt bennük. Ezért nemdeterminisztikus döntéseknek (nondeteministic decision) nevezzük őket Kimutatható, hogy a fa csomópontjainak száma véges, és ez a szám exponenciálisan függ a probléma bonyolultságát kifejező n értékétől. Vagyis a következő összefüggést írhatjuk fel erre: A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 53 ► Szakértői rendszerek A számítási komplexitás A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 54 ► C(G) = a ⋅ bn, ahol C(G) a döntési fát képviselő G gráf csomópontjainak száma, a és b pedig konstans valós számok. Ugyanakkor az is kimutatható, hogy

a fa minden egyes, teljes mélységben történő bejárása elvégezhető valamilyen véges fokszámú P(n) polinom által korlátozva, vagyis mindegyik bejárás polinomidejű. A teljes mélységig történő bejárások száma azonban ismeretlen, nem tudjuk, hogy ez a szám hogyan függ n-től. Definíció: A kielégíthetőségi problémát nemdeterminisztikus polinomidejű problémának (nondeterministic polynomial-time problem), rövidítve NP-problémának, vagy NP-feladatnak nevezzük. Az elnevezés azzal függ össze, hogy a számítások nemdeterminisztikus döntésekkel történnek, ahol egy-egy döntési lánc polinomidőben hajtódik végre. A matematikai tudomány jelenlegi állapotában nem ismerünk olyan algoritmust, amely egy NP-feladatot polinomidőben tudna megoldani. Ugyanakkor még azt sem sikerült bebizonyítani senkinek, hogy ilyen algoritmus nem is létezhet. Amit viszont már sikerült bebizonyítani, az a következő: Az NP-feladatok körében léteznek

olyan feladatok, amelyek egymással teljes mértékben megegyeznek az alábbiakban: • Ha egyiküknek van polinomidejű megoldása, akkor a többinek is van ilyen megoldása. • Ha egyiküknek nem létezik polinomidejű megoldása, akkor a többinek sem létezik ilyen megoldása. Az egymással a fentiek szerint megegyező feladatokat NP-teljes feladatoknak (NP-complete problem) nevezzük. Az elnevezésben a „teljes” szó a teljes körű, minden tekintetben való összefüggőséget fejezi ki a feladatokra vonatkozóan Az NP-teljes problémák száma igen nagy. Ide tartozik az utazó kereskedő problémája, valamint Boole-kielégíthetőségi feladat is A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 54 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom A számítási komplexitás Vissza ◄ 55 ► 3.35 További NP-teljes feladatok A szabálybázisok következtetési folyamatai: A tankönyv

előző fejezetében láttuk, hogy a szabálybázisok következtetési folyamatai visszavezethetők voltak egy ekvivalens logikai hálózaton végzett számításokra. Mindez szoros összefüggésben van a kielégíthetőségi problémával, ami ugyancsak értelmezhető egy adott logikai hálózaton végzendő értékkijelölési folyamatnak. Bizonyítható, hogy a két feladat ekvivalens, vagyis a szakértői rendszerek szabálybázisának feldolgozása is az NPteljes problémák körébe tartozik A hardver és szoftver funkcióinak megosztása: Ugyancsak ide tartozik az a feladat is, amelyik a biztonságkritikus számítógéprendszerek tervezésében jelentkezik, nevezetesen annak eldöntésében, hogy egy kijelölt informatikai funkciót hardver vagy szoftver teljesítsen-e. A konkrét megvalósításnak számos műszaki és gazdasági következménye lehet, amibe itt nem megyünk bele. Ha n számú funkcióhoz kell hardver-szoftver kiosztást rendelni, akkor a különböző

hozzárendelések lehetséges száma 2n lesz, ugyanúgy, mint a kielégíthetőségi probléma esetében. Az i-edik funkciót Fi-vel jelölve az informatikai rendszer komponenseinek kapcsolatát a 3.3 ábra mutatja A nyíllal ellátott összekötések kommunikációs viszonyt jelölnek. Logikai hálózatok tesztjeinek számítása: Az integráltsági fok folyamatos növekedésével a logikai áramkörök tesztelése egyre bonyolultabb feladattá válik. Mindez azt követeli meg, hogy a tesztelési folyamatok megtervezése és végrehajtása egyaránt számítógép felhasználásával menjen végbe. A logikai hálózatok hibáit kimutató tesztek a hálózaton végezett algoritmikus számítások eredményeként kaphatók meg. Bizonyítható, hogy a tesztek kiszámítása is az NP-teljes feladatok kategóriájába tartozik. A Sziray József által kidolgozott ún kettős összehangolási algoritmus (composite justification) (lásd 1 fejezet) hasznossága abban áll, hogy lényegesen

csökkenti a döntési fa bejárásához szükséges ágak számát, a többi ismert algoritmushoz képest. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 55 ► Szakértői rendszerek A számítási komplexitás A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 56 ► F1 F2 F3 F4 F5 Fn 3.3 ábra Egy informatikai rendszer funkcióinak kapcsolata Titkosítási algoritmusok: Mindeddig tehát nem dőlt el az a kérdés, hogy létezik-e polinomidejű megoldás az NP-teljes feladatokra, vagy nem létezik. Mivel már évtizedek óta nem sikerült ezt eldönteni matematikusok és informatikusok ezreinek, az a nézet kezd egyre szélesebb körben elterjedni, hogy ilyen algoritmus nem is létezik. A bizonyítás megszületése még mindenesetre várat magára Másfelől persze a kérdést az is eldöntené bizonyítás nélkül, ha valaki találna egy polinomidejű algoritmust valamelyik NP-teljes problémára.

Szerencsére minden rosszban van valami jó is. Mint ismeretes, a számítógépes rendszerek, számítógép-hálózatok adatbiztonsági védelme bonyolult titkosítási algoritmusokra van alapozva Ezek olyan algoritmusok, amelyek kódjának megfejtése, vagyis feltörése szintén NP-teljes feladatot jelent, beláthatatlan számítási igénnyel. Ha azonban valaki egy polinomidejű megoldást találna a kódfejtésre, akkor azon kívül, hogy illegálisan meggazdagodhatna, még romba dönthetné a számítógépes adatbiztonság elméletét és gyakorlatát is A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 56 ► Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 57 ► 4. A bizonytalanság kezelése 4.1 A bizonytalan tudás lehetőségei A szakértők számára rendelkezésre álló információ jellemzője a teljeség hiánya, ill. a kívánatosnál kisebb

megbízhatóság Az információ lehet hiányos, nem összefüggő, bizonytalan, külön is, együtt is Emiatt gyakran nem elegendő ahhoz, hogy egy problémát meg lehessen oldani a felhasználásával. Mindezek ellenére egy szakértő képes leküzdeni ezeket a hiányosságokat, rendszerint helyesen ítéli meg a helyzetet, és helyénvaló döntéseket hoz A szakértői rendszerektől is ugyanez várható el: alkalmasnak kell lenniük arra, hogy kezelni tudják a bizonytalanságot, és érvényes következtetéseket vonjanak le. A szakértői rendszereknél jelentkező bizonytalanság (uncertainty) úgy definiálható, mint annak az egzakt tudásnak a hiánya, amely lehetővé tenné számunkra a tökéletesen megbízható konklúzió elérését. A klasszikus logika csak a pontos okfejtést engedi meg. Feltételezi, hogy tökéletes tudással rendelkezünk, aminek alapján érvényesül a harmadik kizárásának elve is: IF A igaz THEN A nem hamis, valamint IF B hamis THEN B nem

igaz. Sajnos a valós gyakorlati problémák, ahol a szakértői rendszerek használatára lehet szükség, nem járnak együtt ilyen egyértelmű, biztos ismeretekkel. A rendelkezésre álló információ sokszor hordoz magában pontatlan, nem teljes, vagy nem mérhető adatokat. A bizonytalanság elsősorban négy forrásból származik: 1. Az összefüggések pontos ismeretének hiánya: A szabályalapú rendszerek gyakran működnek tévesen azért, mert nem sikerült bennük pontos korrelációt találni a szabályok IF-része (feltétel) és THEN-része (akció) között. 2. Pontatlan nyelvezet: A természetes emberi nyelv eredendően pontatlan és nem egyértelmű A tényeket olyan szavakkal írjuk le, mint gyakran, A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 57 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom A bizonytalanság kezelése Vissza ◄ 58 ► néha, sokszor, aligha stb. Ez

azzal jár, hogy nehéz lesz az ilyen tudást precíz IF-THEN szabályokba önteni A felhasználáshoz arra lenne szükség, hogy a kifejezésekhez mennyiségi értéket tudjunk rendelni, vagyis számszerűsítsük őket. Ez lehetővé tenné, hogy a szakértői rendszer a szabályok IF-részének a ténybázissal való egyeztetését kellőképpen el tudja végezni. 3. Ismeretlen adatok: Ha a rendelkezésre álló adatok nem teljesek, vagy pedig hiányoznak, akkor az egyetlen lehetséges megoldás az, hogy az értéket „ismeretlennek” fogadjuk el, és ezzel az értékkel dolgozva jutunk közelítő eredményhez. 4. A különböző szakértők nézeteinek összesítése: A nagy szakértői rendszerek általában több szakértő tudását kombinálják egybe. Például, az ásványlelőhelyek feltárásában alkalmazott PROSPECTOR kifejlesztésében kilenc szakértő vett részt. A nézetek egyeztetése azért nehéz, mert a résztvevők ritkán jutnak ugyanarra a következtetésre

Előfordulhatnak ellenvélemények, amelyek egymással ellentmondásban levő szabályokra vezetnek Az ellentmondások feloldása például úgy történhet, hogy a tudásmérnök mindegyik szakértőhöz egy súlyértéket rendel, és ezzel számítja ki az egyesített konklúziót. A súlyozásra azonban nem létezik szisztematikus módszer A fentieket összegezve kijelenthető, hogy egy szakértői rendszertől elvárható, hogy kezelni tudja a bizonytalanságot, mivel a valós gyakorlati világgal ez a megközelítés áll összhangban. Ennek megoldására a szabályalapú rendszerek számítási folyamataihoz különböző numerikus és nem numerikus módszereket dolgoztak ki eddig. 4.11 Numerikus modellek A numerikus módszerek lényege, hogy minden egyes rendszerelemhez (adathoz, állításhoz) egy számot rendelnek, ami a megbízhatóságát jellemzi. Ezen kívül pedig egy megfelelő kalkulust is adnak hozzá, amit az AND, OR és NOT logikai kapcsolatokkal képeznek. Az

elméletileg megalapozott modellek: 1. Bayes-modell: a legkorábban alkalmazott modell, amely klasszikus valószínűség-számításon alapul. Szigorúan elméleti alapokon nyugszik, és jól definiált események előfordulásának bizonytalanságával foglalkozik. 2. Bayes-hálók: szintén klasszikus valószínűség-számításon alapul Egy konkrét feladatnál az oksági kapcsolatok általános struktúráját ábrázol- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 58 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom A bizonytalanság kezelése Vissza ◄ 59 ► ják, és így a Bayes-modellnél egyszerűbben lehet elvégezni a szükséges számításokat. 3. Dempster-Shafer féle megbízhatóságelmélet: az elemi eseményekkel foglalkozó valószínűség fogalmának kiterjesztésével létrejött formalizmusok közül a legismertebb Nem elemi eseményekkel foglalkozik, hanem a köznapi

életben előforduló, egymással hierarchikus kapcsolatban lévő konkrét eseményekkel, hipotézisekkel, de nem ezek bizonytalanságával, hanem bizonytalanságukkal kapcsolatos bizonyosságunkkal 4. Fuzzy-modell: pontatlan, gyengén definiált (fuzzy) halmazokra, és az ezeken alapuló fuzzy-logikára épít. A modell az igazság fokával, roszszul definiált eseményekben való hitünk mértékével foglalkozik Sejtések, bizonytalan információn alapuló állítások kezelésére alkalmas Az elméletileg nem megalapozott, heurisztikus modellek: Ezek csak arra a tárgyterületre alkalmazhatók, amelyre létrehozták őket. Ezek alkalmasak a szakértők sok éves tapasztalatai alapján kialakított heurisztikákat is felhasználni. 5. MYCIN-modell, vagy CF-modell: (CF: Certainty Factor, bizonyossági tényező): a MYCIN bizonytalanságkezelő modellje. (Ez az AND és OR kombinációs szabályokat kivéve tisztán heurisztikus modell) 6. M1-modell: az M1 nevű PC-s keretrendszer

CF-modellje, amely a MYCIN-modell leegyszerűsített változata 7. PROSPECTOR-modell: a geológiai P rendszer hibrid bizonytalanságkezelő modellje, amely a klasszikus valószínűségszámításból átvett alapmódszert heurisztikus elemekkel kombinálja. 4.12 Nemnumerikus vagy szimbolikus modellek Ezek a modellek hiányzó rendszerelemeket próbálnak pótolni feltételezésekkel, ill. feltételezések szimbolikus leírásával A legismertebb ilyen modellek a nemmonoton következtető rendszerek, amelyek a nemmonoton logikán alapulnak. Nemmonoton: az eddigi következtetési technikák (monoton) alapvető jellegzetessége az volt, hogy a következtetés eredményét fixnek vettük, soha nem feltételeztük, hogy helytelen. Nemmonoton következtetésnél azt a következtetést, amely feltételezésen alapult, egy későbbi lépésben vissza lehet vonni, ha például ellentmondás van. Itt kulcsfogalom a hit vagy feltételezés A dokumentum használata | Tartalomjegyzék |

Felhasznált irodalom Vissza ◄ 59 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom A bizonytalanság kezelése Vissza ◄ 60 ► Példa: Történt egy gyilkosság, és van 3 gyanúsított: A, B, C. Mindhármuknak van alibije: • A-ról a szállodaportás azt mondja, hogy a szállodában tartózkodott, be van jegyezve a vendégkönyvbe. Feltételezés: a bejegyzés nem hamis • B sógora tanúvallomása szerint nála járt. Feltételezés: nem hazudik • C síversenyen volt egyedül Feltételezés: Nem hazudik. C-t látták a TV-ben a síversenyen, tehát ő nem hazudott. De mivel mindegyiknek alibije van, és mégis egyik elkövette, itt ellentmondás van Tehát valamelyik feltételezést vissza kell vonni. Mégsem volt A a hotelben? Vagy a sógor hazudik? A két legelterjedtebb megoldás a Bayes-tételen alapuló következtetés, valamint a bizonyossági tényezők használata. A fejezet hátralevő részeiben ezekkel

foglalkozunk. 4.2 A valószínűségszámítás felhasználása A valószínűség fogalma jelentős szerepet tölt be a mindennapi életünkben. Rengeteg olyan esemény, történés, helyzet létezik, aminek a bekövetkezési valószínűségét állandóan mérlegeljük, mert azok kihatnak a közérzetünkre, sorsunkra, boldogulásunkra. A fogalom matematikai feldolgozása a tizenhetedik században indult el Azóta a matematikának ez a területe óriási fejlődésen ment keresztül, és további töretlen előrehaladásnak néz elébe. Mint ismeretes, matematikailag a valószínűség olyan számérték, ami 0 és 1 közé esik. Egy esemény bekövetkezésére vonatkozóan a 0 felel meg az abszolút lehetetlennek, az 1 pedig az abszolút biztosnak. A legtöbb esemény valószínűségi értéke 0-nál nagyobb s 1-nél kisebb. Ebben a tankönyvben nem foglalkozunk a témakör matematikai alapjaival, feltételezzük azok ismeretét A szakértői rendszerekben való alkalmazás a

feltételes valószínűséggel kapcsolatos számításokon alapul. A feldolgozás megkönnyítése érdekében az alábbiakban összefoglaljuk az ehhez felhasznált ismereteket. Definíció: Két esemény egymást kizárja, ha egyikük bekövetkezése esetén a másik nem következhet be. A következőkben egy A esemény valószínűségét p(A) fogja jelölni. Legyen A és B két esemény, amelyekre p(A) ≠ 0 és p(B) ≠ 0. Tegyük fel, hogy A és A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 60 ► Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 61 ► B nem zárják ki egymást kölcsönösen, hanem feltételesen következnek be, egyik esemény a másik bekövetkezésétől függően. Azt a valószínűséget, hogy az A esemény bekövetkezik, ha a B esemény bekövetkezik, feltételes valószínűségnek nevezzük. A feltételes valószínűség

általánosan elterjedt matematikai jelölése p(A⏐B), ahol a függőleges vonal a FELTÉVE szót képviseli. A teljes jelölés a következőképpen értelmezendő: „Az A esemény bekövetkezésének feltételes valószínűsége, feltéve, hogy B már bekövetkezett.” Másképpen kifejezve: A p(A⏐B) az A eseménynek a B eseményre vonatkoztatott feltételes valószínűsége. Az A és B együttes bekövetkezésének valószínűségét, az ún. együttes valószínűséget, jelölje p(A ∩ B). Definíció: Feltéve, hogy p(B) ≠ 0, a feltételes valószínűséget a következő hányadossal definiáljuk: p( A| B ) = p( A ∩ B ) . p( B ) (4.1) Hasonló módon, a B-nek A-ra vonatkoztatott feltételes valószínűsége, a p(A) ≠ 0 kikötéssel p( B| A ) = p( B ∩ A ) . p( A ) (4.2) Az együttes valószínűség kommutatív (felcserélhető), vagyis: p(A ∩ B) = p(B ∩ A). Ezzel, valamint a (4.1) és (42) összevetésével a p( A| B ) = p(B⏐A ) ⋅ p( A ) p(B)

(4.3) összefüggés fog előállni. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 61 ► Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 62 ► Definíció: A B1, B2, , Bn egymást kizáró események teljes eseményrendszert alkotnak, ha egyikük biztosan bekövetkezik. Ezekre nézve teljesül a következő tétel: n ∑ p( B ) = 1 (4.4) i i =1 Mindezek után a feltételes valószínűségekre vonatkozóan két fontos tételt adunk meg: A teljes valószínűség tétele: Ha B1, B2, , Bn egy teljes eseményrendszer, és p(Bi) > 0, ahol i = 1, 2, , n, akkor n p( A ) = ∑ p( A| B i ) ⋅ p( B i ) (4.5) i =1 Gyakran nem egy A esemény valószínűségét akarjuk meghatározni, hanem egy A esemény bekövetkezésének feltételezése mellett, egy teljes eseményrendszer eseményeinek a valószínűségét. Erre ad megoldást az alábbi tétel,

amely a (4.3) és (45) összefüggések felhasználásával vezethető le: Bayes tétele: Ha B1, B2, , Bn egy teljes eseményrendszer, és p(Bk) >0, ahol i = 1, 2, , n, A pedig egy olyan esemény, amelyre p(A) > 0, akkor p( B k | A ) = p(A⏐B k ) ⋅ p( B k ) (4.6) n ∑ p(A⏐B ) ⋅ p( B ) i =1 i i Ez azt jelenti, hogy ha ismerjük az A esemény feltételes valószínűségét a B1, B2, , Bn teljes eseményrendszer eseményeire vonatkozólag, továbbá ismerjük a Bk események valószínűségeit, akkor a Bk (k = 1, 2, , n) eseményeknek az A feltételre vonatkozó feltételes valószínűségét kiszámíthatjuk. Szokás a p(Bk⏐A) valószínűségeket a posteriori (utólagos) valószínűségeknek, a p(Bk) valószínűségeket pedig a priori (előzetes) valószínűségeknek is nevezni. A tételt többek között a matematikai statisztikában is jól fel lehet használni. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 62 ►

Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 63 ► Thomas Bayes angol matematikus volt, aki a tizennyolcadik században élt. Tételének (46) összefüggése adja az alapját annak, hogy a bizonytalanságot valószínűségi megközelítésben kezeljük a szakértői rendszerekben A következőkben az erre vonatkozó számítások elvét mutatjuk be 4.3 Következtetések kiszámítása a Bayes-tétel alapján A valószínűség-számítás alkalmazása érdekében a tudásbázis szabályait a következő alakban adják meg: IF H igaz THEN E igaz p(E) valószínűséggel Ez a szabály azt mondja ki, hogy ha a H esemény bekövetkezik, akkor annak a valószínűsége, hogy az E esemény be fog következni p(E). Most vizsgáljuk meg azt a kérdést, hogy mi van akkor, ha az E esemény bekövetkezett, de nem tudjuk, hogy a H bekövetkezett-e. Ki tudjuk-e számítani a H bekövetkezésének E-re

vonatkoztatott p(H⏐E) valószínűségét? A válasz igen, amihez a (43) összefüggés nyújt támpontot Ha abban A helyett H-t, B helyett E-t írunk, akkor a p( H| E ) = p(E⏐H ) ⋅ p( H ) p(E ) (4.7) összefüggést kapjuk. Ebben a megközelítésben H rendszerint a feltevést, hipotézist (hypothesis) képviseli, míg E a bizonyítékot (evidence), amely a H feltevést alátámasztja. A (4.7) egyenlet azt sugallja, hogy a p(H) valószínűség definiálva kell, hogy legyen, mielőtt bármelyik bizonyítékot vizsgálnánk. A szakértői rendszerekben egy probléma megoldásához szükséges valószínűségeket a szakértők adják meg A szakértő meghatározza az előzetes valószínűséget a p(H)ra, valamint a feltételes valószínséget a p(E⏐H)-ra A p(H⏐E) az utólagos valószínűség, az E bekövetkezését követően. Jelölje H’ azt az eseményt, amely kizárólag akkor következik be, ha H nem következik be. Ez tehát a H esemény ellentettje, inverze,

komplemense A H és H’ nyilvánvalóan teljes eseményrendszert alkotnak, vagyis p(H) + p(H’) = 1, A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 63 ► Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 64 ► másrészt pedig a két eseményre fennáll a teljes valószínűség tétele. Abban az esetben, ha E egyedül csak H-tól függ, akkor a teljes valószínűség tétele szerint p(E) = p(E⏐H) ⋅ p(H) + p(E⏐H’) ⋅ p(H’) Ezzel a (4.7) a következő alakban lesz írható: p( H| E ) = p(E⏐H ) ⋅ p( H ) (4.8) p(E⏐H ) ⋅ p( H ) + ⋅p(E⏐H ) ⋅ p(H ) Látható, hogy a (4.8) nem más, mint a Bayes-tétel képlete két eseményre, H-ra és E-re vonatkozóan. Mindezek után, ha ismerjük a szakértői becsléseket p(H)-ra és p(E⏐H)-ra, akkor p(H⏐E)-t ki tudjuk számítani Itt a p(E⏐H’) = 1 − p(E⏐H) és p(H’) = 1 − p(H)

összefüggéseket használhatjuk fel a számításban. Ha például a szakértői becslések szerint p(H) = 0,45, és p(E⏐H) = 0,60, akkor p( H| E ) = 0,45 ⋅ 0,60 = 0,55 0,45 ⋅ 0,60 + ⋅0,55 ⋅ 0,40 Ez az eredmény tehát erősítette az eredeti hipotézist. Abban az esetben, ha az E esemény bekövetkezésére vonatkozóan egynél több hipotézis létezik, nevezetesen H1, H2, , Hn, amelyek teljes eseményrendszert alkotnak, akkor a Bayes-tétel szerint bármelyik Hk hipotézisre (k = 1, 2, , n) teljesül a következő: p( H i | E ) = p(E⏐H i ) ⋅ p( H i ) n ∑ p(E⏐H k =1 k (4.9) ) ⋅ p( H k ) A (4.9) lehetővé tesz, hogy egy szakértői rendszer kiszámítsa az utólagos (a posteriori) p(Hk⏐E) valószínűségeket, ezt követően pedig rangsorolja a potenciálisan igaz hipotéziseket. Tekintsünk erre egy példát, amelyben a A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 64 ► Szakértői rendszerek A

bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 65 ► szakértő a H1, H2 és H3 hipotézist adta meg, különböző előzetes (a priori) valószínűségekkel, és ugyancsak megadta az E bizonyíték bekövetkezésének feltételes valószínűségét mindegyik hipotézisre vonatkoztatva. Ezek a számadatok a 4.1 táblázatban láthatók Hipotézis Valószínűség i = 1 i=2 i=3 0,40 0,35 0,25 p(Hi) 0,80 0,20 0,60 p(E⏐Hi) 4.1 táblázat Az előzetes és a feltételes valószínűségek A 4.1 táblázat adataival számolva, a Bayes-tétel alapján az alábbi eredményeket kapjuk: p( H 1 | E ) = 0,80 ⋅ 0,40 = 0,59 0,80 ⋅ 0,40 + 0, 20 ⋅ 0,35 + 0,60 ⋅ 0,25 p( H 2 | E ) = 0, 20 ⋅ 0,35 = 0,13 0,80 ⋅ 0,40 + 0, 20 ⋅ 0,35 + 0,60 ⋅ 0, 25 p( H 3 | E ) = 0,60 ⋅ 0, 25 = 0, 28 0,80 ⋅ 0,40 + 0, 20 ⋅ 0,35 + 0,60 ⋅ 0, 25 A szakértő által adott kezdeti rangsorolásban H1, H2, H3 volt a hipotézisek

sorrendje. Az E bizonyíték beszámítása után a három közül a H2 és H3 hipotézist utólag el lehet vetni, míg a H1 további megerősítést nyert velük szemben. Ez azt jelenti, hogy a szakértői rendszer következtetési folyamatában a továbbiakban csak H1-gyel kell számolni Ha több evidencia és több hipotézis merül fel: p( H i | E 1 .E n ) = p( E 1 .E n | H i ) ⋅ p( H i ) n ∑ p( E .E j=1 1 n | H k ) ⋅ p( H k ) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom i = 1, 2, n Vissza ◄ 65 ► Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 66 ► Ha a szakértői rendszer ezt a módszert követné, a szakértőnek előzőleg meg kellene adni a feltételes valószínűséget az evidenciák összes kombinációjára minden hipotézisre. Ez hatalmas, szinte lehetetlen terhet jelentene Így a szakértői rendszerekben az evidenciák finomságait

figyelmen kívül hagyjuk, és a különböző evidenciák között feltételes valószínűségeket feltételezünk, tehát p( H i | E 1 E 2 .E n ) = p( E 1 | H i ) ⋅ p( E 2 | H i ) ⋅ . ⋅ p( E n | H i ) ⋅ p( H i ) m ∑ p( E | H 1 k =1 k ) ⋅ . ⋅ p( E n | H k ) ⋅ p( H k ) i = 1, 2, n Nézzünk egy példát: Van három adott evidenciánk, azaz tünetünk: E1 (láz), E2 (nátha) és E3 (fejfájás). A szakértő ezekre alapozva megadja az egymást kizáró három hipotézist, azaz betegséget: H1 (megfázás), H2 (agyhártyagyulladás), H3 (influenza), és ezekhez megadja az a priori valószínűségeket: P(H1), P(H2), P(H3), valamint meghatározza a feltételes valószínűséget minden egyes evidencia bekövetkezésére az összes lehetséges hipotézissel, lásd az alábbi táblázatot: Valószínűség p(Hi) p(E1|Hi) p(E2|Hi) p(E3|Hi) Hipotézis i=2 0,35 0,8 0,0 0,7 i=1 0,4 0,3 0,9 0,6 i=3 0,25 0,5 0,7 0,9 4.2 táblázat Több eseményre vonatkozó

valószínűségek Így Először E3 evidencia/esemény következik be (a betegnek fáj a feje): p( H i | E 3 ) = p( E 3 | H i ) ⋅ p( H i ) 3 ∑ p( E k =1 3 | H k ) ⋅ p( H k ) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom i = 1, 2, 3 Vissza ◄ 66 ► Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 67 ► A táblázatból a behelyettesítések után: p(H1|E3)=0,6*0,4/0,60,4+0,70,35+0,90,25=0,34 p(H2|E3)=0,7*0,35/0,60,4+0,70,35+0,90,25=0,34 p(H3|E3)=0,9*0,25/0,60,4+0,70,35+0,90,25=0,32 Látható, hogy miután E3 bekövetkezett, a H2 hipotézisben (agyhártyagyulladás) való hitünk szinte nem változik, a H1 (megfázás) hipotézisben való hitünk pedig kicsit csökken. A H3 (influenza) hipotézisben való hit szintén növekszik, és szinte eléri a H1-ben és H2-ben való hitünket. Tegyük fel, hogy most E1 is bekövetkezik, azaz a betegről kiderül,

hogy lázas is. Az a posteriori valószínűségeket így számíthatjuk ki: p( H i | E 1 E 3 ) = p( E 1 | H i ) ⋅ p( E 3 | H i ) ⋅ p( H i ) 3 ∑ p( E | H k =1 1 i ) ⋅ ( E 3 | H i ) ⋅ p( H k ) i=1, 2, 3 így p(H1|E1E3)=0,19 p(H2|E1E3)=0,52 p(H3|E1E3)=0,29 Most a H2 lett a legvalószínűbb, míg H1 valószínűsége drámaian lecsökkent. E2 bekövetkezése után (nátha) a rendszer kiszámítja a végső a posteriori valószínűségeket minden hipotézisre. p( H i | E 1 E 2 E 3 ) = p( E 1 | H i ) ⋅ p( E 2 | H i ) ⋅ p( E 3 | H i ) ⋅ p( H i ) 3 ∑ p( E | H k =1 1 i ) ⋅ p( E 2 | H i ) ⋅ ( E 3 | H i ) ⋅ p( H k ) i=1, 2, 3 p(H1|E1E2E3)=0,45 p(H1|E1E2E3)=0 p(H1|E1E2E3)=0,55 Bár a szakértő által megadott kezdeti rangsorolás H1, H2 majd H3 volt, miután az összes evidenciát megfigyeltük, a H2-t teljesen figyelmen kívül hagyhatjuk, a H3 pedig valószínűbbnek bizonyul, mint H1. Tehát a legvalószínűbb betegség az influenza, kevésbé

valószínű a megfázás, az agyhártyagyulladást pedig ki is zárhatjuk A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 67 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom A bizonytalanság kezelése Vissza ◄ 68 ► Az első rendszer, amely Bayesi következtetést használta, a PROSPECTOR volt (ásványok (molibdén) kutatására). 4.4 Időjárás előrejelzés: egy egyszerű példa Fejlesszünk egy olyan rendszert, amelynek a feladata előrejelezni, hogy a következő nap esni fog-e az eső. Ehhez szükség van valós adatokra a meteorológiai szolgálattól (London, 1982 március; 43 táblázat) A rendszer kétféle kimenetet fog adni: • holnap esni fog vagy • holnap száraz lesz, és megadja ezek valószínűségét Bayes-szabály alkalmazásával. Ehhez először meg kell adnunk a hipotézisek előzetes valószínűségeit, amelyekből a rendszer majd meg tudja határozni a két

hipotézis a feltételes valószínűségeit. Az első feladatunk az, hogy olyan szabályokat készítsünk, amelyek a megadott adatok segítségével meghatározzák a holnapi időjárást. Szabály 1 IF ma esik THEN holnap esik Szabály 2 IF ma száraz THEN holnap száraz Ha ezeket a szabályokat alkalmazzuk, a táblázat alapján 10-szer vétünk hibát, amikor az eső után száraz, vagy száraz után esős idő következik. A száraz és esős napok aránya kb. 50-50%, így mindkét hipotézisre elfogadhatjuk a 0,5-ös előzetes valószínűséget A szabályokat ennek megfelelően átírjuk: Szabály 1 IF ma esik {LS 2,5 LN 0,6} THEN holnap esik {a priori 0,5} Szabály: 2 IF ma száraz {LS 1,6 LN 0,4} THEN holnap száraz {a priori 0,5} A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 68 ► Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Nap 1 2 3 4 5 6 7 8 9 10 11 12

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Min. hőm. (C) Max. hőm 9,4 11 4,2 12,5 7,6 11,2 5,7 10,5 3 12 4,4 9,6 4,8 9,4 1,8 9,2 2,4 10,2 5,5 12,7 3,7 10,9 5,9 10 3 11,9 5,4 12,1 8,8 9,1 2,4 8,4 4,3 10,8 3,4 11,1 4,4 8,4 5,1 7,9 4,4 7,3 5,6 14 5,7 14 2,9 13,9 5,8 16,4 3,9 17 3,8 18,3 5,8 15,4 6,7 8,8 4,5 9,6 4,6 9,6 * hiba az előrejelzésben Eső (mm) 17,5 4,1 7,7 0 0 0 4,6 5,5 4,8 4,2 4,4 4,8 0 4,8 8,8 3 0 4,2 5,4 3 0 0 0 0 0 0 0 3,2 0 4,8 3,2 Napsütés (óra) 3,2 6,2 1,1 4,3 9,5 3,5 10,1 7,8 4,1 3,8 9,2 7,1 8,3 1,8 0 3,1 4,3 6,6 0,7 0,1 0 6,8 8,8 9,5 10,3 9,9 8,3 7 4,2 8,8 4,2 Vissza ◄ 69 Jelenlegi időjárás Előrejelzés eső eső eső száraz száraz száraz eső eső eső eső eső eső száraz eső eső eső száraz eső eső eső száraz száraz száraz száraz száraz száraz száraz eső száraz eső eső eső eső eső* száraz száraz eső eső eső eső eső eső eső* száraz* eső eső száraz eső eső eső száraz száraz száraz

száraz száraz száraz száraz száraz* száraz eső eső ► 4.3 táblázat Időjárási statisztika A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 69 ► Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 70 ► Az LS érték jelöli a szakértő hitét a H hipotézisben, ha E evidencia bekövetkezett. Ezt úgy hívjuk, hogy elégségesség valószínűsége (likelihood of sufficiency). LS = p( E| H ) p( ma ⋅ esik |ho ln ap ⋅ esik ) = p( E| H ) p( ma ⋅ esik |ho ln ap ⋅ száraz ) A mi esetünkben ez a valószínűség: annak valószínűsége, hogy ma esik, ha holnap is esik, osztva annak valószínűségével, hogy ma esik, ha holnap nem esik. LN = p( E| H ) p( ma ⋅ száraz|ho ln ap ⋅ esik ) = p( E| H ) p( ma ⋅ száraz|ho ln ap ⋅ száraz ) Az LN érték a szükségesség valószínűsége (likelihood of necessity). Azt fejezi ki, hogy

milyen esély van arra, hogy a hipotézis az esemény bekövetkezése nélkül is fennáll. Ez a két érték egymásból nem meghatározható, a szakértőnek mindkettőt közvetlenül meg kell adnia, vagy meg kell adnia az összes feltételes valószínűséget. Hogyan határozza meg a szakértő az LN és LS értékeket? A szakértőnek nem kell feltétlenül a pontos feltételes valószínűségeket meghatároznia, hanem közvetlenül is megadhatja meg a két valószínűségi arányt. A magas LS (LS >>1) értékek azt jelzik, hogy a szabály erősen alátámasztja a hipotézist, ha az esemény/evidencia bekövetkezik, az alacsony LN értékek (0 < LN < 1) pedig azt sugallják, hogy a szabály ellentétben áll a hipotézissel, ha az esemény nem következik be. Mivel az LS és LN értékekből könnyen kiszámítható a feltételes valószínűség, ez a megközelítés használhatja a Bayes-szabályt az evidencia előmozdítására. Figyelem! Az LS és LN értékek

nem valószínűségek. Egy mértéket fejeznek ki arra vonatkozóan, hogy a szabály mennyire támasztja alá a szabályt (LS) vagy mennyire mond neki ellent (LN). Az első szabály alapján kiszámítható, hogy ha ma esik, akkor nagy a valószínűsége, hogy holnap is esni fog (LS=2,5). De ha ma nem esik, azaz száraz, még mindig van egy kis esély a holnapi esőre (LN=0,6). A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 70 ► Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 71 ► A második szabály a száraz nap esetére ad előrejelzést. Ha ma száraz, akkor nagy a valószínűsége, hogy holnap is az lesz (LS=1,6). De ha közelebbről megnézzük, akkor láthatjuk, hogy annak nagyobb a valószínűsége, hogy ha ma esik, holnap is esni fog, mint annak, hogy ha ma száraz, holnap is száraz lesz. Miért? Azért, mert az LS és LN értékeket

általában a terület szakértői határozzák meg. A mi időjárási példánkban ezeket az adatokat a statisztikai adatok támasztják alá. A második szabály azt is megadja, hogy egy kis esély van arra is, hogy holnap esni fog, akkor is, ha ma száraz az idő. (LN=0,4) Az időjárás általános valószínűségének kiszámítása A szabályalapú szakértői rendszerben a következmény előzetes valószínűségéből (p(H)) megadhatjuk az előzetes esélyt (Odds): O( H ) = p( H ) 1 − p( H ) (7.1) Ezt az előzetes valószínűséget csak a következtetés legelején kell használni, később az a posteriori esélyek kiszámításához felhasználhatjuk az előző szabály LS értékét, ha az evidencia igaz, és az LN értékét, ha az evidencia hamis. O(H|E) = LS * O(H) O(H|E’) = LN * O(H) Ezeket az a posteriori esélyeket ezután felhasználhatjuk az a posteriori valószínűségek kiszámításához: p( H| E ) = O( H| E ) és 1 + O( H| E ) p( H|¬E ) = O( H| E

) 1 + O( H| E ) Nézzük meg, hogy működik ez a mi rendszerünknél. Tegyük fel, hogy a felhasználó megadja, hogy ma esik. Az első szabály lefut, és a holnap esik előzetes valószínűségéből megkapjuk az előzetes esélyeket. A szabály alapján az evidencia itt a ma esik, a hipotézis pedig a holnap esik: A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 71 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom A bizonytalanság kezelése Vissza ◄ 72 ► O(H) = O(holnap esik) = 0,5/(1-0,5) = 1. A ma esik evidencia növeli az esélyeket 2,5-ös faktorral, így a valószínűséget 0,5-ről 0,71-re emeli: O(H|E) = O(holnap esik|ma esik) = 2,5 * 1 = 2,5 p(H|E) = p(holnap esik|ma esik) = 2,5/(1+2,5) = 0,71 A második szabály is lefut. A holnap száraz előzetes valószínűségéből kiszámítjuk az előzetes esélyt (mivel ebben a szabályban ez az evidencia), de a ma esik (a szabályban

ez E’) evidencia lecsökkenti 0,4-es faktorral az esélyeket. Ez cserébe lecsökkenti a holnap száraz valószínűségét 0,5-ről 0,29-re: O(H) = O(holnap száraz)=0,5/(1-0,5) = 1 O(H|E’) = O(holnap száraz|ma esik)= 0,4 * 1 = 0,4 p(H|E’) = p(holnap száraz|ma esik) = 0,4/(1+0,4) = 0,29 Így mivel ma esik, annak a valószínűsége, hogy holnap esni fog, 71%, annak, hogy nem, 29%. Most tegyük fel, hogy a felhasználó azt adja meg, hogy holnap száraz. Egy hasonló számítással megadhatjuk, hogy a mai száraz időnek 62% az esélye, az esősnek pedig 38%. Egészítsük ki a tudásbázisunkat további szabályokkal: Szabály 1 IF ma esik {LS 2,5 LN 0,6} THEN holnap esik {a priori 0,5} Szabály 2 IF ma száraz {LS 1,6 LN 0,4} THEN holnap száraz {a priori 0,5} Szabály 3 IF ma esik AND kevés eső {LS 10 LN 1} THEN holnap száraz {a priori 0,5} Szabály 4 IF ma esik AND kevés eső AND hőmérséklet hideg {LS 1,5 LN 1} THEN holnap száraz {a priori 0,5} A dokumentum

használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 72 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Szabály 5 IF AND THEN Szabály 6 IF AND AND THEN A bizonytalanság kezelése Vissza ◄ 73 ► ma száraz hőmérséklet meleg {LS 2 LN 0,9} holnap esik {a priori 0,5} ma száraz hőmérséklet meleg ég felhős {LS 5 LN 1} holnap esik {a priori 0,5} A felhasználó által megadott információ segítségével a szakértői rendszer meg tudja határozni, hogy holnap száraz időre számíthatunk-e. Azt feltételezzük, hogy az eső akkor kevés, ha kevesebb, mint 4,1 mm, a hőmérséklet hideg, ha a napi átlaghőmérséklet <=7 CNY, és meleg, ha > 7 C. Ha kevesebb, mint 4,6 óra a napi napsütés, akkor az ég felhős Nézzünk meg egy példát a következtetésre: Milyen az idő ma? esik szabály 1 O(holnap esik)=1 O(holnap esik|ma esik)=2,5 p(holnap esik|ma esik)=0,71 tehát holnap esik {0,71}

szabály 2 O(holnap száraz)=1 O(holnap száraz|ma esik)=0,4 p(holnap száraz |ma esik)=0,29 tehát holnap esik {0,71} holnap száraz {0,29} 4.5 A bizonyossági tényezők használata A Bayes-féle következtetési rendszerhez képest alternatívát jelent az ún. bizonyossági tényezők (certainty factors) bevezetése és felhasználása. A bizonyossági tényezők nem matematikai valószínűségeken vagy valószínűség-számításon alapulnak, hanem a szakértők szubjektív véleményén. Ennek a megközelítésnek az első bevezetése a MYCIN nevű szakértői rendszerben történt meg (USA, 1975) A MYCIN a vérmérgezés és a gyulladásos betegségek diagnózisára és terápiájára készült orvosi rendszer, amiről az 1. fejezetben már történt említés A fejlesztők úgy találták, hogy az or- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 73 ► Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata |

Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 74 ► vos szakértők az álláspontjukat olyan indoklással és olyan kifejezésekkel adták elő, amelyek sem logikailag, sem matematikailag nem voltak konzisztensek. Mindezen felül nem álltak rendelkezésre megbízható statisztikai adatok a szóban forgó szakterületen Emiatt a MYCIN-team nem tudta felhasználni a klasszikus valószínűség-számítást Ehelyett arra a megoldásra jutottak, hogy bevezetik az ún bizonyossági tényezőt (faktort) (certainty factor, cf), amely a szakértő meggyőződésének mérésére szolgál. Erre vonatkozóan egy értéktartományt definiáltak, ami −1 és +1 közé esik. A cf maximális értéke (+1) jelentette a határozottan igazat, míg a minimális érték (−1) a határozottan hamisat (tévest). A pozitív érték ebben a felfogásban a bizonyos fokú elfogadást, a negatív érték pedig a bizonyos fokú elutasítást tükrözte Például, ha egy szakértő azt

állította, hogy egy bizonyíték csaknem biztosan igaz, a cf = 0,8 értéket rendelték ehhez a bizonyítékhoz. A 44 táblázat összefoglal néhány bizonyossági tényezőt, a MYCIN-ben használt értékekkel. Kifejezés Határozottan nem Csaknem biztosan nem Valószínűleg nem Talán nem Ismeretlen Talán Valószínűleg Csaknem biztosan Határozottan igen Bizonyossági tényező –1,0 –0,8 –0,6 –0,4 –0,2-től +0,2-ig +0,4 +0,6 +0,8 +1,0 4.4 táblázat Bizonytalan kifejezések és értelmezésük A bizonyossági faktort alkalmazó szakértői rendszerekben a tudásbázis olyan szabályokból épül fel, amelyek a következő szintaxissal rendelkeznek: IF <bizonyíték> THEN <feltevés> [cf], A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 74 ► Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 75 ► vagy jelölésekkel: IF E igaz

THEN H igaz [cf], ahol cf annak a meggyőződésnek a mértéke, hogy a H feltevés (hipotézis) igaz, feltéve, hogy az E bizonyíték bekövetkezett. A MYCIN-projekt vezetői, Shortliffe és Buchanan olyan számítási módszert dolgoztak ki, amivel a szakértői véleményeket megfelelő biztonsággal tudták cf-be konvertálni. Mindehhez egy konzisztens következtetési mechanizmust is sikerült kialakítaniuk, amivel a MYCIN a számításokat végezte. A bizonyossági tényezők elmélete két függvényen alapul: a hit mértéke (measure of belief) MB(H,E) és a kételkedés mértéke (measure of disbelief) MD(H,E) (Shortliffe és Buchanan, 1975). Ez a két függvény jelzi azt a mértéket, amellyel a hitünk vagy kételkedésünk mértéke növekedne, ha az E evidencia bekövetkezne. Mindkét függvényt feltételes valószínűséggel lehet kiszámítani 1, ha ⋅ p( H ) = 1 ⎧ ⎫ ⎪ max[ p( H| E ), p( H )] − p( H ) ⎪ MB( E ) = ⎨ ⎬ ⎪⎩ ⎪⎭ max[1,0 ] − p( H

) 1, ha ⋅ p( H ) = 0 ⎧ ⎫ ⎪ min[ p( H| E ), p( H )] − p( H ) ⎪ MD( E ) = ⎨ ⎬ ⎪⎩ ⎪⎭ min[ 1,0 ] − p( H ) A két függvény értékéből kiszámíthatjuk a cf értékét: cf ( E ) = MB( H, E ) − MD( H, E ) 1 − min[ MB( H, E ), MD( H, E )] A cf így a H hipotézisben való teljes hitünket jelzi. Egy szabály eredményének bizonyossági tényezőjét kiszámíthatjuk úgy, hogy az esemény bizonyossági tényezőjét megszorozzuk az előző szabály alapján kiszámított bizonyossági tényezővel. cf(H,E) = cf(E) * CF A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 75 ► Szakértői rendszerek A bizonytalanság kezelése A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 76 ► ahol cf az előző szabály alapján megkapott biz. tény, cf(E) pedig az evidencia bekövetkezésének bizonyossági tényezője Például: HA tiszta az ég AKKOR az előrejelzés napos [CF 0,8] Ha annak

a jelenlegi bizonyossági tényezője (cf-e), hogy tiszta az ég, 0,5, akkor cf(H,E) = 0,5 * 0,8 = 0,4 Tehát a fenti táblázat alapján az előrejelzés: „Lehet, hogy napos” 4.6 Összehasonlítások A bizonytalanság kezelésére szolgáló megoldások között a legelterjedtebb a Bayes-tételen alapuló következtetés, valamint a bizonyossági faktorok használata. Az alábbiakban röviden összehasonlítjuk a két megközelítést, kitérve arra is, hogy melyek azok a területek, ahol ezek leginkább felhasználhatók. A valószínűségelmélet a legrégebbi és a legjobban kidolgozott megoldásokat adja a nem egzakt tudás és a véletlenszerű (random) adatok feldolgozására. Olyan területeken működik jól, mint az előrejelzés és tervezés, ahol rendszerint bőségesen állnak rendelkezésre statisztikai adatok Az ilyen adatok alapján pontos valószínűségi megállapításokat lehet tenni. A sikeresen alkalmazott PROSPECTOR szakértői rendszer fejlesztői

megbízható ásványtani statisztikára tudtak támaszkodni, ismert lelőhelyek adatai alapján. A team ugyancsak képes volt a feltételes függőségek meghatározására is, ami a Bayes-következtetésekhez kell A lehetséges felhasználási területek jelentős részén azonban nem áll rendelkezésre megbízható statisztikai információ. Ennek tudható be, hogy sok kutató-fejlesztő volt, aki a Bayes-módszert nem találta megfelelőnek a munkájához. Shortliffe és Buchanan nem tudtak valószínűségi megoldást alkalmazni, mivel az orvosi szakterület nem szolgáltatta az ehhez szükséges adatokat. Végül is az elégedetlenség motiválta őket arra, hogy kidolgozzák a bizonyossági tényezők (cf) elméletét Jóllehet a cf-megközelítés nélkülözi a valószínűség-számítás pontosságát, mégis úgy tűnik, hogy túlszárnyalja a Bayes-következtetéseket az olyan területeken, mint a diagnosztika, különösen az orvostudományban. A bi- A dokumentum

használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 76 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom A bizonytalanság kezelése Vissza ◄ 77 ► zonyossági faktorok jól használhatók ott, ahol a valószínűségek nem ismeretesek, ill. túl nehéz vagy költséges lenne megkapni őket A Bayes-megközelítés és a bizonyossági tényezők egymástól különböznek, de egy probléma közös bennük: nevezetesen az, hogy találni kell egy szakértőt, aki képes számszerűsíteni a személyes, szubjektív és minőségi információt. Az emberek könnyen válnak elfogulttá, és ezért a bizonytalanság kezelésére kiválasztandó technika erősen függ a szakterületen fellelhető és közreműködő szakértőtől. A Bayes-módszer várhatóan akkor a legmegfelelőbb, ha • megbízható statisztikai adatokkal rendelkezünk, • a tudásmérnök képes összefogni a projektet, és • a szakértőt be

lehet vonni komoly döntéselemzési megbeszélésekbe. Ha a fenti feltételek bármelyike is teljesületlen maradna, akkor a Bayesmódszer túl önkényes, sőt elfogult választás lenne ahhoz, hogy hasznos megoldást eredményezzen. A cf-technika, a formális megalapozás hiánya ellenére is igen egyszerű megközelítést kínál a bizonytalanság kezelésére, és olyan eredményeket szolgáltat, amelyek számos alkalmazásban elfogadhatók. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 77 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Fuzzi rendszerek Vissza ◄ 78 ► 5. Fuzzi rendszerek 5.1 A fuzzi gondolkodás A szakértők rendszerint a józanészre hagyatkoznak, amikor problémákat oldanak meg. Mindemellett bizonytalan és nem egyértelmű kifejezéseket is használnak. Például, egy szakértő mondhatja a következőt: „A transzformátor egy kissé túl van terhelve, de egy

darabig még tartható lesz a terhelés” A többi szakértő számára semmilyen gondot nem jelent az, hogy egy ilyen kijelentést megértsen és értelmezzen, mivel hozzá vannak szokva az efféle jellegű megközelítéshez. Ezzel szemben egy tudásmérnöknek már gondot okozna, hogy miként garantálja egy számítógépen ugyanezt a megértési szintet. A kérdés itt az, hogy milyen módon lehet számítógépen megjeleníteni és feldolgozni az olyan szakértői tudást, ami homályos vagy nem egyértelmű szavakra, fogalmakra épül Ebben a fejezetben erre a kérdésre fogunk választ adni, a fuzzi halmazok elméletének (fuzzy set theory), vagy fuzzi logika (fuzzy logic) bemutatásával. Ez az elmélet azzal kapcsolatos, hogy minden dolognak valamilyen fokozata van, ami egy skálán ábrázolható. A hőmérséklet, nyomás, magasság, sebesség, távolság, szépség, erősség mind skálázható valamilyen beosztásban, akár mérhető fizikailag, akár nem. Mint tudjuk, a

Boole-logika éles különbséget tesz a között, hogy egy elem beletartozik-e egy halmazba, vagy nem. Ehhez az kell, hogy éles határt húzzunk a halmazok között Ha azt mondjuk, hogy 180 cm-től felfelé számít valaki magasnak, és ez alatt alacsonynak, akkor egy 179 cm-es ember az alacsony kategóriába, vagyis az alacsonyak halmazába kerül. A mindennapos emberi gondolkodás persze nem tesz ilyen szembetűnő szétválasztást, aminek nem is lenne értelme Ezt az elvet szolgálja a fuzzi logika, ami végül is az emberi észjárást próbálja követni. Azt kísérli meg modellezni, hogy miként fogjuk fel a szavak jelentését, miként hozunk döntéseket, és miként használjuk a józaneszünket Mindezek eredményeként új, emberközeli intelligens rendszerek létrehozásához tudunk jutni. 1965-ben publikálta híres cikkét „Fuzzy sets” címmel Lotfi Zadeh, a kaliforniai Berkeley Egyetem professzora. Zadeh a matematikai logika egy formális rendszerét dolgozta ki

ebben, és ami nagyon fontos, bevezette még a természetes nyelvi elemek használatának új koncepcióját is. Ez az új logika, amely a bizonytalan, homályos (fuzzi) fogalmak kezelésére volt alkalmas, kapta a fuzzi logika elnevezést. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 78 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 79 ► A kétértékű (bináris) Boole-logikától eltérően a fuzzi logika többértékű, sőt végtelen sok értékű lehet. Ebben a rendszerben az igazságértéknek fokozatai vannak, amelyek 0 és 1 között folyamatosan vehetnek fel bármilyen valós értéket. Itt a 0 felel meg a teljesen hamisnak, 1 pedig a teljesen igaznak, amivel azt is elfogadjuk, hogy a dolgok egyidejűleg lehetnek részben igazak, és részben hamisak is. Ha mondjuk valami 0,6 részben igaz, akkor az 0,4 részben hamis, 0,5-nél pedig egyformán lehet

igaz is, meg hamis is. A klasszikus bináris logika ezen az alapon a többértékű fuzzi logika speciális eseteként fogható fel. 5.2 Fuzzi halmazok 5.21 A tagsági fok fogalma A klasszikus halmazelméletben egy x elem vagy az A halmazhoz tartozik, vagyis x ∈ A, vagy pedig nem tartozik az A-hoz, vagyis x ∉ A. Ebben az értelemben egy halmaznak éles határa van, ahol mindegyik beletartozó elemhez 1-es értéket rendelünk, és minden olyan elemhez, ami a halmazon kívül van, 0-s értéket. Ezt a két értéket tagsági foknak (degree of membership) is nevezik (vagy másképpen tagsági értéknek, membership value), mivel azt fejezik ki, hogy milyen mértékben tagja egy elem a halmaznak. Ha nem tagja, akkor 0 mértékben, ha tagja, akkor 1 mértékben. Az ilyen halmazt nevezhetjük éles halmaznak (crisp set) is A fuzzi halmazok elméletében a tagsági fok 0 és 1 közé eső tetszőleges valós szám lehet. Az éles halmazhoz képest ez a skála valójában egy

„elmosódott”, „homályos” halmazt ír le Ha a magassági példát vesszük, akkor a következő táblázattal tudjuk szemléltetni az éles és a fuzzi halmaz közötti különbséget (5.1 táblázat) Ebben a példában a magas emberek éles fogalmát a 180 cm-es határhoz kötjük. Az éles halmazt tekintve, ha azt a kérdést tesszük fel, hogy Tamás magas-e, akkor erre a válasz az, hogy igen, mert 180 felett van. A fuzzi halmazt tekintve a kérdés az, hogy Tamás milyen mértékben magas, amire a válasz az, hogy 0,82 mértékben. A táblázatból az is kitűnik, hogy a fuzzi halmaz nem rendelkezik éles határral, a felsorolt tagsági értékek finom átmenetet képeznek a 0 és 1 között. A 180 cm-es határérték környezeté- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 79 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom ◄ Vissza 80 ► ben is

látható, hogy bár Dávid nincs benne az éles halmazban, mivel 1 cmrel lemaradt, a fuzzi halmazba mégis 0,78 mértékben tartozik bele. Összhangban azzal, hogy Tamástól csak 2 cm-rel kisebb Tagsági fok Név Krisztián Márk János Tamás Dávid Mihály Róbert István Vilmos Péter Magasság (cm) 208 205 198 181 179 172 167 158 155 152 Éles 1 1 1 1 0 0 0 0 0 0 Fuzzi 1,00 1,00 0,98 0,82 0,78 0,24 0,15 0,06 0,01 0,00 5.1 táblázat A magas emberek méretének tagsági foka 5.22 A fuzzi halmaz definíciója Legyen X az általunk tekintetbe vett összes x elem halmaza, az ún. univerzális halmaz A klasszikus halmazelmélet szerint az X-nek egy éles A részhalmazát az f(x⏐A) függvénnyel definiáljuk, a következőképpen: f(x⏐A) = 1, ha x ∈ A, és f(x⏐A) = 0, ha x ∉ A, ahol f(x⏐A)-t az A halmaz karakterisztikus függvényének (characteristic function) nevezzük. A definíció szerint egy x elemre nézve a karakterisztikus függvény értéke 1, ha x eleme az

A halmaznak, és 0 az értéke, ha x nem eleme az A-nak (5.1 ábra) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 80 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 81 ► X A f(x|A) A 1 0 x f(x|A)=1 5.1 ábra Az A részhalmaz és karakterisztikus függvénye A fuzzi elméletben az X-nek egy A fuzzi részhalmazát az m(x⏐A) függvénnyel definiáljuk, a következőképpen: m(x⏐A) = 1, m(x⏐A) = 0, 0 < m(x⏐A) < 1, ha x teljesen benne van A-ban; ha x nincs benne A-ban; ha x csak részben van benne A-ban. Az m(x⏐A) függvényt az A halmaz tagsági függvényének (membership function) nevezzük. Egy x elemre nézve a függvény számértéke az A halmazhoz való tartozás mértékét, fokát fejezi ki. Ezért szokás még ezt a számot tagsági foknak (degree of membership), vagy pedig tagsági értéknek (membership value) is nevezni. Itt

hívjuk fel a figyelmet arra, hogy a tagsági fok fogalma egyáltalán nem felel meg a valószínűség fogalmának. Ha például egy elemnek egy halmazhoz való tartozása 0,81-es mértékű, az úgy értelmezendő, hogy az elem benne A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 81 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 82 ► van a halmazban, de csak 0,81 százalékos mértékben, nem pedig 0,81 százalékos valószínűséggel. 5.23 Számítógépes megjelenítés Ahhoz, hogy egy fuzzi halmazt számítógépen tudjunk megjeleníteni, arra van szükség, hogy ismerjük a halmaz tagsági függvényét. Ennek meghatározása azokon a módszereken alapszik, amelyekkel a szaktudást tudjuk kinyerni a szakértőktől. Kézenfekvő lehetőség erre, hogy egy szakértőtől azt próbáljuk megtudni, hogy a különböző elemek milyen mértékben tartoznak

egy adott halmazhoz. Az is jó megoldás, amikor több szakértőtől szerezzük be a tudást, és átlagoljuk a becsléseket. Tegyük fel, hogy A az X univerzális halmaz részhalmaza. Az A halmazról akkor és csak akkor mondjuk azt, hogy az X fuzzi részhalmaza, ha A mindegyik xi elemére fennáll, hogy 0 ≤ m(xi⏐A) ≤ 1, ahol xi ∈ X. Speciális esetben, ha X = {0, 1}, akkor az A fuzzi részhalmaz éles A részhalmazzá válik. A kétféle halmazt az 52 ábra mutatja A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 82 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 83 ► Fuzzi A X Éles A m(x|A) A 1 x Fuzzi Éles Fuzzi 5.2 ábra Éles és fuzzi részhalmaz reprezentációja Egy A fuzzi halmaz xi elemét leírhatjuk úgy is, hogy megadjuk mellé a tagsági értékét, egy elválasztó ferde vonal bal oldalán: m(xi⏐A) / xi. A dokumentum használata

| Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 83 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Fuzzi rendszerek Vissza ◄ 84 ► Az A halmazt ezek után a következő módon tudjuk definiálni, az elemeinek felsorolásával: A = { m(x1⏐A) / x1, m(x2⏐A) / x2, , m(xn⏐A) / xn}. Ezzel a jelöléssel az 5.1 táblázat adataihoz rendelhető, magas emberek elnevezésű fuzzi halmaz a következő módon írható le: magas emberek = {1/128, 1/205, 0,98/198, 0,82/181, 0,78/179, 0,24/172, 0,15/167, 0,06/158, 0,01/155, 0/152}. A ferde vonal két oldalán szereplő számpárok alkalmasak a halmazok számítógépi ábrázolásra. Ha viszont az m(x⏐A) tagsági függvény folytonos, akkor folytonos fuzzi halmazról beszélünk, amelynek a tagsági értékei a függvény mentén helyezkednek el. Tipikusan ilyen lehet például a valószínűségelméleti normális eloszlás sűrűségfüggvénye, amelyet ábrázolva harang

alakú görbét kapunk. Ez az ún Gauss-féle haranggörbe A folytonos halmazokkal való számítások jóval több időt igényelnek, mint a diszkrét halmazokkal valók. Ilyenkor ugyanis a függvények integrálására is szükség van A számítások egyszerűsítése érdekében általában az a megoldás terjedt el, hogy a folytonos függvénygörbékből csak diszkrét mintavételi pontokban képviseltetjük a halmazt. Az így vett elemek egymást követő sorozatát szokás még illesztő vektornak (fit vector) is nevezni, mivel a vektorösszetevők valójában a folytonos függvényre illeszkedő pontokat jelölik ki. A magas emberek fogalmának definiálására tekintsük az 5.3 ábrán látható folytonos diagramot, amely két lineáris szakaszból áll Ez az ún trapézdiagram (A mostani definiálás eltér az 51 táblázat adataitól, amennyiben az ottani értékek nem lineáris függvény mentén helyezkedtek el.) A példában a 150 cm-től felfelé induló ferde vonal a

tagsági fokok folytonos változását fejezi ki, a magasság függvényében A 170 cm-hez tartozó 0,66-os érték úgy értelmezendő, hogy ezzel a magassággal csak kisebb, esetünkben 66%-os mértékben lehet az illetőt magasnak tekinteni, míg a 180 cm-es ember már 100%-osan magasnak tekinthető. Ugyanígy, a 150 cm-es egyén 0 mértékben vehető magasnak. Az 5.3 ábra függvényének egy illesztő vektora például a következő lehet: magas emberek = {0/150, 0,33/160, 0,66/170, 1/180, 1/190}. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 84 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 85 ► m(x|A) A 1 0,66 0 150 160 170 180 190 x ( 200 210 5.3 ábra Egy tagsági függvény menete 5.3 Nyelvi változók A fuzzi halmazok elméletében fontos szerepet játszanak az ún. nyelvi változók (linguistic variables) Egy nyelvi változóaz egy fuzzi

változó, amely különböző értékeket vehet fel az emberi nyelv szavaiból Például, a fuzzi változó legyen János, aki a magas nyelvi értéket veszi fel: János magas. A fuzzi szakértői rendszerekben a nyelvi változókat a fuzzi szabályokban használjuk fel. Például: IF a szél erős THEN a vitorlázás jó IF a projektidő hosszú THEN a befejezési kockázat magas IF a sebesség alacsony THEN a féktávolság rövid Egy nyelvi változó lehetséges értékei képezik a változó értékkészletét. Például, a sebesség mint változó a 0 és 220 km/óra tartományban vehet fel értékeket, amiben olyan fuzzi részhalmazok lehetnek, mint nagyon lassú, lassú, közepes, gyors, ill. nagyon gyors Ebben mindegyik részhalmazhoz egy nyelvi változó tartozik, ami különböző sebességértékeket vehet fel. Így a A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 85 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum

használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 86 ► lassú tartomány lehet, mondjuk a 30-50 kilométer/órás sáv. Az egyes tartományok, vagyis részhalmazok, természetesen átfedhetik egymást A nyelvi változókhoz ún. módosító szavak vagy kihegyező szavak (az angol elnevezéssel hedges) is rendelhetők, amelyek megváltoztatják a fuzzi halmazok elemeinek tagsági fokát. Ezek közt olyan melléknevek lehetnek, mint a rendkívül, nagyon, valamennyire, egészen, többé-kevésbé, enyhén stb. A módosító szavak lehetnek még többek között: • • • • Igazságértékek: egészen biztos, leginkább téves. Valószínűségek: valószínű, nem nagyon valószínű. Mennyiségek: legtöbb, számos, kevés. Lehetőségek: csaknem lehetetlen, egészen lehetséges. A módosító szavak olyan műveletként (operátorként) kezelhetők, amelyek módosítanak egy fuzzi halmazt. A rendkívül jelző például leszűkíti az eredeti halmazt egy

kisebb részhalmazra: A magas emberek halmazából a rendkívül magas emberek halmaza áll elő. Hasonlóképpen beszélhetünk tágításról is, amikor például a többé-kevésbé magas emberek halmazát képezzük a magas emberek halmazából. Egy módosító szóhoz rendelhető művelet úgy értelmezendő, hogy az a fuzzi halmaz mindegyik elemének a tagsági fokára mint értékre végzendő el. Az alábbiakban felsorolunk néhány ilyen műveletet, amelyeket az elméleti szakemberek egyezményesen elfogadtak: A nagyon szóhoz a négyzetre emelés rendelhető. Eszerint, ha Tamás a magas emberek halmazában 0,86-os tagsági fokkal rendelkezik, akkor a nagyon magas emberek halmazában csak 0,862 = 0,74 tagsági fokkal fog részt venni. A rendkívül szóhoz a 3-adik hatványra emelés tartozik. Ezzel a művelettel Tamás tagsági foka a rendkívül magas emberek körében tovább csökken, 0,64 lesz. A többé-kevésbé kifejezéshez a négyzetgyökvonás tartozik, ami

tágítja a halmazt. Tamás tagsági foka a többé-kevésbé magas emberek körében megnövekszik: 0,93 lesz Még egy teljesebb példaként tekintsük a következő halmazt: magas emberek = {0/150, 0,33/160, 0,50/165, 0,66/170, 1/180}. Ebből a tagsági fokok négyzetre emelésével kapjuk: nagyon magas emberek = {0/150, 0,11/160, 0,25/165, 0,44/170, 1/180}. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 86 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 87 ► 5.4 Műveletek a fuzzi halmazok között A fuzzi halmazok között is definiálhatjuk az éles halmazokra vonatkozó lehetséges műveleteket. Ezek között a legfontosabbak: a komplemens-képzés (inverzió), a közös rész képzése (interszekció), valamint az egyesítés (unió). A definíciók a következők: Komplemens Jelölése: aposztróf (’) a halmaz azonosítóján. Egy A fuzzi halmaz

komplemense az A’ halmaz, amelynek x elemeire az m(x⏐A’) = 1 − m(x⏐A) összefüggés teljesül. Ha például A = {0/12, 0,25/18, 0,40/ 21, 1/25}, akkor A’ = {1/12, 0,75/18, 0,60/ 21, 0/25} lesz. Interszekció (metszet) Jelölése: ∩. Egy A és B fuzzi halmaz interszekciója az a halmaz, amelynek elemeire az m(x⏐A ∩ B) = min [m(x⏐A), m(x⏐B)] összefüggés teljesül. A képletben a min operátor a szögletes zárójelben felsorolt értékek közül a legkisebbet választja ki. Ha például A = {0/12, 0,25/18, 0,40/ 21, 1/25}, B = {0,30/12, 0,10/18, 0,36/ 21, 1/25}, akkor A ∩ B = A = {0/12, 0,10/18, 0,36/ 21, 1/25}. Unió Jelölése: ∪. Egy A és B fuzzi halmaz uniója az a halmaz, amelynek elemeire az m(x⏐A ∪ B) = max [m(x⏐A), m(x⏐B)] összefüggés teljesül. A képletben a max operátor a szögletes zárójelben felsorolt értékek közül a legnagyobbat választja ki. Az előbbi két halmazzal: A ∪ B = {0,30/12, 0,25/18, 0,40/ 21, 1/25}. A

dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 87 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 88 ► Mindehhez még a következő megjegyzéseket fűzzük: • Az éles halmazok ezekben a műveletekben is a fuzzi halmazok speciális eseteként kezelhetők, a 0 és 1 tagsági értékekkel számolva. • A klasszikus halmazműveleti axiómák és a belőlük levezethető azonosságok a fuzzi halmazokra is maradéktalanul érvényesek. Ilyen például a disztributivitási axióma: A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C), A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C). Ugyanígy teljesül az ismert De Morgan-azonosság is: (A ∪ B)’ = A’ ∩ B’, (A ∩ B)’ = A’ ∪ B’. Mint tudjuk, a halmazműveletek és a Boole-algebrai műveletek között egyegy értelmű megfelelés áll fenn, miszerint a komplemensképzésnek a logikai inverzió (NOT), az

interszekciónak a logikai ÉS (AND), az uniónak pedig a logikai VAGY (OR) művelet felel meg. Ezek után a disztributivitási axiómára a következő példa hozható: Legyen A a magas emberek halmaza, és B az alacsony emberek halmaza, és C az átlagos emberek halmaza Ezzel az axióma az alábbiak szerint érvényesül: magas emberek OR (alacsony emberek AND átlagos emberek) = (magas emberek OR alacsony emberek) AND (magas emberek OR átlagos emberek), magas emberek AND (alacsony emberek OR átlagos emberek) = (magas emberek AND alacsony emberek) OR (magas emberek AND átlagos emberek). Ugyanilyen módon, a De Morgan-azonosság érvényesülésére felhozható példa: NOT (magas emberek OR alacsony emberek) = NOT magas emberek AND NOT alacsony emberek, NOT (magas emberek AND alacsony emberek) = NOT magas emberek OR NOT alacsony emberek. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 88 ► Szakértői rendszerek A dokumentum használata |

Tartalomjegyzék | Felhasznált irodalom Fuzzi rendszerek Vissza ◄ 89 ► 5.5 Fuzzi szabályok használata Lotfi Zadeh 1973-ban publikálta azt a fontos cikkét, amelyben az emberi tudásnak fuzzi szabályokban való megjelenítését írta le. A következőkben ezzel a kérdéssel foglakozunk. 5.51 A fuzzi szabályok definiálása Egy fuzzi szabály feltételes állításként definiálható, a következő formában: IF x az A THEN y az B, ahol x és y nyelvi változók, A, ill. B pedig nyelvi értékek halmazai, melyek az X, ill. Y univerzális halmazokból származnak rendre A továbbiakban az x feltételt a szabály előzményének, az y konklúziót pedig a szabály következményének is fogjuk nevezni. A másik szóhasználat, amivel még fogunk élni, az a szabály bemenete (az előzmény), ill. a kimenete (a következmény) A klasszikus szabályok és a fuzzi szabályok közötti különbséget a következőképpen érzékelhetjük, egy-egy példán keresztül: A

klasszikus IF-THEN szabály bináris logikát használ: 1. szabály: IF a sebesség > 100 THEN a féktávolság hosszú. 2. szabály: IF a sebesség < 40 THEN a féktávolság rövid. Azt kiköthetjük, hogy a sebesség nevű változó bármilyen numerikus értéket felvehet 0 és 220 km/óra között, viszont a féktávolság nevű változó csak a hosszú, vagy a rövid értéket veheti fel, a bináris (fekete-fehér, igen-nem) Boole-logikai döntéstől függően. A féktávolságra vonatkozó szabályokat azonban kifejezhetjük fuzzi alakban is: 1. szabály: IF a sebesség gyors THEN a féktávolság hosszú. 2. szabály: IF a sebesség alacsony THEN a féktávolság rövid. Itt a sebesség nevű nyelvi változó szintén felveheti a 0−220 km/óra sávba eső értékeket, de ez a sáv most fuzzi halmazokat is magába foglalhat, mint például lassú, közepes, gyors, vagy nagyon gyors. Az univerzális halmaz a féktávolság nevű nyelvi változóra nézve álljon a 0 és

300 méter közötti értékekből Ebben a tartományban is ki tudunk jelölni fuzzi halmazokat, mint például rövid, közepes, ill. hosszú A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 89 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Fuzzi rendszerek Vissza ◄ 90 ► Mint látható volt, a fuzzi szabályok valójában fuzzi halmazok közötti relációkat fogalmaznak meg. Ezek a relációk a klasszikus bináris szabályok sokaságát tudják magukban egyesíteni. A gyakorlati tapasztalatok azt mutatják, hogy ezáltal legalább 90%-kal csökkentik a normál szabályok számát 5.52 A fuzzi szabályok felhasználása A következtetési folyamatokban a fuzzi szabályokat nem tudjuk olyan egyértelműen, olyan „élesen” feldolgozni, mint a normál szabályokat. Ez a helyzet természetszerűleg a szabályok „fuzziságából” adódik. A klasszikus szabályalapú rendszerekben, ha

egy szabály IF-része igaz, akkor a THENrésze is igaz lesz, vagyis a szabály tüzelni fog. Egy fuzzi rendszerben viszont egy szabály IF-része egy fuzzi állítás, amire nem lehet biztosan kijelenteni, hogy a szabály tüzel, de azt sem, hogy nem tüzel. Ami megállapítható, az mindössze annyi, hogy a szabály bizonyos mértékig tüzel, vagy más szóval, részlegesen tüzel. Pontosabban fogalmazva: Egy szabály IF-része olyan mértékben igaz, amennyi az IFrész tartalmának tagsági foka. Erre vonatkozóan a szabály THEN-részére azt a megoldást szokás alkalmazni, hogy az ugyanolyan mértékben legyen igaz, mint az IF-rész. Ez az elv tehát úgy értendő, hogy egy szabály következményének a tagsági foka közvetlenül becsülhető az előzmény (előfeltétel) tagsági fokából Vagyis: Amilyen mértékben igaz egy szabály bemenete, olyan mértékben tekintjük igaznak a szabály kimenetét A fuzzi következtetés ilyen módon történő kivitelezését a monoton

kiválasztás módszerének (monotonic selection) nevezik. Példaként tekintsük a következő két halmazt: magas emberek (cm) = {0/155, 0,25/162, 0,50/165, 0,75/187, 1/190}, súlyos emberek (kg) = {0/65, 0,20/70, 0,35/80, 0,75/95, 0,85/100, 1/120}. A két halmaz alapot ad arra, hogy egy súlybecslési modellt állítsunk fel, amely kapcsolatot teremt egy ember magassága és súlya között. Ehhez a következő fuzzi szabály alkalmazható: IF a magasság magas THEN a súly nehéz Ha az első (előzmény) halmazból a 0,75/187 elemet választjuk, akkor a 0,75-ös tagsági fok vonatkozik a második (következmény) halmazra, aminek a 0,75/95 elem felel meg. Így a 187 cm-es magasságnak a 95 kg-os A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 90 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 91 ► súly felel meg. Mondható tehát, hogy amilyen mértékben

tartozik az első halmazba a 187 cm-es egyén, olyan mértékben is fog a második halmazba tartozni 95 kg-os súllyal. Ha az első halmaz elemének tagsági fokához nem lenne azonos tagsági fokú elem a második halmazban, akkor abban lineáris interpolációval (közbeiktatással) kereshetjük ki a megfelelő értékpárt. Ez jelenti ugyanis a monoton kiválasztás módszerének alkalmazását. Például: a 0,50/165-höz közelítőleg a 0,50/86 értékpár tartozik. Ha a két halmaz folytonos függvénnyel lenne megadva, akkor az elsőnél kiválasztott bármelyik függvényértékhez a másodiknál ugyanazt az értéket kell keresni, és ahhoz meghatározni az abszcissza értékét. Ezt a meghatározási módot az 5.4 ábra szemlélteti magas embe1 tagsági súlyos embe1 tagsági 0 0 cm 5.4 ábra A monoton kiválasztás megvalósítása kg 5.53 Többösszetevős szabályok Egy fuzzi szabály feltételi része egynél több összetevőt is tartalmazhat, amelyeket a három

Boole-operátor (AND, OR, NOT) valamelyike kapcsol össze. Például: IF a projekt időtartama hosszú AND a projekt személyzete nagy AND a projekt költségvetése nem megfelelő THEN a kockázat magas. IF a kiszolgálás kitűnő OR az étel finom THEN a borravaló nagy. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 91 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 92 ► Ilyenkor az IF-rész kiértékelése úgy történik, hogy a fuzzi halmazok közötti szükséges műveleteket végezzük el. A fenti esetekben az AND-nak megfelelő interszekciót, ill. az OR-nak megfelelő uniót Ahol NOT művelet fordulna elő, arra a komplemens-képzés vonatkozna 5.54 A szabályok és a számértékek viszonya Általánosan véve, egy fuzzi szakértői rendszer egynél jóval több szabályt foglal magában, amelyek a szaktudást hordozzák, és egymással

összefüggésben érvényesül a hatásuk. Mindegyik szabály következménye, kimenete egy fuzzi halmaz. A következtetési folyamatok ezeknek a kimeneti halmazoknak a megfelelő egybedolgozásával járnak A folyamatban egy szabály kimeneti halmaza egy másik szabály bemeneti halmaza is lehet. Végeredményül annyi eredő kimeneti halmazt fogunk kapni, amennyire az adott problémát megoldó szakértői rendszer fel van készítve. Az esetek többségében azonban csak egyetlen fuzzi halmaz előállítása a cél Ez a halmaz a végső következtetést foglalja magban. Ami a végső kimenetet illeti, egy szakértői rendszertől többnyire konkrét számszerű eredményt várunk el. Másként fogalmazva: A felhasználónak pontos, vagyis számszerű, éles megoldásra van szüksége, nem pedig egy fuzzira. Ezért arra van szükség, hogy egy kapott halmazból egyetlen egy számértéket származtassunk le. Hasonlóképpen, a felhasználásból származó bemenetei adatok is

számszerű, éles adatok, amelyeket viszont fuzzi adatokká kell konvertálni ahhoz, hogy a fuzzi következtetési folyamtokba be lehessen vinni őket. Ezt az információs folyamatot az 5.5 ábra szemlélteti Valós (éles) bemeneti adatok Valós (éles) kimeneti adatok Fuzzi szakértői rendszer: Fuzzi adatok 5.5 ábra Egy fuzzi rendszer információs folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 92 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Fuzzi rendszerek Vissza ◄ 93 ► A következő alpontban a fuzzi következtetések végrehajtásának menetével foglalkozunk. 5.6 A fuzzi következtetések folyamata A fuzzi következtetési folyamatokat úgy foghatjuk fel, mint a rendelkezésre álló bemeneti adatok leképezését kimeneti adatokká, ahol a leképezésben a fuzzi halmazok elméletét használjuk fel. Ebben az alpontban két számítási megoldást fogunk

ismertetni erre vonatkozóan: a Mamdani-féle módszert, valamint a Sugeno-féle módszert. 5.61 A Mamdani-féle következtetés A legelterjedtebben használt következtetési módszert Ebrahim Mamdani dolgozta ki 1975-ben, a Londoni Egyetemen. Itt készült el az ő irányításával az egyik első fuzzi rendszer, amely egy gőzgép szabályozására szolgált A Mamdani-féle következtetési folyamat négy lépésben hajtandó végre: 1. A bemeneti változók fuzzi értékekkel való ellátása: az ún fuzzisítás (fuzzification). 2. A szabályok kiértékelése 3. A szabályok kimeneteinek összesítése, aggregálása 4. A fuzzi értékek valós kimeneti értékké alakítása: az ún fuzzitlanítás (defuzzification). Hogy lássuk, miként működik ez a szisztéma, egy olyan példát mutatunk be, amelyben két bemenet és egy kimenet fordul elő, ahol három szabály áll rendelkezésre. Ezek a szabályok a következők: 1. szabály: IF x az A3 IF a projekt finanszírozása

megfelelő OR y az B1 OR a projekt személyzete kis létszámú THEN z az C1. THEN a kockázat alacsony. 2. szabály: IF x az A2 IF a projekt finanszírozása közepes AND y az B2 AND a projekt személyzete nagy létszámú THEN z az C2. THEN a kockázat normális. 3. szabály: IF x az A1 IF a projekt finanszírozása nem megfelelő THEN z az C3. THEN a kockázat magas. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 93 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 94 ► A példában x és y a két bemeneti változó, z pedig a kimeneti változó (5.6 ábra). x y z Fuzzi szakértői rendszer 5.6 ábra A feladat változóinak viszonya Az x, y és z változók nyelvi változók is egyúttal, míg az A, B és C jelű fuzzi halmazok nyelvi értékeket tartalmaznak. Kiindulásként mindegyik halmaz rendelkezésre áll, meghatározásuk a feladat megoldásában

közreműködő szakértőktől származik. Az egyes halmazok elemeinek számszerű értéksávját egyaránt 0 és 100 közé esőnek vesszük Ezáltal a nyelvi értékek egy 100-as skálán fognak érvényesülni, különböző erősséggel. Mindegyik halmaz egy geometriai alakzatot képvisel, trapéz, ill háromszög formájában A pontos geometriai megadás helyett a szóban forgó nyolc halmazt illesztő vektorokkal fogjuk leírni. Ez az információvesztés a számítások bemutatása szempontjából elhanyagolható A halmazok a következők: A1 = {1/0, 1/25, 0,5/35, 0/60} A2 = {0/20, 0,2/35, 0,4/60, 0/70} A3 = {0/35, 0,7/60, 1/70, 1/100} B1 = {1/0, 1/20, 0,1/60, 0/70} B2 = {0/30, 0,5/50, 0,7/60, 1/100} C1 = {1/0, 1/10, 0,5/20, 0/30} C2 = {0/20, 0,5/30, 1/40, 1/50, 0,5/60, 0/70} C3 = {0/60, 0,33/70, 0,66/80, 1/90, 1/100} A feladat abban áll, hogy a projekt finanszírozása, valamint a projekt személyzete fuzzi ismeretében meghatározzuk a projektben rejlő fuzzi kockázatot. A

Mamdani-módszer számításai az alábbi lépésekben mennek végbe: 1. lépés Fuzzisítás Kiindulásként arra van szükségünk, hogy az x-re és y-ra egy-egy éles érték álljon rendelkezésünkre. Ha ez megvan, akkor azt kell meghatároznunk, hogy ez a két érték milyen tagsági fokon tartozik a megfelelő fuzzi halmazokhoz. A fuzzisítás tehát erre a két éles értékre megy végbe A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 94 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 95 ► Az x-re és y-ra vonatkozó értéktartományt, valamint az ezen belüli konkrét értéket a szakértőktől tudjuk megkapni. Esetünkben ennél a pontnál a százalékos skála már rendelkezésre áll a kiindulási halmazokkal, így a szakértőnek azt kell megbecsülnie, hogy az adott projektben hány százalékos mértékben fogadható el a finanszírozás, ill. a

meglevő személyzet Ezek lesznek az éles bemeneti értékek, amelyek a konkrét projektre vonatkoznak. Legyen a szakértői álláspont a példánkban a következő: x = 35%, y = 60%. Ezek az értékek természetesen több szakértővel való konzultációból is kiadódhattak. A becslésre itt azért volt szükség, mert nem mérhető értékekről volt szó Nagyon sok esetben mérhető értékekkel van dolgunk, például súly, hőmérséklet, nyomás, sebesség stb., amikor is kisebb a jelentősége a szakértői tanácsnak Az x = 35 érték az A1 halmazban a 0,5/35 elemet jelöli ki, az A2-ben a 0,2/35-öt, az A3-ban pedig a 0/35-öt. Az y = 60 érték a B1 halmazban a 0,1/60 elemet jelöli ki, a B2 halmazban pedig a 0,7/60-at. Így megkaptuk a két érték tagsági fokát a hozzájuk tartozó halmazokban, s ezzel a fuzzisítás megtörtént. 2. lépés A szabályok kiértékelése A következő lépés a fuzzisított inputok felhasználása a szabályok előzményeiben, vagyis

az IF-részeiben. Ahol több előzmény van, ott a fuzzi AND, ill. OR műveletet hajtjuk végre, aminek az interszekció, ill az unió felel meg. Itt fontos megjegyezni, hogy Mamdani módszerében a kiértékelés eredménye mindig csak egyetlen számérték, ami egyedül csak az előzmények tagsági fokaiból vezethető le, az eredő tagsági fokot adva ki. Ez az érték fogja majd befolyásolni a következmény, vagyis a THEN-rész elemeinek tagsági fokát. Az 1. szabálynál az unió műveletét kell elvégeznünk Mint láttuk, az éles értékekből való kiindulás az A3 és B1 halmazokban csak egyetlen elemet jelölt ki, amivel számolnunk kell. A3-ban a 0/35-öt, B1-ben pedig a 0,1/60-at. Az unió műveletét tehát egyedül csak a tagsági fokokra nézve hajtjuk végre. Az M1-gyel jelölt eredmény az eredő tagsági fok értéke lesz: M1 = max [m(x|A3), m(y|B1)] = max [0, 0,1] = 0,1. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 95 ►

Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 96 ► A kapott M1 számérték egyúttal az előzmény igazságértékének a szintjét is kifejezi. Korábban már volt róla szó, hogy a fuzzi előzmény igazságszintjét visszük át a fuzzi következményre is Ennek megfelelően a következtetési eljárásban ugyanerre a szintre fogjuk levágni a THEN-rész igazságértékét Ez abban nyilvánul meg, hogy a THEN-rész halmazában található összes elem tagsági fokát erre az M1 értékre csökkentjük le, ha az nagyobb volt M1-nél. Amelyik kisebb volt M1-nél, azt nem változtatjuk meg. Az itt leírt eljárást levágásnak vagy lemetszésnek (clipping) nevezzük Mivel a tagsági függvény teteje lemetsződik, ezáltal az eredeti fuzzi halmaz valamennyi információt veszíteni fog. Mindazonáltal a levágást elterjedten alkalmazzák, mivel a veszteség egyrészt nem számottevő, másrészt

pedig kevésbé bonyolult és gyorsabb matematikát lehet így felhasználni. A másik jól bevált megoldás az ún. skálázás (scaling), ami már jobban megőrzi a fuzzi halmaz alakját, ezáltal kevesebb információveszteséggel jár. Ebben az eljárásban az előzményből kapott igazságértékkel (lásd M1-et) megszorozzuk mindegyik tagsági értéket. A példában a levágás alkalmazásával C1-ből a következő halmaz áll elő: C1(V) = {0,1/0, 0,1/10, 0,1/20, 0/30}. Ha a skálázást alkalmaztuk volna, akkor az eredmény C1(S) = {0,1/0, 0,1/10, 0,05/20, 0/30} lenne. A 2. szabálynál az interszekció műveletét szintén csak a tagsági fokokra nézve végezzük el: M2 = min [m(x|A2), m(y|B2)] = min [0,2, 0,7] = 0,2. Az M2 értékszint a C2-ben fog levágást eredményezni: C2(V) = {0/20, 0,2/30, 0,2/40, 0,2/50, 0,2/60, 0/70}. A 3. szabálynál nincs szükség halmazműveletre Az előzmény (IF-rész) tagsági foka M3 = m(x|A1) = 0,5, ezért a C3-ból az M3 szintű

levágás után kapjuk: C3(V) = {0/60, 0,33/70, 0,5/80, 0,5/90, 0,5/100}. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 96 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Fuzzi rendszerek Vissza ◄ 97 ► 3. lépés A szabálykimenetek aggregálása Az aggregálás az a folyamat, amelyben egyesítjük az összes szabály kimeneti eredményét. Más szavakkal, vesszük az összes szabálykövetkezmény levágott (vagy skálázott) tagsági függvényét, majd azokat egyetlen fuzzi halmazba kombináljuk, mégpedig az uniójuk képzésével. Ily módon az aggregációs folyamat bemenete az egyes következmények tagsági függvénye, míg a kimenet egy fuzzi halmaz. Az itt vázolt aggregálást mindegyik kimeneti változóra vonatkozóan, külön-külön el kell végezni A példánkban csak egy kimeneti változó van, a z nyelvi változó. Erre a három levágott kimeneti halmaz egyesítésével

a következőt kapjuk: C(V) = C1(V) ∪ C2(V) ∪ C3(V) = = {0,1/0, 0,1/10, 0,1/20, 0,2/30, 0,2/40, 0,2/50, 0,2/60, 0,33/70, 0,5/80, 0,5/90, 0,5/100}. 4. lépés Fuzzitlanítás A következtetési folyamat utolsó lépése a fuzzitlanítás. A fuzzi állapot valójában segít a szabályok kiértékelésében, viszont egy fuzzi rendszer végső kimenete legtöbbször csak éles szám lehet, mert azt tudjuk jól felhasználni. A fuzzitlanítás bemenete az aggregált kimeneti halmaz, míg a kimenete csak egyetlen számérték. Ez annyi halmazra vonatkozik, amenynyi különböző aggregált halmazt kell számértékbe leképezni Számos értékkonvertáló módszer létezik, de a legelterjedtebb minden bizonnyal az ún. centroid eljárás (centroid techique) Ezzel azt a pontot találjuk meg a vízszintes tengelyen, amelyen keresztül haladó függőleges vonal két egyenlő tömegű részre vágja szét az aggregált halmazt. A szétvágási pont abszcissza-értéke az ún. súlypont

(center of gravity, -COG), ami nem más mint az általunk keresett számérték. A COG kiszámítása folytonos függvényre nézve integrálképzéssel végezhető el. Egy fuzzi szakértői rendszer is dolgozhat folytonos tagsági függvénnyel, számítási szempontból azonban általában előnyösebb diszkrét mintavételi értékekkel operálni. (Az információveszteség ugyanis legtöbbször kisebb értékű, mint a számítási ráfordításban jelentkező veszteség) A súlypont értékének közelítő számítása egy adott A fuzzi halmazra az x mintavételi pontok tagsági függvényértékeivel, az a és b pont közötti intervallumban, a következő képlettel végezhető el: A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 97 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 98 ► b COG( A ) = ∑ m(x⏐A ) ⋅ x x =a (5.1) b ∑ m(x⏐A ) x =a Az

(5.1) képlethez még annyi kiegészítést fűzünk, hogy folytonos m(x⏐A) tagsági függvény esetén a szummáció a-tól b-ig terjedő határozott integrálba megy át, az alábbi (5.2) képlet szerint: b COG( AG ) = ∫ m( x⏐A ) ⋅ x ⋅ dx a (5.2) b ∫ m( x⏐A ) ⋅ dx a Szemléltető példaként tekintsük az 5.7 ábra felvett A halmazát, és számítsuk ki rá a COG értékét, a 40-től 80-ig terjedő teljes tartományban Az abszcisszán az osztás 5-ös szélességű szakaszokból áll. m(x|A) 1 A 0,8 0,6 0,4 0 x 40 50 70 60 80 61,14 5.7 ábra Egy fuzzi halmaz súlypontja A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 98 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Fuzzi rendszerek Vissza ◄ 99 ► COG( A ) = 40 ⋅ 0 + ( 45 + 50 ) ⋅ 0,4 + ( 55 + 60 + 65 ) ⋅ 0,8 + ( 70 + 75 ) ⋅ 0,6 + 80 ⋅ 0 = 0 + 0,4 + 0,4 + 0,8 + 0,8 + 0,8 + 0,6 + 0,6 + 0 38 + 144 +

87 269 = = 61,14 = 0,8 + 2,4 + 1, 2 4 ,4 Az eredeti példánkban eredményül kapott C(V) fuzzi halmaz súlypontját a halmaz diszkrét elemeinek felhasználásával számítjuk ki, az (5.1) képlet alapján Ezek az elemek a tagsági függvény mintavételi pontjait képviselik, az illesztő vektort képezve Az abszcisszán az osztás 10-es szélességű szakaszokból áll. A számítások adatai és eredménye: COG( C( V )) = ( 0 + 10 + 20) ⋅ 0,1 + ( 30 + 40 + 50 + 60) ⋅ 0,2 + 70 ⋅ 0,33 + (80 + 90 + 100) ⋅ 0,5 = = 0,1 + 0,1 + 0,1 + 0,2 + 0,2 + 0,2 + 0,2 + 0,33 + 0,5 + 0,5 + 0,5 30 ⋅ 0,1 + 180 ⋅ 0,2 + 70 ⋅ 0,33 + 270 ⋅ 0,5 197 = = 67, 24 = 0,3 + 0,8 + 0,33 + 1,5 2,93 Tehát a z változóra kapott eredmény éles értéke 67,24. Ez azt jelenti, hogy a projektben a várható kockázat 67,24 százalékos, ami valójában kérdésessé teszi a kivitelezést. 5.62 A Sugeno-féle következtetés Mint láttuk a fentiekben, a Mamdani-féle következtetésben arra van

szükség, hogy megtaláljuk egy kétdimenziós alakzat centrumát. Folytonos függvénynél ilyenkor integrálást kell végezni, ami általában kevésbé hatékony számításokkal jár. A számítások jelentős egyszerűsítését érhetjük el azzal a módszerrel, amit Michio Sugeno japán professzor dolgozott ki 1985-ben. Az általa javasolt megoldásban egy szabálykövetkezmény tagsági függvénye csak egyetlen értéket vesz fel. Ez az érték egy matematikai függvény szerint számítható ki, amely függvény a szabály bemeneti változóitól függ Például, az IF x az A AND y az B THEN z az f(x, y) szabály esetében az f(x, y) függvény aktuális értéke határozandó meg. Az így kiszámított érték tagsági foka a Sugeno-féle értelmezésben mindig ponto- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 99 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom

Vissza ◄ 100 ► san egységnyi. Az f(x, y) függvény megadási módjával itt nem foglalkozunk A leggyakrabban alkalmazott Sugeno-modellben az f(x, y) = k megoldás szerepel, ahol k egy konstans érték. Ebben az esetben mindegyik fuzzi szabály kimenete konstans, egyaránt 1-es tagsági értékkel. Más szavakkal, mindegyik kimeneti tagsági függvényt egyetlen konstans érték képvisel, 1-es tagsági fokkal. Sugeno számítási módszere szerint, a példánkban szereplő három szabály kimenetéhez tartozó értékek rendre: k1 = 20, k2 = 50, k3 = 80. A három érték tulajdonképpen a C1, C2 és C3 halmazok fuzzitlanított helyettesítő értékei. A halmazok e három értékben koncentrálódnak, egységnyi tagsági fokkal Mindezek után az aggregálásban csak ezekkel a konstansokkal kell számolnunk. A szabályok IF-részeinek feldolgozása változatlanul követi Mamdani módszerét. Az IF-részekből kapott tagsági fokok most viszont úgy érvényesülnek, hogy a

kimeneti halmazban levő konstans tagsági fokát 1-ről a saját értékükre csökkentik. Ez pontosan ugyanaz a levágási művelet, ami a Mamdani-módszerben is szerepelt, azzal az eltéréssel, hogy csak egyetlen halmazelemre kell végrehajtani. Eszerint tehát a három kimeneti halmaz a levágás után a következő lesz: C1(V) = {M1 / k1} = {0,1/20}, C2(V) = {M2 / k2} = {0,2/50}, C3(V) = {M3 / k3} = {0,5/80}. Mindezek után már kiszámíthatjuk a végeredményt, vagyis a három egyesített halmaz súlypontját. A számítások most is az (51) képlet szerint történnek, azzal, hogy a képlet leegyszerűsödik, mivel csak a konstansok által kijelölt pontokon, vagyis k1-nél, k2-nél és k3-nál kell számolni. COG( C( V )) = = k1 ⋅ M1 + k 2 ⋅ M 2 + k 3 ⋅ M 3 M1 + M 2 + M 3 20 ⋅ 0,1 + 50 ⋅ 0, 2 + 80 ⋅ 0,5 52 = = 65 0,1 + 0, 2 + 0,5 0,8 A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 100 ► Szakértői rendszerek A

dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Fuzzi rendszerek Vissza ◄ 101 ► Mint látható, a legegyszerűbb Sugeno-modell is elegendőnek bizonyult az adott probléma által támasztott igényekhez, mivel az eredmény alig tér el a Mamdani-modellétől. A gyakorlati tapasztalatok is azt mutatják, hogy igen sok esetben is elegendő az egy kimeneti értékben koncentrált halmazokat felhasználni. Kétségtelen, hogy a Sugeno-módszer jóval kevesebb számítási ráfordítást igényel a Mamdani-féle megközelítéshez képest, ugyanakkor jól bevált az olyan feladatok esetében, amelyek a szabályozástechnikához kapcsolódnak, különösen a dinamikus nemlineáris rendszereknél. 5.7 A fuzzi szakértői rendszerek létrehozása Egy fuzzi szakértői rendszer kifejlesztése tipikusan a következő lépéseket foglalja magában: 1. A probléma specifikálása, és a nyelvi változók definiálása 2. A fuzzi halmazok meghatározása 3. A fuzzi

szabályok kijelölése és megkonstruálása 4. A fuzzi halmazok, a fuzzi szabályok és a szükséges procedúrák számítógépi programjainak a megírása 5. A rendszer kiértékelése és behangolása (tuning) A következőkben röviden áttekintjük az egyes lépések tartalmát. Az első, és valószínűleg a legfontosabb teendő a probléma átlátása és specifikálása. Mindezt a tudástechnológia által igényelt megközelítésben kell végigvinnünk. Ez azt jelenti, hogy meg kell határoznunk a feladat öszszes input és output változóit, valamint az egyes változók értéktartományát A gyakorlatban a nyelvi változókat, a nyelvi értékeket, valamint azok tartományát az adott szakterületen járatos szakértők tudják kijelölni. A fuzzi halmazok meghatározásakor lehet valamilyen folytonos függvényt választani, ez azonban nagymértékben növeli a számítási mennyiséget. Igen gyakran elegendőnek bizonyul a szaktudás adekvát megjelenítésére, ha

egyenes szakaszokkal határolt alakzatokat választunk, mint például a trapézt vagy a háromszöget. Ezzel a számítási folyamatok is jelentősen leegyszerűsödnek. A közelítő geometriai alakzatok alkalmazásakor ügyelni kell arra, hogy a szomszédos fuzzi halmazok között elegendő átlapolás legyen, annak érdekében, hogy a rendszer egyenletesen sima válaszokkal tudjon működni. Szemléltető példaként szolgál erre az 58 ábra, amely három összefüggő halmazt mutat be (A1, A2, A3), azok formáját és elrendezését ábrázolva. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 101 ► Szakértői rendszerek Fuzzi rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 102 ► m(x|A1) m(x|A2) m(x|A3) 1 A1 A2 A3 0 x 5.8 ábra Egy fuzzi halmazcsoport geometriai alakzatai A következő fázis a szabályok meghatározása. Ennek a feladatnak a megoldásához érdemes felkérni a

szakértőt, hogy írja le, milyen módon kell felhasználni a korábban definiált nyelvi változókat. A szükséges tudás öszszegyűjtéséhez más forrást is fel lehet használni, mint például könyveket, számítógépes adatbázisokat, kutatási eredményeket, folyamatábrákat stb. A halmazok és a szabályok meghatározása után a fuzzi szakértői rendszer számítógépes megvalósítása következik. Ebben a fázisban kell megírni azokat a programokat, amelyek az összes szükséges számítási folyamatot hajtják végre a halmazokon, a szabályok felhasználásával Itt az egyik járható út az, amikor valamelyik programozási nyelvet választjuk, és ezen írjuk meg a programokat. A fejlesztők körében elterjedten alkalmazzák a C, C++ és Java nyelveket. A másik lehetséges út egy meglevő fejlesztési segédeszköz igénybevétele. Ilyen például a MATLAB Fuzzy Logic Toolbox, amely a MathWorks amerikai cég terméke. Egy másik termék a Fuzzy Knowledge

Builder, a Fuzzy Systems Engineering cégtől (szintén amerikai). Ezek az eszközök a gyorsabb megvalósítást segítik elő, végső soron a fejlesztés megkönnyítésére szolgálnak. Mindehhez komplett környezetet biztosítanak, ami egyaránt szolgálja a rendszer megépítését és tesztelését is A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 102 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Fuzzi rendszerek Vissza ◄ 103 ► A MATLAB Toolbox például öt különböző grafikus editorral rendelkezik: a fuzzi következtetési editor, a szabály-editor, a tagsági függvény editora, a fuzzi következtetések megjelenítője (viewer), valamint a kimeneti felületek megjelenítője. Ezek a komponensek egymással összefüggésben, integráltan tudnak működni. Egy ilyen eszköz használata viszonylag könynyen elsajátítható, és alkalmas arra is, hogy kezdő fejlesztők is jól

tudjanak vele boldogulni. A legutolsó fázis az elkészített rendszer kiértékelése és behangolása, ami az öt közül a legtöbb munkával járó feladat. Azt akarjuk ilyenkor látni, hogy a szoftverünk minden tekintetben teljesíti-e azokat a követelményeket, amelyeket a kezdetkor specifikáltunk. Ehhez olyan tesztek sorozatát kell végrehajtanunk, amelyekkel megállapíthatjuk a működési teljesítményt, az eredmények használhatóságát, a következtetési folyamatok konzisztenciáját, ill. azt is, hogy milyen hibák adódnak ki A talált működési hibákat ki kell javítani, ki kell küszöbölni. A további munkaráfordítások kiterjedhetnek a hatékonyság növelésére, valamint arra is, hogy további funkciókkal bővítsük ki a rendszerünket. Ebben a folyamatban szükség lehet a halmazok és a szabályok módosítására, beleértve a tagsági fokok változtatását, valamint arra is, hogy új halmazokat, ill. új szabályokat vezessünk be Mindezek a

tevékenységek már a behangolás részét képezik. A hangoláshoz tartozik a különböző paraméter-beállítások kipróbálása és összehasonlítása azzal a céllal, hogy a sok közül a legmegfelelőbb változatot lehessen elfogadni. Mindent összevéve, az utolsó fázisról megállapíthatjuk, hogy az alapvetően egy hosszabb iteratív folyamat, amely végső soron a működőképesség optimumának elérését szolgálja. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 103 ► Szakértői rendszerek Keretalapú reprezentáció (frame) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 104 ► 6. Keretalapú reprezentáció (frame) 6.1 Bevezetés A keretalapú reprezentációt Alan Minsky használta először a látás egy pszichológiai modelljének leírására a 70-es évek közepén. Elmélete szerint magunk körül objektumokat látunk, amelyeknek különböző tulajdonságaik vannak. Agyunk

ezeket az objektumokat észleli és dolgozza fel A keret egy-egy ilyen objektumot, tehát a világ egy fizikai vagy fogalmi entitását, egyedét írja le. Az egyes keretek a reprezentáció egységei, amelyek – ahogy a minket körülvevő világ objektumai is – egymásra hivatkoznak, egymásból származnak, részei egymásnak, és így állnak össze keretalapú rendszerré. Vegyünk egy példát: ha körülnézünk a szobában, láthatunk különböző bútorokat, amelyeknek vannak közös és egymástól eltérő tulajdonságaik. Minden egyes bútordarab egy-egy kézzelfogható objektum (asztal, szék, sámli), az összes bútor viszont alkot egy absztrakt csoportot a közös tulajdonságaik alapján (pl. szín, anyag, funkció) Ezeket az objektumokat és objektumcsoportokat reprezentálják a keretek, amelyekből felépíthetjük a szakértői rendszer számára szükséges világot. A keret egy olyan adatszerkezet, amely tipikus tudást tartalmaz egy bizonyos objektumról

vagy fogalomról. A szabályalapú reprezentációval szemben a keretek a tudást rendszerezetten és csoportosítva tartalmazzák. Az a tény, hogy egy keret egy egységben tartalmazza az objektumra vagy gondolatra jellemző összes szükséges tudást, megkönnyíti és így felgyorsítja a keresést és következtetést A keretalapú reprezentációt úgy is tekinthetjük, mint egyfajta objektum-orientált programozást szakértői rendszereknél, mivel az objektumorientált programozás ihletője éppen a keret alapú reprezentáció. Bár a keret elnevezés, amelyet a tudásmérnökök az objektum megnevezésére használnak, előbb keletkezett, ez mégis csak a MI-ban használt fogalom maradt. Mára a keret és objektum már szinonimaként használható A kereteket egy sajátos nyelv, úgynevezett keretnyelv segítségével írjuk le Mi az objektum-orientált programozás? „Az objektum-orientált programozás egy olyan programozási módszer, amely az elemzés, tervezés és

megvalósítás alapjául objektumokat használ. Objektum-orientált programozásban az objektum lehet egy fogalom, valamilyen elvont vagy konkrét dolog, élesen meghúzott körvonalakkal és az aktuális problémára jellemző jelentéssel” (Rumbaugh et al 1991) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 104 ► Szakértői rendszerek Keretalapú reprezentáció (frame) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 105 ► Minden objektum, ahogy minden keret is, azonosítható és tisztán megkülönböztethető. Az objektumok egyesítik az adatszerkezetet és viselkedés egyetlen egyedben, a hagyományos programozással ellentétben. 6.2 Keretek, osztályok és példányok A keret alapú reprezentáció legfőbb eleme természetesen a keret, ez a reprezentáció alapja, amely egy konkrét vagy absztrakt objektum tulajdonságokkal és tulajdonság-értékekkel. A tulajdonságokat attribútumoknak

hívjuk Egy keret szintaktikája (egy egyszerű, kitalált keretnyelven): frame keretnév attribútumnév1: érték1 attribútumnév n: érték n end Nézzünk egy példát: frame madár szárnyak száma: 2 testtakaró: tollazat képesség: repülés end A keretet a neve azonosítja, belsejében pedig az attribútumok leírása található, amelyek egy-egy rekeszben (slot) vannak elhelyezve. Tehát egy rekeszben attribútum-érték párok, mutatók, szabályok vagy eljárások találhatók Általában a rekeszek tartalmazhatják a következő információt: • A keret neve • A keret kapcsolata más keretekkel • Érték, amely lehet szimbolikus (pl. egy név), numerikus (pl egy ár) vagy logikai. • Alapértelmezett érték • Értékek halmaza • Procedurális információ: démonok (ld. később) Egy keret lehet osztály-keret (class-frame), amely az objektum általános tulajdonságait tartalmazza, vagy példány-keret (instance-frame), amely már egy konkrét objektumot

reprezentál. Az osztály-keret objektumok egy A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 105 ► Szakértői rendszerek Keretalapú reprezentáció (frame) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 106 ► csoportját írja le, amelyeknek közös tulajdonságaik vannak, pl. állat, autó A példány-keret egy adott, konkrét objektum jellemzőit reprezentálja. Egy példány a problémától függően lehet pl. házi macska, vagy egy egészen konkrét példány, pl. Cili Miért van szükség osztályokra, ha egyszer vannak példányok? Mert így a problémát absztrakt formában reprezentálhatjuk, és sztereotipikus szituációkat írhatunk le. (Minsky) Általában nem arra van szükségünk, hogy egy bizonyos objektum tulajdonságait leírjuk, hanem arra, hogy az általánosan jellemző tulajdonságok segítségével megállapíthassuk, hogy egy példány mennyire ‘jó’ tagja az osztálynak,

azaz mennyire reprezentatív képviselője. Pl. a madarak tipikus, ezért lényeges jellemzője a repülés képessége Így a sast tipikusabb tagjának tartjuk a madarak osztályának, mint a struccot. Ha szeretnénk leírni a keretek között fennálló viszonyokat, néhány szabályra van szükségünk. A keretalapú reprezentációnál az osztályra úgy tekintünk, mint egy prototípusra, melynek konkrét példányát úgy kapjuk, hogy attribútumainak konkrét értéket adunk. Ez a folyamat a példányosítás Ha pedig egy osztály részhalmaza egy másik osztálynak, akkor a részhalmazt a felette levő osztály specializálásával kapjuk meg Az egyik fajta keretnyelv szerint ha egy osztály egy konkrét példányára szeretnénk hivatkozni, pl. Sanyira, a struccra, amely a strucc osztály egy példánya, azt az instance-of attribútummal fejezhetjük ki. Ha pedig egy osztály egy másik osztályból származik, akkor azt az is-a attribútummal jelölhetjük (ez egy kitalált

keretnyelv, de az angol kifejezések a leginkább elfogadottak). Egy másik keretnyelv (Leonardo keretrendszer) a class és superclass megnevezéseket használja. Azt az osztályt, amelyből egy másik osztály vagy példány származik, szülőnek, a származtatott osztályt pedig gyereknek nevezzük. Például a madár osztály származhat az állat osztályból, és így az egyik attribútuma: is-a: állat Nézzünk egy másik példát: frame Bútor instance-of: Class szín: anyag: fa end frame Asztal is-a: Bútor lábak szama: 4 end A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 106 ► Szakértői rendszerek Keretalapú reprezentáció (frame) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 107 ► frame Dohányzóasztal instance-of: Asztal szín: fekete magasság: 50 cm felület: 60 x 60 cm end A reprezentációt kiegészíthetjük ún. felületekkel (facet), amelyeket attribútumok értékének

megadására, felhasználói lekérdezések kezelésre vagy a következtető gép utasítására használhatunk, mivel nem minden attribútum értéke eleve ismert. A következtetés egyik feladata éppen az, hogy egyes célattribútumok értékét megadja, kikövetkeztesse. A következtetéshez viszont szükség lehet olyan értékekre, amelyek az adott problémánál vagy szituációnál merültek fel, tehát a felhasználó adhatja meg őket. A felületeknek három fő típusa van: Érték felület (value facet), amely egy attribútum értékét vagy alapértelmezett értékét adja meg Prompt felület (prompt facet), amely a felhasználótól várja az attribútum értékének megadását futás közben. Következtetési felület (inference facet), amely lehetővé teszi, hogy a következtetési folyamat leálljon, ha egy attribútum értéke változik. 6.3 Öröklődés Az előző példából megfigyelhetjük, hogy a keretekre jellemző az öröklődés. A származtatott osztály

és a példányok mindig öröklik a szülők tulajdonságait A kivételkezelés is hasonló a szemantikus hálókhoz: a hierarchiában lejjebb található példánynál vagy osztálynál felülírhatjuk az örökölt attribútum-értéket, tehát mindig az az érték érvényes, amely az adott példányhoz vagy osztályhoz a legközelebb van, pl. az Asztal örökli a Bútor anyag tulajdonságát (értéke: fa). Nagyon gyakran az öröklést úgy használják ki, hogy a példányok tulajdonságainak alapértelmezett értéket adnak a szülő osztályban. Előfordulhat az is, hogy a szülő osztályban csak az attribútumot határozzák meg, de nem adnak neki értéket. Így a rendszer tudhatja, hogy az objektum mindegyikére jellemző az adott tulajdonság, de ez minden példánynál vagy gyerek osztálynál más és más értéket vehet fel (Pl az Ízeltlábú osztályra jellemző a Lábak száma tulajdonság, de ez a belőle származtatott Rovar és a Pók gyerek osztálynál

különböző értéket vesz fel.) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 107 ► Szakértői rendszerek Keretalapú reprezentáció (frame) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 108 ► Az is előfordulhat, hogy a gyerek osztályban felülírjuk a szülő tulajdonságát, pl. míg a Madár osztályban a repülési képesség tulajdonság értéke igen, addig a belőle származó Strucc osztályban a repülési képesség értéke nem. Az objektumok közötti hierarchiát fával illusztrálhatjuk, amelynek a gyökere a legabsztraktabb osztály, levelei pedig a példányok (esetleg osztályok). Mivel a hierarchia természetesen többszintű lehet, az osztályok vagy példányok az összes szülő (azaz szülő, nagyszülő, dédszülő stb.) tulajdonságát öröklik Egy keretnek lehet több szülője is. Ilyenkor, mivel több ágon valósul meg az öröklődés, minden szülőnek egyedi

tulajdonságnevekkel kell rendelkeznie. A közös, de különböző értékű tulajdonságoknak a gyerek osztálynál kell szerepelniük Pl. az emberi energiával, napenergiával és elektromos energiával hajtott jármű örökli az emberi energiával hajtott jármű, a napenergiával hajtott jármű és az elektromos energiával hajtott jármű tulajdonságait. Az öröklés miatt az egyes szülőknél különbözniük kell a tulajdonságok neveinek, különben a gyereknél ellentmondás vagy zavar lép fel. Az olyan közös tulajdonságokat, mint súly és sebesség, a gyereknél tüntetjük fel Mindennek ellenére előfordulhat ellentmondás: ha egy attribútumhoz több öröklési útvonal tartozik, akkor 3 eset lehetséges: a) A rendszer ellentmondást jelez b) A rendszer megpróbálja eldönteni, hogy az egyik attribútum. tekinthető-e a többi specializációjának, ha igen, az lesz az érték c) Megadhatunk prioritást vagy alapértelmezett értéket, és akkor a rendszer azt

veszi figyelembe 6.4 A keretek közötti kapcsolatok Általánosítás (generalisation) A szülő és gyerek osztályok közötti ’egy’ (is-a) vagy ’fajta’ (a-kind-of) kapcsolatot jelöli. Pl az autó egy jármű vagy egy fajta jármű Minden gyerek osztály örökli a szülő összes tulajdonságát Aggregáció (aggregation) Olyan, ’rész-egész’ (part-whole) vagy ’része’ kapcsolatot jelöl, amelyben több gyerek osztály, amelyek komponenseket, összetevőket képviselnek, van kapcsolatban a szülővel, amely az egészet reprezentálja. Pl a motor az autó része Asszociáció (association) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 108 ► Szakértői rendszerek Keretalapú reprezentáció (frame) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 109 ► Szemantikai kapcsolatot ír le olyan osztályok között, amelyek egyébként nincsenek egymással kapcsolatban. Pl Kérges

Elemérnek van háza, autója és számítógépe, amelyek egymástól teljesen függetlenek, de Kérges Eleméren keresztül mégis szemantikus asszociációban vannak egymással. Az asszociáció az aggregációval és általánosítással ellentétben általában igékkel kifejezhető és eleve kétirányú, pl. Kérges E-nek van háza, és a ház Kérges E.-hez tartozik Előnyök és hátrányok Az öröklődés nagy előnye, hogy a kód újra felhasználható lesz. A tudásbázis elkészítőjének a feladata az, hogy csoportosítsa a hasonló objektumokat és így biztosítsa az újrafelhasználhatóságot Ezen kívül megvalósítható a fogalmi egyszerűsítés, amelyet úgy érünk el, hogy lecsökkentjük a független és specifikus jellemzők számát a szakértői rendszerben. A hátrányok a megvalósítási szakaszban jelentkeznek. Ha minden attribútum értéke korlátozás nélkül felülírható, lehetetlen lesz általánosítható megállapításokat tenni (pl. Minden

madár tud repülni) A keretalapú rendszerek általában nem tudnak különbséget tenni a lényeges tulajdonságok (amelyek ahhoz szükségesek, hogy a példány az osztály tagja lehessen), és a véletlen tulajdonságok között. A példányok öröklik a tipikus tulajdonságokat, és mivel ezek bárhol felülírhatók, lehetetlen lesz általános fogalmakat alkotni többszörös öröklődésnél Mindezek ellenére a keretek erős és szemléletes eszközt biztosítanak a deklaratív és procedurális tudás reprezentálásához. 6.5 Démonok A rendszert kiegészíthetjük olyan eljárásokkal, amelyek alapkifejezések, tulajdonságok értékeit kiszámítják. Ezt nevezzük procedurális hozzárendelésnek (Emellett a konkrét rendszerek általában eseményvezérelt eljárásokat (algoritmikus formában hajtanak végre műveleteket) is tartalmazhatnak) Az eljárás egy programrészlet, amely különböző események hatására futhat le. Az eljárásokat az osztályok, ill.

egyes egyedek attribútumaihoz lehet hozzárendelni, és meg lehet adni, hogy milyen eseményre lépjenek működésbe. Ezeket az eljárásokat démonoknak (demon) vagy metódusoknak (method) nevezzük. A kettőt szokás szinonimaként használni, bár van köztük különbség. A metódus parancsok csoportja, leginkább egy makróhoz hasonlítható A metódus nevet az összetettebb eljárásokra használjuk A démon szerkezete egy szabályhoz (IF-THEN) hasonlítható. A démon A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 109 ► Szakértői rendszerek Keretalapú reprezentáció (frame) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 110 ► akkor fut le, ha a feltétel részben levő attribútumok közül valamelyik megváltozik. 4 féle démon létezik: • when-needed demon (ha az adott attribútumra valahol hivatkozás történt) • when-changed-demon (ha az attribútum értéke megváltozik) •

when-deleted-demon (ha az attribútum értékét törlik) • when-added-demon (ha az attribútumnak értéket adunk) A következtetés démonok és metódusok segítségével történik. Ha egy attribútum értéke megváltozik (vagy a fenti esetek valamelyike bekövetkezik), a hozzá kötött démon lefut, és megváltoztathatja egy másik attribútum értékét. Ha ehhez az attribútumhoz is tartozik démon (vagy metódus), ez is szintén lefut A folyamat addig folytatódik, amíg egy meghatározott célt el nem értünk 6.6 Keretalapú rendszerek, keretrendszerek Mi a probléma helyes reprezentációja? Mekkora a helyes dekompozóció, lebontás foka? A probléma reprezentálása és felbontása keretekre, azon belül pedig rekeszekre és felületekre mindig a probléma természetétől függ, és a tudásmérnök hatáskörébe tartozik, azaz az ő ítélőképességétől függ. Nincs előre meghatározott „helyes” reprezentáció. A keretalapú rendszerek elvileg keretalapú

ismeretreprezentációt és következtető mechanizmust használnak, de ma már ritka a tisztán keretalapú rendszer. Legtöbb esetben ki vannak egészítve szabályokkal is, régebben ezeket hívták hibrid rendszereknek De mivel ma már majdnem mindegyik keretalapú rendszer hibrid, ezért ezekre úgy hivatkozunk, mint keretalapú rendszerekre, hibridnek pedig azokat hívjuk, amelyek más technikákat is felhasználnak, pl. neuronhálózatokat A szabályok működésének szempontjából a szabályalapú és keretalapú rendszerek között nincs különbség, mivel a szabály a feltétel részben adott információt vagy tényeket kapcsol a következmény részben levő tevékenységhez. A különbség az, hogy keretalapú rendszerek gyakran használnak mintaillesztő záradékokat. Ezek a záradékok változókat tartalmaznak, amelyek segítségével illeszthető feltételeket lehet keresni a példánykeretekben. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom

Vissza ◄ 110 ► Szakértői rendszerek Keretalapú reprezentáció (frame) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 111 ► Keretalapú rendszerekben a következtetés (a szabályokhoz hasonlóan) a célt keresi, azaz a megadott attribútumot, amíg az értékét meg nem határozza. Azonban itt a szabályok csak mellékszerepet játszanak A metódusok és démonok akciókat adnak tudás fő forrásához, a kerethez, így azt várhatjuk, hogy a célokat ezekben az eljárásokban adhatjuk meg. Keretalapú fejlesztő eszközök: I. szakasz: ART, KEE, KC Keret + szabályalapú keretrendszerek: Level 5 Object, Visual Rule Studio, Nextpert Object Esetalapú funkciókat is nyújt: ART IM, ART Enterprise, CBR Express 6.7 Keretalapú rendszer fejlesztése – Buy Smart A szabályalapú rendszer tervezése és fejlesztése nagy vonalakban hasonló keretalapú rendszeréhez, a különbség a tudás szemléletében és reprezentálásában

van. A szabályalapú rendszerben a tudásbázis némileg heurisztikusan épül fel, és minden szabály újabb információt ad az előzőekhez, így a rendszer egyre ’okosabb’ lesz. A szabályok bővítése, módosítása nagyon egyszerű. A keretalapú rendszerben a tudásterület hierarchikus struktúráját határozzuk meg először. A keretalapú rendszer fejlesztésének lépései: 1. A probléma specifikálása, a rendszer hatáskörének megadása 2. Osztályok és attribútumok meghatározása 3. Példányok megtervezése 4. Megjelenítés megtervezése 5. Metódusok és démonok meghatározása 6. Szabályok meghatározása 7. A rendszer értékelése és bővítése Nézzük meg a lépéseket részletesen: Első lépés: A probléma specifikálása, a rendszer hatáskörének megadása Rendszerünk ingatlanok kiválasztását és megvásárlását segíti. Így a tervezést azzal kezdhetjük, hogy információt gyűjtünk a körzetünkben található ingatlanokról

Meghatározzuk, melyek lesznek a fontos tulajdonságok, és ezek milyen értéket vehetnek fel, pl az ingatlan típusa, helye, szobák száma, alapterülete és persze az ára Minden ingatlanról szeretnénk képet és leírást is. Várható, hogy lesznek olyan ingatlanok, amelyeket eladnak, valamint újak is meg fognak jelenni a piacon, így olyan adatbázist kell terveznünk, A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 111 ► Szakértői rendszerek Keretalapú reprezentáció (frame) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 112 ► amely könnyen módosítható és elérhető. A Level5Object keretrendszer támogatja a dBASE III adatbázis elérését. Megtervezzük és létrehozzuk az adatbázist, amely egyetlen táblából fog állni: Sz Ár (m) Típus Anyag Kor Környék Cím Tel 1 13 lakás tégla új GyőrSziget Győr, Híd u. 2 2 35 ház tégla haszn Nyúl 3

20 123 12 12 961 12 121 Terület 54 Leírás Kép szig1.txt szig1.j pg 97 nyul1.txt nyul1. jpg Ezek után meg kell határoznunk az összes lehetséges kérdést: • • • • • • • Mekkora a legnagyobb összeg, amelyet az ingatlan vásárlására szán? Milyen típusú ingatlant szeretne? (lakás vagy ház) Milyen építésű ingatlant szeretne? (tégla, könnyűszerk. vagy panel) Új vagy használt legyen az ingatlan? Milyen környéken szeretne lakni? Hány szobás ingatlant szeretne? Mekkora legyen az alapterület? Második lépés: Osztályok és tulajdonságok meghatározása Az általános vagy konceptuális osztályok meghatározásával kezdjük a tervezést. Először például vesszük az ingatlan fogalmát, és leírjuk az általános jellemzőit Ezek: típus, hely, szobák száma, alapterület, ár, építés, kor, kép, leírás, valamint szükség van az elérhetőségre: telefonszám vagy cím. A kezelhetőség megkönnyítésére hozzáadjuk

a sorszám attribútumot is. Harmadik lépés: Példányok meghatározása A példányokat az adatbázis segítségével könnyen meg lehet alkotni. A tulajdonságaik értékét az adatbázis mezőiből fogják venni, és minden sorból egy példány lesz. Ezek a példányok az Ingatlan osztályhoz kapcsolódnak, és ennek minden tulajdonságát öröklik A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 112 ► Szakértői rendszerek Keretalapú reprezentáció (frame) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 113 ► MAKE Ingatlan WITH hely := hely OF dB3 HÁZ 1 WITH ar := ar OF dB3 HÁZ 1 WITH terulet := terulet OF dB3 HÁZ 1 WITH kor := kor OF dB3 HÁZ 1 WITH tipus := tipus OF dB3 HÁZ 1 WITH szobak := szobak OF dB3 HÁZ 1 WITH epites := epites OF dB3 HÁZ 1 WITH telefon := telefon OF dB3 HÁZ 1 WITH kep := kep OF dB3 HÁZ 1 WITH leiras := leiras OF dB3 HÁZ 1 WITH sorszam := akt sorszam Negyedik

lépés: A megjelenítés megtervezése Szükség lesz egy nyitó képre, amelyben leírhatjuk a rendszer célját., ez a címoldal A következő oldalon megjelenítjük a kérdéseket, amelyekre a felhasználótól várjuk a választ: ez a lekérdezés/kérdés oldal. Az utolsó oldalon adjuk meg a kívánt információt, amelyet a rendszer a felhasználó válaszai alapján következtetett ki: információs oldal. Ötödik lépés: Metódusok, démonok meghatározása Az alkalmazásunkba életet kell lehelnünk, ennek pedig egyik módja a metódusok és démonok hozzáadása. Azt kell eldöntenünk, hogy mikor kell létrehozni az Ingatlan egy példányát. Erre két lehetőségünk van, az egyik az, hogy a címoldalról való továbblépéskor rögtön létrehozzuk az összes példányt, majd a felhasználó válaszai után eltávolítjuk a feleslegeseket. A másik lehetőség az, hogy csak a megfelelő példányokat hozzuk létre a kérdések megválaszolása alapján. Ez a

lehetőség takarékosabb, de a tervezéskor több nehézséget okoz Mi most az első lehetőséget alkalmazzuk, így szabályok helyett inkább démonokat használhatunk. Hozzunk létre egy másik osztályt: az Esemény Adatok osztályt: A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 113 ► Szakértői rendszerek Keretalapú reprezentáció (frame) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 114 ► OSZTÁLY: Esemeny Adatok [S] Ingatlan [WHEN CHANGED] letrehoz: WHEN CHANGED BEGIN PÉLDÁNY: Esemeny Adatok 1 akt sorszam .= 0 FORGET Ingatlan OSZTÁLY: Esemeny Adatok FIND dB3 HÁZ 1 WHEN FOUND [S] Ingatlan letrehoz: TRUE akt sorszam sorszam + 1 := akt MAKE Ingatlan FIND END Ingatlanok Szama := akt sorszam Goto Elso Ingatlan OF Esemeny Adatok := True END Amikor a felhasználó továbblép a kérdések oldalára, a metódus létrehozza az összes példányt. Ezután a felhasználó válaszol a

kérdésekre (pl nyomógombok segítésével) Minden gombhoz kötődik egy démon, amely eltávolítja a válasznak nem megfelelő példányokat DEMON 1 IF selected OF lakás pushbutton THEN FIND Ingatlan WHERE tipus OF Ingatlan <> ”Ház” WHEN FOUND FORGET CURRENT Ingatlan FIND END Amikor a felhasználó válaszolt az összes kérdésre, továbblép, a rendszer pedig kilistázza az információt, azaz a megmaradt példányokat. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 114 ► Szakértői rendszerek Keretalapú reprezentáció (frame) A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 115 ► Mivel nem biztos, hogy csak egy ingatlan felel majd meg az elvárásoknak, az Esemény Adatok osztályhoz kell adnunk még két attribútumot, a Sorszam Letrehoz és az Elso Ingatlan attribútumokat. Mindkét attribútumhoz a [WHEN CHANGED] metódust kötjük A kérdések oldalára pedig teszünk egy Keres

gombot, amelyet a Sorszam Letrehoz attribútumhoz kötünk. Ha a felhasználó megnyomja ezt a gombot, az attribútum értéke igazra változik, és így a hozzá kötött metódus lefut, és meghatározza az eredményként meghagyott ingatlanok számát, valamint az Elso Ingatlan attribútum értékét igazra változtatja. Az attribútum értékének változására a hozzá kötött metódus fut le, és biztosítja, hogy az információs oldalon az első ingatlan adatait látjuk. Hatodik lépés: Szabályok meghatározása Keretalapú rendszer készítésénél mindig kérdés, hogy használjunk-e szabályokat is, vagy csak metódusokat és démonokat. Ezt általában a tervező személyes preferenciája dönti el Itt nem használunk szabályokat, mivel a metódusok és démonok hatékony de egyszerű eszközt biztosítanak az eljárások megvalósítására. Általánosságban véve a szabályok nem hatékonyak procedurális tudás kezelésében. Hetedik lépés: A rendszer

értékeléses és bővítése Ahhoz, hogy a rendszert tesztelni és értékelni tudjuk, egy (vagy több) esettel ki kell próbálnunk. A kipróbálás eredményképp kaptunk 12 megfelelő ingatlant, de ezek közül csak az elsőt tudjuk megnézni, mivel nem tudunk mozogni az ingatlanok között (nincsenek gombok és metódusok). Ennek megoldására 3 új attribútumot kell felvennünk az Esemény Adatok osztályhoz (Kovetkezo Ingatlan, Elozo Ingatlan, Utolso Ingatlan), és mindegyikhez [WHEN CHANGED] metódust rendelni. A konkrét példányban kezdetben az Elso Ingatlan értéke lesz igaz, a többié meghatározatlan (UNDETERMINED). A léptető gombok megnyomásakor a megfelelő attribútum értéke megváltozik, és így lefut a metódus. Ezzel készen van a rendszerünk, reméljük, elégedettek lesznek felhasználóink, és megtalálják a nekik megfelelő ingatlant. A rendszert természetesen lehet tovább bővíteni, új funkciókat hozzátenni A dokumentum használata |

Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 115 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Egyéb rendszerek Vissza ◄ 116 ► 7. Egyéb rendszerek 7.1 Induktív rendszerek Az induktív következtetést, tanulást vagy érvelést a köznapi életben is használjuk, azt jelenti, hogy az egyedi esetekből jutunk el az általános következtetés felé. (Szemben a deduktívval, ami az általános megállapításokból jut el az egyedi esetekhez) induktív = egyedi példákból az általános felé Pl. egy városi kisgyerek lát madarakat repülni, egymás után többször (egyedi esetek). Erre azt az általános következtetést vonja le, hogy a madarak tudnak repülni Mivel ez a megállapítás így nem igaz, későbbi tapasztalatai alapján majd módosítani fogja Ezt a technikát a szakértői rendszerek is alkalmazzák. Az induktív technikák a gépi tanuláson alapulnak, amely azt jelenti, hogy egy program

hatékonysága javul adott új ismeretek hatására Sok induktív rendszer az ID3 tanuló algoritmust használja (ennek a továbbfejlesztése a C4.5 algoritmus) Azért nevezzük induktívnak ezeket a rendszereket, mert az adott egyedi példák hatására a rendszer általánosításra lesz képes, azaz később egy ismeretlen példát is osztályozni tud, vagy meg tud oldani egy addig még nem kezelt problémát. Az induktív rendszerek példák osztályozására alkalmasak. Először kapnak olyan példákat, eseteket, amelyeket tanulásra használnak fel, tehát megállapítják attribútumaikat, jellemzőiket. Majd a tanulási példák attribútumainak, azaz jellemző tulajdonságainak segítségével döntési fát generálnak, amelynek alkalmazásával további példákat, eseteket lehet osztályozni Az induktív algoritmus attribútumról attribútumra haladva építi fel a döntési fát, és az egyes lépésekben mindig azt az attribútumot választja, amelyik a példák

osztályozására legalkalmasabb információs előnnyel rendelkezik. Ezt az információs előnyt valamilyen algoritmussal megállapítja, vagy a „tanító” felhasználó megadja. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 116 ► Szakértői rendszerek Egyéb rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 117 ► Az induktív rendszerek működése: 1. A probléma megadása A tanulási példákból a rendszer megadja az attribútumok nevét, típusát, lehetséges értékeit, utolsóként az osztály vagy célattribútumot megadva. A célattribútum az a jellemző, amely alapján tudunk döntést hozni, vagy maga a döntés. Ezekből a rendszer egy mátrixot generál, és a mátrixot feltölti a problémát leíró tanulási problémák adataival. Ezzel előállt az ismeretbázis. 2. Az ellenőrzés és a döntési fa generálása Ellenőrzés: a rendszer megvizsgálja, hogy nincs-e

ellentmondás a tanulási példák között. Ha nincs, akkor a mátrixból döntési fát generál 3. A megépített rendszer futtatása A döntési fa konkrét feladatokra, felhasználói példák elemzésére, osztályozására történő felhasználása Pl. egy használtautó kereskedő eddigi tapasztalatai alapján szeretné meghatározni a jól eladható autók kritériumait Az attribútumok lehetséges értékei (a célattribútum a „jól eladható”): Gyártás helye Németo. Japán Olaszo. Franciao. Kor Motor Szín cm3 10 felett 6-10 3-6 dízel benzin fehér piros kék zöld fekete 1000 alatt 1000-1300 1300-1600 1600 felett A következő táblázat az autók bizonyos attribútumait adja meg (tanulási példák): A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 117 ► Szakértői rendszerek Egyéb rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Példa Vissza Kor Motor Szín cm3 1.

Gyártás helye Németo. 3-6 dízel fehér 2. Németo. 6-10 dízel piros 3. Japán 6-10 benzin fehér 4. Németo. 6-10 benzin kék 5. Japán 3-6 benzin piros 13001600 1600 felett 13001600 10001300 13001600 ◄ 118 ► Jól eladható igen igen nem nem igen Ebből lehet döntési fát generálni, az attribútumoknak a második táblázat alapján „információt” adni, utána pedig újabb esetekre használni. A megoldást mindig a fa leveleinél találhatjuk meg 7.1 ábra Jól/rosszul eladható autók döntési fája A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 118 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Egyéb rendszerek Vissza ◄ 119 ► Nagyon sokféle lehetőség van elvileg, a lehetséges attribútumértékek alapján, de ha jó döntési fát generálunk, elég csak pár lehetőséget megvizsgálni. Az induktív rendszereknek csak a tanulási

példát kell megadni, amelyből azonnali következtetéssel egy döntési fát generálnak. Ezért ezeket mohó (eager) rendszereknek nevezzük. Induktív eszközök: ExpertEase, 1st Class, RuleMaster Induktív szolgáltatásokkal rendelkezők: Exsys Professional, VisualExpert 7.2 Esetalapú rendszerek Ahogy eddig is láthattuk, a tudás reprezentálására több módszer is rendelkezésünkre áll. A módszer eldöntését nagyban befolyásolja a szakterület tudásanyagának szerkezete, milyensége. Vannak olyan területek, amelyek például szabályokkal vagy keretekkel nehezen, körülményesen leírhatók. Ilyen például a jogi szakterület, ahol az előzetes esetek felhasználásával oldhatunk meg problémákat. Az esetalapú rendszerek az adott tárgyterület szakértőinek sokéves gyakorlat során kialakított rendszerezett ismeretei alapján működnek. Ezek a rendszerek is tanulnak, az új esetekkel bővülnek az ismereteik, de az induktív rendszerekhez képest

lassabban, és csak akkor kezdenek el következtetni, ha már ismerik a megoldandó feladatot. Ezért ezeket lusta rendszereknek is szokták hívni. Eset alapú következtetés Lényege, hogy a korábbi, precedens esetek mintául szolgálnak az új probléma megoldásához. Sok esetben célszerű ilyet alkalmazni, ha • • • • • a tárgykör eleve eset alapú (pl. jog, orvosi diagnosztika) a problémakört nehéz szabályokkal leírni átfogó megoldás szükséges túl sok szabály kellene a szakterület leírásához a szakterület dinamikus, gyorsan változik A következtetés algoritmusa: 1. Az új eseteket kulcsszavakkal, indexekkel jelöli meg 2. Megkeresi az esetmemóriából a legjobban hasonlító esetet, ez lesz az előzetes megoldás. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 119 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Egyéb rendszerek Vissza ◄ 120 ► 3.

Módosító szabályok alapján az eset bizonyos jellemzőit lehet változtatni, ha az eset nem mindenben hasonlít a már meglevőhöz 4. Megoldás tesztelése: valóban használható-e 5. Ha jó a megoldás, az indexek megváltoztatása után a módosított esetet tárolja. 6. Ha nem jó a megoldás, elemzi az eltérés okait, és javító szabályokkal az új esethez illeszti a megoldást, és az így kapott megoldást újra teszteli. 7. Ha a megoldás nem megfelelő, az esetet megoldatlan esetként elhelyezi az esetmemóriában. Esetalapú eszközök: CBR Express, ReCall, ReMind, KATE (induktív esetalapú szolgáltatásokkal) Esetalapú funkciókat nyújtó keretalapú eszközök: ART IM, ART Enterprise A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 120 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 121 ► 8. A tudástechnológia folyamatai

8.1 A tudástechnológia összetevői Egy intelligens rendszer létrehozásának folyamatában a legkritikusabb rész a megfelelő eszköz kiválasztása. Annak eldöntése, hogy a tudás számítógépre vitele melyik megközelítés szerint történjék: szabályalapú, vagy keretalapú szakértői rendszerrel, fuzzi rendszerrel, ill genetikus algoritmussal, esetleg neurális hálózattal Ugyancsak számításba vehetők a hibrid megoldások, melyekbe két módszert is bevonnak, például a neurális-fuzzi kombinációt. Ebben a fejezetben a szakértői rendszerek megépítésének általános kérdéseivel foglalkozunk, beleértve az eszközök kiválasztásának irányelveit, valamint a tudásbázis létrehozásának folyamatát. A rendszerépítés folyamata azzal kezdődik, hogy megkíséreljük feltárni és megismerni az adott problémakör összes vonatkozásait, azért, hogy minél jobban megértsük a problémát. Ehhez azt is meg kell határoznunk, hogy mely adatok állnak

rendelkezésre, és melyekre van még szükség a megoldáshoz. Miután a probléma feltárásán és megértésén túl vagyunk, kiválaszthatjuk a megfelelő szoftver eszközt, majd ezzel az eszközzel hozzákezdhetünk a rendszer kifejlesztéséhez. Azt a folyamatot, amelyben egy intelligens tudásbázisú rendszert építünk meg a hozzá kapcsolódó eszközökkel, eljárásokkal együtt, tudástechnológiának (knowledge engineering) nevezzük. Ennek a területnek D A Waterman (USA, 1986) szerint hat fázisa van: 1. 2. 3. 4. 5. 6. A probléma felmérése. Az adatok és a tudás megszerzése. Egy prototípus rendszer kifejlesztése. A teljes rendszer kifejlesztése. A rendszer kiértékelése és átdolgozása. A rendszer integrálása és karbantartása. Az egyes fázisok kivitelezése a leírt kötött sorrendben történik, de ez nem jelent éles elkülönülést a fázisok között. A felmerülő teendők jellegéből adódóan átfedések is lehetségesek közöttük.

Másrészt pedig egy fejlesztési állomás nem minden esetben zárul le véglegesen. A folyamatnak normális velejárója az állandó iteratív átalakítás, ami a menet közben adódó változtatási, javítási, módosítási igények természetes következménye. Mindennek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 121 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 122 ► megfelelően megállapíthatjuk, hogy a fenti hat lépésben 2-iktól 6-ikig bármelyikben keletkezhet olyan módosítás, ami valamelyik őt megelőző fázishoz való visszatérést tesz szükségessé (8.1 ábra) START 1. fázis: A probléma felmérése 2. fázis: Az adatok és a tudás megszerzése 3. fázis: Egy prototípus rendszer kifejlesztése 4. fázis: A teljes rendszer kifejlesztése 5. fázis: A rendszer kiértékelése és átdolgozása 6. fázis: A

rendszer integrálása és karbantartása nem Fejlesztés lezárható igen END 8.1 ábra A tudástechnológia folyamata A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 122 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 123 ► Az ábrán szemléltetett visszalépéses iteratív fejlesztés általánosan jellemző minden szoftver termék létrehozására, a különbség csak az egymást követő fázisok számában és tartalmában mutatkozik meg. A következőkben részletesebben áttekintjük a hat technológiai fázist. 8.11 A probléma felmérése A kiindulási periódus folyamán először meghatározzuk a probléma jellegét, majd azonosítjuk a projekt résztvevőit, specifikáljuk a projekt tárgyát, és végül azt határozzuk meg, hogy milyen erőforrásokra lesz szükség a rendszer megépítéséhez. Első lépésként a probléma

típusát kell eldönteni, az input és output változókat megválasztani, vizsgálva a köztük levő kölcsönhatásokat, majd pedig az elvárt megoldás formáját és tartalmát állapítjuk meg. A probléma típusát illetően az intelligens rendszerek körében a következők jöhetnek számításba: diagnózis, kiválasztás, jóslás, osztályozás, csoportosítás, optimalizálás, valamint szabályozás (8.1 táblázat) A típus ismerete befolyásolja az eszköz kiválasztását. Tegyük fel például, hogy egy olyan rendszert akarunk létrehozni, ami elektronikus áramkörök működési hibáit képes feltárni, és a felhasználót vezetni a diagnosztizálási folyamaton keresztül Világos, hogy ez a feladat a diagnózishoz tartozik A szakterület ismeretanyaga leggyakrabban működési szabályokban fejezhető ki, s így egy szabályalapú szakértői rendszer lehet a kézenfekvő kijelölés. Az építési segédeszköz kiválasztása természetesen függ a megoldás

formájától és tartalmától is. Például, az olyan rendszerek, amelyek diagnosztikai célra készülnek, rendszerint magyarázattal is kell szolgáljanak Ehhez olyan beépített komponenssel kell rendelkezniük, amely képes igazolni a talált megoldást. Egy ilyen komponens bármelyik szakértői rendszerben lényeges lehet, ugyanakkor azonban nem áll rendelkezésre a neurális hálózatokban. Másrészről egy neurális hálózat jó választás lehet az osztályozási és csoportosítási feladatok megoldására, ahol az eredmény fontosabb, mint a rendszer következtetési folyamatának megértése. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 123 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Probléma típusa Diagnózis: Kiválasztás: Jóslás: Osztályozás: Csoportosítás: Optimalizálás: Szabályozás: Vissza ◄ 124 ► Leírás Egy

objektum működési hibájának feltárása a viselkedése alapján, és megoldások javaslása. A legjobb választás kijelölése egy lehetséges alternatívákat tartalmazó listáról. Egy objektum jövőbeni viselkedésének megjóslása a múltbeli viselkedése alapján. Egy objektum hozzárendelése az előre definiált osztályok valamelyikéhez. Objektumok heterogén csoportjának felosztása homogén alcsoportokba. Megoldások minőségének javítása, amíg egy optimális nem áll elő. Egy objektum viselkedésének irányítása azzal a céllal, hogy az valós időben teljesítse az előírt követelményeket. 8.1 táblázat Az intelligens rendszerek által kezelt tipikus problémák A következő lépés a probléma felmérése során a projekt résztvevőinek azonosítása. Mindegyik tudástechnológiai projektnek két kritikus résztvevője van: • A tudásmérnök (knowledge engineer), aki képes megtervezni, megépíteni és tesztelni egy intelligens rendszert. •

A szakterület szakértője (domain expert), aki széleskörű tudással és tapasztalattal rendelkezik, és képes feladatok megoldására az adott területen. Ezután specifikáljuk a projekt célkitűzését, mint például versenyelőnyt szerezni, a döntések minőségét javítani, csökkenteni a munkaköltségeket, vagy javítani a termékek és szolgáltatások minőségét. Végül azt határozzuk meg, hogy milyen erőforrásokra van szükség a rendszer megépítéséhez. Ezek általában a következő tételeket foglalják magukba: • számítógép-állomány, • fejlesztési szoftverek, A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 124 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 125 ► • szaktudás és adatforrások (szakértők, szakkönyvek, kézikönyvek, webhelyek, adatbázisok, ismert példák), • pénzügyi fedezet.

8.12 Az adatok és a tudás megszerzése Ebben a fázisban újabb ismereteket szerzünk a problémakörről, azáltal, hogy adatokat gyűjtünk be, s ezeket elemezzük, aminek alapján tovább pontosítjuk a rendszer tervét. Az intelligens rendszerek adatai gyakran különböző forrásokból gyűjtődnek össze, és emiatt különböző típusúak. Ugyanakkor egy adott építési szoftver eszköz csak egy bizonyos adattípust követel meg. Egyes eszközök folytonos változókat használnak, míg mások azt igénylik, hogy a változókat több különböző értéktartományba soroljuk be, vagy pedig legyenek normalizálva egyetlen sávba, például 0-tól 1-ig. Némelyik szimbolikus (szöveges) adatokat kezel, míg mások kizárólag numerikus adatokat. Van, amelyik pontatlan és zajos (torzult) adatokat is eltűr, míg mások pontosan meghatározott, tiszta adatokat követelnek meg. Mindezek miatt a rendelkezésre álló adatokat, a feldolgozhatóság érdekében át kellhet

alakítani abba a formába, amely használható egy adott eszköz számára. Mindazonáltal, az általunk választott eszköztől függetlenül három olyan probléma vetődik fel, amit meg kell oldani, mielőtt az átalakításba fognánk. Ezek a következők: Az első eshetőség az inkompatibilis adatok előfordulása. Gyakran lehet, hogy olyan fájlt akarunk elemezni, amiben a szöveg EBCDIC kódban van tárolva, a számok pedig pakolt decimális formátumban, míg az általunk használni szándékozott eszköz a szöveget ASCII kódban kezeli, a számokat pedig egyszeres vagy dupla pontosságú lebegőpontosként. Ez a probléma úgy oldható meg, hogy olyan adatkonvertáló eszközt használunk fel, ami automatikusan állítja elő a szükséges kódformátumot. A második probléma az inkonzisztens (nem összefüggő) adatokkal kapcsolatos. Gyakori eset, hogy ugyanazok a tények különböző adatbázisokban különbözőképpen szerepelnek Az ilyen különbözőségek gondot

okozhatnak a feldolgozásban. Példa erre egy olyan eset, amikor szénsavas italok fogyasztási eloszlását kell elemezni, és ezek között nem szerepel a Coca-Cola, mert az egy másik adatbázisban található. A harmadik lehetőség a hiányzó adat. A felhasznált adatrekordok gyakran tartalmaznak üres mezőket Van, amikor ezeket a hiányos rekordokat elvethetjük, de legtöbbször megkíséreljük azt, hogy valamilyen hasznos A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 125 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 126 ► információt származtassunk le belőlük. Sok esetben megoldás lehet, hogy feltöltjük az üres mezőket a legtöbbször előforduló, vagy pedig átlagolt értékekkel. Lehet olyan is, hogy éppen a kitöltés hiánya ad hasznos információt Például, egy álláspályázati kérdőívben az üresen hagyott

mező az üzleti telefonszám helyén arra enged következtetni, hogy a pályázó jelenleg munkanélküli. A rendszerépítési eszköz megválasztása függ a beszerzett adatoktól. Példaként vegyük azt a feladatot, amelyben egy ingatlan piaci értékét kell felbecsülni annak jellemző paraméterei alapján. Ezt a feladatot el lehet látni normál szakértői rendszerrel, vagy pedig neurális hálózat alkalmazásával. Mielőtt döntenénk a választásról, vizsgálnunk kell a rendelkezésre álló adatokat. Ha a régióban történt ház eladások árairól friss információnk van, akkor felkészíthetünk a feladatra egy neurális hálózatot, példaként használva az addigi eladásokat, ahelyett, hogy egy szakértői rendszert fejlesztenénk ki egy tapasztalt értékbecslő bevonásával. Az adatok beszerzése szoros kapcsolatban van az ismeretek megszerzésével. Valójában arról van szó, hogy mialatt adatokat gyűjtünk be, az alatt ismereteket is szerzünk a

probléma területéről. („Óriási hiba elméletet felállítani, mielőtt nincs adatunk”, mondja Sherlock Holmes, a detektív, Sir Conan Doyle könyvében.) Az ismeretek megszerzése rendszerint azzal indul, hogy tanulmányozzuk a problémakörre vonatkozó dokumentumokat, szakkönyveket, cikkeket, valamint kézikönyveket. Miután behatóan megismertük a problémát, a további ismereteket a szakértővel lefolytatott interjúkkal próbáljuk begyűjteni. Ha innen is elegendő információt nyertünk, akkor a meglevő tudásunkat elemezzük, és megismételjük az előbbi teljes folyamatot (írott anyag plusz a szakértő). A tudás összegyűjtése tehát eredendően iteratív folyamat, ily módon „érlelődik meg” a legjobban. Az interjúk folyamán érdemes a szakértőtől négy vagy öt tipikus eset bemutatását kérni, továbbá azt is, hogy milyen megoldást hozott volt ki rájuk, lehetőleg magyarázatot is a következtetések menetére, mindegyik esetre

külön-külön. Mindazonáltal a tudás „kinyerése” egy szakértőből eléggé nehéz folyamat, amiben egyes nézetek szerint „ő a szűk keresztmetszet” („the knowledge acquisition bottleneck”). A gond abból származik, hogy a szakértő gyakran nincs tudatában a tudásának, ill a problémamegoldó stratégiájának, vagy pedig képtelen azt szavakba önteni Emellett még az is előfordulhat, hogy nem odatartozó, nem teljes, vagy nem összefüggő információt szolgáltat. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 126 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 127 ► A tudástechnológiai folyamat második fázisában összegyűjtött adatok és ismeretek birtokában lehetővé válik, hogy leírjuk a megoldási stratégiát a legelvontabb koncepcionális szinten, és kiválasszuk az eszközt a prototípus

megépítésére. Ennél a pontnál fontos megjegyezni, hogy mindaddig nem szabad belemenni a probléma részletes elemzésébe, amíg nem értékeltük ki a prototípust. 8.13 Egy prototípus rendszer kifejlesztése Ez tulajdonképpen egy intelligens rendszer létrehozását foglalja magában, vagy inkább annak egy kisebb változatát, továbbá a tesztelését számos próbaesettel. A prototípus rendszer úgy definiálható, mint a végleges rendszer kicsiben megépített változata. Arra van tervezve, hogy teszteljük, mennyire jól értettük meg a problémát, vagyis meggyőződjünk arról, hogy a megoldási stratégia, a kiválasztott építési eszköz, valamint a beszerzett adatok és a tudás megjelenítésére szolgáló technika megfelelnek-e a feladatnak. Arra is jó lehet, hogy meg tudjuk vele győzni a kételkedőket, másrészt pedig, hogy minél aktívabban tudjuk bevonni a felkért szakértőt magába a rendszerfejlesztésbe. Miután kiválasztottuk az eszközt,

konvertáltuk az adatokat, a megszerzett tudást az eszköz számára alkalmas formába hoztuk, megtervezzük és implementáljuk a rendszer prototípus verzióját. Ha ez elkészült, akkor a verzió működésének és teljesítőképességének vizsgálata következik, széles körű tesztesetek alkalmazásával. A tesztelésbe ajánlatos bevonni a szakértőt is Egyrészt mert szükség van a tudására, másrészt pedig ezáltal jobban belekerül a fejlesztés folyamatába. A tesztesetek tartalma Egy teszteset egy előzőleg már sikeresen megoldott probléma rendelkezésre álló adatait foglalja magában, vagyis amire ismerjük a bemeneti adatokat és a kimeneti megoldást is. A tesztelés abból áll, hogy a rendszernek megadjuk ugyanazokat az inputokat, és az általa szolgáltatott megoldást összehasonlítjuk az eredetivel Ha az üzemeltetés kiértékelése alapján az derülne ki, hogy tévesen választottuk meg a rendszerépítési eszközt, akkor nincs más

választásunk, mint elvetni a prototípust, és újrakezdeni ugyanezt a fázist, vagyis egy új prototípust építeni. Amennyiben tovább erőltetnénk a rosszul megválasztott eszköz használatát egy olyan problémához, amelyhez nem illeszkedik, csak azt érnénk el, hogy további késlekedést szenvedne a projekt. A proto- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 127 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 128 ► típus fázis fő célja a probléma minél jobb megértése, átlátása. Ezért ennek a fázisnak az újrakezdése egy új eszközzel végső soron nem vezet anyagi és időbeli veszteségre. 8.14 A teljes rendszer kifejlesztése Azt követően, hogy a prototípus kielégítően kezd működni, fel tudjuk mérni, hogy mivel jár egy teljes körű rendszer kifejlesztése. Előállítunk egy tervet, azt ütemezzük,

majd költségvetést készítünk a teljes rendszerre, és emellett világosan definiáljuk a teljesítményi kritériumokat is. A legfőbb munka ebben a fázisban általában újabb adatokkal és ismeretekkel bővíteni a rendszert. Ha például egy diagnosztikai rendszeren dolgozunk, szükségünk lehet arra, hogy még több szabályt építsünk bele, a speciális esetek kezelése érdekében. Ha viszont egy jóslási rendszert fejlesztünk, akkor esetleg további történeti példákat kell gyűjtenünk, hogy még pontosabbá tegyük a jóslásokat. A következő feladat a felhasználói interfész kialakítása, vagyis azé az eszközé, amely az információt közvetíti a felhasználó felé. Ennek az interfésznek meg kell könnyítenie a felhasználó számára a különböző részletek megismerését, amikre annak szüksége lehet. Egyes rendszerektől elvárják, hogy tájékoztassanak az okfejtési folyamatok menetéről, indokolják meg a tanácsaikat, az elemzésüket

vagy a következtetésüket, míg másoknak grafikus formában kell megjeleníteni az eredményeket. Egy intelligens rendszer kifejlesztése folyamatos bővítésekből áll össze. Amint egy projekt halad előre, és új adatok és ismeretek gyűlnek össze, amelyek bekerülnek a rendszerbe, akkor annak javul a teljesítőképessége, és a prototípus fokozatosan átnövekszik a végső rendszerbe. 8.15 A rendszer kiértékelése és átdolgozása Az intelligens rendszerek, eltérően a konvencionális számítógépi programoktól, arra vannak tervezve, hogy olyan feladatokat oldjanak meg, amelyeknek gyakran nincs világosan definiált jó vagy rossz megoldásuk. Egy ilyen szoftver kiértékelése valójában arra irányul, hogy meggyőződjünk róla, hogy az elvégzi-e a neki szánt feladatot, mégpedig a felhasználó megelégedésére. A formális kiértékelés általában a felhasználó által kijelölt tesztek végrehajtásával megy végbe. Az itt mutatott teljesítmény

elfogadásának alapja azoknak a kritériumoknak való megfelelés, amelyekről a prototípuskészítési fázis végén történt megegyezés Amennyiben a kiértékelés a rendszer elfogadhatatlan korlátait és hiányosságait tárná fel, akkor teljes revíziót kell végrehajtani, és meg kell is- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 128 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 129 ► mételni a szükséges fejlesztési fázisokat. Ez akár nagyobb mértékű átalakításra is vezethet Jobb esetben természetesen az is előfordulhat, hogy csak kisebb átdolgozás válik szükségessé. 8.16 A rendszer integrálása és karbantartása A címben szereplő tevékenységek a fejlesztési folyamat befejező fázisába tartoznak. Egyrészt a kész rendszernek abba a szoftver-környezetbe való beillesztését, integrálását

jelentik, amelyben az üzemelni fog, másrészt pedig egy hatékony karbantartási program kialakítását és végigvitelét. Integráláson az új intelligens szoftvernek a vállalaton belül működő informatikai rendszerhez való illesztését értjük, amit a megfelelő interfészek közbeiktatásával tudunk elérni Mindemellett biztosítani kell, hogy a felhasználó képes legyen üzemeltetni és karbantartani a rendszert. Tudvalevő, hogy a tudásbázissal rendelkező intelligens rendszerekbe ágyazott tudás az időben fejlődik Ezt a fejlődést a rendszernek az üzemeltetés során végzett többszöri módosításával tudjuk érvényesíteni. A működési környezetbe való integrálást követően a tudásmérnök várhatólag visszavonul a projektből, így a rendszer a felhasználókra marad. Az üzemeltető intézménynek ezért fel kell készülnie arra, hogy házon belüli szaktudással tartsa karban és módosítja a rendszert. A módosítások elsősorban a

tudásbázisra kell, hogy vonatkozzanak. 8.2 A fejlesztési eszközök használata Aki a tankönyv anyagának feldolgozásában eddig eljutott, annak számára már világossá vált, hogy nincsen olyan szoftvereszköz, ami bármelyik feladattípushoz alkalmazható volna. A klasszikus és a fuzzi szakértői rendszereknek, a neurális hálózatoknak, valamint a genetikus algoritmusoknak mind megvan a maguk helye, és ennek megfelelően számos alkalmazásba kerülnek bele. Két évtizeddel ezelőtt még az volt az irányzat, hogy ha valaki egy intelligens rendszert akart alkalmazni, akkor ahhoz kellett találni egy „jó” feladatot, olyat, amihez volt esély a sikerre. Erre elsősorban egy szakértői rendszer volt a megoldás. A tudástechnológiai projektek abban az időben még költségesek voltak, nagy munkaigénnyel és magas befektetési kockázattal. Egy közepes méretű szakértői rendszer kifejlesztési költsége tipikusan 250 ezer és 500 ezer dollár között volt,

egy 1987-es amerikai felmérés szerint. Az olyan „klasszikus” rendszerek, mint a DENDRAL és a A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 129 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 130 ► MYCIN, mintegy 20-tól 40 emberévig terjedő munkaráfordítást követeltek meg a teljes befejezésig. Az elmúlt néhány esztendő szerencsére gyökeres változást hozott ezen a helyzeten. A mai időkben a legtöbb intelligens szoftvert évek helyett hónapok alatt építik meg. A szakértői rendszerekhez a kereskedelemben fellelhető ún. shelleket (kagylóhéjak) tudják hatékonyan felhasználni Egy shell valójában olyan keretrendszer, amelyhez kialakított felhasználói interfész a szaktudást hordozó információ bevitelét, felhasználását és módosítását teszi lehetővé. A tudásanyag magába a shellbe kerül be Egy ilyen

keretrendszer tartalmazza a következtetési mechanizmusokat megvalósító szoftvert is. Külön eszközkészletek (tool boxok) állnak rendelkezésre a fuzzi, a neurális, ill. a genetikus típusú fejlesztésekhez És mindezek, a shelleket is beleértve, standard személyi számítógépeken. Meg kell még említeni, hogy nagyon fontos változás ment végbe az új intelligens technológiákhoz való alkalmazkodás terén. A múltban gyakran előfordult, hogy egy fejlesztést egyéni kezdeményezésre és elgondolásra alapozva hajtottak végre. Ezzel szemben ma már a projektek az életben jelentkező valódi problémákhoz, valódi igényekhez kötődnek. Ilyenkor egy intézmény a felmerülő feladatokat a megfelelő intelligens eszköz felhasználásával oldja meg. A következőkben két fontosabb fejlesztőeszköz sajátságait fogjuk áttekinteni. Az egyik a normál, a másik pedig a fuzzi szakértői rendszerek megépítéséhez kapcsolódik, azok támogatására

szolgálnak. 8.3 A shell mint fejlesztőeszköz Ha már sikerült megkonstruálni egy szakértői rendszer szabályainak halmazát, hozzákezdhetünk a prototípus megépítéséhez. A fejlesztéshez használandó szoftvereszközök megválasztása előtt azt kell megvizsgálnunk, hogy melyik eszköz szolgálja a legmegfelelőbb módon az adott feladat megoldását és a kitűzött cél elérését. Felhasználhatunk egy programozási nyelvet, mint pl a LISP-et, PROLOG-ot, valamint a C, C++ vagy a Java nyelveket. A másik alternatíva egy shell igénybevétele lehet A magas szintű programozási nyelvek nagyfokú rugalmasságot biztosítanak, és lehetővé teszik, hogy bármilyen projektkövetelményt tudjunk teljesíteni velük. Ugyanakkor azonban igen nagy fokú programozási szaktudást igényelnek, ami nem garantálható, hogy széles körben rendelkezésre áll. Ami viszont a shelleket illeti, jóllehet nem biztosítják azt a rugalmasságot, amit a programozási nyelvek, de

rendelkeznek beépített következteté- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 130 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 131 ► si mechanizmussal, magyarázatadó lehetőségekkel, valamint magával a felhasználói interfésszel. Egy shell használata nem követel programozási tudást, egyszerűen csak be kell táplálni a szabályokat a shell tudásbázisába, mégpedig angol nyelven. Ezek a sajátságok a shelleket a gyors prototípuskészítésben teszik különösen hasznossá Végül is, egy shell maga úgy tekinthető, mint egy üres szakértői rendszer, ami azáltal válik működőképessé, hogy feltöltik az aktuális szabályokkal a tudásbázisát. Az ilyen eszközöket a fejlesztő cégek a kereskedelemben forgalmazzák. Ezek a cégek mind rendelkeznek publikus webhellyel, némelyiknek a terméke a weben keresztül

is elérhető és kipróbálható, ill. kiértékelhető a vásárlás eldöntése előtt Egy shell kiválasztása folyamán a következő főbb szempontokra érdemes tekintettel lenni: • Miként tárolja a shell a tudást: – szabályok formájában, – keretek formájában. • Milyen következtetési mechanizmust használ: – előreláncolást, – hátraláncolást, – mindkét irányú láncolást. • Támogatja-e a nem egzakt okfejtést, és ha igen, akkor melyik megközelítésben: – Bayes-féle módszerrel, – bizonyossági tényezőkkel (cf), – fuzzi logika felhasználásával. • Mennyire nyitott az architektúrája: – lehetővé teszi-e a külső adatfájlokhoz való hozzáférést, – lehetővé teszi-e a külső programokhoz való hozzáférést. • Milyen a felhasználói felülete: – grafikus felhasználói interfész, – hipertext. Egy szoftvereszköz megválasztásakor mindig mérlegelni kell azt is, hogy üzletileg mennyire stabil a kibocsátó

cég. A stabilitás jelzésére szolgáló adatok a következők: • • • • Alapítási év. Alkalmazottak száma. Bruttó évi árbevétel az intelligens szoftverek eladásából. Eladott intelligens termékek száma. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 131 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 132 ► Egy adott termék stabilitásának is vannak indikátorai: • Mikor bocsátották ki hivatalosan a terméket? • Hány változatot bocsátottak ki eddig a termékből? • Hány installáció történt eddig? Ezek a kérdések a termék fejlesztési állapotának meghatározását is elősegítik. Mindazonáltal a termék és a kibocsátó értékelésének a legjobb módszere talán az, ha kapunk egy listát a felhasználókról, a sikeres alkalmazásokról és installációs helyekről Nagyon hasznos lehet személyesen

is érdeklődni a felhasználási tapasztalatokról, ahol a termék és a kibocsátó erősségeire és gyengeségeire tud fény derülni. 8.4 Eszközkészletek a fuzzi rendszerekhez Ha azt kell eldöntenünk, hogy egy szakértői rendszer fejlesztéséhez a fuzzi technológiát válasszuk-e, akkor a döntést a következő kritérium teljesülésétől tegyük függővé: Ha nem tudunk minden egyes lehetséges szituációhoz egzakt szabályt definiálni, akkor a fuzzi logikát használjuk. A Bayes-féle valószínűségek és a bizonyossági tényezők az olyan bizonytalansággal vannak kapcsolatban, amelyek egy jól definiált (egzakt) esemény kimenetelére vonatkoznak a THEN-részben. Ettől eltérően, a fuzzi logika „akkor lép életbe”, amikor a kiindulási esemény az IF-részben maga nem egzakt. Más szavakkal: egy problémában eredendően meglevő pontatlanságok következtében kell a fuzzi technológiát választani. A fuzzi rendszerek különösen jól illenek az

emberi döntéshozatal modellezéséhez. Gyakran hagyatkozunk a józan megfontolásra, amikor bizonytalan és nem egyértelmű kifejezéseket, érveket használva hozunk meg fontos döntéseket. Ilyen például az, amikor egy orvos úgy dönt a páciens további kezeléséről, hogy nincs mindenről pontos ismerete, tudomása. (Hasonló a szituáció egy házassági döntés meghozatalakor is, vagy éppen a pályaválasztásnál.) Az eddigi statisztikák szerint a fuzzi rendszereket elsősorban a mérnöki és szabályozástechnikai területeken alkalmazták, mégis inkább az várható, hogy az üzleti és pénzügyi világban lesz nagyobb az elterjedésük. A döntések itt túlnyomórészt emberi intuíción, józanészen és tapasztalatokon alapulnak, mivel a túlságos bonyolultság és a meglevő bizonytalanságok miatt nem érvényesülnek a precíz matematikai módszerek. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 132 ► Szakértői

rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 133 ► A fuzzi szakértői rendszerek perspektivikus alkalmazási területe tehát az üzleti döntéshozatal támogatása. Tipikus példa erre az a banki folyamat, amelyben egy házkölcsön megítélése zajlik le. Itt azt kell eldönteni, hogy adható-e kölcsön az igénylőnek, vagy sem, ha igen, akkor mekkora összeg, milyen futamidővel, és milyen terhelési garanciákkal. Egy ilyen esetben a fuzzi szabályok megkonstruálása nyilván csak banki, valamint ingatlanügyi szakértők bevonásával történhet meg. A feladat több paraméternek a számításba vételét igényli. Az egyik lehetséges megközelítés a következő: A bemeneti változók: • • • • • a házingatlanok piaci kereslete, az adott ház helye, a hiteligénylő vagyoni helyzete, a hiteligénylő jövedelme, a fennálló banki kamat mértéke. A kimeneti változó: •

a megítélt hitel összege (ami lehet nulla is, ha elutasítják a kölcsönt). Ebben a döntési folyamatban közbülső értékelésekre is szükség van, mégpedig a ház értékének megállapítására, valamint az igénylő helyzetének megítélésére. Ezeket nevezhetjük itt közbülső változóknak is A változók közötti komplex kapcsolatok leírására szolgál a 8.2 ábra Ezen jól látható, hogy a döntési folyamat több lépésből áll. Először a ház értékét határozzuk meg, és egyúttal elvégezzük az igénylő felmérését, majd ezek után kerül sor a hitel meghatározására. Az itt ismertetett modellt és a hozzá kapcsolódó fuzzi szabályokat Von Altrock (USA, 1997) dolgozta ki. Ennek a rendszernek a megépítéséhez jól fel lehetett használni a MATLAB Fuzzy Logic Toolbox nevű eszközkészletet, ami az egyik legnépszerűbb ilyen termék a piacon. (Kibocsátó: The MathWorks, Inc, USA.) A szoftver beépített függvényekkel rendelkezik, ami

megkönnyíti a bemeneti és kimeneti változók definiálását, ill. a fuzzi halmazok létrehozását Alkalmas a halmazok manipulálására és a köztük levő műveletek elvégzésére, valamint a fuzzi következtetések lefolytatására Mindemellett a számításba vehető fuzzitlanítási rutinokkal is el van látva. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 133 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Piac Hely Vagyon A ház kiértékelése Ház Vissza ◄ 134 ► Jövedelem Az igénylő kiértékelése Jövedelem Kamat Igénylő A hitel kiértékelése Hitel 8.2 ábra A hitel-meghatározás folyamata A felhasználói hozzáférés grafikus interfészen keresztül valósul meg. A tesztelési és hangolási folyamatok is grafikus megjelenítéssel hajthatók végre. Az eszköz képes arra is, hogy háromdimenziós felületeket

ábrázoljon, ami a kétváltozós függvények vizuális elemzését teszi lehetővé. A bankkölcsönt kiszámító rendszer fejlesztésénél például tanulmányozható és módosítható • a házra vonatkozó függvény, a „piac” és a „hely” változókkal, • az igénylőre vonatkozó függvény, a „vagyon” és a „jövedelem” változókkal. A hitel függvénye viszont négyváltozós. Ebben az esetben a vizsgálatokat úgy lehet végezni, hogy két változót rögzített értékkel veszünk figyelembe, míg a másik kettőét a kijelölt tartományokban változni engedjük. Ezen a módon tanulmányozni tudjuk a hitelfüggvény felületét, például a „ház” és az „igénylő” változók függvényében, vagy pedig az ”igénylő” és a „kamat” A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 134 ► Szakértői rendszerek A tudástechnológia folyamatai A dokumentum használata | Tartalomjegyzék |

Felhasznált irodalom Vissza ◄ 135 ► függvényében. Természetesen ugyanígy vizsgálhatjuk még a fennmaradó többi négy esetet is. A döntéstámogató fuzzi rendszerek 10-es vagy 100-as nagyságrendben tartalmaznak szabályokat. Például, az a hitelkockázatot kiértékelő banki szoftver, amit a német BMW Bank and Inform Software készített, 413 fuzzi szabályt foglalt magában (Güllich, 1996). A nagykiterjedésű tudásbázisokat rendszerint felbontják több kisebb modulra, és ezáltal javul az áttekinthetőség, másrészt pedig a számítógépes feldolgozás is hatékonyabbá válik. Természetesen az egyes részeredmények iteratív összesítése ekkor is szükséges lesz A felbontás a 62 ábrán bemutatott megoldáshoz hasonlóan végezhető el. Mint látható volt, abban a példában három modullal dolgoztunk. A szabályok lehetséges nagy száma ellenére a döntéstámogató fuzzi rendszerek viszonylag rövid idő alatt fejleszthetők, tesztelhetők

és bevezethetők. Például, a hitelkockázatot számító német rendszer kifejlesztése és implementálása mindössze két emberévet vett igénybe. Ezzel szemben a régebbi MYCIN megvalósítása 40 emberévet igényelt. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 135 ► Szakértői rendszerek Egy szakértői rendszer alkalmazása A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 136 ► 9. Egy szakértői rendszer alkalmazása Ebben a fejezetben egy olyan alkalmazási példát fogunk bemutatni, amelyben a szakértői rendszer vezérlési-irányítási funkciót tölt be. Az adott alkalmazás egy ún. biztonságkritikus informatikai rendszer, amely egyúttal hibatűrő is A két említett sajátság definíciója a következő: Biztonságkritikus rendszer: Olyan informatikai rendszer, amely azzal az elsődleges követelménnyel működtetendő, hogy ne veszélyeztesse az emberi életet, egészséget,

ne okozzon gazdasági vagy környezeti károkat. Tipikusan ilyenek a vasúti állomásirányító központok, az atomerőművek vezérlését, űrhajók, űrrepülők irányítását, repülőgépek irányítását ellátó rendszerek, valamint a kórházakban, bankokban, hadászatban (pl cirkáló rakéta) alkalmazott informatikai rendszerek A felsorolt példákban jól látható az alkalmazott rendszerek hibás működéséből származó károk milyensége. Egy banki alkalmazás óriási anyagi károkkal járhat, egy vegyipari folyamat környezetei kárt okozhat, hadászati eszköz esetében pedig a civil lakosságnak okozott veszteség jöhet szóba. A biztonságot eredményező működés mellett a másik legfontosabb tulajdonság a megbízhatóság. Csak nagy megbízhatóságú rendszerek alkalmazhatók eben a kategóriában Általában 24 órán keresztül tartó folyamatos üzemelésre van igény. A biztonság eléréséhez ún hibatűrő rendszerek alkalmazására van

szükség Hibatűrő rendszer: Egy informatikai rendszer hibatűrő, ha képes elvégezni, ill. tovább folytatni előírt feladatának helyes végrehajtását hardver-meghibásodások és szoftverhibák jelenléte esetén A hibatűrés nem azt jelenti, hogy a rendszer ugyanazzal a hatásfokkal, teljesítménnyel működik hibásan is, mint hibamentesen, hanem azt, hogy a teljesítménye lecsökkenhet, esetleg nem mindegyik funkcióját látja el maradéktalanul, viszont a legfontosabb előírt feladatait még végre tudja hajtani. 9.1 A működés szervezése Az egyik legelterjedtebb hibatűrési megoldás az ún. párhuzamos duplikálás Ebben két egymással teljesen azonos hardver egység közös bemenetről vezérelve végzi párhuzamosan ugyanazokat a műveleteket, és a kimeneteik egy összehasonlító egységre kerülnek. Ha a két egység azonos működést mutat, akkor hibamentesnek tekintjük őket. A hibás működés a két egység kimenetei közötti eltérésből

vezethető le. Ha mindkét csatornában azonos A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 136 ► Szakértői rendszerek Egy szakértői rendszer alkalmazása A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 137 ► a szoftver, akkor ebben a struktúrában a szoftverben előforduló hibák detektálására semmilyen lehetőség nincsen, mivel mindkét csatorna hibásan is azonosan működik, s így az összehasonlító ezt helyes működésnek érzékeli. Ugyanakkor persze hardver-hiba esetén a csatornák között eltérés fog mutatkozni, ami hibadetektálásra vezet. Ezt a helyzetet a 91 ábra mutatja be, ahol feltételezzük, hogy mindkét csatornában ugyanaz a szoftver van telepítve, és a csatornák CPU-ja is megegyezik, vagyis SW1 ≡ SW2, valamint CPU1 ≡ CPU2. SW1 SW2 CPU1 CPU2 Összehasonlító egység 9.1 ábra Kétcsatornás szoftverműködés A dokumentum használata |

Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 137 ► Szakértői rendszerek Egy szakértői rendszer alkalmazása A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 138 ► Ahhoz, hogy a szoftver-hibákat is detektálni lehessen nyilvánvalóan elkerülendő a teljesen azonos szoftverek alkalmazása. Ezt úgy valósíthatjuk meg, hogy a különböző csatornákon egymástól eltérő szoftvert alkalmazunk, viszont ugyanazt a működést várjuk el az egyes változatoktól. Ezt az elvet szoftver-diverzitásnak nevezzük. Ilyenkor tehát SW1 ≠ SW2, ugyanakkor CPU1 ≡ CPU2. A szoftverdiverzitáson alapuló hibatűrés egyik figyelemre méltó gyakorlati példáját adja az ALCATEL-AUSTRIA AG. cég által tervezett és gyártott számítógépes vasútirányító rendszer, melynek típusneve ELEKTRA. Az ELEKTRA egy ún. biztosítóberendezés, amely vasúti pályaudvarok forgalmának irányítására szolgál A felhasználásból

adódóan ez is biztonságkritikus rendszer, kötelezően előírt hibatűréssel. A számítógépes vezérlőrendszer kétoldalú információs kapcsolatban áll az általa felügyelt pályaudvarral, ahol az ún. külsőtéri berendezések, a jelzőlámpák, sorompók, vágányváltók helyezkednek el A bejövő információ a vonatok, szerelvények mozgására, helyzetére utal A kimenő információ a külsőtéri berendezések automatizált vezérlésére szolgál Mindezt a 92 ábra szerinti felépítésben is szemléltetjük Számítógépes irányítórendszer Vasúti pályaudvar irányító központja Hardver interfész Pályaudvar Külsőtéri berendezés: jelzőlámpák, váltók 9.2 ábra Vasúti irányítórendszer vázlata A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 138 ► Szakértői rendszerek Egy szakértői rendszer alkalmazása A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom ◄ Vissza 139 ►

Az ALCATEL-ELEKTRA megkettőzött párhuzamos felépítésű rendszer, amelyben a két párhuzamos csatornához (A és B csatorna) egymástól eltérő fejlesztésű szoftverek tartoznak. Az ELEKTRA felépítését a 93 ábra mutatja be. 1. Számítógéprendszer 2. Számítógéprendszer A B Összehasonlító egység Csatorna Logikai csatorna Csatorna Biztonsági csatorna Hardver interfész Irányított folyamat 9.3 ábra Az ALCATEL-ELEKTRA rendszer felépítése Az A csatorna elnevezése: logikai csatorna. A B elnevezése: biztonsági csatorna. Normál, hibamentes üzemben a pályaudvar irányítását az A csatorna intézi. A két csatorna szoftverei között lényeges működésbeli különbség van, a következők szerint: 1. Az A csatorna szoftvere egy CHILL programozási nyelven elkészített procedurális végrehajtású program. (A CHILL magas szintű programnyelv, a telekommunikáció területén fejlesztett valós idejű (real-time) rendszereknél terjedt el a

felhasználása. Külső megjelenési formája ha- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 139 ► Szakértői rendszerek Egy szakértői rendszer alkalmazása A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 140 ► sonlít a Pascalhoz, fontos sajátsága az időkezelés bizonyos mértékű lehetővé tétele.) A bemenő adatok a külső pályaudvari események, a vasúti forgalomból adódó helyzetek, amiknek alapján a program lefut, és ennek eredményeként kiadja a szükséges vezérlő jeleket a pályaudvar felé. 2. A B csatorna szoftvere nem procedurális program, hanem egy önálló szakértői rendszer. Elnevezése: SAFETY BAG (biztonsági csomag) Létrehozása a PAMELA nevű fejlesztői környezetben ment végbe. A rendszer tudásbázisa szabályalapú: több mint 800 szabályt tartalmaz. A szabályok PAMELA nyelven íródtak. (PAMELA: PAttern Matching Expert System LAnguage.) A SAFETY BAG

egy-egy szabályának struktúrája: „Ha egy adott esemény vagy eseménylánc következett be, akkor egy előre definiált intézkedésre van szükség.” Például: „IF track 27 is occupied AND signal 33 is free THEN set signal 33 to stop” Ennek értelmezése: HA a 27-es vágány foglalt ÉS a 33-as jelző szabad, AKKOR állítsd a 33-as jelzőt „állj”-ra. Amikor egy helyzetet elemez a szakértői rendszer, akkor azt vizsgálja végig, hogy az összes szabály közül melyek azok, amelyeket figyelembe kell venni az adott helyzetben, ill. melyeket nem, és a szerint kell döntést hozni a pályaudvari teendőket illetően. A működési folyamat a következő: Az A jelű csatorna a forgalomirányítás bejövő jeleit dolgozza fel logikailag, az adott helyzetet elemzi, kiértékeli, és a szükséges vezérlő jeleket küldi ki. A B csatorna a biztonsági működést szolgálja. A bejövő jeleket elemzi, döntést hoz, majd megvizsgálja az A csatorna döntését. Ha azt

elfogadja, az A intézkedése kimegy. Ha nem fogadja el, akkor a következő esetek lehetségesek: • B veszi át az intézkedést. • B tiltó jelet ad ki a forgalom korlátozására. • B leállítja a forgalmat. A döntéshozatalhoz mindkét csatorna a triplán megvalósított párhuzamos szavazó struktúrát alkalmazza saját magán belül, a biztonság növelése ér- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 140 ► Szakértői rendszerek Egy szakértői rendszer alkalmazása A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 141 ► dekében. Ez azt jelenti, hogy a szoftver is háromszorozva van a két ág CPU-ival együtt, mind az A-ban, mind a B-ben külön-külön. A csatornák kevésbé kritikus helyein (a monitorok vezérlése, ill. a hardver interfész vezérlése) már csak megkettőzött párhuzamosítást terveztek be. A csatornák több ponton el vannak látva öntesztelő egységekkel

is. Az ezekhez elkészített tesztprogramok szintén a szoftver részét képezik. Az öntesztelés a hardver hibák felfedésére irányul. Hibadetektálás esetén a hiba helye az áramköri kártya szintjéig automatizáltan behatárolódik, és kijelzésre kerül. A működési helyzettől függően egyes kártyák üzem közben is kicserélhetők, mások cseréje előtt a rendszert le kell állítani Ekkor a kártyacserét követően újraindításra kerül sor. Az A meghibásodása esetén B intézkedik a forgalomirányításról, és viszont: ha B-ben lép fel hardver-hiba, akkor az A egyedül végzi az irányítást. Ez az ideiglenes állapot a kártyacsere végrehajtásáig áll fenn Az ELEKTRA-szisztéma hibalefedési képességeit tekintve az alábbi megállapításokat tehetjük: A párhuzamosan, valamint a háromszorosan szervezett működtetés nemcsak az állandósult, hanem az átmeneti hardver-hibák felfedésére is alkalmas. Ezeknek a hibáknak a felfedéséhez

mindkét csatorna szoftvere is hozzájárul. A két csatorna egymástól gyökeresen eltérő szoftvermegoldása lényegesen növeli a biztonságot, ahol a két szoftvernek ugyanazt a feladatot kell ellátnia, és az eredményeik mindig szembesítve vannak egymással. Ez a konstrukció egyrészt lehetővé teszi a meglevő szoftver-hibák detektálását, másrészt pedig azoknak a hibáknak a detektálását is, amelyeket még a tervezés során sem tudtak előre számításba venni. Ezen túlmenően, a diverzitás megvalósítási módjából még egy nagyon fontos következmény is származik: Nevezetesen az, hogy ezáltal olyan üzemelési veszélyek elkerülése is lehetővé válik, amelyekkel a tervezési folyamatban nem kalkuláltak. 9.2 A szoftver hibatűrésének megvalósulása A teljes hardver-szoftver komplexum hibadetektálása és hibatűrése a következő módon elemezhető: Jelöljük az összes, elvileg lehetséges, tervezési és működési hiba halmazát H-val. A

H halmazt az alábbi részhalmazokra tudjuk felosztani (94 ábra): A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 141 ► Szakértői rendszerek Egy szakértői rendszer alkalmazása A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 142 ► HE: Az előre feltételezett és detektálható hardver-hibák halmaza, amelyek felfedéséről a tervezés során gondoskodás történt (vagyis az ELEKTRA bizonyíthatóan felfedi ezeket a hibákat). HN: Olyan hibák, amelyek bekövetkezésével nem kell számolni, mert felismerésükről és elkerülésükről az ELEKTRÁ-n kívül külön történt gondoskodás. (Például: kábelezési hibák) HI: A biztonságra nem ható, irreleváns hibák köre. HU: Azon hibák köre, amelyekről nincs semmilyen előzetes tudomásunk. Ide tartoznak azok a veszélyes forgalmi helyzetek is, amelyek kezelése a tervezés során nem volt kalkulálva és megoldva. HE HN H: HU HI 9.4

ábra A lehetséges hibák felosztása Mindezek után írható, hogy H = HE ∪ HN ∪ HI ∪ HU . A teljes H halmazban nem jelent gondot a bizonyítottan lefedett, valamint a veszélyt nem okozó hibák köre. Biztonsági okokból egyedül a HU halmaz hibáinak egy része a kritikus, ezek idézhetnek elő balesetet Vizsgáljuk meg ezt a halmazt közelebbről. Legyen azoknak a hibáknak a halmaza HA, amelyeket nem ismerünk, és amelyek megnyilvánulása, jelentkezése az A csatorna működésének a következménye. Ugyanígy, legyen azoknak a hibáknak a halmaza HB, ame- A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 142 ► Szakértői rendszerek Egy szakértői rendszer alkalmazása A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 143 ► lyeket nem ismerünk, és amelyek megnyilvánulása, jelentkezése a B csatorna működésének a következménye. A két halmazt a 95 ábra mutatja HB HA 9.5 ábra A

szoftverdiverzitás eredménye Legyen továbbá azoknak a hibáknak a halmaza HX, amelyeket nem ismerünk, és hatásuk teljesen kívül esik az ELEKTRA működési körén. Ezek után felírható a következő összefüggés: HU = HA ∪ HB ∪ HX. Az összefüggést a 9.6 ábra illusztrálja HA HB HX 9.6 ábra Az ismeretlen hibákat képviselő halmazok A HA és HB halmazok egymással diszjunkt részei olyan hibákat foglalnak magukban, amelyekre a két csatorna eltérően reagál, így azok a hibák a csatornák közötti működési összehasonlításban detektálódnak. Ezzel szemben nem áll fenn ugyanez a két halmaz közös részére: Az ide tartozó A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 143 ► Szakértői rendszerek Egy szakértői rendszer alkalmazása A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 144 ► hibákra vagy egyformán reagál a két csatorna, vagy pedig a B nem veszi

észre, hogy az A helytelenül reagált. Végeredményben tehát kimondható, hogy azoknak az ismeretlen hibáknak a HV halmaza, amelyek potenciális katasztrófaveszélyt jelentenek, a következő összefüggéssel írható le: HV = HA ∩ HB ∪ HX. A HV halmaz tehát a biztonságot veszélyeztető hibákat hordozza magában. Annak az ideális tervezési célnak az elérése, hogy ez a halmaz abszolút üres legyen, lehetetlen Mindazonáltal arra kell törekedni, hogy HV minél kisebb mértékű legyen Ennek eléréséhez a tervezési és fejlesztési folyamat szigorú szabályainak betartására, alapos tesztelésre, másrészt pedig az elkészült rendszer külön biztonsági vizsgálatára van szükség. 9.3 A szakértői rendszer szerepe az alkalmazásban Az ELEKTRA nevű számítógépes rendszer 30 mikroprocesszort tartalmaz, amelyek a beágyazott szoftvert és a környező hardvert együttesen és összehangoltan működtetik. Az ELEKTRA beruházási költsége a teljes

kiépítésben 1,5−2 milliárd forint. A benne működő CHILL nyelvű hagyományos szoftver és a SAFETY BAG szakértői rendszer olyan megoldást képeznek, amelyben az azonos célra szolgáló kétféle tevékenység eredménye kerül állandó összehasonlításra. Az eltérő megvalósításból adódóan az A és B csatornában megmaradt programozói hibák várhatóan eltérő működésben nyilvánulnak meg, ami hibadetektálást jelent, és így nem veszélyeztetik a vasúti folyamatokat. Ugyanez vonatkozik a specifikációs hibákra is, amelyek a tervezés kezdetén adódtak volt. Ha például egy adott speciális forgalmi helyzetre nem gondoltak a tervezők, akkor ez a helyzet várhatóan az eltérő csatornaműködésben fog megnyilvánulni, s így a forgalmi baleset szintén elkerülhető lesz. Belátható, hogy az ismeretlen szoftver-hibából vagy a specifikációs tévedésből származó baleseti veszély valószínűsége annál kisebb lesz, minél nagyobb az

eltérés a két csatorna szoftverjének a kialakításában. Ha a B csatorna is egy procedurális programot hordozna, csak más nyelven megírva, az jóval kisebb eltérést jelentene, mint a SAFETY BAG. Az ELEKTRÁ-ba beépített szakértői rendszer haszna és jelentősége tehát elsősorban abban áll, hogy lényegesen eltérő szoftvertechnológiai alapon valósították meg a fejlesztők. Ez a technológia, mint láttuk, nem mást, mint egy szabályalapú tudásbázis létrehozását eredményezte. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 144 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Gyakorló feladatok Vissza ◄ 145 ► 10. Gyakorló feladatok 10.1 Következtetési láncok 1. Hajtsa végre tetszőleges módszerrel az előreláncolási és hátraláncolási folyamatokat a következők alapján: Kiindulási tények: T0 = {A, B, C}. Szabályok: IF A OR NOT B THEN F IF B AND C

THEN G IF F OR G THEN P IF G AND D THEN R 2. Hajtsa végre logikai hálózat előállításával, 4-értékű logikát alkalmazva, az előreláncolási és hátraláncolási folyamatokat a következők alapján: Kiindulási tények: T0 = {A, C, D}. Szabályok: IF A AND B THEN E IF B AND C THEN F IF C AND D THEN G IF E AND F THEN P IF F OR G THEN R 10.2 Bayes modell 1. Ki a legvalószínűbb gyilkos? Oldja meg a feladatot a Bayes-tétel segítségével! Felindulásból elkövetett gyilkosság történt egy házban. 2 gyanúsított van: Aladár és Béla. Aladár borostás, nem fürdik gyakran és szakadt a ruhája, emiatt feltételezzük, hogy 0,6-os valószínűséggel ő a gyilkos (egyes hipotézis). Béla öltönyt visel, jól fésült és jó a modora, így ő 0,4-es előzetes valószínűséggel gyilkos (kettes hipotézis). 0,7 a valószínűsége, hogy Aladár ruhájából találnak szöszt a helyszínen (egyes esemény), ha Aladár a gyilkos. 0,4 a valószínűsége, hogy

Bélánál van a gyilkos fegyver (kettes esemény), ha Aladár a gyilkos. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 145 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Gyakorló feladatok Vissza ◄ 146 ► 0,6 a valószínűsége, hogy Aladár ujjlenyomatait találják meg a helyszínen (hármas esemény), ha ő (Aladár) a gyilkos. 0,3 annak valószínűsége, hogy Aladár ruhájának szöszeit találják meg a helyszínen, ha Béla a gyilkos. 0,7 valószínűséggel Bélánál találják meg a gyilkos fegyvert, ha ő (Béla) a gyilkos. 0,2 a valószínűsége, hogy Aladár ujjlenyomatait találják meg a helyszínen, ha Béla a gyilkos. Készítsen táblázatot az események és hipotézisek valószínűségeiről! Először megtalálják Bélánál a gyilkos fegyvert (kettes esemény). Számítsa ki, hogy így Aladár és Béla mekkora valószínűséggel gyanúsítható a

gyilkossággal! Utána megtalálják Aladár ujjlenyomatát a helyszínen. (hármas esemény) Számítsa ki, hogy így Aladár és Béla mekkora valószínűséggel gyanúsítható a gyilkossággal! Végül Aladár ruhájából szöszöket is találnak. (egyes esemény) Számítsa ki, hogy így Aladár és Béla mekkora valószínűséggel gyanúsítható a gyilkossággal! 3. Ki ette meg a tortát? A hűtőszekrényből eltűnt a tortamaradék. A házban 3 gyerek van, akik a tettesek lehetnek. Ők: Pannika, Dezsőke vagy Zsomborka De vajon melyikük? Dezsőke a legfalánkabb, tehát annak a valószínűsége előzetes hipotézisünk alapján 0,6. Pannika jó kislány, nem szokott a hűtőbe nyúlkálni, annak a valószínűsége, hogy ő ette meg: 0,1. Annak a valószínűsége, hogy Zsomborka ette meg: 0,3. Két esemény következik be, amely befolyásolja előzetes hipotéziseinket: Pannikának fájni kezd a hasa. Zsomborka előmerészkedik a szobájából, és látjuk, hogy csupa

maszat a szája. A következő feltételes valószínűségeket tudjuk: 0,7 annak a valószínűsége, hogy Panninak fáj a hasa, ha tortát evett. 0,2 annak a valószínűsége, hogy Panninak fáj a hasa, ha Dezsőke tortát evett. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 146 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Gyakorló feladatok Vissza ◄ 147 ► 0,2 szintén a valószínűsége annak, hogy Panninak fáj a hasa, ha Zsomborka tortát evett. 0 annak a valószínűsége, hogy Zsomborka szája maszatos, ha Pannika tortát evett. 0,1 annak a valószínűsége, hogy Zsomborka szája maszatos, ha Dezsőke tortát evett, mert Dezsőke rossz kisfiú, és összeken mindenkit. 0,8 a valószínűsége, hogy Zsomborka szája maszatos, ha tortát evett. Készítsen táblázatot az események és hipotézisek valószínűségeiről! Először Pannika kezd panaszkodni, hogy fáj a hasa.

Számítsa ki, hogy ekkor hogyan változnak hipotéziseink a tolvajról! Kicsit később Zsomborka előjön maszatosan. Számítsa ki, hogy ekkor hogyan változnak hipotéziseink a tolvajról! Ki ette meg a tortát? 10.3 Szabályok: esélyek és valószínűségek 1. Számítsa ki, mekkora valószínűséggel lesz jó vagy rossz idő! 1. szabály HA bárányfelhők vannak az égen AKKOR rossz idő lesz a priori 0,4 2. szabály HA tiszta az ég AKKOR jó idő lesz a priori 0,6 Annak a valószínűsége, hogy ha jó idő van, akkor tiszta volt az ég: 0,8 (P(tiszta ég|jó idő) = 0,8) Annak a valószínűsége, hogy ha rossz idő van, akkor tiszta volt az ég: 0,3 (P(tiszta ég|rossz idő) = 0,3) Annak a valószínűsége, hogy ha jó idő van, akkor bárányfelhők voltak az égen: 0,2 (P(bárányfelhők|jó idő) = 0,2) Annak a valószínűsége, hogy ha rossz idő van, akkor bárányfelhők voltak az égen: 0,7 (P(bárányfelhők|rossz idő) = 0,7) Az egyszerűség kedvéért:

bárányfelhők = nem tiszta ég tiszta ég = nincsenek bárányfelhők A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 147 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Gyakorló feladatok Vissza ◄ 148 ► jó idő= nem rossz idő rossz idő = nem jó idő Jelenleg bárányfelhős az ég. A fenti adatok tudatában számítsa ki, hogy mekkora valószínűséggel lesz rossz vagy jó idő! Számítsa ki az LN és LS értékeket, majd az előzetes esélyeket! Utána számítsa ki az a posteriori esélyeket és valószínűségeket! 2. Számítsa ki, mekkora valószínűséggel rendezik meg a vitorlásversenyt! 1. szabály IF nincs szél THEN a vitorlásverseny elmarad {a priori 0,3} 2. szabály IF van szél THEN a vitorlásversenyt megtartják {a priori 0,7} P(nem volt szél|elmaradt) = 0,8 P(nem volt szél|megtartották) = 0,3 P(volt szél|megtartották) = 0,7 P(volt szél|elmaradt) = 0,1

Jelenleg fúj a szél. A fenti adatok tudatában számítsa ki, hogy mekkora valószínűséggel lesz rossz vagy jó idő! Számítsa ki az LN és LS értékeket, majd az előzetes esélyeket! Utána számítsa ki az a posteriori esélyeket és valószínűségeket! 10.4 Fuzzi következtetés 1. Adva van a következő fuzzy halmaz: magas emberek (cm): {0/180, 0,2/182, 0,4/183, 0,5/185, 0,7/187, 0,9/189, 1/190}. Állítsa elő ebből a többé-kevésbé magas emberek, valamint a nem magas emberek halmazát. Képezze a két utóbbi halmaz unióját és interszekcióját. 2. Adva van a következő fuzzy szabály, ami gépkocsira vonatkozik: IF az ár magas THEN a végsebesség gyors. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 148 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Gyakorló feladatok Vissza ◄ 149 ► A két fuzzy halmaz: magas (millió Ft) = {0/1,5, 0,1/2, 0,2/3, 0,4/5, 0,6/6,

0,7/8, 0,8/12, 1/15}, gyors (km/óra) = {0/100, 0,1/140, 0,2/180, 0,3/190, 0,4/200, 0,6/220, 0,7/250, 0,8/260, 1/290}. A monoton kiválasztás elvének alkalmazásával határozza meg, és indokolja, hogy mekkora lesz a végsebessége annak a kocsinak, ami 10 millió Ftba kerül! 3. Adottak a következő fuzzy szabályok: 1. szabály: IF a kiszolgálás gyors AND a pincérek kedvesek THEN a vendégek nagyon elégedettek 2. szabály: IF a kiszolgálás közepesen gyors OR a pincérek kedvesek THEN a vendégek közepesen elégedettek A fuzzy halmazok: gyors kiszolgálás = {0/50, 0,3/60, 0,4/65, 0,55/70, 0,6/73, 0,8/80, 1/90} közepesen gyors kiszolgálás = {0/30, 0,4/40, 1/55, 1/70, 0,5/80, 0/90} kedves pincérek = {0/50, 0,3/60, 0,4/65, 0,55/70, 0,6/75, 0,8/80, 1/90} nagyon elégedett vendégek = {0/70, 0,2/75, 0,5/80, 1/90, 1/100} közepesen elégedett vendégek = {0/0, 0,5/20, 1/40, 1/60, 0,8/75, 0,5/80, 0/100} Az étteremben ma a pincérek 80%-ban kedvesek, a kiszolgálás pedig

60%-ban gyors. Számítsa ki, hány százalékban lesznek ma elégedettek a vendégek. Használja a Mamdani-módszert, skálázás alkalmazásával Az étterem kapacitása 50 fő. A 3 szabály alapján, a monoton kiválasztás elvének alkalmazásával, számítsa ki, ma nagyjából hány vendég jön az étterembe. 3. szabály: IF a vendégek nagyon elégedettek THEN az étteremben sokan vannak sok vendég = {0/50, 0,2/60, 0,4/70, 0,6/80, 0,8/90, 1/100} A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 149 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Felhasznált irodalom Vissza ◄ 150 ► Felhasznált irodalom Birkhoff, G. – Bartee, T C: A modern algebra a számítógép-tudományban Műszaki Könyvkiadó, Budapest, 1974 Chen, Z.: Computational Intelligence for Decision Support CRC Press LLC, USA, 2000. Cox, E.: Fuzzy Modeling and Genetic Algorithms for Data Mining and Exploration Elsevier

Inc, Morgan Kaufman Publishers, USA, 2005 Éltető Ö. – Ziermann M: Matematikai statisztika Tankönyvkiadó, Budapest, 1967 Futó I. (szerk): Mesterséges intelligencia Aula Kiadó, Budapest, 1999 Hopcroft, J. E – Motwani, R – Ullman, J D: Introduction to Automata Theory, Languages, and Computation Second Edition, Addison-Wesley Publishing Company, USA, 2001. Jackson, P.: Introduction to Expert Systems Addison-Wesley Publishing Company, USA, 1986. Leon O. Chua – Lin Yang: Cellular Neural Networks: Theory and Applications. IEEE Transactions on Circuits and Systems, Vol 35, No 10, pp. 1257–1290, October 1988 Lewis, H. R – Papadimitriou, C H: Elements of the Theory of Computation Prentice-Hall, Inc., USA, 1998 Mann, Z. Á: Partitioning algorithms for hardware/software co-design, PhD Dissertation, Budapest Technical and Economical University, 2004. Negnevitsky, M.: Artificial Intelligence: A Guide to Intelligent Systems AddisonWesley Publishing Company, Great Britain, 2002

O’Brien, J. A: Introduction to Information Systems: An Internetworked Enterprise Perspective. McGraw-Hill Companies Inc, USA, 1998 Russell, S. J, Norvig, P: Mesterséges intelligencia modern megközelítésben Panem Könyvkiadó, Budapest, 2000. Schultheis, R. – Sumner, M: Management Information Systems: The Manager’s View. McGraw-Hill Companies Inc, USA, 1998 Starkné Werner Á.: Mesterséges intelligencia Veszprémi Egyetemi Kiadó, Veszprém, 2004. Starkné Werner Á.: Szakértői rendszerek Veszprémi Egyetemi Kiadó, Veszprém, 1997. Sziray J.: Test calculation for logic networks by composite justification Digital Processes, Vol. 5, No 1-2, pp 3–15, 1979 A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 150 ► Szakértői rendszerek A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Felhasznált irodalom Vissza ◄ 151 ► Waterman, D. A: A Guide to Expert Systems Addison-Wesley Publishing Company, USA, 1986.

Wenbo Mao: Modern Cryptography, Theory and Practice. Prentice-Hall, Inc, Hewlett-Packard Company, USA, 2004. A dokumentum használata | Tartalomjegyzék | Felhasznált irodalom Vissza ◄ 151 ►