Nepravidlové a hybridní znalostní systémy

Podobné dokumenty
Získávání a reprezentace znalostí

Reprezentace znalostí - úvod

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017

Úvod do expertních systémů

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7

Reprezentace znalostí. Katedra kybernetiky, ČVUT v Praze.

Pravidlové znalostní systémy

1. Dědičnost a polymorfismus

Programování v C++ 1, 6. cvičení

Petr Křemen. Katedra kybernetiky, FEL ČVUT. Petr Křemen (Katedra kybernetiky, FEL ČVUT) Sémantické sítě a rámce 1 / 112

Základy objektové orientace I. Únor 2010

Objektové programování

Objektově orientovaný přístup

6 Objektově-orientovaný vývoj programového vybavení

Ontologie. Otakar Trunda

1 Expertní systémy. 1.1 Základní informace. 1.2 Výstupy z učení. 1.3 Expertní systém (ES) 1.4 Komponenty expertních systémů

Teorie systémů TES 5. Znalostní systémy KMS

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157

PB161 Základy OOP. Tomáš Brukner

Programování II. Polymorfismus

IB111 Programování a algoritmizace. Objektově orientované programování (OOP)

NMIN201 Objektově orientované programování 1 / :36:09

Programování v C++ 3, 3. cvičení

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

NPRG031 Programování II 1 / :25:46

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Návrhové vzory OMO, LS 2014/2015

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Generické programování

Analýza a modelování dat. Přednáška 4

Třídy. Instance. Pokud tento program spustíme, vypíše následující. car1 má barvu Red. car2 má barvu Red. car1 má barvu Blue.

7. OBJEKTOVĚ ORIENTOVANÉ PROGRAMOVÁNÍ

Programování II. Úvod do dědičnosti 2018/19

Programování II. Abstraktní třída Vícenásobná dědičnost 2018/19

Úvod do softwarového inženýrství IUS 2009/2010 p.1/42

EXTRAKT z mezinárodní normy

4. Moudrost. Znalosti

TÉMATICKÝ OKRUH Softwarové inženýrství

Vyřešené teoretické otázky do OOP ( )

Zpracování neurčitosti

Programování v C++ 1, 5. cvičení

Třída. Atributy. Operace

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. FAKULTA STROJNÍHO INŽENÝRSTVÍ Ústav automatizace a informatiky. Expertní systémy. Jiří Dvořák

Usuzování za neurčitosti

Objektově orientované databáze. Miroslav Beneš

Dolování v objektových datech. Ivana Rudolfová

Objektově orientované programování. Úvod

Výroková a predikátová logika - V

Spojení OntoUML a GLIKREM ve znalostním rozhodování

Znalosti a jejich reprezentace

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. programu pro výuku

Programování II. Třídy a objekty (objektová orientovanost) 2018/19

Jazyk C++ I. Polymorfismus

Výroková a predikátová logika - III

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

7. Inferenční metody. Inferenční metody Václav Matoušek, Josef Strolený Úvod do znalostního inženýrství, ZS 2014/

Objekty, třídy, vazby 2006 UOMO 30

Dědění, polymorfismus

2 Životní cyklus programového díla

Pokročilé operace s obrazem

Maturitní témata Školní rok: 2015/2016

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Sada 1 - Základy programování

Teoretické minimum z PJV

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

Logika a logické programování

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Virtuální metody - polymorfizmus

Soustředí se na reprezentaci konceptů a vztahů (relací) mezi nimi. Používají grafickou reprezentaci, koncepty jsou uzly grafu, relace

Inference v deskripčních logikách

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

Modelování a odvozování v RDFS

IB111 Programování a algoritmizace. Programovací jazyky

Dědičnost (inheritance)

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Úvod do principů objektově orientovaného programování

Chování konstruktorů a destruktorů při dědění

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

Metadata, sémantika a sémantický web. Ing. Vilém Sklenák, CSc.

PB161 Programování v jazyce C++ Přednáška 1

Výroková a predikátová logika - III

Sdílení dat mezi podprogramy

7.3 Diagramy tříd - základy

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda

Dotazování nad stromem abstraktní syntaxe

Logické programy Deklarativní interpretace

Programování II. Modularita 2017/18

Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY

Sekvenční logické obvody

Informační a znalostní systémy jako podpora rozhodování

24. listopadu 2013, Brno Připravil: David Procházka

Programování II. Návrh programu II

11. Dědičnost. Dědičnost strana 103

7.3 Diagramy tříd - základy

Transkript:

Nepravidlové a hybridní znalostní systémy 7. 14. listopadu 2017 _ 3-1

Nepravidlové reprezentace znalostí K nepravidlovým reprezentačním technikám patří: rozhodovací stromy rámce sémantické sítě Petriho sítě objekty _ 3-2

Rámce Rámce (frames) jsou struktury pro reprezentaci stereotypních situací a odpovídajících stereotypních činností (scénářů). Tento prostředek reprezentace vychází z poznatku, že lidé používají pro analyzování a řešení nových situací rámcové struktury znalostí získaných na základě předchozích zkušeností. Rámce mají reprezentovat obecné znalosti o třídách objektů, znalosti pravdivé pro většinu případů. Mohou existovat objekty, které porušují některé vlastnosti popsané v obecném rámci. Rámce jsou preferovaným schématem reprezentace v modelovém a případovém usuzování (model-based reasoning, case-based reasoning). Příklady jazyků pro reprezentaci rámců: KRYPTON, FRL, KSL. _ 3-3

Struktura rámce Rámec je tvořen jménemm a množinou atributů. Atribut (rubrika, slot) může dále obsahovat položky (links, facets), jako např. aktuální hodnotu (current), implicitní hodnotu (default), rozsah možných hodnot (range). Dalšími položkami atributu (rubriky, slotu) mohou být speciální procedury jako např. if-needed, if-changed, if-added, if-deleted. Tyto procedury jsou automaticky aktivovány, jestliže nastanou příslušné situace. Př.: Typy událostmi řízených procedur v systému FLEX: launches (aktivují se při vytváření instance rámce) watchdogs (aktivují se při přístupu k aktuální hodnotě slotu) constraints (aktivují se před změnou hodnoty slotu) demons (aktivují se po změně hodnoty slotu) _ 3-4

Vztahy mezi rámci Mezi rámci mohou existovat vztahy dědičnosti, které umožňují distribuovat informace bez nutnosti jejich zdvojování. Rámec může být specializací jiného obecnějšího rámce (vztah typu specialization-of) a současně může být zobecněním jiných rámců (vztah typu generalization-of). Příklady vztahů mezi rámci v systému FLEX: Rodič potomek (is-a,, is-an, is-a-kind-of) Tento vztah může být typu 1:1, 1:n, n:1. Dědění některého atributu může být pro určitý rámec potlačeno. Rámec instance rámce (is-an-instance-of) Tento vztah je typu 1:1. Přitom je navíc možné dědění nějakého specifického atributu od nějakého specifického rámce. Vlastnictví rámce atributem rámce může být jiný rámec. _ 3-5

Výhody a nevýhody rámcových systémů Výhody: snazší usuzování řízené očekáváním (na základě využití démonů), organizace znalostí (větší strukturovanost a organizace než v sémantických sítích), samořízení (schopnost rámců určit svou vlastní aplikovatelnost v dané situaci), uchovávání dynamických hodnot (ve slotech rámců); výhodné při simulaci, plánování, diagnostice,. Nevýhody: potíže s odlišností objektů od prototypu, obtížné přizpůsobení novým situacím, obtížný popis detailních heuristických znalostí. _ 3-6

Sémantická (asociativní) síť Sémantická (asociativní) síť (semantic or associative net) je ohodnocený orientovaný graf. Uzly reprezentují objekty a hrany představují vztahy mezi objekty. Místo pojmu sémantická síť se někdy také používá pojem asociativní síť. Sémantická síť poskytuje vyšší úroveň porozumění akcím, příčinám a událostem, které se vyskytují v odpovídající doméně. To umožňuje úplnější usuzování znalostního systému o problémech z této domény. _ 3-7

Vztahy v sémantické síti Sémantická síť umožňuje reprezentaci fyzikálních, kauzálních a taxonomických vztahů a podporuje dědičnost a tranzitivitu. Příklady vztahů v sémantické síti: is-a, has-a, part-of, number-of, connected-to, causes, Je nutné dát si pozor na interpretaci vztahu is-a, který může mít např. tyto významy: je instancí, je prvkem, je podmnožinou, je podtřídou, je ekvivalentní s. _ 3-8

Výhody a nevýhody sémantických sítíí Výhody: explicitní a jasné vyjádření, redukce doby hledání (pro dotazy typu dědičnosti nebo rozpoznávání). Nevýhody: neexistence interpretačních standardů, nebezpečí chybné inference, nebezpečí kombinatorické exploze. _ 3-9

Objekty Objekty podobně jako rámce sdružují deklarativní znalosti a procedurální znalosti. Objekt je programová struktura, obsahující jak data, tak metody (procedury), které s těmito daty pracují. Data objektu jsou přístupná pouze prostřednictvím metod objektu. Tato vlastnost se označuje jako zapouzdření (encapsulation). Objekt je instance třídy. Třída je skupina objektů, které mají stejné vlastnosti (datové složky) a stejné chování (metody). Příklady objektových jazyků: jazyky čistě objektové (Smalltalk, Actor, CLOS, ) jazyky podporující OOP, ale umožňující programovat i neobjektově (Borland Pascal, Object Pascal, C++, ) _ 3-10

Vztahy mezi třídami Dědičnost: Od jedné třídy (bázové, rodičovské) můžeme odvodit třídu jinou (odvozenou, dceřinou). Dceřiná třída dědí všechny složky své rodičovské třídy a k nim může přidat svoje vlastní. Zděděné metody je pak možno předefinovat. Objekt třídy předek třídy potomek (může Vlastnictví (skládání): Složkou třídy může být jiná třída. může být v programu zastoupen objektem se jednat i o nepřímého potomka). _ 3-11

Třídy, objekty a dědičnost odvození třídy _ 3-12

Skládání tříd a objektů _ 3-13

Komunikace mezi objekty Objekty spolu komunikují tak, že si navzájem posílají zprávy; obvykle to znamená, že jeden objekt (odesílatel zprávy) volá metodu jiného objektu (příjemce zprávy). Časná vazba (early binding) příjemce zprávy je určen v okamžiku kompilace. Pozdní vazba (late binding) příjemce zprávy je určen až za běhu programu; pozdní vazbou se realizuje polymorfismus (mnohotvarost). _ 3-14

Výhody a nevýhody objektů Výhody: abstrakce zapouzdření (ukrývání informace) dědičnost polymorfismus znovupoužitelnost kódu Nevýhody (podobné jako u rámců): jak se vypořádat s odchylkami od normy? jak zohlednit nové dosud neuvažované situace? _ 3-15

Hybridní systémyy 3. Nepravidlové a hybridní znalostní systémy Zatímco u 1. generace znalostních (expertních) systémů byl v rámci jednoho systému používán pouze jeden způsob reprezentace znalostí, znalostní systémy 2. generace obvykle používají hybridní (kombinované) reprezentace znalostí. Hybridní reprezentace, které jsou dostupné v nejčastěji používaných prostředcích pro vývoj ZS, kombinují pravidlově, rámcově a objektově orientované techniky. Umožňují tzv. modelový přístup k tvorbě systému a usnadňují vývoj modelů. Hybridní systémy, kombinující rámce a pravidla, používají např. rámce pro reprezentaci strukturních znalostí a pravidla pro usuzování o těchto znalostech. Rámce také mohou být využity pro implementaci sémantických sítí. _ 3-16

Příklady hybridních systémů ACQUIRE prázdný ZS, pravidla, rámce a objekty CLIPS programové prostředí, objekty a pravidla FLEX programové prostředí implementované v Prologu, pravidla a rámce, dopředné a zpětné řetězení G2 objektově orientované prostředí, pravidla, modely a procedury, diagnostické a řídicí aplikace Rete++ programové prostředí, pravidla a objekty, dopředné a zpětné řetězení Rtworks programové prostředí, objekty a pravidla XpertRule programové prostředí, rozhodovací stromy a tabulky příkladů _ 3-17

_ 3-18