S´emantick´e s´ıtˇe Soustˇred´ı se na reprezentaci konceptu˚ a vztahu˚ (relac´ı) mezi nimi. Pouˇz´ıvaj´ı grafickou reprezentaci, koncepty jsou uzly grafu, relace jsou hrany (vˇetˇsinou se uvaˇzuj´ı pouze bin´arn´ı relace). půjčka
dlužník Karel
is−a =je
je
půjčka 1 věřitel
půjčka 2 dlužník
Jiří je
věřitel Marie
je
je osoba
Objekty a relace, odvozov´an´ı S´ıˇt na obr´azku reprezentuje znalosti o autech obecnˇe a o konkr´etn´ıch vozidlech (identifikovanych ´ SPZ). Uzly jsou koncepty (obecn´e) a instance. M´ame tu z´akladn´ı typy relac´ı: • je (is–a), tj. mnoˇzinov´a inkluze, subsumce • je (is–a) n´aleˇzen´ı (je prvkem) • koncept m´a vlastnost, pˇr´ıpadnˇe konkr´etn´ı relace, napˇr. dluˇzn´ık, vˇerˇ itel • kaˇzdy´ prvek konceptu m´a vlastnost • pro kaˇzdy´ prvek konceptu A existuje prvek konceptu B s urˇcitou vlastnost´ı
V´ıcerozmˇernych ´ relac´ı se zbav´ıme reifikac´ı – pˇreveden´ım relace na koncept (objekt). Moˇznost vztahu˚ d´ale rozˇsiˇruj´ı deskriptivn´ı logiky (napˇr. syst´em OWL), kter´e se cˇ asto pouˇz´ıvaj´ı k vytv´arˇ en´ı ontologi´ı. Moˇzn´e dedukce o autu 2A2 111111 jsou napˇr. ˇ • je to Skoda Fabia • m´a cˇ tyˇrdoby´ motor • je osobn´ı auto • m´a kola • m´a spalovac´ı motor • je vozidlo • ...
brzdy má vozidlo je osobní auto má
je má kola
je Skoda Fabia je 2A2 111111
pohon
má
spalovací motor je
je
čtyřdobý motor má má je
má 4A0 222222
třídobý motor
R´amce Daly vznik objektovˇe orientovan´emu programov´an´ı. ˇ ı data: udaje, ´ R´amec m´a tzv. sloty, do kterych jin´e r´amce, ´ se vyplnuj´ vlastnosti zdˇedˇen´e z jinych ´ r´amcu˚ apod. ´ ´ JMENO RAMCE
ˇ Skoda Fabie
poloˇzky
ˇ ISLO ´ ´ C RAMCE
1
IS-A
osobn´ı auto
MOTOR
cˇ tyˇrdoby´ benz´ınovy´
ˇ PREVODOVKA
manu´aln´ı
´ ´ JMENO RAMCE
ˇ Skoda Fabie
poloˇzky
ˇ ISLO ´ ´ C RAMCE
1
IS-A
osobn´ı auto
MOTOR
hodnota: tˇr´ıdoby´ benz´ınovy´ default: cˇ tyˇrdoby´ benz´ınovy´
ˇ PREVODOVKA
manu´aln´ı
Syst´emy dˇediˇcnosti (inheritence systems) Pokud koncepty maj´ı v s´emantick´e s´ıti cˇ a´ steˇcn´e uspoˇra´ d´an´ı, pak s´ıˇt nazyv´ ´ ame syst´em s dˇediˇcnost´ı. V s´ıti pak vynech´av´ame hrany, kter´e mohou byt ´ odvozeny z dˇediˇcnosti. ˚ Klasickym ´ pˇr´ıkladem je klasifikace rostlin, zˇ ivoˇcichu.
Manipulace v jednoduch´em syst´emu dˇediˇcnosti Z´akladn´ı relac´ı naˇs´ı s´emantick´e s´ıtˇe je relace ”is a”, tj. ”patˇr´ı mezi”, ”je”, napˇr. pes je savec, Al´ık je pes. Budeme uvaˇzovat s´ıˇt s dvˇema typy uzlu˚ (konstanty a koncepty) a dvˇema typy hran(absolutn´ı → a defaultn´ı 99K, obˇe mohou byt ´ negovan´e (defaultn´ı pˇripust´ıme aˇz cˇ asem). Nav´ıc: • zˇ a´ dn´a hrana nevede do konstanty • jen absolutn´ı hrany a jejich negace mohou vych´azet z konstant • hrana r → s m´a vyznam r(s), je–li s konstanta, jinak ´ ∀ x(r( x) → s( x)). • Hrana rs znamen´a ¬r(s) pro s konstantu, jinak
∀ x(r( x) → ¬s( x)), coˇz je ekvivalentn´ı ∀ x(¬r( x) ∨ ¬s( x)), cˇ ili pro negovanou absolutn´ı hranu jsou obˇe orientace ekvivalentn´ı.
Pˇr´ıklad černá vdova
pavouk
chován lidmi
Špagetka
členovec
domácí mazlčci
jezevčík
pes
bezobratlí
savec
.
Povolen´e dedukce ˚ zeme hrany pˇreloˇzit do logiky 1. rˇ a´ du, nedovolujeme I kdyˇz muˇ vˇsechny moˇzn´e dedukce logiky, ale jen omezenou cˇ a´ st. Dovolen´e operace: • Symetrie: dovol´ıme otoˇcit negovanou absolutn´ı hranu, tj. z r99K \ s odvodit s99K \ r • Positivn´ı rˇetˇezec: Jsou–li xi → xi+1 hrany v digrafu pro ˚ zeme pˇridat hranu x1 → xk . 1 ≤ i < k, pak muˇ • Negativn´ı hrana: Jsou–li xi → xi+1 a y j → y j+1 hrany v digrafu ˚ zeme pro 1 ≤ i < k,1 ≤ j < m, a xk99K \ ym je hrana digrafu, muˇ pˇridat hranu x199K \ y1 , pokud y1 nen´ı konstanta.
Pˇr´ıklad – dedukce ˚ zeme ot´acˇ et negovan´e (jist´e) hrany, napˇr. cˇ lenovec nen´ı • Muˇ dom´ac´ı mazl´ıcˇ ek, i dom´ac´ı mazl´ıcˇ ek nen´ı cˇ lenovec. ˇ ˚ zeme rˇ etˇezit pozitivn´ı hrany, napˇr. Spagetka • Muˇ je pes, jezevˇc´ıci jsou chov´ani lidmi, atd. ˇ • Stafl´ ık je dom´ac´ı mazl´ıcˇ ek a pavouci jsou cˇ lenovci kteˇr´ı nejsou ˇ dom´ac´ı mazl´ıcˇ ci, proto Stafl´ ık nen´ı cˇ lenovec. Stejn´eho z´avˇeru ˚ zeme dos´ahnout pouˇzit´ım cesty pˇres savce a otoˇcenou muˇ negativn´ı hranu.
Lok´alnost sporu pavouk
členovec
domácí mazlčci
jezevčík
pes
bezobratlí
savec
krmí mlékem
pták
holub
ˇ Savci krm´ı ml´adata ml´ekem, pt´aci ne. Nicm´enˇe holubi tvoˇr´ı ˇ vymˇ kterym ´ esˇ ek podobny´ syru, ´ ´ krm´ı ml´adata.
.
˚ zeme odvodit i zˇ e holubi krm´ı Do modelu se n´am dostal spor – muˇ ml´ekem, i zˇ e nekrm´ı. ˚ V naˇsem omezen´em zpusobu odvozov´an´ı ale kaˇzdy´ spor mus´ı ˇ zahrnovat cestu pˇres holuby, takˇze napˇr. zˇ e Stafl´ ık je pavouk nelze odvodit, i kdyˇz je nˇekde v modelu – u holubu˚ – spor. ˚ zit´a u velkych Lok´alnost sporu je velice duleˇ ´ b´az´ı znalost´ı, zvl´asˇ ˇt pokud je tvoˇr´ı v´ıce lid´ı.
Default hrany ´ Abychom se zbavili pˇredchoz´ıho sporu uplnˇ e, zmˇen´ıme hranu ptak → \ mleko na default hranu ptak99K \ mleko a vhodnˇe uprav´ıme moˇznosti dedukce. Hrana x → \ y m´a vyznam defaultu x * y, negovan´a x99K \ y m´a ´ vyznam vˇetˇsina x nen´ı y. ´
Dedukce s default hranami ˚ zeme odvozovat podobnˇe jako s jistymi Pokud neodvod´ıme spor, muˇ ´ hranami s dvˇema rozd´ıly • pokud cesta pouˇz´ıv´a default hranu, vysledek je tak´e default ´ hrana • default hrany nelze ot´acˇ et, tj. x99K \ y neznamen´a, zˇ e y99K \ x. Pokud by se doˇslo ke sporu, mus´ıme odvozovat opatrnˇeji. • Pokud existuje v´ıce neˇz jedna cesta z A do B, preferujeme tu s v´ıce specifickymi default pravidly (jeˇstˇe upˇresn´ıme). ´ • Pokud existuje v´ıce cest z A do B a nejsou porovnateln´e inkluz´ı, m´ame nejasnou situaci a napˇr. odm´ıtneme odpovˇedˇet (konzervativn´ı pˇr´ıstup). • Nesm´ıme pˇrid´avat hrany odvozen´e default hranami, protoˇze
˚ ze byt pˇrid´an´ı nov´e znalosti (hrany) muˇ ´ ”ve sporu”: pokud jsme hranu odvozenou dedukc´ı nepˇridali, m´a bliˇzsˇ´ı=nov´a pˇrednost, pokud bychom j´ı pˇridali, konflikt by neˇslo rozhodnout.
Fuzzy logika Dotedˇ jsme si byli jisti pojmy, nejistota byla ve vztaz´ıch. Ani pojmy nemus´ı byt ´ jist´e ... Jsem mal´a? ...trochu
Funkce n´aleˇzen´ı Z´akladem Fuzzy logiky je zobecnˇen´ı funkce n´aleˇzen´ı. 0 Klasicky: δmanohy ( jana) = 1 Nyn´ı obecnˇeji µmala ( jana) → [0, 1] Fuzzy mnoˇzinu definujeme A jako {( x, µ A ( x)| x ∈ X )}, kde µ A : X → [0, 1] je funkce n´aleˇzen´ı (membership function), kter´a urˇcuje, nakolik dany´ prvek x patˇr´ı do mnoˇziny A.
Fuzzy cˇ ´ısla jsou speci´aln´ı fuzzy mnoˇziny na mnoˇzinˇe re´alnych ´ cˇ ´ısel ˇ <, kter´e (z´aroven) • jsou norm´aln´ı, tj. existuje x ∈ <, pro kter´e µ A ( x) = 1
• jsou konvexn´ı, tj. δ ∈ [0, 1], ∀ x, y ∈ < : µ A (δ · x + (1 − δ ) · y) ≥ min(µ A ( x), µ A ( y))
Logick´e operace (jedna z moˇznych ´ definic) Mˇejme univerza X a Y. Fuzzy relace R mezi X a Y je fuzzy mnoˇzina, kde: • R = ( x, y) : µ R ( x, y) ∈ X × Y • µ R : X × Y → [0, 1] Mˇejme fuzzy mnoˇziny A, B, A ⊂ X, B ⊂ Y a ( x, y) ∈ X × Y. Spojku ”a” AND definujeme (jsou i jin´e moˇznosti) n´asleduj´ıc´ı fuzzy relac´ı: µ AND ( x, y) = min(µ A ( a), µ B ( x)) a spojku OR: µOR ( x, y) = max(µ A ( a), µ B ( x))
t–normy: Jin´e moˇznosti AND Definition 1 (t–norma) t–norma je zobrazen´ı [0, 1] × [0, 1] → [0, 1] s vlastnostmi: • neklesaj´ıc´ı v kaˇzd´em argumentu: x ≤ y a w ≤ z, pak i t( x, w) ≤ t( y, z) • komutativita: t( x, y) = t( y, x) ∀ x, y ∈ [0, 1] • asociativita: t(t( x, y), z) = t( x, t( y, z)) ∀ x, y, z ∈ [0, 1] • krajn´ı body: t( x, 0) = 0 a t( x, 1) = x ∀ x ∈ [0, 1] ˚ Libovolnou t–normu lze pouˇz´ıt jako oper´ator pruniku (AND kombinace).
Pˇr´ıklady t–norem • (minimum) t( x, y) = min( x, y) • (limited difference) t( x, y) = max(0, x + y − 1) • (algebraic product) t( x, y) = x · y • (drastic product) pokud max( x, y) = 1 tak t( x, y) = min( x, y), jinak t( x, y) = 0
s–normy (=t–konormy): Jin´e moˇznosti OR Definition 2 (s–norma=t–konorma) s–norma je zobrazen´ı [0, 1] × [0, 1] → [0, 1] s vlastnostmi: • neklesaj´ıc´ı v kaˇzd´em argumentu: x ≤ y a w ≤ z, pak i s( x, w) ≤ s( y, z) • komutativita: s( x, y) = s( y, x) ∀ x, y ∈ [0, 1] • asociativita: s(s( x, y), z) = s( x, s( y, z)) ∀ x, y, z ∈ [0, 1] • krajn´ı body: s( x, 0) = x a s( x, 1) = 1 ∀ x ∈ [0, 1] Libovolnou s–normu lze pouˇz´ıt jako oper´ator sjednocen´ı (OR kombinace).
Dualita t–normy a s–normy Pro kaˇzdou s–normu je takto definovan´e t t–norma: t( x, y) = 1 − s(1 − x, 1 − y)
Pˇr´ıklady s–norem • (maximum) s( x, y) = max( x, y) • (limited sum) s( x, y) = min(1, x + y) • (algebraic sum) s( x, y) = x + y − x · y • (drastic sum) je–li min( x, y) = 0, pak s( x, y) = max( x, y), jinak s( x, y) = 1
IF – THEN pravidla IF – THEN pravidla je moˇzn´e povaˇzovat za zobecnˇeny´ Modus Ponens (!nebudeme pouˇz´ıvat v protismˇeru!) zobec. MP antecedent
x is A’ pravidlo
bere cˇ ´ıslo µ A ( x)
IF x is A THEN y is B
konsekvence kde A,A’,B,B’ jsou fuzzy mnoˇziny
y is B’
vrac´ı fuzzy mnoˇz. B’ do y
Antecedent i sukcedent mohou byt ´ sloˇzen´e, pak aplikujeme spojky OR a AND.
Skl´ad´an´ı v´ıce pravidel Obecnˇe skl´ad´ame vysledky v´ıce pravidel a chceme d´at pˇresn´e cˇ ´ıslo – ´ defazifikovat. ˚ e metody defazifikace. Jsou ruzn´
Defazifikace max
min
• Stˇred maxima: u = u +2 u , kde umax a umin jsou nejniˇzsˇ´ı a nejvyˇssˇ´ı hodnoty u, kde µ conseq (u) dosahuje maxima. • tˇezˇ iˇstˇe (center of gravity) u = ˚ u= • ”stˇred souˇctu”
R
conseq
R
u·µ conseq (u)du conseq ( u ) du Uµ
U R
u · ∑r µr (u)du conseq (u)du U ∑r µr
U R
Fuzzy regul´ator (shrnut´ı) • Pˇrij´ım´a jeden nebo v´ıce vstupu˚ – mˇerˇ en´ı a informac´ı o stavu syst´emu • zpracuje vstupy na z´akladˇe IF...THEN pravidel (pˇr´ıpadnˇe spoleˇcnˇe s nefuzzy zpracov´an´ım) ˚ erov´an´ım a v´azˇ en´ım) vystup • agregac´ı (prumˇ u˚ vˇsech pravidel ´ vyd´a jednu pˇresnou crisp hodnotu, kter´a rˇ´ık´a, jakou akci prov´adˇet.
Vstupy Napˇr. pozorujeme jen rychlost, moˇzn´e hodnoty jsou {”Too slow”, ”About right”, ”Too fast”}
Vystupn´ ı akce ´ {”Speed up”, ”Not much change needed”, ”Slow down”}
Pravidla Rule 1: If the motor is running too slow, then speed it up. Rule 2: If motor speed is about right, then not much change is needed. Rule 3: If motor speed is to fast, then slow it down.
Spojky a agregace Rozhodneme se, jakou t–normu pouˇzijeme pro AND a jak budeme agregovat fuzzy vystup do pˇresn´e hodnoty. ´ napˇr. • multiplikativn´ı t–norma • tˇezˇ iˇstˇe pro defuzzifikaci
Jeden rozhodovac´ı cyklus • Vstup: rychlost x = 2437.4 Rpm • fuzzy vstupy: µ about right ( x) = 0.4, µtoo
f ast ( x )
= 0.3
• zkombinuji pravdivost antecedentu˚ a jednotliv´a pravidla • zkombinuji vysledky (konsekventy) pravidel a najdu tˇezˇ iˇstˇe ´