Gépgyártástechnológa Tanszék Dr. Mkó Balázs Mesterséges ntellgenca Szakértő rendszerek Technológa tervező rendszerek 2003/2004 I. BME GTT mko.balazs@freestart.hu Gábor Dénes Főskola Dr. Mkó Balázs Mesterséges ntellgenca Szakértő rendszerek Mesterséges ntellgenca alapja 2003/2004 I. BME GTT mko.balazs@freestart.hu
Vezető tanár: A MESTERSÉGES INTELLIGENCIA ALAPJAI Dr. Szalay Tbor adjunktus Budapest Műszak és Gazdaságtudomány Egyetem Gépgyártástechnológa Tanszék Tel: 463-1875, 463-2515 Fax: 463-3176 mobl: 30 2816218 e-mal: szalay@manuf.bme.hu http://manuf.bme.hu/gdf Tartalom Mesterséges ntellgenca Intellgenca Szakértő rendszerek Szabály-alapú következtetés Eset-alapú következtetés Frame-ek Heursztkák Mesterséges neuráls hálók Keresés algortmusok
1. rész MESTERSÉGES INTELLIGENCIA John McCarthy
Kezdetek 1956 - Darthmouth College John McCarthy John McCarthy Marvn Mnsky Nathanel Rochester (IBM) Claude Shannon (Bell) Cél: Az ember gondolkodást modellezn képes gép megalkotása. A kutatások célja A mesterséges ntellgenca olyan kutatás terület, amely arra törekszk, hogy a számítógépek ntellgensnek teknthető tevékenységeket tudjanak végezn A kutatásoknak két fő rányuk van, egy kogntív és egy számítástudomány rány.
Kogntív kutatások A kogntív pszchológával kapcsolatos kutatások a számítógépet eszközként használják az ember gondolkodás, probléma megoldás stb megértésére, modellezésére. Számítástudomány kutatások Ez a megközelítés azt tűzte k célul, hogy ntellgensebbé tegye a számítógépek vselkedését. Itt s megfgyelhetők bológa analógák, de a cél nem a bológa rendszer modellezése, megértése, hanem más területeken felmerülő problémák hatékonyabb megoldása.
Az MI kutatások célja meglévő ntellgens rendszerek emprkus tanulmányozása és modellezése, ntellgens rendszerekben alkalmazható módszerek elmélet kutatása, gyakorlat problémák megoldása ezen módszerek segítségével. (Mke Sharples) Intellgenca I. Az ntellgenca az értelm működés fokmérője, elsősorban új körülményekhez való alkalmazkodó képességben mutatkozk meg, amely szorosan összefügg az előzőleg szerzett tapasztalat anyag alkalmazásával, a helyzet mozzanatanak széleskörű fgyelembevételével és a gondolkodóképességgel. (Új magyar lexkon)
Intellgenca II. Egy rendszer ntellgensen vselkedk, ha a rendelkezésre álló smeretek alapján a lehető legjobb döntést hozza egy adott cél elérése érdekében. (Russel) Intellgenca III. Kulcs jellemzők Céltudatosság Rugalmasság Eredményes lustaság (Mke Sharples)
Intellgenca IV. Turng teszt - Alan Turng A számítógép ntellgensnek teknthető, amennyben egy termnálon keresztül kérdező nem tudja eldönten, hogy vele szemben ember, vagy számítógép áll. Képességek: - természetes nyelvmegértés - tudásreprezentácó - automatkus következtetés - gép tanulás Ágens defnícó Az ágens olyan rendszer, amely a következő tulajdonságokkal rendelkezk: Beágyazottság (környezetbe ágyazott) Reaktvtás (érzékel környezetét és reagál az abban bekövetkezett változásokra Autonóma (önálló működés) Helyzetfüggőség (csak helyzethez, szerephez kötötten léteznek)
Raconáls ágens Célja és nformácó vannak, és ezeknek megfelelő legjobb akcót választja. (legjobbat cseleksz - deáls ntellgenca) Tovább ágens tulajdonságok: Kezdeményezőkészség (nemcsak reagál, de a cél érdekében beavatkozk) Célvezérelt vselkedés Temporáls kontnutás (huzamosabb deg létezk) MI kutatás területe Mesterséges ntellgenca Kogntív kutatások Számítástudomány kutatások Keresés Tudásreprezentácó Szmbolkus következtetõ módszerek Szubszmbolkus módszerek Tanulás és adaptácó... MI módszerek MI alkalmazások Szakértõ rendszerek Cselekvéstervezés Beszédfeldolgozás Képfeldolgozás...
2. rész SZAKÉRTŐI RENDSZEREK Szakértő rendszer - defnícó A szakértő rendszer olyan számítástechnka hátterű probléma megoldó rendszer, amely alapvetően különböző mesterséges ntellgenca módszerekre épül, egy szűkebb problématerület (doman) smeretet tartalmazza, segít nagy méretű, komplex problémák analzálásában lletve megoldásában fgyelembe véve a humán szakértők problémamegoldás folyamatát.
Szakértő rendszer alkalmazása a probléma megoldása gyakorlat tudást gényel, a problématerület jól körülhatárolható, a knduló adatok objektív módon leírhatók, kevés az ember szakértő, fontos a probléma gyors megoldása. Szakértő rendszer segítségével hatékonyan támogatható problématerületek jellegzetes tulajdonsága: A problématerület elég szűk ahhoz, hogy olyan tudást lehessen benne megragadn, amely nem mndenk számára kézenfekvő, ugyanakkor elég bonyolult ahhoz, hogy lyen szakértelemre gény legyen. 1. 2. Az adott területnek rendelkezne kell ember szakértőkkel, akknek a tudásából k lehet nduln a rendszer elkészítéséhez.
3. A humán szakértők között a szakterület alapkérdéseben nagyfokú egyetértésnek kell lenne. Szükséges, hogy az adott szakterületen számos tanpélda, alapadat s rendelkezésre álljon, mert csak így lehet a szakértő rendszert megbízhatóan teszteln és tudásának korlátat meghatározn. 4. 5. Általában annál jobb szakértő rendszert lehet építen egy adott területen, mnél jobban felosztható az llető terület olyan részproblémákra, amelyek egymással csak nagyon kevéssé nterferálnak SzR problématípusok Proceduráls problémák Dagnosztzáló problémák Montorozó / őrző problémák Objektum tervező problémák Tevékenység tervező / ütemező problémák
Döntéstámogató szakértő rendszer A döntéstámogató szakértő rendszerek emlékeztetk a humán szakértőt a megfontolandó következményekre, a felderítendő alternatívákra stb., amelyek felett a szakértő esetleg elsklana a döntéshozatal során. Döntéshozó szakértő rendszer A döntéshozó szakértő rendszerek a probléma megoldásának megtalálásában segítk a problématerületen járatlan vagy kevéssé jártas felhasználót.
Szakértő rendszerek hátránya nehéz új, vagy a szokásostól eltérő helyzetekre felkészíten, nem kreatív, a fejlesztés drága és dőgényes. Összehasonlítás Humán szakértő A képességek és a tudás dővel változk Felkészítése hosszú és költséges folyamat Érzelm állapota befolyásolja a döntéshozatalt Rtka és drága Szakértő rendszer A tudása állandó Fejlesztése drága, de sokszorosítható Állandó és megsmételhető eredményt bztosít Használata és karbantartása vszonylag olcsó
Szakértő rendszer felépítése I. TUDÁSBÁZIS Tudásgyûjtõ és karbantartó rendszer Tudásmérnök Következtetõ mechanzmus Munka memóra Nyomkövetö rendszer Felhasználó felület Felhasználó Szakértő rendszer felépítése II. A rendszer tudását a tudásbázs tartalmazza, amt a tudásmérnök állít össze és tart karban. A tudásmérnök a problématerület smerője, ak átlátja a problématerülethez kapcsolódó smereteket és képes azt rendszerezn.
Szakértő rendszer felépítése III. A felhasználó a felhasználó felületen keresztül tud kommunkáln a rendszerrel, tt tudja leírn a problémát és ezen keresztül kapja meg a megoldást s. Szakértő rendszer felépítése IV. A felhasználó által leírt probléma a munka memórába kerül, majd a megoldás során a következtető mechanzmus, felhasználva a tudásbázs adatat, megpróbál választ adn.
Szakértő rendszer felépítése V. A következtetés folyamatát a nyomkövető rendszer segítségével tudjuk fgyelemmel kísérn. Szakértő keretrendszer I. Keretrendszer: szakértő rendszer váz, amely tartalmazza a tudásbázs lletve a felhasználó felület szerkesztésére alkalmas programozó eszközöket.
Szakértő keretrendszer II. Programozó TUDÁSBÁZIS (üres) Tudásgyûjtõ és karbantartó rendszer Tudásmérnök Következtetõ mechanzmus Munka memóra Nyomkövetö rendszer Felhasználó felület Programozó Felhasználó felület szerkesztõ Felhasználó Fejlesztés folyamat A probléma meghatározása, A szakértõ rendszer feladatanak kjelölése Tudás-, smeretgyûjtés Ismeretanyag feldolgozása Rendszerezés, Közös adatstruktúra kalakítása Bemenõ- és kmenõ adatok meghatározása Tervezés elv és fejlesztés környezet választás stb. Fejlesztés hagyományos környezetben Fejlesztés keretrendszerben Tesztelés
3. rész TUDÁSREPREZENTÁCIÓ ÉS KÖVETKEZTETÉS Tudásreprezentácó Frame-ek Szabályok Esetek Heursztkák
Frame Marvn Mnsky FRAME - nformácó tárolás alapegység, összefoglalja mndazon tulajdonságokat, amelyek egy objektumra jellemzők, és azokat a relácókat, melyek ezt az objektumot más objektumokkal összekapcsolják. Frame alapú tudásreprezentácó Az ember gondolkodás (emlékezet) általában tárgyakhoz, objektumokhoz kötődk. Az ember gondolkodás összekapcsolja az objektumot annak jellemző tulajdonságaval, vselkedésével, környezetével.
Alapelemek Osztályok - Alosztályok - Példányok herarchkus felépítés Példa: osztály - alosztály osztály szerszámgép alosztály eszterga marógép Példa: osztály alosztály - példány marógép példány M-21 M-21 M-23 Magukban hordozzák a tulajdonságokat és relácókat Alapvető kapcsolatuk az öröklődés (tulajdonságok relácók öröklődnek a herarchában felettük (előttük) levőtől Többszörös (több helyről való) öröklődés - több kapcsolat - több sznt
Technka megvalósítás: frame egyed azonosító slot: tulajdonság vagy relácó specáls relácók - osztály - alosztály (s-a) - osztály - példány (nstance-of) érték - default: örökölt értékek Osztály Alosztály k Alosztály l Alosztály m Példány... Példány 2 Példány 1 Osztály - Alosztály m Tulajdonság 1 Tulajdonság 1 = Érték 1 Tulajdonság 2 Tulajdonság 2 = Érték 2 Tulajdonság 3 Tulajdonság 3 = Érték 3 Példa Osztály tulajdonság relácó Alosztály herarcha tulajdonság relácó Példány herarcha tulajdonság relácó (defframe macska (szín) (megesz (egér madár))) (defframe házmacska (s-a macska) (név) (megesz (konzerv madár))) (defframe Mrc (nstance-of házmacska) (név Mrc) (megesz (konzerv kanár)))
A frame-alapú reprezentácó előnye hétköznap gondolkodáshoz llő reprezentácó hatékony következtetés az osztályok és az objektum példányok tulajdonságaról mplementácó: objektum-orentált programozás Nncs szükség következtető eljárásra, az adatstruktúra hordozza a következtetést Szakértő rendszerekben gyakran alkalmazott reprezentácós módszer Problémák - 1 Konflktus öröklődéskor default értékek és több helyről való öröklődés Honnan vegyük az értéket? Példa: (1) A marógépek vezérelt tengelyenek száma általában 3, és státusza szabad. (2) A körasztallal ellátott marógép s marógép. (3) A körasztallal ellátott marógép vezérelt tengelyenek száma 4. 4) A karbantartott berendezések státusza foglalt. 5) M-33 egy karbantartás alatt álló, körasztallal ellátott marógép.
Reprezentácó Osztály Marógép vtengely: 3 státusz: sz. Frame-ek Alosztály Marógép körasztallal vtengely: 4 Karbantartott berendezés státusz: f. Példány TC 3 marógép vtengely:? Státusz:? - konflktus egy öröklődés út mentén - konflktus több út mentén Problémák - 2 Nem-monoton következtetés monoton következtetés Új tény hozzáadásával egy korább konklúzó nem válk hamssá (az smert állítások halmaza monoton nő). nem-monoton következtetés Bármt állítunk, megfordítható az gazsága. Default értékek esetén a monoton következtetés nem működk.
Példa tudjuk, hogy x madár(x) repül(x) madár(pp) tehát: repül(pp) újabb smeretenk: x pngvn(x) repül(x) x pngvn(x) madár(x) pngvn(pp) mndebből az (s) következk: repül(pp) Ellentmondás! Metódusok - Démonok A slot-okhoz nemcsak logka értéket (tulajdonság, relácó), hanem számítás eljárások s rendelhetők. Metódus A metódus a frame manpulálásakor aktvzálódk: - f-needed ha a frame értékét vesszük át - when-changed ha egy slot értéke változk A slot-okhoz hasonló öröklődés problémák
Szabály-alapú következtetés Ha, akkor Szabály Feltétel Akcó Tények Következtetés cklus Mntallesztés Szabály bázs Adatbázs Kválasztás Tüzelés
Következtetés I. Adatvezérelt következtetés Ha a következtető mechanzmus talál olyan szabályt, melynek feltételet a tények kelégítk, akkor végrehajthatja a szabályt, amnek hatására a tények módosulnak. Következtetés II. Célvezérelt következtetés Cél meghatározása Szabály kválasztása Tények lleszkednek? Újabb cél kjelölése A cél gazolva
Fejlesztés keretrendszerben Fejlesztés keretrendszerben Elökészítés Osztályok defnálása Szabályok létrehozása Eljárások létrehozása Implementálás Felhasználó felület megtervezése Osztályok leprogramozása Szabályok leprogramozása Eljárások leprogramozása Help, User's Gude, Tutoral, Report Maker etc. Level5 Object Szabály-alapú szakértő keretrendszer
Level5 Object Level5 Object
Level5 Object Alkalmazás példák Szerszámgép választás Szerszám választás Megmunkálás sorrendtervezés Szerszám hbadagnosztka
Előgyártmányválasztás Előgyártmány Meghatározandó paraméterek: Anyag Technológa Alak Ráhagyások Méretpontosság Alkatrész Cél: az előgyártmánygyártás és az alkatrészgyártás költsége legyen mnmáls. Előgyártmányválasztás Szabály-alapú szakértő rendszer Kzáró krtérumok Idő krtérumok Értékelő szabályok Egyszerűsített geometra Szabályok Előgyártmány típus Technológa lépések Ráhagyások Szabályok Ráhagyás alakzat Szabályok Előgyártmány geometra Felület összevonások
Alkalmazás példa Csoporttechnológa adaptálása
Alkalmazás példa Költségbecslés Alkatrész modell Gyártás dő- és költség becslése Szabályok Műveletelemek Szabályok 1. 2. 3. Heursztkus képletek Előzés mátrx Mátrx elmnácó Becsült adatok
Alkalmazás példa Robotmegfogó tervezés Alkalmazás példa Robotmegfogó tervezés
Robotmegfogó tervezés Koncepconáls tervezés Alkalmazás példa Robotmegfogó tervezés Részletes tervezés
Robotmegfogó tervezés (Vdeo) Alkalmazás példa Megmunkálás dagnosztka Bemutatás Szerszámanyag választás Bemutatás
Eset-alapú következtetés (CBR) (A. Aamodt) Egy új probléma megoldása azálltal, hogy feldézünk egy korább már megoldott problémát, és felhasználjuk ennek megoldásából származó tudást és tapasztalatot. Eset-alapú következtetés (CBR) Az eset-alapú következtatés egy rég probléma megoldásának új helyzetben történő adaptálását jelent. (Janet Kolodner)
Következtetés folyamat Új probléma Indexelés Vsszakeresés Esetbázs Hasonló esetek Választás Javasolt megoldás Tanulás Adaptálás Ellenörzés Megoldás Egy eset szerkezete 16H7F76AC987... Indexelt nformácó Nem ndexelt nformácó
Indexelés Az ndexelés célja: - az eset jellegzetességenek leírása, - az nformácó rendszerezése, tömörítése. Eset Indexelés Kód Keresés - Választás Hasonlóság becslés: Mkor hasonló két eset? Hatékony keresés algortmus.
Adaptálás Az adaptálás célja: A kválasztott esethez tarozó megoldás módosítása az új körülmények fgyelembevételével. Új eset Megoldás Adaptálás Eset Megoldás Alkalmazás példák Készüléktervezés Művelet sorrendtervezés
Alkalmazás példák Művelet sorrendtervezés
Alkatrész modell Gyártás dő- és költség becslése + Paraméter lsta Eset bázs Keresés Hasonlóság megállapítása Választás Adaptálás Becsült adatok Heursztkák A heursztka olyan algortmzált feladatmegoldó módszer, mellyel smert megoldás módszerekből kndulva adott problémák újszerűen, automatkusan oldhatók meg.
Heursztkák A heursztkus módszerek bonyolult feladatok megoldására gyekeznek nem mnden lehetséges utat kpróbáln, hanem hasonlóság alapon bzonyos feladatmegoldás típusok alapulvételével elndulnak egy-egy nem bztos, de valószínű megoldás felé. 4. rész NEURÁLIS HÁLÓK
Neuráls hálók Számítás feladatok megoldására létrehozott párhuzamos adatfeldolgozást végző adaptív eszközök, melyek eredete az ember agy működésének modellezésére vezethető vssza Felépítésüket tekntve egyszerű, általában adaptív elemek sűrűn összekapcsolt hálózata lletve herarchkus szervezete. Bológa analóga I.
Bológa analóga II. Történet áttekntés 1943 McCulloch és Ptts 1958 Rosenblatt 1960 Wdrow és Hoff 1962 Rosenblatt többszntű perceptron 1969 Mnsky és Papert 1982 Hopfeld 1986 Rummelhat, Hnton és Wllams 1989 Kohonen 1991 Carpenter és Grossberg adaptve resonance theory ART
Fontosabb típusok Neuráls Hálók Bnáls bemenet Folytonos és bnárs bemenet Felügyelt tanítás Nem felügyelt tanítás Felügyelt tanítás Nem felügyelt tanítás Hopfeld háló Hannng háló Carpenter/ Grossberg háló egy rétegû perceptron több rétegû perceptron Kohenen háló Perceptron 1 2 w1 w2 S = n x w S f(.) Y n wn Y = f(s)
Nemlneartások s Y = + 1 > 0 1 s 0 Lépcsőfüggvény + 1 Y = S 1 s > 1 1 S + 1 s < 1 Telítéses lneárs függvény 1 e Y = 1+ e KS KS 1 Y = 1 + e KS Tangens hperbolkusz függvény Szgmod függvény Perceptron háló Közbenső réteg Bemenet réteg Kmenet réteg...
Back-propagaton Új változtatás Hba Előző változtatás w, j E( w) ( n) = η * + α * w, j( n 1) w, j Hba: Tanulás ráta Momentum 1 Ew t ow 2 ( ) ( ) = * ( ) k 2 Alkalmazás példák Megmunkálás gények felmérése Forgácsolás paraméterek meghatározása Folyamatfelügyelet, hbadagnosztka
Alkalmazás Feladattípusok osztályozás az nformácómennység erős csökkentése transzformácó egyk adatstruktúrából egy máskba való átalakítás pl. írott szöveg beszéd optmalzálás Példa Szerszámkopás felügyelet
Szerszámok állapotbesorolása Állandó forgácsolás paraméterek Jel jellemzôk éles kopott Osztályozás eredmény Hálóstruktúra Szerszámkopás becslése Állandó forgácsolás paraméterek Jel jellemzôk hátkopás
Alkatrészmodell Gyártás dő- és költség becslése Paraméter lsta ANN Tanítás mnta W 1 W 2 Σ S f(s) Becsült adatok W 3 Költségbecslés Műanyag fröccsöntő szerszám?
Rendszerterv Gyártandó termék Gyártandó termék Szerszámtervezés ECoTEst/Mold Alkatrész és szerszámparaméterek Utókalkulácós adatok Gyártáselőkészítés Mesterséges neuráls háló Tanító algortmus Szerszámgyártás Becsült dő- és költségadatok Szerszám 5. rész KERESÉSI ALGORITMUSOK
Keresés algortmusok Vak kereső eljárások: Heursztkus kereső eljárások: Szélességben először keresés Mélységben először keresés Korlátozott mélységű keresés Iteratív mélyítés Legjobbat először A* IDA* Iteratív javító algortmusok: Csúcsra mászás Tabu keresés Szmulált hűtés L H B est L H B C t = L D est L D C t = ( ) = = n H B L H B L C t S 1 2 = 0 C S = 0 L S = 0 B S = 0 H S ( ) 0 ln ln 2 1 2 2 2 2 = + = = n L L H B L C L H B L C t S H B L H B L ( ) 0 2 1 2 2 2 = + = = n H B L H B L H B L C H B L t C S ( ) 0 ln ln 2 1 2 2 2 2 = + = = n B B H B L C B H B L C t S H B L H B L ( ) 0 ln ln 2 1 2 2 2 2 = + = = n H H H B L C H H B L C t S H B L H B L Gyártás dő becslés Heursztkus összefüggések Legksebb négyzetek módszere MIN Alkalmazás példák
Numerkus kereső algortmus C1, B, H, L C2, B, H, L C, B1, H, L C1, B, H, L C2, B, H, L C, B1, H, L C, B2, H, L C, B2, H, L C, B, H, L C, B, H1, L C, B, H2, L C, B, H1, L C, B, H2, L... C, B, H, L1 C, B, H, L1 C, B, H, L2 C, B, H, L2 Változás Random(100) = 0.01+ 100 m Hba t t, j j D = j Eredmények
Genetkus algortmus Charles Darwn Evolúcós párhuzamra épülő numerkus optmálás eljárás. John Holland Egyed: egy lehetséges megoldás. Populácó: egy lehetséges megoldások halmaza. Életképes: a keresés tartományon belül. Rátermettség: célfüggvény érték.
Működés Paraméterek beállítása Kezdet populácó generálása Kértékelés, Sorbarendezés Kválasztás Keresztezés Mutácó Kértékelés, Sorbarendezés Leállás feltétel STOP Keresztezés 0 1 1 0 1 1 0 0 0 1 0 1 1 0 1 Keresztezés pont 1 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0 1 Szegmensek cseréje 1 0 0 1 1 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1
Mutácó Mutácós pont 0 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 Érték megváltoztatása Működés paraméterek A működést befolyásoló paraméterek: Populácó nagysága Keresztezés ráta Mutácós ráta Keresztezés pontok száma Mutácós pontok száma Leállás feltétel
Alkalmazás példák Sorrendtervezés Forgácsolás paraméterek meghatározása Ütemezés Irodalom Fekete István Gregorcs Tbor Nagy Sára: Bevezetés a mesterséges ntellgencába, LSI 1990. Stuart Russel Peter Norvg: Mesterséges ntellgenca, Panem 2000. Futó Iván: Mesterséges ntellgenca, Aula Kadó, 1999. Sántáné Tóth Edt: Tudásalapú technológa, szakértő rendszerek; Mskolc Egyetem Dunaújváros Főskola Kar Kadóhvatal, 1998.
Web lapok AI.lap.hu Agent portál http://a.lap.hu http://agent.ata.a/ manuf.bme.hu/gdf Írásos anyag letölthető http://drmkobalazs.ngyenweb.hu Oktatás mko@manuf.bme.hu mko.balazs@freestart.hu
Összefoglalás Mesterséges ntellgenca Intellgenca Szakértő rendszerek Szabály-alapú következtetés Eset-alapú következtetés Frame-ek Heursztkák Mesterséges neuráls hálók Keresés algortmusok