1 / 32

Intelligens irányító rendszerek

Intelligens irányító rendszerek. Adat és tudás, adatábrázolás, tudásábrázolás. Tudásalapú rendszerek. Tudásalapú rendszerek. Mi van a tudásbázisban  feladattól függ Hogyan van benne  következtető géptől is függ Tudásbázis részei: tények (adatok), pl. mért adatok

torn
Download Presentation

Intelligens irányító rendszerek

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. Intelligens irányító rendszerek Adat és tudás, adatábrázolás, tudásábrázolás

  2. Tudásalapú rendszerek

  3. Tudásalapú rendszerek • Mi van a tudásbázisban  feladattól függ • Hogyan van benne  következtető géptől is függ Tudásbázis részei: • tények (adatok), pl. mért adatok • összefüggések (adatok között), tények közötti kapcsolatok Megfelelő tudásreprezentációs módszer szükséges feladatok: TB megszervezése, verifikációja, validációja, hatékony következtetés

  4. Miről lesz szó? • adat és tudás (hasonlóságok, különbségek, reprezentációs módszerek) • szabályok (összefüggések leírására, leggyakrabban használt tudásreprezentációs módszer) • objektumok (strukturált TB elemek leírására) • keretek (rekordok kiterjesztése, standard aktív elemek az összefüggések leírására) • szemantikus hálók (TB szerkezetének leírására, grafikus eszköz, TB verifikálására használható)

  5. Adat és tudás • intelligens szoftver rendszer „passzív” (futtatható) része : TB  AB, TB szerepe hasonló különbség: komplexitás • AB: sok adat, kevés összefüggés • TB: több/kevesebb adat, sok összefüggés • intelligens rendszer feladatainak megoldásához szükséges: • sok információ (adat)  tények • adatok közötti relációk  összefüggések • módszerek, algoritmusok  információ felhasználásával a probléma megoldását megkeresik

  6. Adatábrázolás közönséges adatbázisban • összetartozó adatcsoportok  rekordok • adatelem  rekord egy mezője Rekord: • szerkezete rögzített  pr. deklarációs részében definiált • fix típusú mezőket tartalmaz Példa: nyers_mért_adat record azonosító: string; típus: character; {‘R’, ‘B’} érték: real if típus = ‘R’ boolean if típus = ‘B’; {típusfüggő!} mérés ideje: integer array[6]; {mp perc óra nap hó év} hibakód: string; end; {nyers_mért_adat}

  7. Adatábrázolás közönséges adatbázisban • azonos típusú rekordok rendezett halmaza  fájl • közönséges DB-ban a fájl attribútumai: • azonosító • rekord típus • használati mód (read only, read/write) • rendezés (soros, indexelt) • hossz (fix, változó) • fájlok halmaza  DB • DB feltöltése/módosítása  DB kezelő feladata Közönséges DB jellemzői (lehetséges tudásreprezentációs módszer szempontjából): • tények  fix struktúrájú rekord mezőkben tárolva • összefüggések  meglehetősen korlátozott • adatszerkezet teljesen passzív

  8. Adatábrázolás közönséges adatbázisban Problémák: • merev • minden rekordban ugyanolyan sorrendben vannak a mezők • a mezők típusa kötött • rekordon belüli, rekordok közötti összefüggéseket nem veszi figyelembe • típusellenőrzésen kívül semmiféle feldolgozási előírást nem biztosít Előnyei: • gyors, biztos • erőforrás-kezelés egyszerű Közönséges DB-okkal csak programozással lehet a TB-t megvalósítani!

  9. Adatábrázolás relációs adatbázisban Relációs DB tulajdonságai: • összetartozó adatcsoportok  rekordok • adatelem  rekord egy mezője • de: • rekord  adategységek logikai csoportja • default érték, összefüggés adható meg  relációk mezők és mező csoportok között relációk lehetnek: logikai/aritmetikai típusúak relációk használhatóak: • mezők default és megengedett értékeinek definiálására • azonos rekordban levő mezők értékeinek definiálására • különböző rekordban vagy különböző típusú rekordokban levő mezők értékeinek definiálására

  10. Adatábrázolás relációs adatbázisban Példa • a + b = c művelet és eredményeinek tárolása add_rekord record a: real; {op_1} b: real; {op_2} c: real; {eredmény} end; {add_rekord} reláció: a + b = c • fájl_1: fájl_2: mért_adat record nyers_mért_adat record azonosító: string; azonosító: string; érték: real; érték: long_integer; … … reláció: ha mért_adat.azonosító = nyers_mért_adat.azonosító akkor mért_adat.érték := conv(nyers_mért_adat.érték)

  11. Adatábrázolás relációs adatbázisban • relációs rekordok halmaza + relációk  relációs fájl • relációs fájlok halmaza + összekapcsoló relációk  relációs DB Relációs DB jellemzői (lehetséges tudásreprezentációs módszer szempontjából): • tények  relációs DB rekordokban tárolva • összefüggések  relációkkal leírva • flexibilisebb, mint a közönséges DB • DB manager biztosítja a DB konzisztenciáját, a relációk teljesítését, a default értéket a TB elvileg megvalósítható relációs adatbázissal Probléma: az adatszerkezet még mindig merev De: megjelenik az aktív elem (összefüggés)

  12. Szabályok (rules) ES és AI eszközökben legelterjedtebb tudásreprezentációs forma szabályok • heurisztikus ismeretek leírása (fekete doboz szerű) • validálása nehéz Ismétlés: logika (ítéletkonstansok / logikai konstansok, ítéletváltozók / logikai változók, logikai műveletek, formulák)

  13. Szabályok (rules) Ismétlés: logikai műveleti jelek algebrai tulajdonságai: • kommutativitás a  b = b  a a  b = b  a • asszociativitás (a  b)  c = a  (b  c) (a  b)  c = a  (b  c) • disztributivitás a  (b  c) = (a  b)  (a  c) a  (b  c) = (a  b)  (a  c) • de Morgan azonosságok (a  b) = a  b (a  b) = a  b

  14. Szabályok (rules) Ismétlés: kanonikus alakok (normálformák) • diszjunktív normálforma (DNF) ( a  b)  (c   d) • konjunktív normálforma (CNF) ( a  b)  (c   d) • implikációs normálforma (INF) klózok (pl. (a  b)  (c  d)) konjunkciója Ismeretlen / bizonytalan információ leírására: kétértékű logika kiterjesztése: unknown = true  false műveleti táblák kiterjesztése

  15. Szabályok (rules) Szabály: logikai kifejezés (formula) / feltételes állítás if … then … …  … szintaxis: • predikátumok • elemi logikai kifejezések / atomi formulák • tartalmazhatnak: • aritmetikai relációkat (, , <, >, , ) • kvalitatív / szimbolikus állandókat (alacsony, magas, nyitva, …) • (időben) változókat (T, h, sz1, …) • értékük: true / false / unknown pl. p1 = (sz1=nyitva); p2 = (T<100); p3 = (h=magas); p4 = (hiba=„tank overflow”) értékük a mért jelektől függ, időfüggő predikátumok logikai értékű jelek

  16. Szabályok (rules) szintaxis: • logikai kifejezések (formulák) • atomi formulák, „összetett” formulák • tartalmazhatnak: • atomi formulákat (predikátumok, logikai változók, logikai konstansok) • logikai műveleteket • formulákat logika (formula építés) szabályai szerint • értékük: true / false / unknown • szabályok • (speciális szintaxissal rendelkező) logikai kifejezések feltétel  következmény if feltétel then következmény feltétel, következmény: logikai kifejezés

  17. Szabályok (rules) Példa: egy egyszerű szabályhalmaz: Predikátumok: P = {p1, p2, p3, p4} Szabályok: if (p1 and p2)then p3 if (p3 and p4)then p1 Szabályokkal ekvivalens logikai formulák: (p1  p2)  p3 (p3  p4) p1

  18. Szabályok (rules) szabályok szemantikája: • igazságtábla • szabályok használata (általában): • feltétel ellenőrzése (igaz-e) • ha igaz, a szabály alkalmazható (tüzel) • alkalmazás: következmény rész teljesítése (igazzá tétele) használati módot befolyásolja a következtetés célja • problémák: • szabályok végrehajtási sorrendjétől függően más eredményt kaphatunk • nem biztos, hogy ellentmondásmentesek a szabályok • lehet olyan eset, amire nincs szabály (nem teljes) • sok szabály áttekinthetetlen lehet (mo. strukturált szabályhalmaz / modulok)

  19. Datalog szabályhalmaz Szabályok normálformája Tulajdonságai: • szabályok predikátumaiban nincs függvényszimbólum • nincs negáció, a szabályok alakja: si : (pi1  …  pin)  qi pi1, … , pin, qi: predikátumok • biztos (safe) szabályok – értékük véges számú lépéssel meghatározható IIR-ben a szabályok majdnem mindig datalog formájúak (ha nem, könnyen átalakíthatóak)

  20. Datalog szabályhalmaz Datalog formára hozás: • függvényszimbólumok eltávolítása pl. sin, exp  Taylor sorba fejtés új változók bevezetése: pl. log T < 0.3, Tl := log T, szabályban: Tl • negáció és diszjunkció eltávolítása •  kiküszöbölése: aritmetikai predikátumok pl. (a > b)  (a  b), (a = b)  (a  b) • implikációs normálformára hozás: (…  …)  (…  …) •  kiküszöbölése: szabályok megtöbbszörözése pl. si : (pi1  …  pin)  (qi1  …  qim) helyett: si1 : (pi1  …  pin)  qi1 … si1 : (pi1  …  pin)  qim • biztos szabályok (CCS-ben véges számábrázolás)

  21. Datalog szabályhalmaz szerkezete / függőségi gráfja analízis / végrehajtás szempontjából fontos tulajdonságok szerkezete leírható függőségi gráffal – irányított gráf D = (VD, ED) • csúcshalmaz: VD= P • élek: (pi, pj)  ED ha van olyan szabály, amelynek feltételi része pi-t, következmény része pedig pj-t tartalmazza • élek megcímkézése – szabály azonosítóval Példa: (p1  p2)  p3 (p3  p4) p1

  22. Függőségi gráf használata információt szolgáltat a predikátumok egymástól való függésétől • függőségi gráf „belépési” pontjai (nincs bemenő él) gyökér predikátumok (p2, p4) ezeknek értéket kell adni • irányított körök az eredmény függhet a végrehajtási sorrendtől (p1, p3) ha nincs kör – számítási sorrendtől függetlenül ugyanaz a következtetés eredménye

  23. Objektumok • figyelem középpontjában álló dolgok, egységek: objektumok • osztályozás (közös tulajdonságaik alapján: osztályok) • osztályra jellemző attribútumok (közös tulajdonságok) • egyedi tulajdonságok • eljárások (objektumok zártak – csak az eljárásaikon keresztül lehet hozzáférni) • konkrét objektumok: példányok (létrehozás után önálló életet élnek) • osztályhierarchia (szigorú fa struktúra), öröklődés • osztályok leírása: program deklarációs részében • példányok létrehozása: végrehajtható részben • paraméterek megváltoztatása, objektumok működése: végrehajtható részben passzív rész aktív rész

  24. Objektumok, példa class cső sz: szelep; T, v: mérőműszer; procedure szelepnyitás (hibakód) … sz.érték := 1; … {nyitási tevékenységek} end; {szelepnyitás} … end; {cső} osztálydefiníció feje attribútumok különböző típusú objektumok eljárás a szelep nyitására osztálydefiníció törzse inicializálási tevékenységek példány létrehozásakor elvégzendő feladatok

  25. Objektum orientált eszközök fő tulajdonságai, használata • példányok az osztályokból készíthetők megfelelő paraméterezéssel pl. cső_be := new cső; cső_ki := new cső; • objektumok zártak (önálló életet élnek, tulajdonságaik eljáráshívásokkal változtathatóak meg) pl. cső_be.szelepnyitás (hibakód_2); • szülő osztály tulajdonságait öröklik az alosztályok class cső sz: szelep; procedure szelepnyitás (hibakód) … sz.érték := 1; … {nyitási tevékenységek} end; {szelepnyitás} … end; {cső} cső class műszerezett_cső T,v: mérőműszer; procedure mérés (érték) … … {mérési tevékenységek} end; {mérés} … end; {műszerezett_cső}

  26. Keretek (frames) • tudásdarabok speciális, előre definiált tudáselemekkel • tudáselemek között szemantikai összefüggések vannak • rekordok kiterjesztéseként értelmezhető, standard aktív elemekkel • objektumokhoz hasonló (keret hierarchia, öröklődés, példányok) TB leírására alkalmasak

  27. Keretek (frames) keretek részei: • rések (slots) • rekordok mezőinek felelnek meg • attribútumai: • azonosító (név) • típus (flexibilis típusdeklaráció, működés során változhat, nem kötelező megadni) • érték (default: nil (ha nincs típusa), korlátozások/megszorítások: pl. intervallum, lehetséges érték lista) • démonok (daemons) – beépített eljárások rések értékváltozásaihoz rendelve szokásos démonok: if-added, if-removed, if-needed, if-changed pl. mért_adat frame érték: real or byte; állapot: byte; end; {mért_adat}

  28. Keretek (frames) keretek használata: • objektumok használatára emlékeztet • fő különbség: • eljárások száma (kötött készletből választhatók) • eljárások szerepe (megváltoztathatják a rés értékét bármely keret példányban  továbbgyűrűzés) • hasonlóság: • keretek definiálása (deklarációs rész) • keret hierarchia, öröklődés • példányok definiálása (futtatható részben) pl. T := new mért_adat;  létrejön egy üres keret, nil (default) rés-értékekkel pl. T.érték = 285  rés-érték megváltoztatása

  29. Keretek (frames) keretek jellemzői: • passzívelemek: rés értékei (nem merev szerkezetű, nincs típusmegkötés) • aktív elemek: démonok (implicit aktív rész) • keret rendszer működése indirekt módon írható le (a keret példányokban levő démonok határozzák meg)  keret-alapú tudásreprezentáció flexibilis (túl flexibilis, ezért a nyomkövetés nehéz, nehéz átlátni, verifikálni, validálni  óvatosan kell programozni!) Hibrid rendszerek: keret  tudáselemek leírására szabály  heurisztika leírására pl. GoldWorks (keretek, szabályok), G2 (objektumok, szabályok)

  30. Szemantikus hálók (semantic nets) • grafikus eszköz a TB-ban levő tudáselemek közötti szemantikai összefüggések leírására (TB szerkezete) • irányított gráf • csúcsok: objektumoknak, attribútumoknak felelnek meg • élek: csúcsok közötti összefüggések / relációk • élsúlyok: címkével ellátott élek a tudáselemek között • legáltalánosabb relációk: • is_a: alosztály – osztály közötti kapcsolat leírására pl. class_A is_a class_B • instance_of: példány – osztály közötti kapcsolat leírása pl. object_A instance_of class_A • part_of: attribútum – osztály közötti kapcsolat leírása pl. attribute_A part_of class_A

  31. Szemantikus hálók (semantic nets) • szemantikai összefüggések – bináris relációkkal írhatók le class_A is_a class_B  is_a(class_A, class_B) • szemantikus háló – meta-tudás (TB elemeiről szóló tudás)  más tudásreprezentációs módszerrel együtt használható (pl. objektum, keret) • TB szerkezetét mutatja meg, használható TB verifikálására, validálására, diagnosztikai célra

  32. Szemantikus hálók (semantic nets)

More Related