GoldWorks III.

Slides:



Advertisements
Hasonló előadás
ADATBÁZISOK.
Advertisements

Grafikus tervezőrendszerek programozása 10. előadás.
GoldWorks grafika. Grafikus objektumok  előre definiált keretek  images (egy vagy több rés értékének reprezentálása)  canvases (image-ek megjelenítésére)
Programozás III STRING-XML.
K-Chat Dr. Szepesvári Csaba Kutatási Alelnök mindmaker.
Hálózati architektúrák
EE/R adatmodell (Extended E/R) 1 Az objektum orientált szemlélet elterjedésével egyre nőtt az igény az olyan SDM (Semantic Data Model) modellek iránt,
3. A programozás eszközei, programozás-technikai alapismeretek
G2: EGY VALÓS IDEJŰ SZAKÉRTŐ RENDSZER. 2/39 Tartalom n A G2 legfontosabb jellemzői n Tudásreprezentáció G2-ben n Következtetés és szimuláció G2-ben n.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
13.a CAD-CAM informatikus
Programozási nyelvek.
Bayes hálók október 20. Farkas Richárd
Vizuális modellezés Uml és osztálydiagram UML eszközök
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
Mutatók, tömbök, függvények
Szoftver bonyolultsági mértékek alkalmazási területei Király Roland 2011.
VFP programozása report készítése menü készítése dinamikus elemek
Modellezés és tervezés c. tantárgy Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Matematikai Intézet Mérnöki Informatikus MSc 9. Előadás és.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Az UML kiterjesztési lehetőségei
WEB Technológiák WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
Bevezetés a C++ programozási nyelvbe
ISMERETALAPÚ RENDSZEREK SZAKÉRTŐ RENDSZEREK
MYCIN szakértői rendszer. MYCIN modell szakértői rendszer vér fertőzéseinek, gyógykezeléseknek meghatározását támogató orvosi diagnosztikai rendszer célvezérelt,
Intelligens irányító rendszerek Adat és tudás, adatábrázolás, tudásábrázolás.
Ismeretalapú rendszerek alaptechnikái I. Szabályalapú rendszerek.
Ismeretalapú rendszerek alaptechnikái
Ismeretalapú rendszerek alaptechnikái I. Szabályalapú rendszerek.
MYCIN Szakértői rendszer.
Objektumok. Az objektum információt tárol, és kérésre feladatokat hajt végre. Az objektum adatok (attribútumok) és metódusok (operációk,műveletek) összessége,
2003. december 18.Gyires Béla Informatikai Nap1 Következtés tudás alapú rendszerekben Bognár Katalin Debreceni Egyetem Informatikai.
Objektumorientált tervezés és programozás II. 3. előadás
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Budapest, június 28. Ontológia kezelő modul tervezése szöveges információt kezelő informatikai rendszer számára Förhécz András BME Méréstechnika.
Önálló labor munka Csillag Kristóf 2005/2006. őszi félév Téma: „Argument Mapping (és hasonló) technológiákon alapuló döntéstámogató rendszerek vizsgálata”
1 Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése Célkitűzés: Információk téma-specifikus, különböző típusú forrásokból (internet, intranet.
ONTOLÓGIA és TUDÁSREPREZENTÁCIÓ Szőts Miklós Alkalmazott Logikai Laboratórium
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Objektumorientált programozás
SICStus Objects Objektum orientált kiterjesztés a SICStus Prolog nyelvhez Pereszlényi Attila Az előadás.
Visual Basic 2008 Express Edition
HF MINTA 2012/2013. ősz. HF Minta  Objektum-orientált program  „Adatvezérelt” alkalmazás írása  Fájl kezelés (olvasás, írás)  Menü készítése  5-6.
Apache Ant 2. gyakorlat Alkalmazásfejlesztés /2 Gyakorlat Zalatnai Csongor.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
C Programozási alapok.
Ficsor Lajos CPP2 / 1 Származtatási mechanizmus a C++ nyelvben Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék.
Haladó C++ Programozás Programtervezési minták – alapok Sonkoly Balázs
1 Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia.
Intelligens Mérnöki Rendszerek Laboratórium Alkalmazott Matematikai Intézet, Neumann János Informatikai Kar, Óbudai Egyetem Mielőtt a virtuális térbe lépnénk.
A projekt célja O Egy 2 dimenziós rakpart készítése a TBA cég megbízásából. O Az Eclipse plug-in megengedi a felhasználónak, hogy különböző tárgyakat.
A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. Számítógép- hálózatok dr. Herdon Miklós dr. Kovács György Magó Zsolt.
PÁRHUZAMOS ARCHITEKTÚRÁK – 13 INFORMÁCIÓFELDOLGOZÓ HÁLÓZATOK TUDÁS ALAPÚ MODELLEZÉSE Németh Gábor.
Adatbázisszintű adatmodellek
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Adatstruktúrák Algoritmusok Objektumok
Tudásalapú rendszerek
MIB Dokumentáció.
Hernyák Zoltán Programozási Nyelvek II.
A Robotok miért nem értik az internetet?
A CLIPS keretrendszer
Ubuntu – ismerkedés Fájlok és könyvtárak
Adatkötés Sablonokkal
Programozási nyelvek alapfogalmai
Hálózati architektúrák
Web programozás és haladó fejlesztési technikák – C#
Előadás másolata:

GoldWorks III

Ismeretalapú rendszerek alaptechnikái tudásreprezentációs módszerek és következtetési/ keresési stratégiák számítógéppel megvalósított változatai Alapvető következtetési technikák: szabályalapú technikák induktív technikák (gépi tanulás) hibrid technikák szimbólum-manipulációs technikák modell-alapú következtetési technikák kvalitatív technikák eset-alapú technikák temporális következtetési technikák neurális hálók

Hibrid rendszerek többféle programozási mintát támogatnak: keret-struktúrákat (frame-eket) szabályokat célvezérelt adatvezérelt megvalósításuk: objektum-orientált eszközökkel

Keret (frame) ismeretelméleti alapokon kidolgozott tudásreprezentálási alapegység szerkezettel rendelkező fogalom leírására szolgáló formális eszköz keretek jellemzői: egy keret tartalmazza: fogalom nevét (egyedi azonosító) legfontosabb tulajdonságait (attribútumok)  rekeszekben, résekben (slot) tárolva (keret is lehet) osztályok, alosztályok, példányok hierarchikus struktúra (is_a, instance_of relációk) öröklődés (osztály - alosztály, osztály - példány) eseményvezérelt eljárások: démonok

Keretalapú formalizálás módszerei irányított gráf

Keretalapú formalizálás módszerei keret-nyelvű leírás frame személy frame hallgató frame tantárgy is_a class is_a személy is_a class v.név: h.ttárgy: collection_of tantárgy név: k.név: end előfelt: collection_of end tantárgy end frame Péter frame SZR instance_of hallgató isnstance_of tantárgy v.név: Kis név: Szakértői rendszerek k.név: Péter előfelt: MI h.ttárgy: SZR end

Keretalapú formalizálás módszerei objektum-attribútum-érték hármasok <Péter, v.név, Kis> <Péter, k.név, Péter> <Péter, h.ttárgy, [SZR]> <SZR, név, Szakértői rendszerek> <SZR, előfelt, [MI]>

procedurális elemek, eljárások Démonok (daemons) procedurális elemek, eljárások osztályok, példányok attribútumaihoz rendeltek aktivizálás: when-needed démon when-changed démon when-added démon when deleted démon eseményvezérelt végrehajtás, továbbgyűrűzés jól használhatók konzisztencia-vizsgálatra korlátozott adatvezérelt következtetés

Démonok Szabályok Gyorsabbak, függetlenebbek, mint a szabályok. „Ok/hatás” kapcsolatban van az értékváltozásokkal és a rsz. ezekre való reakciójával. Autonóm módon működnek. Egy szabályt egy másik szabály vagy bizonyos adatok jelenléte hív életre. Ez a szituációfüggő végrehajtás nem látható előre. Kevésbé olvashatók, mint a szabályok. (adott eszköz implementációs nyelve) Igen jól olvashatók. (szimbolikus formalizmus) Céljuk az adott attribútum megjelölt értékváltozásának kezelése. A szabályokba beépített ismeret szabadon áramlik minden szabály felé. A démonok hatáskörét előre, statikusan megkötjük. (van előnye és hátránya is) A szabályok hatásköre futásidőben dinamikusan rajzolódik ki. (flexibilis, kreatív megoldáskeresést biztosít)

A keret-alapú reprezentáció előnyei: hétköznapi gondolkodáshoz illő reprezentáció fogalmi tisztaság, jól kezelhetőség hatékony következtetés az osztályok és az objektum-példányok tulajdonságairól implementáció: objektum-orientált programozás

Hibrid technika szabályok: heurisztikák leírására keretek: adott objektumokról/ eseményekről/ fogalmakról szóló leíró és procedurális információk (egy helyen!  jól olvashatók, könnyen módosíthatók, módosítások hatása jobban kézben tartható) hibrid eszközök következtető gépe rendelkezhet: öröklődést, démonokat biztosító mechanizmusokkal üzenetváltást biztosító mechanizmusok (objektum-orientált) célvezérelt/ adatvezérelt szabályvégrehajtással támogathatja a szabályok/ keretek hierarchikus modulokba szervezését támogathatja a meta-szabályok készítését/ használatát

GoldWorks III Tudásbázis alapú hibrid szakértői rsz. fejlesztő rsz. GLISP fejlesztői környezet a GW programozási nyelv platformja GW architektúrája: GW fejlesztői felületei: Menü interface: LISP ismerete nélküli ablakos fejlesztés Fejlesztői interface: LISP „programok” írása file-ba OO fejlesztés

Tudás reprezentálása GW-ben Az információ lattice(rács)-ben tárolódik keretek(frame) példányok(instance) objektumok attribútumai - rések(slot) keretek – adatok stuktúrálása szabályok - IF…THEN…, adatmanipuláció Lattice hierarchia: minden keret eleme a lattice-nek keretek és példányaik hierarchiába szervezettek - szülő - gyermek rések öröklődnek, többszörös öröklődés legfelső, előre definiált és alapértelmezett keret: top-frame (nincs rése)

Lattice hierarchia

GW fő komponensei: Tudásbázis (TB) – tudás Ténybázis (assertion base) passzív: mindig igaz aktív: következtetés passzív tudásból Ténybázis (assertion base) tény – passzív tudás, tényleges ismeret tény = igaz állítás  TB-ben tároljuk Lattice információ strukturálása keretek hálózata, hierarchiája Szabálybázis cél elérése az adott adatokkal aktív / dinamikus tudás elérése ok-okozati viszony IF…THEN…

GW fő komponensei: Következtető gép következtetés mintaillesztéssel több következtetési technika a GW-ben: előrefelé haladó következtetés hátrafelé haladó következtetés célvezérelt előrefelé haladó következtetés ezek kombinációi

GW tudás-struktúrái (objektumai): Keret (frame) Példány (instance) Reláció (relation) Tény (assertion) Szabály (rule) Szabályhalmaz (rule set) (attempt) (sponsor) (agenda item)

Keretek: öröklődéskor a szülő(k) réseit örökli ha több azonos nevű rést örökölne, akkor csak az egyiket fogja örökölni Példa: (define-frame person (name : constraints (:list-type string )) (address : constraints (:list-type string )) (birth-year : constraints (:range (1900 1985) )) ) (define-frame employee (:is person) (job title : when-modified (change-salary)) (manager) (salary) (retirement-age : default-values (65) ))

Rések: érvényes Lisp formátumok (number, symbol, string, structures) rés facet-ek (slot facet) - rések tulajdonságainak definiálása - öröklődnek Documentation – slot leírása Print-name – megjelenített név, szóköz és kis-nagy betűk használata Explanation – rés értéke mögé helyezett érték pl. 10 ”kg” Multivalued – több értéke lehet Default-values – alapértelmezett érték Default-certainty – alapértelmezett bizonytalanság When-accedd – függvény, amely rés elérésekor aktivizálódik When-modified – függvény, amely rés módosításakor aktivizálódik Constraints – érték típusának megszorítási lehetősége one-of range list-type child-frame-of instance-of No-inference – ha értéke igaz, akkor nem használja fel következtetéshez Query-form – hátrafelé haladó köv. során, ha nincs éréke, akkor bekéri No-save – rés értéke nem mentődik el a példány mentésekor Graphic – grafikai objektumhoz való kapcsolása, Menü interface-ről nem használható

Példányok: Példa: (define-instance Frank (:is employee) (name ”Frank János”) (address ”1111 Budapest, Kiss krt. 15”) (birth-year 1945) (job title projekt-koordinátor) (manager Alice) (salary) (retirement-age : default-values (65) )) )

Szabályok: Mintákat használ a tények és adatok reprezentálásához kötések (binding): ha a szabályban egy változó értékét már megkötöttük, akkor az értéke megmarad a szabály végéig (bind változó list-form) Szabályok irányítottsága: előrefelé haladó (FORWARD) hátrafelé haladó (BACKWARD) kétirányú (BIDIRECTION) Előrefelé haladó szabály: IF…THEN… típusú szabályok (define-rule név (:direction {:forward | :backward | :bidirectional} ) (:priority szám) minták then [and-then minták ] )

Szabályok: A következmény a then ill. az and-then résztől függ Mindhárom irányítottságnál használjuk az and-then -t, de a hátrafelé haladó következtetés során csak akkor illesztődik, amikor befejeződött a következtetés (ok: illesztések miatt) Előrefelé haladó szabály: IF…THEN… típusú szabályok Példa: IF INSTANCE ?person IS PERSON with job-title ?job THEN INSTANCE ?person IS PERSON Prioritások használata -1000 - +1000, minél nagyobb a prioritási szám, annál nagyobb a prioritása default érték = 0

Tények: minden alkalommal, amikor egy rés értéket kap, akkor egy ”rés-érték” tény illesztődik a ténybázishoz tény struktúrája: 2 fontos komponens tény (minta) – információ, ami igaz függőségi információ – ez az információ hogyan jön be a rendszerbe tények egy példány résértékei esetén: <rés> <példány> <érték> <keret> <példány> Tények típusai: strukturált tény : példányok, résértékek - relációkból származnak nem strukturált tény: - közvetlenül kerülnek a tudásbázisba - ténydefinícióval - (define-assertion minták)

Objektumok rendje: Objektumok egymásra hivatkoznak Alkalmazás definiálásakor az alábbi szabályokat be kell tartani: deftype, defstruct definiálni kell, mielőtt a keretek használják a keretet korábban kell definiálni, mint a példányait kereteket korábban kell definiálni, mint a handler-jét a kapcsolatokat definiálni kell mielőtt a szabályok használják sponzorokat korábban kell definiálni, mielőtt a szabályok használják daemonokat korábban kell definiálni, mielőtt a keretek példányai használják

Példa: Sebesség Kép-nyomtatás Minőség Karakter-készlet Ár Nyomtató kicsi nem levél fix alacsony daisy-wheel-type-1 1 igen vázlat változtatható közepes dot-matrix-type-1 2 közel-levél dual-dot-matrix 3 nagy * magas laser-printer 4 dot-matrix-type-2 5 daisy-wheel-type-2 6

Példa:

Példa: adatok bekérése felhasználótól /* metadeklarációk a felhasználói párbeszéd támogatására */ question(sebesség)=„Milyen legyen a sebesség?”. legalvals(sebesség)=[kicsi, közepes, nagy]. question(képnyomtatás)=„Legyen-e képnyomtatás?”. legalvals(képnyomtatás)=[igen, nem]. question(minőség)=„Milyen legyen a minőség?”. legalvals(minőség)=[levél, vázlat, közel-levél]. question(karakterkészlet)=„Milyen legyen a karakterkészlet?”. legalvals(karakterkészlet)=[fix, változtatható]. question(ár)=„Milyen legyen az ár?”. legalvals(ár)=[alacsony, közepes, magas].