Sémantické sítě Soustředí se na reprezentaci konceptů a vztahů (relací) mezi nimi. Používají grafickou reprezentaci, koncepty jsou uzly grafu, relace jsou hrany (většinou se uvažují pouze binární relace). is a = je půjčka je dlužník půjčka 1 půjčka 2 věřitel dlužník věřitel Karel Jiří Marie je je je osoba
Objekty a relace, odvozování Síť na obrázku reprezentuje znalosti o autech obecně a o konkrétních vozidlech (identifikovaných SPZ). Uzly jsou koncepty (obecné) a instance. Máme tu základní typy relací: je (is a), tj. množinová inkluze, subsumce je (is a) náležení (je prvkem) koncept má vlastnost, případně konkrétní relace, např. dlužník, věřitel každý prvek konceptu má vlastnost pro každý prvek konceptu A existuje prvek konceptu B s určitou vlastností
Vícerozměrných relací se zbavíme reifikací převedením relace na koncept (objekt). Možnost vztahů dále rozšiřují deskriptivní logiky (např. systém OWL), které se často používají k vytváření ontologií. Možné dedukce o autu 2A2 111111 jsou např. je to Škoda Fabia má čtyřdobý motor je osobní auto má kola má spalovací motor je vozidlo...
brzdy má je vozidlo má pohon je osobní auto má je Skoda Fabia je 2A2 111111 má spalovací motor kola je je čtyřdobý motor třídobý motor má má má je 4A0 222222
Rámce Daly vznik objektově orientovanému programování. Rámec má tzv. sloty, do kterých se vyplňují data: údaje, jiné rámce, vlastnosti zděděné z jiných rámců apod. JMÉNO RÁMCE Škoda Fabie položky ČÍSLO RÁMCE 1 IS-A MOTOR PŘEVODOVKA osobní auto čtyřdobý benzínový manuální
JMÉNO RÁMCE Škoda Fabie položky ČÍSLO RÁMCE 1 IS-A osobní auto MOTOR hodnota: třídobý benzínový default: čtyřdobý benzínový PŘEVODOVKA manuální
Systémy dědičnosti (inheritence systems) Pokud koncepty mají v sémantické síti částečné uspořádání, pak síť nazýváme systém s dědičností. V síti pak vynecháváme hrany, které mohou být odvozeny z dědičnosti. Klasickým příkladem je klasifikace rostlin, živočichů.
Manipulace v jednoduchém systému dědičnosti Základní relací naší sémantické sítě je relace is a, tj. patří mezi, je, např. pes je savec, Alík je pes. Budeme uvažovat síť s dvěma typy uzlů (konstanty a koncepty) a dvěma typy hran(absolutní a defaultní, obě mohou být negované (defaultní připustíme až časem). Navíc: žádná hrana nevede do konstanty jen absolutní hrany a jejich negace mohou vycházet z konstant hrana r s má význam r(s), je li s konstanta, jinak x(r(x) s(x)). Hrana rs znamená r(s) pro s konstantu, jinak
x(r(x) s(x)), což je ekvivalentní x( r(x) s(x)), čili pro negovanou absolutní hranu jsou obě orientace ekvivalentní. černá vdova Příklad pavouk členovec chován lidmi domácí mazlčci bezobratlí Špagetka jezevčík pes savec.
Povolené dedukce I když můžeme hrany přeložit do logiky 1. řádu, nedovolujeme všechny možné dedukce logiky, ale jen omezenou část. Dovolené operace: Symetrie: dovolíme otočit negovanou absolutní hranu, tj. z r \ s odvodit s \ r Positivní řetězec: Jsou li x i x i+1 hrany v digrafu pro 1 i < k, pak můžeme přidat hranu x 1 x k. Negativní hrana: Jsou li x i x i+1 a y j y j+1 hrany v digrafu pro 1 i < k,1 j < m, a x k \ y m je hrana digrafu, můžeme přidat hranu x 1 \ y 1, pokud y 1 není konstanta.
Příklad dedukce Můžeme otáčet negované (jisté) hrany, např. členovec není domácí mazlíček, i domácí mazlíček není členovec. Můžeme řetězit pozitivní hrany, např. Špagetka je pes, jezevčíci jsou chováni lidmi, atd. Štaflík je domácí mazlíček a pavouci jsou členovci kteří nejsou domácí mazlíčci, proto Štaflík není členovec. Stejného závěru můžeme dosáhnout použitím cesty přes savce a otočenou negativní hranu.
Lokálnost sporu pavouk členovec domácí mazlčci bezobratlí jezevčík pes savec pták krmí mlékem holub Savci krmí mláďata mlékem, ptáci ne. Nicméně holubi tvoří výměšek podobný sýru, kterým krmí mláďata..
Do modelu se nám dostal spor můžeme odvodit i že holubi krmí mlékem, i že nekrmí. V našem omezeném způsobu odvozování ale každý spor musí zahrnovat cestu přes holuby, takže např. že Štaflík je pavouk nelze odvodit, i když je někde v modelu u holubů spor. Lokálnost sporu je velice důležitá u velkých bází znalostí, zvlášť pokud je tvoří více lidí.
Default hrany Abychom se zbavili předchozího sporu úplně, změníme hranu ptak \ mleko na default hranu ptak \ mleko a vhodně upravíme možnosti dedukce. Hrana x \ y má význam defaultu x y, negovaná x \ y má význam většina x není y.
Dedukce s default hranami Pokud neodvodíme spor, můžeme odvozovat podobně jako s jistými hranami s dvěma rozdíly pokud cesta používá default hranu, výsledek je také default hrana default hrany nelze otáčet, tj. x \ y neznamená, že y \ x. Pokud by se došlo ke sporu, musíme odvozovat opatrněji. Pokud existuje více než jedna cesta z A do B, preferujeme tu s více specifickými default pravidly (ještě upřesníme). Pokud existuje více cest z A do B a nejsou porovnatelné inkluzí, máme nejasnou situaci a např. odmítneme odpovědět (konzervativní přístup). Nesmíme přidávat hrany odvozené default hranami, protože
přidání nové znalosti (hrany) může být ve sporu : pokud jsme hranu odvozenou dedukcí nepřidali, má bližší=nová přednost, pokud bychom jí přidali, konflikt by nešlo rozhodnout.
Fuzzy logika Doteď jsme si byli jisti pojmy, nejistota byla ve vztazích. Ani pojmy nemusí být jisté... Jsem malá?...trochu
Funkce náležení Základem Fuzzy logiky je zobecnění funkce náležení. 0 Klasicky: δ manohy ( jana) = 1 Nyní obecněji µ mala ( jana) [0, 1] Fuzzy množinu definujeme A jako {(x, µ A (x) x X)}, kde µ A : X [0, 1] je funkce náležení (membership function), která určuje, nakolik daný prvek x patří do množiny A.
Fuzzy čísla jsou speciální fuzzy množiny na množině reálných čísel R, které (zároveň) jsou normální, tj. existuje x R, pro které µ A (x) = 1
jsou konvexní, tj. δ [0, 1], x, y R : µ A (δ x + (1 δ) y) min(µ A (x), µ A (y))
Logické operace (jedna z možných definic) Mějme univerza X a Y. Fuzzy relace R mezi X a Y je fuzzy množina, kde: R = (x, y) : µ R (x, y) X Y µ R : X Y [0, 1] Mějme fuzzy množiny A, B, A X, B Y a (x, y) X Y. Spojku a AND definujeme (jsou i jiné možnosti) následují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é možnosti AND Definition 1 (t norma) t norma je zobrazení [0, 1] [0, 1] [0, 1] s vlastnostmi: neklesající v každém 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žít jako operátor průniku (AND kombinace).
Pří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é možnosti OR Definition 2 (s norma=t konorma) s norma je zobrazení [0, 1] [0, 1] [0, 1] s vlastnostmi: neklesající v každém 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žít jako operátor sjednocení (OR kombinace).
Dualita t normy a s normy Pro každou s normu je takto definované t t norma: t(x, y) = 1 s(1 x, 1 y)
Pří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žné považovat za zobecněný Modus Ponens (!nebudeme používat v protisměru!) zobec. MP antecedent x is A bere číslo µ A (x) pravidlo IF x is A THEN y is B konsekvence y is B vrací fuzzy množ. B do y kde A,A,B,B jsou fuzzy množiny Antecedent i sukcedent mohou být složené, pak aplikujeme spojky OR a AND.
Skládání více pravidel Obecně skládáme výsledky více pravidel a chceme dát přesné číslo defazifikovat. Jsou různé metody defazifikace.
Defazifikace Střed maxima: u = umax +u min 2, kde u max a u min jsou nejnižší a nejvyšší hodnoty u, kde µ conseq (u) dosahuje maxima. těžiště (center of gravity) u = U u µconseq (u)du U µconseq (u)du střed součtů u = U u r µ r conseq (u)du U r µ r conseq (u)du
Fuzzy regulátor (shrnutí) Přijímá jeden nebo více vstupů měření a informací o stavu systému zpracuje vstupy na základě IF...THEN pravidel (případně společně s nefuzzy zpracováním) agregací (průměrováním a vážením) výstupů všech pravidel vydá jednu přesnou crisp hodnotu, která říká, jakou akci provádět.
Vstupy Např. pozorujeme jen rychlost, možné hodnoty jsou { Too slow, About right, Too fast }
Výstupní 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žijeme pro AND a jak budeme agregovat fuzzy výstup do přesné hodnoty. např. multiplikativní t norma těžiště 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 antecedentů a jednotlivá pravidla zkombinuji výsledky (konsekventy) pravidel a najdu těžiště