1 / 31

Szakértői rendszerek - CLIPS

Szakértői rendszerek - CLIPS. Bogdan Kinga. Bevezetés. Az ember régi vágya, hogy olyan szerkezetet készítsen, amely az emberi agyat tudja helyettesíteni. Az emberi gondolkodás kutatásával a kognitív pszichológia foglalkozik. Azokat a folyamatokat vizsgálja, amikor az ember: feldolgozza

Download Presentation

Szakértői rendszerek - CLIPS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Szakértői rendszerek - CLIPS Bogdan Kinga

  2. Bevezetés • Az ember régi vágya, hogy olyan szerkezetet készítsen, amely az emberi agyat tudja helyettesíteni. • Az emberi gondolkodás kutatásával a kognitív pszichológia foglalkozik. Azokat a folyamatokat vizsgálja, amikor az ember: • feldolgozza • tárolja az őt érőingereket • majd a megszerzett ismereteket később esetleg később más problémák megoldásában alkalmazza • Ezen kutatások végcélja a mesterséges intelligencia megteremtése lenne.

  3. Emberi vs. Mesterséges szaktudás EMBERI SZAKTUDÁS Hátrányok • Mulandó • Csak oktatással fejleszthető • Nehezen dokumentálható • Nem mindig következetes • Nagyon meg kell fizetni MESTERSÉGES SZAKTUDÁS Előnyök • Állandó, tartós • Könnyű reprodukálni • Könnyen dokumentálható • Mindig következetes • Elérhető áron beszerezhető

  4. Emberi vs. Mesterséges szaktudás EMBERI SZAKTUDÁS Előnyök • Kreatív és innovatív • Tanulva idomul a környezetéhez • Többféle érzékszervet használ • Gondolkodási folyamatai változatosak gazdagok • Széles látószögből, több aspektusból vizsgálja a problémákat • Józan ítélőképessége van a fals adatok kiszűrésére MESTERSÉGES SZAKTUDÁS Hátrányok • Lélektelen, nincs ihlete • Csak azt tudja amit beletápláltak • Egyfajta kommunikációt használ • Szimbólumokkal, numerikus értékekkel operál • Szűk látószögből, csak a beépített aspektusból képes a problémákhoz hozzáállni • Technikai tudása van, nem lehet vakon hinni neki

  5. Szimbolikus programozás • Heurisztikának nevezünk minden olyan elvet, szabályt, következtetést, értékelést, amely bizonyos fajta szituációban érvényes, de nem mindig. • Az ember szinte minden gondolatmenetében heurisztikákat alkalmaz, csak így tud a döntési lehetőségek sokaságának és ezek következményeinek „tengerében”. • Szimbolikus programozás esetén a program futását nem algoritmusok, hanem heurisztikák határozzák meg.

  6. Szakértői rendszerek (Expert System) • Olyan programok, melyekbe be van építve bizonyos feladat-specifikus tudás és azok az analitikus képességek, melyekkel általában a szakértő emberek is rendelkeznek. Ezek segítségével von le következtetéseket szakértő rendszerünk. • Az ilyen rendszereknek olyan képességei vannak melyekkel látszólag logikusan érvelve vonnak le következtetéseket. • Olyan ismeretalapú rendszer, mely magas szintű teljesítményt nyújt egy szűk problémakör kezelésében.

  7. Szakértői rendszer - definíciók • „Számítógépes rendszer, az emberi szakértői tevékenység szimulálására, amely a logikai következtetés szabályai szerint végez műveleteket az adott információkkal”(Jonson 1984) • „A szakértőrendszer a szakértői ismeretanyag egy komponensének tudásbázissal történő reprezentálása számítógépen olyan formában, hogy lehetőséget nyújtson intelligens tanácsadásra, vagy egy folyamattal kapcsolatos intelligens döntéshozatalra. A rendszer képes megindokolni döntéseit.”(Brit Számítástecn. Int.)

  8. Szakértő rendszerek jellemzői • Hasonlójavaslatokat képes tenni mint egy emberi szakértő • Speciális ismeretekkel rendelkezik • Intelligens párbeszédre képes • Partnere a felhasználónak, mindkét fél kezdeményezhet beszélgetést • Kérdéseit magyarázza, következtetéseit indokolja • Szimbolikus információkat tárol, ezen információkat heurisztikus módszerekkel dolgozza fel

  9. Mire jó egy szakértő rendszer? • Növeli a munka hatékonyságát: • Kevesebb idő • Kevesebb ember • Kevesebb hibás döntés • Tudásuk mindig elérhető • Tudásuk egyszerűen és olcsón többszörösíthető

  10. Mit várunk el egy szakértő rendszertől? • Adjon javaslatot • Egyenrangú fél legyen a „társalgásban” • Tegyen fel kérdéseket • Magyarázza meg a kérdéseit • Indokolja meg a válaszait • Bizonytalan helyzetekben is adjon elfogadható javaslatot

  11. Szakértő rendszerek története • 1950-1970 – általános problémamegoldó módszerek • 1970-1990 – szűk problémakör megoldására alkalmas rendszerek • Minél általánosabb egy program annál gyengébb a teljesítménye, konkrét feladatok megoldása esetén • Felmérték, hogy egy program erőssége a benne tárolt ismeretanyag minőségétől és mennyiségétől függ elsősorban

  12. Szakértői rendszer burok Felhasználói felület Eset-specifikus adatok Magyarázórendszer Következtető motor Felhasználó Tudásbázis Tudásbázis-szerkesztő Szakértői rendszerek felépítése

  13. Szakértői rendszerek szerkezete • Tudásbázis – tények, kapcsolatok, heurisztikák, szabályok, vezérlési ismeretek • Következtető motor – megoldáskereső stratégia implementált változata • Magyarázó alrendszer – megmagyarázza a kérdéseket valamint a javaslatokat • Tudásbázis-szerkesztő: az ismeretbázis megépítéséhez, teszteléséhez és módosításához nyújt segítséget • Felhasználói felület: felhasználóbarát lehetőséget nyújt az ember-gép párbeszédhez • Eset-specifikus adatok: tárgyköri ismeretek

  14. Szakértőrendszerek előnyei • Pótolják a szakértőhiányt –elérhető áron terjesztik a szakértő ismereteit • Jól követik a tárgyterület változásait –az ismeretbázist könnyű módosítani • Növelik a szakértő képességeit • Fokozzák a szakértő produktivitását • Megőrzik a szakértelmet • Mindig következetesek a tanácsadásban –nincsenek emocionális tényezők, nem fáradt... • Állandóan rendelkezésre áll • Részleges és nem-teljes adatokkal is tudnak dolgozni • Képesek megindokolni az eredményt

  15. Szakértői rendszerek hátrányai • Ismereteik egy adott szűk tárgyterületről származnak –nincsenek tudatában ennek • Válaszaik nem mindig helyesek –mindig meg kell fontolni a javaslatukat • Nincs hétköznapi józan eszük • Az ismeretszerzés bonyolult folyamat • A fejlesztés gyakran évekig tart

  16. Alkalmazások • Orvosi diagnosztika (tünet elemzés) • Műszaki diagnosztika (hibaelemzés) • rezgés, zaj, részecskevizsgálat • Erőművi, közlekedésbiztonsági rendszerek • Geológia(kőzetelemzés) • Matematika • Gazdasági döntéshozatal(tender értékelés)

  17. Napjainkban használt szakértő rendszerek • Provider Selection Tool: Web-alapú tanácsadórendszer, amely a munkáltatókat és a munkavállalókat segíti megfelelő belgyógyász kiválasztásában • Eszközök: • ART*Enterprise • OrACLE7.1 • Netscape • Web böngészők

  18. Napjainkban használt szakértő rendszerek • FASTrakAPT: • lakások felújítását tervező rendszer • Évente 6 millió dollár megtakarítást eredményez • Eszközök: • UNIX expert system tool • VisualC++ • Crew_NS: • a Holland Vasutak 5000 vonatkísérőjének és vezetőjének beosztását ütemező rendszer

  19. Napjainkban használt szakértő rendszerek • Rail Train Scheduler: • termékek csomagolását tervező és ütemező rendszer • évente félmillió dollár a megtakarítás • Eszközök: • ART*Enterprise

  20. CLIPS - Bevezetés • Egy közkincs, szakértői rendszerek kidolgozására létrehozott fejlesztői eszköz. • A CLIPS név a „CLanguageIntegratedProductionSystem” rövidítése • A CLIPS első verziói 1985-től egész 1990-ig a NASA- Johnson Űrközpont által került kifejlesztésre. A fejlesztés eredeti neve NASA’sArtificialInteligenceLanguage (NAIL) volt. • Valószínűleg a legelterjedtebben használt szakértői rendszer írására szolgáló eszköz, hiszen gyors, hatékony és ingyenes. • Annak ellenére, hogy már közkincs, még mindig frissíti és támogatja eredeti szerzője GaryRiley.

  21. CLIPS – Programozási nyelve • Olyan programozási nyelv, mely támogatja a : • Szabályalapú • Objektumorientált - COOL • Eljárás-orientált programozást • A CLIPS alapvetően szabály-alapú rendszer • Csak előrefele haladó levezetési szabályokat használ • Szabályalapú nyelve: • Ténylistát tud létrehozni • Szabálylistát tud létrehozni • Illeszti a tényeket a szabályokra • Lehetőség van a szabályok súlyozására.

  22. A CLIPS telepítése • Letöltés: • http://clipsrules.sourceforge.net/ • Itt minden szükséges tutorial is megtalálható • Telepítés: • A letöltött file egy MSI file, mely a windows installation wizard használatával kényelmes felületet biztosít a CLIPS rendszer telepítéséhez.

  23. A CLIPS kezdőképernyője

  24. Példa – Hello, world! • Parancssoros ablakunk van. • “Hello, world!” a képernyőn • (printout t "Hello, world!" crlf)

  25. CLIPS – Tények és szabályok • Mint minden más szakértői rendszer, CLIPS-ben is szabályokkal és tényekkel dolgozunk. • Több tény együttes fennállása teszi lehetővé egy szabály alkalmazását. • A szabályokat a következő módon hozhatjuk létre: (defrule rule1 (car_problem (name ignition_key) (status on)) (car_problem (name engine) (status wont_start)) => (assert (car_problem (name starter) (status faulty))) • A tényeket a következő módon definiálhatjuk: (deffactstrouble_shooting (car_problem (name ignition_key) (status on)) (car_problem (name engine) (status wont_start)) (car_problem (name headlights) (status work)))

  26. CLIPS - függvények • Függvény létrehozása • deffunction

  27. CLIPS – Program működése • Létrehozzuk a tényeket egymás után, ekkor ezek állapotot generálnak a memóriában. • Az állapotok függvényében megnézzük az alkalmazható szabályokat. • Ha egy szabály alkalmazható, akkor alkalmazzuk, azaz megnézzük milyen következményei vannak és végrehajtjuk őket. • Pl. rendszerem

  28. 1. Példa – What’s that fruit? Red “Grapes” Y Diameter > 4 Vine Color ? Green “Watermelon” N Red “Cherry” Color ? Tree Green “Apple”

  29. ; ********************************** ; rules ; ********************************** (defrule vine (diameter ?dia) (test (> ?dia 4)) => (assert (fruitclass vine))) (defrule tree (diameter ?dia) (test (< ?dia 4)) => (assert (fruitclass tree))) ;========================= (defrule watermelon (fruitclass vine) (color green) =>(printout t “Watermelon." crlf)) (defrule watermelon (fruitclass vine) (color red) => (printout t “Grapes." crlf)) (defrule cherry (fruitclass tree) (color red) => (printout t “Cherry." crlf)) (defrule apple (fruitclass tree) (color green) => (printout t “Apple." crlf)) Ex 1 – Source

  30. ; ******************************** ; facts ; ******************************** (deffacts fruit_conditions (diameter 1) (color red)) CLIPS CLIPS> (load “ex1.clp”) CLIPS> (defffacts fruit_conditions (diameter 1) (color red)) CLIPS> (reset) CLIPS> (run) Cherry. 1. Példa – Futtatás

  31. Köszönöm a figyelmet!

More Related