intelligens irányító rendszerek
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Intelligens irányító rendszerek
Adat és tudás, adatábrázolás, tudásábrázolás
Adat/tudás 2
Tudásalapú rendszerek
Tudásbázis
Tudásbázis-fejlesztő
alrendszer
Következtetőgép
Fejlesztői interfész
Felhasználóiinterfész
Tudásmérnök
Felhasználó
Adat/tudás 3
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
Tudásalapú rendszerek
Adat/tudás 4
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ó)
Miről lesz szó?
Adat/tudás 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
Adat/tudás 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}
Adat/tudás 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
Adat/tudás 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ítElő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!
Adat/tudás 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
Adat/tudás 10
Adatábrázolás relációs adatbázisban
Példaa) a + b = c művelet és eredményeinek tárolása
add_rekord recorda: real; {op_1}b: real; {op_2}c: real; {eredmény}
end; {add_rekord}reláció: a + b = c
b) 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)
Adat/tudás 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)
Adat/tudá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)
a b a a b a b a b a b
T T F T T T T
T F F F T F F
F T T F T T F
F F T F F T T
Adat/tudás 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
Adat/tudás 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
a ba b F T U
F F T U
T T T T
U U T U
a b
a b F T U
F T T T
T F T U
U U T U
Adat/tudás 15
Szabályok (rules)
Szabály: logikai kifejezés (formula) / feltételes állításif … 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 / unknownpl. 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átumoklogikai értékű jelek
Adat/tudás 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
Adat/tudá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
Adat/tudás 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)
a b
a b F T U
F T T T
T F T U
U U T U
Adat/tudás 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)
Adat/tudás 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átumokpl. (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)
Adat/tudá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
p1
p2
p3
p4
[s1]
[s2][s1]
[s2]
Adat/tudás 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
p1
p2
p3
p4
[s1]
[s2][s1]
[s2]
Adat/tudás 23
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
Objektumok
passzív rész
aktív rész
Adat/tudás 24
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ő}
Objektumok, példa
vI, TI
szI
eljárás a szelep nyitására
attribútumokkülönböző típusú objektumok
osztálydefiníció feje
osztálydefiníció törzseinicializálási tevékenységekpéldány létrehozásakor elvégzendő feladatok
Adat/tudás 25
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
Objektum orientált eszközök fő tulajdonságai, használata
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ő}
Adat/tudás 26
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
Keretek (frames)
Adat/tudás 27
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}
Keretek (frames)
Adat/tudás 28
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
Keretek (frames)
Adat/tudás 29
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)
Keretek (frames)
Adat/tudás 30
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
Szemantikus hálók (semantic nets)
Adat/tudás 31
szemantikai összefüggések – bináris relációkkal írhatók leclass_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
Szemantikus hálók (semantic nets)
Teacher
Mike
instance_of
Mike instance_of Teacherinstance_of(Mike, teacher)
room blue
table flower
colourpart_of
table part_of roompart_of(table, room)
flower colour bluecolour(flower, blue)
Person
Teacher
is_a
Teacher is_a Personis_a(Teacher, Person)
Adat/tudás 32
Szemantikus hálók (semantic nets)
coffee-machine
is_a relation
part_of relation
tube-in tank heater tube-out
tube
valve sensors
vI TI szI
flow-sensor
temperature-sensor
instance_of relation