31
BOGDAN KINGA Szakértői rendszerek - CLIPS

Szakértői rendszerek - CLIPS

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Szakértői rendszerek - CLIPS

BOGDAN KINGA

Szakértői rendszerek - CLIPS

Page 2: Szakértői rendszerek - CLIPS

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.

Page 3: Szakértői rendszerek - CLIPS

Emberi vs. Mesterséges szaktudás

Page 4: Szakértői rendszerek - CLIPS

Emberi vs. Mesterséges szaktudás

Page 5: Szakértői rendszerek - CLIPS

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.

Page 6: Szakértői rendszerek - CLIPS

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.

Page 7: Szakértői rendszerek - CLIPS

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.)

Page 8: Szakértői rendszerek - CLIPS

Szakértő rendszerek jellemzői

Hasonlójavaslatokat képes tenni mint egy emberi szakértő

Speciális ismeretekkel rendelkezikIntelligens párbeszédre képesPartnere a felhasználónak, mindkét fél

kezdeményezhet beszélgetéstKérdéseit magyarázza, következtetéseit indokoljaSzimbolikus információkat tárol, ezen

információkat heurisztikus módszerekkel dolgozza fel

Page 9: Szakértői rendszerek - CLIPS

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ő

Page 10: Szakértői rendszerek - CLIPS

Mit várunk el egy szakértő rendszertől?

Adjon javaslatotEgyenrangú 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

Page 11: Szakértői rendszerek - CLIPS

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

Page 12: Szakértői rendszerek - CLIPS

Szakértői rendszerek felépítése

Felhasználói felület

Tudásbázis-szerkesztő

Magyarázórendszer

Következtető motor

Eset-specifikus

adatok

Tudásbázis

Szakértői rendszer burok

Felh

asz

náló

Page 13: Szakértői rendszerek - CLIPS

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

Page 14: Szakértői rendszerek - CLIPS

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égeitFokozzák a szakértő produktivitásátMegőrzik a szakértelmetMindig következetesek a tanácsadásban –

nincsenek emocionális tényezők, nem fáradt...Állandóan rendelkezésre állRészleges és nem-teljes adatokkal is tudnak

dolgozniKépesek megindokolni az eredményt

Page 15: Szakértői rendszerek - CLIPS

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ükAz ismeretszerzés bonyolult folyamatA fejlesztés gyakran évekig tart

Page 16: Szakértői rendszerek - CLIPS

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 rendszerekGeológia(kőzetelemzés)Matematika Gazdasági döntéshozatal(tender értékelés)

Page 17: Szakértői rendszerek - CLIPS

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

Page 18: Szakértői rendszerek - CLIPS

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

Page 19: Szakértői rendszerek - CLIPS

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

Page 20: Szakértői rendszerek - CLIPS

CLIPS - Bevezetés

Egy közkincs, szakértői rendszerek kidolgozására létrehozott fejlesztői eszköz.

A CLIPS név a „C Language Integrated Production System” 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’s Artificial Inteligence Language (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 Gary Riley.

Page 21: Szakértői rendszerek - CLIPS

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ú rendszerCsak előrefele haladó levezetési szabályokat

használSzabá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.

Page 22: Szakértői rendszerek - CLIPS

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.

Page 23: Szakértői rendszerek - CLIPS

23

A CLIPS kezdőképernyője

Page 24: Szakértői rendszerek - CLIPS

24

Példa – Hello, world!

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

Page 25: Szakértői rendszerek - CLIPS

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:(deffacts trouble_shooting (car_problem (name ignition_key) (status on)) (car_problem (name engine) (status wont_start)) (car_problem (name headlights) (status work)))

Page 26: Szakértői rendszerek - CLIPS

26

CLIPS - függvények

Függvény létrehozása deffunction

Page 27: Szakértői rendszerek - CLIPS

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

Page 28: Szakértői rendszerek - CLIPS

28

1. Példa – What’s that fruit?

Diameter > 4 VineY

Tree

N

Red

Green

Red

Green

“Grapes”

“Watermelon”

“Cherry”

“Apple”

Color ?

Color ?

Page 29: Szakértői rendszerek - CLIPS

29

Ex 1 – Source

; **********************************; 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))

Page 30: Szakértői rendszerek - CLIPS

30

1. Példa – Futtatás

; ********************************

; 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.

Page 31: Szakértői rendszerek - CLIPS

Köszönöm a figyelmet!