Reprezentace znalostí Vladimír Mařík Katedra kybernetiky, ČVUT v Praze http://cyber.felk.cvut.cz/
preprezentace znalostí V paměti počítače požadavky na modularitu (M) asociativnost (A) Čtyři základní formalizmy: A) Produkční systémy (M) B) Logika (predikátová 1.řádu) (M) C) Sémanitcké sítě (A) D) Rámce a scénáře (A)
pa) Produkční systémy Soubor produkčních pravidel typu situace akce situační část pravidla popisuje podmínku, za níž může být pravidlo použito Báze dat (pracovní paměť): obsahuje jak počáteční data, tak i data odvozená popisuje okamžitý stav řešené úlohy Inferenční stroj porovnává data v pracovní paměti s podmínkovými částmi produkčních pravidel vybírá pravidla vhodná k vykonání (nutnost řešení konfliktu) provádí příslušnou akci
pčinnost produkčního systému Probíhá obvykle v cyklu rozpoznání situace vykonání akce Mají-li pravidla parametry, přiřadí se jim konkrétní hodnoty instance pravidel Ze souboru aplikovatelných instancí pravidel je v každém kroku vybráno jediné řešení (řešení konfliktu) a provede jeho akční část Vykonáním pravidla se modifikuje obsah pracovní paměti Cyklus začíná znovu POZOR! Souvislosti: 1. Produkční systém jako formalismus prohledávání stavového prostoru (dopředné i zpětné řetězení) 2. Analogie s činností mozku: Soubor produkčních pravidel............ dlouhodobá paměť Pracovní paměť........................ krátkodobá operativní paměť Inferenční stroj......................... kognitivní procesor lidského mozku
pčinnost produkčního systému Strategie řešení konfliktu: Preference pravidel s větším počtem podmínek na levé straně Zákaz opakování pravidla z předchozího kroku (ochrana proti zacyklení) Preference novějších dat, užitých k aktivaci pravidla Vlastnosti produkčních systémů: Omezená možnost interakce mezi pravidly Omezení kladená na tvar pravidel Pravidla představují elementární akce možnost vysvětlování Modularita
pb) Logika (predikátová 1.řádu) opírá se o množinu konstant, proměnných, funkčních symbolů, predikátových symbolů a kvantifikátorů funkční a predikátové symboly mají tzv. četnost (počet argumentů) Základní pojmy Dvojargumentové predikáty ISA ( Koĺın, A320). ISA ( Paris, B777). Má-tvar (balón, elipsovitý). AKO (B777, tryskové letadlo). Reprezentují fakta
pb) Logika (predikátová 1.řádu) Predikátové výrazy Barva (červená) jednoargumentový Otec (Martin, Zuzana) dvojargumentový Matka (Anna, Zuzana) dvojargumentový Rodiče (Martin, Anna, Zuzana) trojargumentový Nabývají hodnot pravda (T) či nepravda (F) Formule/klauzule Procedurálně: p 1 p 2... p n p(v Prologu p :- p 1, p 2,..., p n ) Deklarativně: p 1 p 2... p n p
pb) Logika (predikátová 1.řádu) Příklad: Fakta: (1) Rodič (Anna, Marie). (2) Rodič (Anna, Zuzana). (3) Rodič (Marie, Robert). (4) Rodič (Zuzana, Jan). Pravidla: (5) Rodič (X,Y) :- Otec (X,Y) (6) Rodič (X,Y) :- Matka (X,Y) (7) Prarodič (X,Y) :- Rodič (X,Z), Rodič (Z,Y) (8) Předek (X,Y) :- Rodič (X,Y) (9) Předek (X,Y) :- Předek (X,Z), Předek (Z,Y) Chceme dokázat (cíl): :- Předek (Anna, Jan)
pb) Logika (predikátová 1.řádu) Postup řešení: (1) X...Anna, Y...Jan Podcíl: Rodič (Anna, Jan) není splněn (2) podcíle: Předek (Anna, Z), předek (Z, Jan) (3) Zkoumáme podcíl Předek (Anna, Z), platné možnosti: Rodič (Anna, Marie), Rodič (Anna, Zuzana) (4) Zkoumáme, zda při Z=Marie může platit Předek (Z, Jan) zjištěno, že neplatí Rodič (Z, Jan)... nastává bactracking (5) Zkoumáme, zda při Z=Zuzana může platit Předek (Z, Jan), zjišťujeme, že Rodič (Zuzana, Jan) platí, a tedy s užitím pravidla (8) platí: Předek (Zuzana, Jan) (6) Obdobně z Rodič (Anna, Zuzana) plyne platnost Předek (Anna, Zuzana) (7) S užitím pravidla (9) pak dokážeme: Předek (Anna, Jan)
pb) Logika (predikátová 1.řádu) POZOR! Souvislosti: 1. Pravidla JPL 1. řádu speciální tvar produkčních pravidel Fakta data v pracovní paměti Inferenční stroj realizuje strategii (prohledávání stavového prostoru) JPL 1. řádu = speciální případ produkčního systému 2. A ještě něco navíc: Data i pravidla mohou mít stejný formát liší se jen interpretací (deklarativní u dat, procedurální u pravidel) 3. Jazyk PROLOG: Obsahuje systém automatizovaného dokazování platnosti/neplatnosti formule v daném systému axiomů (teorii) má zabudovanou jednoduchou strategii inferenčního stroje, opírá se o systematickou transformaci formuĺı do standardního tvaru (např. skolemizací se zbavíme obecných kvantifikátorů) a o tzv. rezoluční princip (důkaz neplatnosti negace je postačující v úplném logickém systému)
pc) Sémantické sítě původně měly reprezentovat paměť člověka a podporovat porozumění přirozenému jazyku (Quillian, 1968) grafická reprezentace: orientovaný označený graf uzly entity (objekty, koncepty, situace) hrany relace
pc) Sémantické sítě Obr. 1
pc) Sémantické sítě nejběžněji užívané relace: ISA instance třídy AKO podtřída (užívá se mezi dvěma generickými uzly)
pc) Sémantické sítě Obr. 2
pc) Sémantické sítě POZOR: třída množina Nadtřída Třída Podtřída Objekty jedné třídy mají alespoň jeden společný atribut (znak). Každý atribut má hodnotu, kombinace atributu a hodnoty je vlastnost. Velmi důležitá vlastnost: DĚDĚNÍ Všichni členové třídy dědí všechny vlastnosti svých nadtříd není třeba tyto charakteristiky opakovat Výjimky z procesu dědění se řeší uvedením výjimečné vlastnosti na nižší úrovni (ta má preferenci) - viz tvar balónu a tvar balónu pro dálkové lety (obr. 2) Taxonomické struktury: čistě hierarchické sémantické sítě umožňující kategorizaci jevů, konceptů, situací atd.
pc) Sémantické sítě POZOR! Souvislosti: mezi sémantickými sítěmi a JPL 1. řádu a JPL 1. řádu: :: každou hranu sémantické sítě možno chápat jako instanci dvojargumentového predikátu :: trojargumetové predikáty nelze přímo reprezentovat s.s., napřed nutno dekomponovat na dvojargumentové predikáty :: v oblasti s.s. existuje jediný typ inference dědění :: celkově je s.s. podstatně výrazově chudší než JPL 1. řádu ale vhodná pro praktické užití díky jasné asociativitě mezi prvky
pd) Rámce a scénáře nástroje pro reprezentaci stereotypních situací (Minsky, 1975) přirozená sekvence rámců scénář (Schenk, 1977) (povinné) Jméno rámce: (povinné) Ukazatel na nadřazený rámec: Jméno položky 1: hodnota Jméno položky 2: hodnota Jméno položky n: hodnota Obr. 3 struktura rámce
pd) Rámce a scénáře Jméno: Osobní automobil střední třídy Nadřazený rámec: osobní automobil Airbagy: 4 a více ABS: Ano Klimatizace: automatická Obr. 4 generický rámec Jméno: Škoda Oktávia Speciál Nadřazený rámec: os. aut. střední třídy Motor: čtyřdobý benzínový Převodovka: manuální Typ: sedan čtyřdveřový Sedadla: kůže Obr. 5 generický rámec nižší úrovně
pd) Rámce a scénáře Jméno: Moje oktávka Nadřazený rámec: Škoda Oktávia Speciál Barva: černá SPZ: 1A6 2222 Barva kůže: béžová Sedadla: kůže Volant: sportovní Tažné zařízení: Mikov Obr. 6 Instance rámce
pd) Rámce a scénáře Obr. 7 Složitější rámcová struktura
pd) Rámce a scénáře Náplně položek mohou být též: předpokládaná hodnota {seznam možných hodnot} otázky uživateli obrázky odkazy na jiné rámce výpočetní algoritmy... Jméno: Škoda Oktávia Speciál Nadřazený rámec: Střední třída Převodovka: {manuál, automat} Mlhovky: ano Typ tažného zařízení: viz rámec Můj vozík Spotřeba ve městě: spotřeba standard viz rámec spotřeba 1.3 Obr. 8 Složitější rámec
pd) Rámce a scénáře POZOR! Souvislosti: každý (jednoduchý) rámec lze reprezentovat sémantickou sítí, např. rámec moje oktávka je v jednoduché sémantické síti zachycen na obr. 9 lze používat princip dědění, resp. výjimky z dědění... Obr. 9