MESTERSÉGES INTELLIGENCIA MÓDSZEREK ALKALMAZÁSA A TECHNOLÓGIAI ELÕTERVEZÉSBEN

Hasonló dokumentumok
12.3. Az automatizált technológiai tervezés módszerei A variáns módszer

Költségbecslési módszerek a szerszámgyártásban. Tartalom. CEE-Product Groups. Költségbecslés. A költségbecslés szerepe. Dr.

Interaktív, grafikus környezet. Magasszintû alkalmazási nyelv (KAL) Integrált grafikus interface könyvtár. Intelligens kapcsolat más szoftverekkel

A gyártástervezés modelljei. Dr. Mikó Balázs

CAD Rendszerek I. Sajátosság alapú tervezés - Szinkron modellezés

CSOPORTTECHNOLÓGIA TERVEZÉSÉNEK SZÁMITÓGÉPES TÁMOGATÁSA

Korszerő alkatrészgyártás és szerelés II. BAG-KA-26-NNB

Technológiai előtervezés automatizálása mesterséges intelligencia módszerek segítségével

Gyártástechnológia II.

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Informatikai Tanszék. Dr. Kulcsár Gyula egyetemi docens

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Parametrikus tervezés

Intelligens Rendszerek Elmélete. Versengéses és önszervező tanulás neurális hálózatokban

Neurális hálózatok bemutató

Intelligens irányítások

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

A gyártástervezés feladata. CAM tankönyv. Technológiai terv elemei. Alapfogalmak, definíciók. A gyártástervezés területei. Alapfogalmak, definíciók

Házi feladat Dr Mikó Balázs - Gyártástechnológia II. 5

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Informatikai Tanszék

Mőanyag fröccsöntı szerszámok tervezése és gyártása

3D számítógépes geometria és alakzatrekonstrukció

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

GráfRajz fejlesztői dokumentáció

3D-s számítógépes geometria és alakzatrekonstrukció

Óbudai Egyetem Neumann János Informatikai Kar. Intelligens Mérnöki Rendszerek Intézet

Intelligens Rendszerek Gyakorlata. Neurális hálózatok I.

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

Modellezés és szimuláció. Szatmári József SZTE Természeti Földrajzi és Geoinformatikai Tanszék

Az ErdaGIS térinformatikai keretrendszer

Készítette: Ellenőrizte: Jóváhagyta:

Választó lekérdezés létrehozása

Az alállomási kezelést támogató szakértői funkciók

Intelligens partner rendszer virtuális kórházi osztály megvalósításához

II. rész: a rendszer felülvizsgálati stratégia kidolgozását támogató funkciói. Tóth László, Lenkeyné Biró Gyöngyvér, Kuczogi László

- Adat, információ, tudás definíciói, összefüggéseik reprezentációtípusok Részletesebben a téma az AI alapjai című tárgyban

Mesterséges neurális hálózatok II. - A felügyelt tanítás paraméterei, gyorsító megoldásai - Versengéses tanulás

I. LABOR -Mesterséges neuron

Algoritmizálás és adatmodellezés tanítása 1. előadás

Az MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI

Számítógépes döntéstámogatás. Döntések fuzzy környezetben Közelítő következtetések

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs rendszerek Tanszék. Neurális hálók. Pataki Béla

Vezetői információs rendszerek

társadalomtudományokban

Az optimális megoldást adó algoritmusok

DebitTray program Leírás

Smart City Tudásbázis

BASH script programozás II. Vezérlési szerkezetek

A hálózattervezés alapvető ismeretei

ContractTray program Leírás

Mesterséges Intelligencia Elektronikus Almanach. Konzorciumi partnerek

BEKE ANDRÁS, FONETIKAI OSZTÁLY BESZÉDVIZSGÁLATOK GYAKORLATI ALKALMAZÁSA

AWK programozás, minták, vezérlési szerkezetek

Maximum kiválasztás tömbben

Az előadás célja. Információrendszer fejlesztés módszertana, Dr. Molnár Bálint egyetemi docens 1

Modellező eszközök, kódgenerálás

A gyártási rendszerek áttekintése

SZERZŐ: Kiss Róbert. Oldal1

22. GRÁFOK ÁBRÁZOLÁSA

INFORMATIKA ÉRETTSÉGI VIZSGA ÁLTALÁNOS KÖVETELMÉNYEI

Software project management Áttekintés

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

DIGITÁLIS TEREPMODELL A TÁJRENDEZÉSBEN

DLM PULSE - PREDIKTÍV TÁRGYALÁS TÁMOGATÓ ALKALMAZÁS DLM PULSE

TANFOLYAMZÁRÓ ÍRÁSBELI VIZSGAFELADAT

ServiceTray program Leírás

Koncepcióképzés. Általánosítás, absztrakció

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

CAD-ART Kft Budapest, Fehérvári út 35.

Számítógépes döntéstámogatás. Genetikus algoritmusok

Alkalmazásokban. Dezsényi Csaba Ovitas Magyarország kft.

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

EGYSZERŰSÉG ÉS ÁTTEKINTHETŐSÉG AZ ÜZLETI ANALITIKÁBAN CRS PORTÁL AVENSOFT KFT BUDAPEST, RÁKÓCZI ÚT

kodolosuli.hu: Interaktív, programozást tanító portál BALLA TAMÁS, DR. KIRÁLY SÁNDOR NETWORKSHOP 2017, SZEGED

Operációs rendszerek gyak.

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Informatikai Tanszék. Dr. Kulcsár Gyula egyetemi docens

TERC V.I.P. hardverkulcs regisztráció

e-szignó Online e-kézbesítés Végrehajtási Rendszerekhez

CLIPS (C Language Integrated Production System)

Algoritmizálás, adatmodellezés tanítása 6. előadás

Hely- és kontextusfüggő alkalmazások fejlesztését támogató keretrendszer mobil környezetben

Fotódokumentáció. Projektazonosító: KMOP /

ÁRAMKÖRÖK SZIMULÁCIÓJA

Tájékoztató. Használható segédeszköz: számológép

I. CRM elmélete és gyakorlata. II. Stratégiai elemek. III. Strukturális megoldások

Kiskunmajsa és környéke turisztikai térinformatikai alkalmazás

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Informatikai Tanszék. Dr. Kulcsár Gyula egyetemi docens

Bevezetés az informatikába

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Gyakorlati segédlet a tervezési feladathoz

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

CARE. Biztonságos. otthonok idős embereknek CARE. Biztonságos otthonok idős embereknek Dr. Vajda Ferenc Egyetemi docens

Emerald: Integrált jogi modellező keretrendszer

TARTALOMJEGYZÉK. TARTALOMJEGYZÉK...vii ELŐSZÓ... xiii BEVEZETÉS A lágy számításról A könyv célkitűzése és felépítése...

Budapesti Mûszaki Fõiskola Rejtõ Sándor Könnyûipari Mérnöki Kar Médiatechnológiai Intézet Nyomdaipari Tanszék. Karbantartás-szervezés a nyomdaiparban

Termék modell. Definíció:

Ügyfélforgalom számlálás modul

DW 9. előadás DW tervezése, DW-projekt

Átírás:

1 MIKÓ Balázs 1, Dr. SZEGH Imre 2, KUTROVÁCZ Lajos 3 MESTERSÉGES INTELLIGENCIA MÓDSZEREK ALKALMAZÁSA A TECHNOLÓGIAI ELÕTERVEZÉSBEN 1 - doktorandusz; 2 - mûszaki tudományok kandidátusa, egyetemi docens; 3 - tanszéki mérnök Budapesti Mûszaki Egyetem, Gépgyártástechnológia Tanszék A cikk a technológiai elõtervezés bizonyos feladatainak automatizálására kifejlesztett, mesterséges intelligencia módszerekre alapuló megoldásait ismerteti. Kitér az eset-alapú tervezés, a mesterséges neurális hálók és a szabály-alapú következtetés alkalmazására. A technológiai elõtervezés automatizálásával több mint tíz éve foglalkozunk a BME Gépgyártástechnológia Tanszékén. Jelen kutatás az OTKA T024117 számú projekt támogatásával folyik. 1. BEVEZETÉS A technológiai elõtervezés a technológiai tervezés legmagasabb szintje, a technológizálás stratégiája. A tervezési szint feladata: a gyártási folyamat elvi vázlatának összeállítása; becsült költség és normaadatok képzése a vállalatvezetés és a termelésirányítás részére; az elõgyártmány gyártás, az alkatrészgyártás és a szerelés technológiai folyamatainak tervezéséhez szükséges információk összeállítása; a gyártástervezés stratégiájának meghatározása. A technológiai elõtervezés a vállalatvezetéssel, a termelésirányítással, konstrukciós tervezéssel és a technológiai folyamattervezéssel tart kapcsolatot (Ábra 1.). Elõgyártmány gyártási folyamatainak tervezése Termelésirányítás Vállalatirányítás Technológiai elõtervezés Alkatrészgyártás folyamattervezése Konstrukciós tervezés Szerelés folyamattervezése Ábra 1. A technológiai elõtervezés kapcsolata a környezetével A technológiai elõtervezés eredményeit elsõsorban a technológiai tervezés alacsonyabb szintjei hasznosítják, de kulcsfontosságúak a konstrukciós tervezés, a

2 termelésirányítás, a készletgazdálkodás, a vállalatirányítás közép- és hosszútávú tervkészítõi részére is. Az eredmények jól hasznosíthatók ajánlati technológiák, árajánlatok, beruházási tervek kidolgozása során is. A kutatási feladat megoldása során a feladatok jellegébõl adódóan a mesterséges intelligencia módszerek alkalmazása látszott célravezetõnek. A mesterséges intelligencia kutatás ma már nagyon szerteágazó területekkel rendelkezik. Kutatásaink során az eset-alapú következtetés, a szabály-alapú következtetés és a mesterséges neurális hálók nyújtotta lehetõségeket vizsgáltuk. 2. ESET-ALAPÚ KÖVETKEZTETÉS A mérnöki gondolkodás egyik fontos jellemzõje, hogy a szakmaspecifikus ismeretek jelentõs részét a konkrét feladatok megoldása révén gyûjti össze. A "fontos" ismeretek idõvel egyre finomulnak, a kevésbé fontosak elhalványulnak. Az emberi gondolkodás ilyen megközelítését modellezi az eset-alapú következtetés módszere, amely a problémákat a korábban megoldott feladatok dokumentumainak visszakeresése és adaptálása révén oldja meg. E módszer alkalmazását a technológiai elõtervezésben egyrészt a gyorsan és dinamikusan változó gyártási környezet, másrészt a gyors válaszokat követelõ döntési helyzetek motiválják. A módszer hatékony alkalmazásának feltétele: az esetek célszerû kódolása; a megfelelõ technológiai terv gyors elõkeresése; a hasonlóság mértékének megállapítása; az egyszerû adaptálhatóság biztosítása; az esetbázis (technológiai tervek) folyamatos frissítése. Az eset-alapú következtetés folyamata (Ábra 2.) nagyon egyszerû. Tároljuk az egyedi eseteket, - az esetek konkrét megoldásaival reprezentálva - létrehozva ezzel az esetbázist. Az új feladat megoldása során elõszõr kiválasztjuk az esetbázisból a leginkább hasonlót, majd annak megoldását adaptáljuk az új esetre, végül az így keletkezett új tervezési eredményeket felvesszük az esetbázisba, ami a módszer tanuló konponensét jelenti ([2.]).

3 Új probléma Indexelés Visszakeresés Esetbázis Hasonló esetek Választás Javasolt megoldás Tanulás Adaptálás Ellenörzés Megoldás Ábra 2. Az eset-alapú következtetés folyamata Az esetalapú következtetést az alkatrészek vázlatos technológiai terveinek meghatározása során alkalmaztuk, amely számos elõtervezéssel kapcsolatos feladat alapja, de valószínûsíthetõ, hogy eredményesen hasznosítható az elõgyártmányok és a szerelés vázlatos technológiai terveinek elkészítésére is. 2.1 Az esetek reprezentálása Egy eset alapú következtetésre épülõ szakértõi rendszer fejlesztése során számos problémát meg kell oldani. Ez elsõ ilyen probléma az esetek reprezentálása. Egy eset leírása két részbõl áll. Egyrészt egy szituáció leírásából, másrészt ebben a szituációban alkalmazandó megoldásból. Vázlatos technológiai tervek elõállítása során a szituáció egy alkatrésznek felel meg, az alkalmazandó megoldás pedig az alkatrészhez tartozó technológiai tervnek.

4 A fõ kérdés, hogyan tudjuk egyszerûen, tömör formában reprezentálni az alkatrészeket. 1-4 K1 - V1 - V2 - V3 - V4 K2 - V1 - V2 - V3 1-2 3-3 K3 - V1 - V2 - V3 K4 - V1 - V2 1-1 2-3 1-2 K5 - V1 - V2 - V3 K6 - V1 - V2 K7 - V1 - V2 - V3 Ábra 3. Kérdésgráf (példa) Az alkatrészek leírása egy irányított gráf segítségével történik (Ábra 3.). Ez a gráf írja le az összes alkatrész technológiai tulajdonságait. A gráf csúcsai kérdéscsoportok formájában reprezentálják az egyedek lehetséges geometriai és technológiai sajátosságait. Adott alkatrész megmunkálási igénye a gráf egy lehetséges útvonalával adható meg, amely tömören az útvonalhoz tartozó csúcsok kódjaival írható le. Ezt nevezzük az alkatrész technológiai kódjának, ami nem más, mint az alkatrész megmunkálási igényét reprezentáló modell. A gráf bonyolultsága a vállalat alkatrészhalmazának összetettségétõl függ és mindíg a konkrét vállalat sajátosságainak figyelembevételével készül. Ezért oly módon lett megalkotva, hogy tehetõvé tegye tetszõleges bonyolultságú, szerkezetû és tetszõleges osztályozási szempontokat tartalmazó struktura kialakítását. A felhasználó a kérdésgráf segítségével, dialógus formájában állítja össze az alkatrészek megmunkálási igényét, a technológiai kódot. 2.2 A hasonlóság megállapítása A hasonlóság megállapításának sikere alapvetõen befolyásolja az egész eljárás sikerét, ezért a folyamat kulcs problémájának tekinthetõ. Kutatásaink során a probléma megoldására mesterséges neurális hálót alkalmaztunk, melynek részletes ismertetését a 3. fejezet tartalmazza.

5 2.3 Vázlatos technológiai tervek készítése konkrét alkatrészek technológiai tervei alapján Mint már említettük az eset-alapú tervezési elvet vázlatos technológiai tervek elõállítása során alkalmaztuk. Az elsõ tervezési feladat (Ábra 4.) az alkatrész megmunkálási igényének feltárása. Ez a már említett kérdésgráf segítségével történik, az eredménye pedig az alkatrész technológiai kódja Gyártandó alkatrészek Kérdésgráf Indexelés Technológiai kód Vállalati technológiai tudásbázis (konkrét technológiák esetbázisa) A technológiai analogon kiválasztása A technológiai terv editálása CAD adatbázis (konkrét alkatrészek) Technológiai terv Ábra 4. Technológiai tervek készítése konkrét tervek alapján Az alkatrész technológiai kódjának ismeretében keressük a hasonló technológiai megoldásokat, melyek közül a felhasználó választja ki a számára megfelelõt. Ezt követi a kiválasztott terv adaptálása, melyhez kényelmes, gyors editálási lehetõséget kell biztosítani. Mindkét tevékenységet segíti ha a technológus közben a számítógép képernyõjén látja az alkatrészek rajzait. Ez természetesen akkor valósítható meg, ha az alkatrészek rajzai CAD rendszerrel készültek és a rajzi fájlok rendelkezésre állnak. Végül az elkészült terv az esetbázishoz "fûzhetõ", gazdagítva ezzel a kész technológiák halmazát.

6 2.4 Vázlatos technológiai tervek készítése csoporttechnológiák alapján Az eset-alapú következtetés egy sajátos megközelítése a csoporttechnológia alkalmazása, vagy ahogy ezt a számítógépes tervezõrendszerek kapcsán említik, a variáns módszer felhasználása. A módszer alapgondolata az, hogy a technológiailag és geometriailag azonos jellegû munkadarabok egy csoportjára olyan tipizált megoldást dolgozunk ki, amely a csoport minden egyes tagjára nézve magában foglalja az egyedi megoldást is. Gyártandó alkatrész Kérdésgráf Indexelés Vállalati technológiai tudásbázis (csoporttechnológiák esetbázisa) Technológiai kód A csoport technológia kiválasztása CAD adatbázis (komplex alkatrészek) Automatikus adaptálás Csoporttechnológia editálása Vállalati technológiai tudásbázis (konkrét technológiák esetbázisa) Technológiai terv Ábra 5. Tervezés csoporttechnológiák segítségével A tervezés menetét az Ábra 5. szemlélteti. A tervezés menete hasonló az elõzõ fejezetben leírtakhoz. Az alapvetõ eltérés az esetbázis tartalmában rejlik. Míg az elõzõekben ismertetett módszer esetében az esetbázis a konkrét esetek technológiáit, addig a variáns módszernél a komplex alkatrészek csoporttechnológiáit tartalmazza. A tervezés itt is az alkatrész technológiai kódjának összeállításával kezdõdik. A technológiai kód segítségével határozható meg az aktuális alkatrész csoport. Ezt követi a csoporttechnológia adaptálása, amely történhet egy terv-editor segítségével a felhasználó által, vagy adaptálási szabályok alapján automatikusan.

7 3. MESTERSÉGES NEURÁLIS HÁLÓ ALKALMAZÁSA A mesterséges neurális hálók olyan számítási feladatok megoldására létrehozott párhuzamos adatfeldolgozást végzõ adaptív eszközök, melyek eredete az emberi agy mûködésének modellezésére vezethetõ vissza ([3.]). Felépítésüket tekintve egyszerû, általában adaptív elemek sûrûn összekapcsolt hálózata, és ezek hierarchikus szervezete. A neurális hálókat a hálók topológiája, a csomópontjainak karakterisztikája és az alkalmazott tanulási algoritmusok határozzák meg. Az általunk használt neurális háló csomópontjainak felépítését a Ábra 6. szemlélteti. X1 X2 w1 w2 S f(s) Y Xn wn Ábra 6. A mesterséges neurális háló csomópontjainak felépítése A csomópont súlyozva összegzi a bemenetein jelentkezõ értékeket, majd a súlyozott összeget egy f(s) nemlineáris függvény segítségével transzformáljuk. Nemlineáris függvényként az un. szigmoid függvényt alkalmaztunk. Ily módon egy csomópont kimenete a következõképpen határozható meg: 1 S = x i w i, Y = f ( S) = n + ( e S S o ) 1 ahol: x i : a csomópont bemenetei; w i : a bemenetek súlyai; Y: a csomópont kimenete. A mesterséges neurális háló tehát ilyen egyforma elemekbõl épül fel (Ábra 7.). Az általunk használt hálónak négy bemenete és egy kimenete van, melyeket egy közbensõ réteg köt össze. A bemeneti réteg minden eleme össze van kötve a közbensõ réteggel és a közbensõ réteg minden eleme össze van kötve a kimeneti réteggel.

8 S1 S2 S3 S S4 Ábra 7. A mesterséges neurális háló felépítése A csomópontokat összekötõ élekhez rendelt súlyokat (w i,j ) a háló tanítása során határoztuk meg. A tanítás során mintákat "mutattunk" a hálónak. A mintákat a bemenõ adataival és az elvárt kimeneti értékekkel definiáltuk. A tanulás során a súlyok értékét a back-propagation eljárás alapján a következõk szerint módosítjuk: E( w) wi, j ( n) = η * + α * wi, j ( n 1) w, ahol w i,j (n) : az n-edik lépésben a w i,j súly változtatása, w i,j (n-1) : az (n-1)-edik lépésben a w i,j súly változtatása, η : tanulási ráta, 0 < η< 1, konstans, α : momentum, 0 <= α < 1, konstans, E(w) : hiba, 1 2 E( w) = * ( t o( w ), 2 k t : megkivánt kimeneti érték, o : aktuális kimeneti érték. Kutatásaink során a neurális hálókat, mint már említettük, az eset-alapú tervezés egyik kulcsfontosságú problémájának megoldására - az esetek közötti hasonlóság meghatározására - alkalmaztuk. Az eseteket modellezõ technológiai kód alapján úgynevezett elsõdleges hasonlósági indexeket generáltunk, melyek külön-külön a két összehasonlítandó eset technológiai kódja közötti eltérés egy-egy jellemzõ értékét írja le. Az egyes indexek a következõ jellemzõket fogalmazzák meg: S 1 : a kódok hosszának különbsége, S 2 : a kódolás során elõfordult azonos kérdéscsoportok száma; S 3 : a közös kérdésgráf szakasz hossza; i, j

9 S 4 : a tartalmilag azonos kód elemek száma. A program futása során az új esethez tartozó technológiai kódot és az esetbázisban található esetek technológiai kódját hasonlítjuk össze (Ábra 8.). Elsõ lépésként meghatározzuk az elsõdleges hasonlósági indexeket, majd ezekbõl, a már betanított neurális háló segítségével, meghatározzuk a két eset közötti hasonlóság mértékét. A felhasználó ezen értékek figyelembevételével tudja kiválasztani a legjobban hasonló, adaptálásra alkalmas esetet. Technológiai kód Egy eset technológiai kódja Elsõdleges hasonlósági indexek elõállítása S1 S2 S3 S4 S Hasonlósági index Ábra 8. A hasonlóság megállapítása Mint láttuk a neurális háló használatának elõfeltétele a tanítás. Esetünkben a tanítás tanítási minták segítségével történt. Ezen minták tartalmazzák egyrészt az elsõdleges hasonlósági indexeket, másrészt a végsõ hasonlósági indexet. Ennek a mintának az elõállítás az esetbázist felhasználva automatikusan történik. A hasonlóság megállapítása során kiválasztunk két alkatrészt az esetbázisból és összehasonítjuk az alkatrészekhez tartozó technológiákat. Annál jobban hasonlít technológiai szempontból az egyik alkatrész a másikra, minél egyszerûbben elõállítható az egyik alkatrész technológiájából a másik alkatrész technológiája. 4. SZABÁLY-ALAPÚ KÖVETKEZTETÉS A szabály-alapú következtetés nagyon közel áll a mérnöki gondolkodás bizonyos formáihoz. A mérnök gyakran dönt ha - akkor típusú szabályok alapján. Ezt a gondolkodási folyamatot modellezi a szabály-alapú következtetés.

10 A szabály-alapú rendszerek tudásbázisa részben tényekbõl, részben szabályokból áll. A tények az általunk vizsgálni kívánt zárt világ leírására szolgálnak. A szabályok feltétel-akció párosok, ami valójában azt jelenti: ha a feltétel kielégül akkor az akciót végre lehet hajtani. A feltétel azon körülmények kifejezésére szolgál, melyek között a szabály egyáltalán aktivizálódhat. Az akció oldal adja meg, hogy mi történjen a szabály aktivizálódása nyomán. A szabálynak kétféle hatása lehet: részben módosíthatja a tényeket, részben input/output tevékenységet generálhat. Szabály-alapú rendszerekben az alapvetõ következtetési mód az elõreláncolás vagy adatvezérelt következtetés, melynek lényege tömören a következõ: ha a következtetõ mechanizmus talál olyan szabályt, melynek feltételeit a tények kielégítik, akkor végrehajthatja a szabályt, aminek hatására a tények módosulnak. Mindez ciklikusan addig folytatódik, míg van olyan szabály, amely "tüzelhet". A következtetés másik, gyakran alkalmazott módja az ún. hátraláncolt vagy célvezérelt következtetés. A következtetés egy célból indul ki és megvizsgálja, hogy a rendelkezésre álló tények alapján a cél igazolható-e. A mechanizmus elõszõr a cél alapján kiválaszt egy szabályt, melynek akció oldalán a cél állítása szerepel. Ezután ellenõrzi, hogy a tények kielégítik-e ezen szabály feltételeit. Ha egy feltételre nincs illeszthetõ tényállítás, akkor azt az igazolandó célokhoz csatoljuk. Ez a folyamat mindaddig tart, míg elõáll egy megoldás, vagy kiderül, hogy az adott cél az adott tények esetén nem teljesíthetõ. A gyakorlatban gyakran alkalmazzák a vegyes, mind elõre-, mind hátraláncoló üzemmódot. Ugyanis ha a mintaillesztés egy bizonyos tény hiánya miatt nem sikerül akkor ezt a tényt célként lehet kitûzni és hátraláncoló szabályok segítségével meg lehet próbálni a többi ténybõl levezetni. A tüzelési ciklusnak három fõ lépése van (Ábra 9.). Mintaillesztés Szabály bázis Adatbázis Kiválasztás Tüzelés Ábra 9. Szabály-alapú következtetési ciklus A mintaillesztés kijelöli mindazon szabályokat, melyek feltételei illeszkednek a tényekre. Ekkor nem pusztán a feltételek logikai ellenõrzése, hanem a feltételek közt szereplõ változók minden lehetséges módon való lekötése történik. Egy szabály többféle módon is illeszkedhet az adatbázisra, ezért valójában nem a szabályok tüzelnek hanem azok példányai.

Választáskor el kell dönteni, hogy a mintaillesztés során kijelölt szabálypéldányok közül melyik tüzeljen. A feladat megoldására többféle vezérlési stratégiát alkalmazhatunk. A leggyakrabban alkalmazott stratégiák a következõk: a legfrisebb tényekre illeszkedõ; a legspecifikusabb, azaz a legtöbb feltételt alkalmazó; a legnagyobb prioritású, ha a szabályokhoz prioritás rendelhetõ, vagy egy véletlenszerûen kiválasztott szabály tûzel. Egy szabály, lekötött változók mellett történõ, végrehajtását tüzelésnek nevezzük. A tüzelés során módosulnak a tények, vagy input/output tevékenységek aktivizálódnak. Feladataink megoldásához a LEVEL5 Object szabályalapú következtetõ keretrendszert alkalmaztuk, mely segítségével egyszerûen készíthetõk Windows operációs rendszer alatt futtatható alkalmazások. A keretrendszer tartalmazza mindazon eszközöket amelyek felhasználó barát környezetet biztosítanak egy objektumorientált program készítéséhez. Ezek az alábbiak: grafikus felhasználási felület szerkesztése; felhasználói objektumok létrehozása, szerkesztése; adatbázisok létrehozása, csatolása az alkalmazáshoz; intelligens szabályszerkesztõ; futás alatti nyomkövetés; a forráskód szöveges megjelenítése. A LEVEL5 Object hibrid következtetõ rendszer, így a különbözõ tudásábrázolási formáknak megfelelõ következtetési módok alkalmazhatók. A keretrendszer következtetésének üzemmódja lehet: szabályalapú célvezérelt; szabályalapú adatvezérelt; szabályalapú célvezérelt és adatvezérelt kombináció. A két alapvetõ következtetési forma a szabály-alapú célvezérelt és a szabályalapú adatvezérelt következtetés. A célvezérelt (hátraláncoló) következtetés szabályait RULE-oknak, az adatvezérelt (elõreláncoló) következtetés szabályait DEMONoknak nevezzük. A szakértõi rendszerek fejlesztõi felületét és következtetõ mechanizmusát a LEVEL5 Object keretrendszer eleve biztosítja, tulajdonképpen a keretrendszer egy programozási környezetnek tekinthetõ. A fejlesztés során csupán a tudásbázis és a felhasználó felület létrehozása a fejlesztõk feladata. A felhasználói felület kialakítását is jelentõsen támogatja a keretrendszer, így Windows-os környezet esetén a bemenõ adatok megadása és az eredmények közlése nagyon egyszerûen megtervezhetõ. 11

12 A probléma meghatározása Osztályok definiálása Példányok létrehozása Felhasználói képernyõk letrehozása Szabályok és démonok létrehozása Eljárások definiálása Tesztelés Ábra 10. Szakértõi rendszer fejlesztésének lépései Fejlesztõ munkánk során a prototípus rendszerekre érvényes fejlesztési modellt alkalmaztuk, mivel munkánk kutatási célú. A fejlesztés lépéseit mutatja az Ábra 10. ([1.]). Az elsõ lépés a probléma definiálása, amely során meghatározzuk, milyen feladat megoldására fejlesztjük a rendszerünket, milyen bemenõ adatokra támaszkodhatunk és milyen kimenõ információt várunk el. Tulajdonképpen megalkotjuk a rendszer koncepcióját. A következõ lépés a következtetés során használni kívánt objektumok frame-alapú leírása, létrehozása. Ennek során osztályokat hozunk létre, melyek leírják az ismert objektumokat. Minden osztály (class) rendelkezik egy névvel, valamint tulajdonságokkal (attribute), melyek különbözõ típusú változók lehetnek. Az egyes tulajdonságokhoz kapcsolhatunk eljárásokat is. Az osztályok definiálása után példányokat (instance) hozunk létre, ami során konkrét értékeket adunk egy osztály tulajdonságainak. A felhasználói képernyõket elõre definiált képernyõelemekbõl építhetjük fel. Íly módon elhelyezhetünk a képernyõn adatbeviteli- és kiíró mezõket, szövegeket, nyomógombokat, képeket, listákat, táblázatokat stb. Definiálhatjuk a képernyõk közötti kapcsolatokat. A <ha - akkor> szerkezetû szabályok és démonok jelentik a szakértõi rendszerünk tudását. Ezek definiálását egy szabály-szerkesztõ segíti, amely lehetõvé teszi a szabályok gyors, gépelés nélküli létrehozását.

13 A változók értékeinek figyelésére alkalmasak a WHEN NEEDED és WHEN CHANGED eljárások. Az elõbbivel értékmeghatározást definiálhatunk, míg az utóbbival értékváltozást figyelhetünk. A tesztelés során ellenörizhetjuk rendszerünk mûködését és korrigálhatjuk az egyes elemeit. A keretrendszer segítségével szakértõi rendszereket fejlesztettünk a gyártórendszerek kijelöléséhez, az elõgyártmányválasztáshoz, a csoporttechnológiák automatikus adaptálásához. Példaképpen tekintsük meg a gyártórendszerválasztás, szerszámgépválasztó moduljának felhasználói felületét (Ábra 11.). Ábra 11. A szerszámgép választó modul felhasználói felülete A szakértõi rendszer fejlesztése szempontjából legfontosabb feladat a tudásbázis összeállítása. A tudásbázis alapvetõen tényekbõl és szabályokból tevõdik össze. A tényeket osztályokba lehet szervezni. Példaképpen a megmunkáló központok osztály leírását mutatjuk be az alábbiakban:

14 CLASS Machining Center WITH Name STRING WITH Palett Size NUMERIC WITH Travel of X axis NUMERIC WITH Travel of Y axis NUMERIC WITH Travel of Z axis NUMERIC WITH Main Spindle Motor NUMERIC WITH Tool Shank STRING WITH Price NUMERIC WITH Tool Storage Capacity NUMERIC Ennek egy példánya: INSTANCE Machining Center 1 ISA Machining Center WITH Name := "H 415" WITH Palett Size := 400 WITH Travel of X axis := 560 WITH Travel of Y axis := 560 WITH Travel of Z axis := 510 WITH Main Spindle Motor := 11 WITH Tool Shank := "40" WITH Price := 400000 WITH Tool Storage Capacity := 30 A tudásbázis másik fontos eleme a szabályok halmaza. A szabályok a keretrendszer által felkínált "nyelv" segítségével nagyon egyszerûen definiálhatók. Példaképpen a megmunkáló központok kiválasztásához használt egyik demon tipusú szabályt mutatjuk be: DEMON Tool2 IF Tool Storage Capacity OF Customer Requirement > Tool Storage Capacity OF Suggested Machining Center AND Tool Storage Capacity OF Customer Requirement <= Tool Storage Capacity Option 1 OF Suggested Machining Center THEN Price of Tool Storage Capacity Option OF Suggested Machining Center := Price of Tool Storage Capacity Option 1 OF Suggested Machining Center 5. IRODALOM [1.] P.Harmon, B.Sawyer: Creating Expert Systems for Business and Industry; John Wiley and Sons, 1990. [2.] J.Kolodner: Case-Based Reasoning; Morgan Kaufmann, 1993. [3.] L.P.J. Veelenturf: Analysis and Applications of Artificial Neural Networks, Prentice Hall, 1995.