Vysoká škola ekonomická v Praze

Rozměr: px
Začít zobrazení ze stránky:

Download "Vysoká škola ekonomická v Praze"

Transkript

1 Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačního a znalostního inženýrství Obor: Aplikovaná informatika Student : Filip Hrbek Vedoucí bakalářské práce : prof. Ing. Petr Berka, CSc. Oponent bakalářské práce : doc. Ing. Vojtěch Svátek, Dr. TÉMA BAKALÁŘSKÉ PRÁCE Programovací nástroje pro tvorbu expertních systémů ROK: 2011

2 Prohlášení Prohlašuji, že jsem bakalářskou práci na téma Programovací nástroje pro tvorbu expertních systémů zpracoval samostatně a že jsem uvedl všechny použité prameny a literaturu, ze kterých jsem čerpal. V Praze dne Podpis:...

3 Poděkování Touto cestou bych rád poděkoval vedoucímu mé bakalářské práce, prof. Ing. Petru Berkovi, CSc., za cenné rady, podněty a připomínky.

4 Abstrakt Tato bakalářská práce má za cíl prozkoumat nabídku programovacích nástrojů pro tvorbu expertních systému a pomocí stanovených kritérií porovnat vybrané prostředky. Rozděluje se na dvě části, teoretickou a praktickou. První z nich se snaží nastínit a popsat problematiku expertních systémů včetně rozdělení programovacích nástrojů na obecné programovací jazyky, programovací jazyky umělé inteligence a vývojová prostředí expertních systémů, aby čtenář získal představu obecného modelu, se kterým bude srovnávat praktické aplikace. Praktická část začíná popisem kritérií, kterých jsem si všímal. Samotná studie poskytuje popis jednotlivých nástrojů, který jsem získal studiem manuálů, tutoriálů, informací od výrobců, zkoušením a testováním daných aplikací. V závěru jsem je tabulkovou formou porovnal. Jelikož nabídka na dnešním trhu přesahuje možnosti této práce, tak jsem vybral pouze omezený počet příkladů. Klíčová slova: expertní systém, programovací nástroj, neurčitost, odvozování, znalostní báze, programovací jazyk pro umělou inteligenci, vývojové prostředí, prázdný expertní systém

5 Abstract This bachelor thesis is going to explore the supply of programming tools for creation expert system and compare these tools by established criteria. This document is divided into theoretical and practical part. The first one is trying to describe expert system topic including division of programming tools into general programming language, programming language for artificial intelligence and development toolkits for expert system. The reader can imagine general model, which will be compared by practical applications. In the practical part I have written something about established criteria. The study describes programming tools. Information about them I have found in the manuals, tutorials, information from manufacturer, testing these tools. In conclusion I have compared them in tables. I have chosen only few examples of programming tools, because the offer on now day market is too wide. Keywords: expert system, programming tool, uncertainty, inference, knowledge base, programming language for artificial intelligence, development toolkit, expert system shell

6 1 OBSAH 2 Úvod Expertní systémy Historie Co je Expertní systém? Architektura ES Inferenční mechanismus Báze znalostí Vysvětlovací modul Komunikační modul Výhody ES nevýhody ES Rozdělení Diagnostické ES Generativní ES Další ES Tvorba Expertních systémů Programovací nástroje ES Obecné programovací jazyky Programovací jazyky umělé inteligence Vývojová prostředí ES Kritéria hodnocení GUI Inferenční mechanismus Práce se znalostmi Ostatní kritéria Zařazení ES Cena HARDWAROVÉ & SOFTWAROVÉ nároky Kompatibilita Technická podpora... 25

7 5.4.3 Reference Studie Programovací jazyky umělé inteligence Lisp Prolog Clips OPS Vývojová prostředí expertních systémů EXSYS G CA Aion Business Rules Expert BMIR Protégé EZ-Expert Flex Expert Systems Toolkit LPA VisiRule XpertRule Knowledge Builder Acquire Induce-It XMLMiner DataLogic/R Zhodnocení studie Závěr Zdroje & Literatura... 59

8 2 ÚVOD Tato práce, jak napovídá její název, pojednává o programovacích nástrojích pro tvorbu expertních systémů, které jsou, dle mého názoru, velmi zajímavým tématem nejen na akademické úrovni, ale i při jejich aplikaci v praxi. Pokud se rozhodneme vyvinout vlastní expertní systém, můžeme využít několika různých nástrojů, které jsem se pokusil porovnat a vytvořit studii sloužící při rozhodování o výběru před začátkem vývoje expertního systému. Svou bakalářskou práci jsem se rozhodl začít teoretickou částí, aby si čtenář mohl udělat obrázek obecného modelu expertního systému. Soustředil jsem se především na vlastnosti, které jsem později zkoumal u konkrétních případů programovacích nástrojů. Dále jsem popsal kategorie a kritéria hodnocení pro praktickou část. Samotná studie obsahuje programovací nástroje pro tvorbu expertních systémů včetně detailního popisu, obrázků z vývoje, hodnocení ke všem zvoleným kritériím. Závěrem se snažím zhodnotit vlastní snažení a přinést radu, který z nástrojů vybrat. Před samotným psaním jsem přemýšlel o rozšíření tématu pro celou umělou inteligenci, ale vymezení pouze pro expertní systémy se ukázal jako správný tah. Celý dokument, který právě čtete, slouží jako závěrečná práce pro mé bakalářské studium oboru Aplikované informatika na Vysoké škole ekonomické v Praze. Požádal jsem prof. Ing. Petra Berku, CSc. o vedení mé práce, jelikož ho považuji za experta nejen v oboru expertních systémů, ale v celé umělé inteligenci. Napsal mnoho publikací o dané problematice a zároveň je garantem několika předmětů zabývající se umělou inteligencí na Vysoké škole ekonomické v Praze. Například Principy inteligentních systémů (4IZ430), Umělé neuronové sítě (4IZ561), nebo Úvod do umělé inteligence (4IZ229). Sám jsem absolvoval bohužel pouze jeden z nich, ale v budoucnu bych rád studoval další. 8

9 3 EXPERTNÍ SYSTÉMY HISTORIE Prvním významným milníkem z historického hlediska se stal rok 1958, kdy vznikl programovací jazyk pro umělou inteligence LISP. Samozřejmě, že pro celou umělou inteligenci existují starší a významnější události, kterými se ovšem zabývat nebudeme, jelikož nás především zajímá historie expertních systémů. Pomocí LISPu, který je mimochodem používán dodnes, začal vznikat v roce 1965 předchůdce expertních systémů DENDRAL. Program DENDRAL sloužil k určování organické sloučeniny podle hmotového spektrogramu pomocí testovací metody generuj-atestuj. Oproti normálním expertním systémům neměl oddělenou znalostní bázi od inferenčního mechanismu. Na přelomu 60. a 70. let došlo ke vzniku znalostního inženýrství (velmi související oblast s expertními systémy), protože určitá část vědců přestala hledat univerzální algoritmus umělé inteligence, ale začalo klást důraz na reprezentaci a zpracování znalostí. O expertní systémy začíná být v komerční sféře zájem, který nepolevuje ani v 80. letech. Přesto však některé komerční projekty končí nezdarem především kvůli přehnaně optimistickým predikcím vývoje. Při uchovávání znalostí v databázích nastává problém s hardwarovými nároky na expertní systémy, prozatím neexistuje hardware (především paměť) odpovídající nárokům. Mezi průkopníky v 70. letech lze považovat jazyk PROLOG a expertní systémy MYCIN, HEARSAY I a II, ve druhé polovině 70. let i PROSTECTOR, OPS, R1/XCON, ReTe algoritmus. V 80. Letech se objevil nástroj Cyc, který využíval rámce pro jednotnou reprezentaci znalostí. 90. léta přináší metodologii KADS pro tvorbu expertních systémů. Dochází i k posunu v získávání znalostí, kdy se upřednostňuje automatické dolování dat (takzvaný data mining). Pozdější expertní systémy lze označit jako druhou generaci, kdy dochází ke zlepšení báze znalostí (modulární a víceúrovňové) a vysvětlovacího modulu, hybridizaci reprezentace znalostí. Objevují se i hybridní systémy, kdy došlo k propojení expertních systémů s neuronovou sítí. Tabulka 3.1 Významné nástroje pro tvorbu ES Rok Nástroj Autor 1958 LISP John McCarthy 1965 DENDRAL Edward Feigenbaum, Bruce Buchanan 1970 PROLOG Alain Colmerauer, Philippe Roussell 1971 HEARSAY I Lesser 1973 MYCIN Edward Shortliffe, Bruce Buchanan 1976 PROSPECTOR Duda, Hart 1977 OPS Charles L. Forgy 1977 HEARSAY II Erman 1978 R1/XCON John P. McDermott 1979 ReTe algoritmus Charles L. Forgy 1984 CyC Douglas Lenat 1 Informace v této kapitole jsem především čerpal z: BERKA, P. Expertní systémy. Praha: Vysoká škola ekonomická, ISBN Dvořák, J. Expertní systémy. VUT, Brno, s. [Cit ] 9

10 3.2 CO JE EXPERTNÍ SYSTÉM? Literatura nejčastěji uvádí jako definici expertního systému výklad Edwarda Feigenbauma, který je některými odborníky považován za otce expertních systémů. Jeho definice zní Počítačový program simulující rozhodovací činnost lidského experta při řešení složitých úloh a využívající vhodně zakódovaných speciálních znalostí převzatých od experta s cílem dosáhnout ve zvolené problémové oblasti kvality rozhodování na úrovni experta. Původním cílem vzniku expertních systémů bylo plné nahrazení lidského experta, což není možné z důvodu nepostihnutelnosti umělého stroje, takže se postupem času degradoval na pouhého kolegu, rádce či asistenta. Expertní systémy se dají považovat jako jednu z několika vědních disciplín spadající pod umělou inteligenci vedle neuronových sítí, genetického programování, procházení stavového prostoru, dobývání znalostí a strojového učení. Jednotlivé disciplíny se mohou prolínat, takže například vznikají hybridní expertní systémy, které obsahují prvky z neuronových sítí, dobývání znalostí i strojového učení. Existuje několik základních charakteristických rysů: Oddělení báze znalostí a inferenčního mechanismu Elementární rys, oddělení znalostí od mechanismu odvozujícího závěry, při odstranění báze znalostí vzniká tzv. prázdný expertní systém (v angličtině expert system shell), dalším nepovinným, ale častým rysem je průhlednost a snadná úprava báze znalostí. Rozhodování při neurčitost Schopnost rozhodovat i při neurčitosti (existují dvojího typu: neurčitost v bázi znalostí a v datech), která je vyjádřena určitou škálou (číslem, nebo neurčitými odpověďmi například typu ano, spíše ano, nevím, spíše ne, ne). Vysvětlovací a komunikační režim Expertní systém při získávání dat klade otázky, na které dostává odpovědi pomocí uživatelského rozhraní, zároveň vysvětluje a popisuje dané otázky i poskytnuté závěry (jakým způsobem bude vysvětleno níže). Komunikace vypadá podobně jako mezi expertem a subjektem žádajícím o radu ARCHITEKTURA ES Expertní systém se skládá z několika modulů (komunikační, vysvětlovací, inferenční mechanismus, báze znalostí, báze dat), které budou více rozebrány později v podkapitolách. Jak je patrné ze schématu expertního systému uživatel komunikuje s komunikačním modelem (dá se také hovořit o tzv. GUI neboli uživatelském rozhraní), se kterým spolupracuje inferenční mechanismus a vysvětlovací modul. Pokud bychom odebrali báze znalostí a bázi dat, tak nám vznikne prázdný expertní systém. Samozřejmě schéma je pouhým modelovým zobrazením. Jednotlivé expertní systémy se dále odlišují dle typu a samotného využití v praxi. Například může být přidán modul pro automatické dolování dat ze systému, který sleduje. 10

11 Obrázek 1 Schéma expertního systému INFERENČNÍ MECHANISMUS Inferenční mechanismus, jeden ze základních prvků, se dá nazvat hlavním jádrem a podstatou expertních systémů. Uvnitř jsou uložené základní algoritmy a principy způsobu práce. Pomocí dat k případu a báze znalostí je inferenční mechanismus schopný vyřešit problém zadaný expertovi, v tomto případě systému. Existují dva hlavní pojmy, které musíme znát, pro úplné pochopení podstaty fungování. Inference, neboli česky odvozování, a práce s neurčitostí. Inference 3 Joseph Giarratano a Gary Riley v roce 1998 popsali ve svém díle Expert Systems Principles and Programming obecné typy logického odvozování, které rozdělili na Dedukci (odvozování závěrů z předpokladů), Indukci (zobecňování konkrétních případů), Abdukci (opak k dedukci, odvozování všech možných předpokladů z pravdivých, zjištěných závěrů), Heuristiky (inference na základě zkušeností, selského rozumu), Generování a testování (získávání závěru náhodným generováním možných řešení a následným ověřováním), Analogie (využívání podobných problémů), Defaultní inference (usuzování na základě obecných znalostí, zejména při nedostatku specifických znalostí), Nemonotónní inference (upravování obecných postupů na základě nových pozorování) a Intuice (využití usuzování na základě podvědomého tušení, v ES zatím neexistuje využití). V expertních systémech nalezneme dva základní (zpětné a přímé řetězení) a dva pomocné (agenda a tabule) způsoby odvozování. Zpětné řetězení Nebo také backward chaining, goal-driven, top-down reasoning využívá dedukci, jedná se o usuzování řízené cíli. Formou dialogu se zkoumají předpoklady závěrů, k jejichž pravdivosti se 2 BERKA, P. Expertní systémy. Praha: Vysoká škola ekonomická, ISBN GIARRATANO, J. - RILEY, G.: Expert Systems. Principles and Programming, PWS Publishing Co

12 chceme dostat. Při nesplnění předpokladů můžeme pouze s jistotou tvrdit, že dané pravidlo neplatí, ale nemůžeme automaticky vyvodit opačný závěr. Některé expertní systémy povolují přidělit priority k jednotlivým předpokladům, abychom se dostali v dialogu k důležitým informacím co nejdříve. Kompozicionální systémy mohu skládat mezivýsledky, které později využijí k hledaným závěrům. Vhodnými aplikacemi pro zpětné řetězení jsou aplikace s pevně danými cíli, například diagnostické úlohy. Přímé řetězení Nebo také dopředné řetězení, forward chaining, data-driven, botom-up reasoning. Jedná se o usuzování řízené daty, kdy se využívají data sebraná ještě před konzultací a z nich se hledají pravidla, u kterých lze tyto informace uplatnit a zhodnotit pravdivost. Postupuje se ve třech krocích Porovnání (matching), Řešení konfliktu (conflict resolution) a Provedení (execution). Existuje i zde stejně jako u zpětného řetězení možnost využití priorit. Většinou se při prvním nalezeném pravdivém závěru končí a nepokračuje se v konzultaci, takže nepřichází v úvahu dílčí skládání mezivýsledků. Využití je vhodné u generativních úloh. Agenda Jedná se o pomocný zásobník s prioritními procesy určených k vykonání. Slouží k efektivní práci expertního systému. Poprvé se agenda objevila roku 1977 v systému AM (Automated Matematician), který měl za úkol objevovat nové vztahy a pravidla z oblasti matematiky. Tabule Tabule nejdříve sloužila jako centrální datové uložiště, ke kterému by měli přístup všechny důležité moduly. Později byl rozšířen o řídící jednotku, takže se podílí na řízeném předávání dat i na ovládání celého systému. Poprvé se objevila v systému Hearsay (pracující na rozpoznávání řeči). GBB (Generic Blackboard Builder) bych mohl uvést jako příklad systému založeného na architektuře tabule. Jedná se o objektově orientované programové prostředí. Byl stvořen jazykem Common Lisp. Snadno se tabulové systémy vypořádají s různorodými datovými zdroji. Vlastním řízením zdrojů vhodně skládají související data, odkládají rozhodnutí pro nedostatek informací, vzniká vhodná řídící struktura. Na druhou stranu vývoj i údržba takových systémů s využitím tabule je velice finančně i časově náročný. Algoritmus Rete Obrázek 2 Schéma tabule 4 Na závěr části o inferenci bych rád zmínil efektivní algoritmus Rete, který například využívají nástroje ART, CLIPS, OPS5 a další. Rete je účinný porovnávací algoritmus redukující dobu 4 Dvořák, J. Expertní systémy. VUT, Brno, s. [Cit ] (strana 26) 12

13 porovnávání na základě síťové struktury, ve které jsou uloženy informace o ztotožnění podmínek s fakty v bázi faktů. 5 Práce s neurčitostí Každý expert v libovolné aplikační oblasti se své praxi neustálé setkává s neurčitostí, není to ani nijak jinak pro expertní systémy. Již v začátcích se tedy objevil problém, jak reprezentovat neurčitost, která existuje dvojího typu: neurčitost v bázi znalostí a neurčitost v datech k případu. Neurčitost bývá vyjádřena čísly, které se nazývají například míry, váhy, stupně důvěry. Většinou nabývají hodnot v intervalu [-1.1], [0,1], nebo [0, nekonečno], což vyjadřuje expertovo přesvědčení o výroku (například pacient má chřipku s váhou 0.9). V některých novějších systémech se nesetkáme s vyjádřením jedním číslem, ale dvěma, které značí interval. Způsoby práce s neurčitostí máme několik, lze je rozdělit do dvou skupin: ad hoc modely (faktory jistoty/míry důvěry a nedůvěry a pseudobayesovské/pseudopravděpodobnostní přístupy) a modely teoretických principů (teorie pravděpodobnosti, teorie fuzzy množin, teorie fuzzy mír, kterými jsou například Dempster-Shaferova teorie nebo teorie možnosti). Pseudobayesovský/pseudopravděpodobnostní přístup Vychází z pojmu šance, která je určena poměrem příznivých a nepříznivých jevů. Z šance lze O(A) jednoduše pomocí vzorce P(A) = vytvořit pravděpodobnost. S definicí Bayesovy věty lze 1+O(A) definovat míru postačitelnosti L = P(E H] a míru nezbytnosti L = P(E H), pomocí kterých expert P(E H ) P(E H ) zadává pravidlo ve tvaru E H(L, L ). Tuto větu lze interpretovat, jako předpoklad E podporuje hypotézu H při mírách postačitelnosti L a nezbytnosti L. Kombinaci předpokladů lze vyřešit pomocí fuzzy logiky: Disjunkce: P(E 1 E 2 ) = max{p(e 1 ), P(E 2 )} Konjunkce: P(E 1 E 2 ) = min{p(e 1 ), P(E 2 )} Negace: P( E) = 1 P(E). Mezi největší výhody pseudopravděpodobnostního přístupu jsou teoretické základy a přesně definovaná sémantika rozhodování. Na druhou stranu potřebujeme mnoho dat, u kterých hrozí neúplnost a nepřesnost především kvůli interpretaci neurčitosti jedním číslem. Faktory jistoty (Míry důvěry a nedůvěry) Další přístup vychází z pseudopravděpodobnostního přístupu, který se ovšem snaží vylepšit a odstranit slabiny. Setkáváme se s podobným obecným tvarem pravidla: E H(CF). CF nabývá hodnot v intervalu [-1,1] a nazývá se faktorem jistoty, který lze definovat jako CF(H, E) = MB(H, E) MD(H, E). Jednotlivé složky se označují jako míra důvěry (MB(H, E) = P(H E) P(H), za 1 P(H) předpokladu P(H E) > P(H)) a míra nedůvěry (MD(H, E) = P(H) P(H E), za předpokladu P(H E) < P(H) P(H)). Pokud jsou splněny předpoklady u jedné či druhé míry, tak druhá míra je rovna nula a lze tvrdit, že pravidlo potvrzuje resp. vyvrací hypotézu. V případě P(H E) = P(H) platí MB = MD = 0 a můžeme tvrdit, že pravidlo nepotvrzuje ani nevyvrací hypotézu. Obě dvě nabývají hodnot v intervalu [0,1]. V případě stejného závěru pro dvě pravidla (E 1 H a E 2 H) existují vztahy pro míru důvěry a nedůvěry při splnění obou předpokladů. MB(H, E 1 &E 2 ) = MB(H, E 1 ) + MB(H, E 2 ) MB(H, E 1 ) MB(H, E 2 ) 5 Dvořák, J. Expertní systémy. VUT, Brno, s. [Cit ] (strana 16) 13

14 MD(H, E 1 &E 2 ) = MD(H, E 1 ) + MD(H, E 2 ) MD(H, E 1 ) MD(H, E 2 ) Tento princip umožnuje snazší propojení s vysvětlovacím modulem a jednodušší sběr konkrétních dat, ale není zcela jasně daná pevná teorie. Dempster-Shaferova teorie Dempster-Shaferova teorie byla vyvinuta především kvůli odstranění nedostatku v pravděpodobnostním přístupu, konkrétně v nutnosti součtu měr důvěry a negací, který se rovná jedné. Tento přístup obecně znázorňuje neurčitost, jehož pravdivost nemusí být rovna jedné. DS teorie vychází z pojmu prostředí, což je úplný systém vzájemně disjunktivních základních hypotéz: X = {h 1, h 2,, h n } 6 Pomocí základních definic prostředí a základního přiřazení nám vznikne interval domnění < Bel(A), Pl(A) >, kde A je testovaná hypotéza, Bel(A) míra domnění definována jako Bel(A) = B A m(b), Pl(A) míra věrohodnosti definována jako Pl(A) = 1 Bel(A C ).Při kombinaci dvou hypotéz lze uplatnit následující vzorce: Fuzzy přístupy Bel(A B) = Bel A BC Bel(B C ), 1 Bel(B C ) Pl(A B) = Pl(A B) Pl(B). Práce s neurčitostí založená na fuzzy množinách, lingvistických proměnách a logice s více hodnotami. Fuzzy množinu, která zobecňuje klasickou množinu, definujeme jako dvojici množiny A a charakteristické funkce μ A : A = (U, μ A ), kde μ A : U < 0; 1 >. Za důležitou fuzzy množinou považujeme v rámci expertních systémů fuzzy číslo. Určují ho čtyři po sobě rostoucí čísla a (1) a (2) a (3) a (4), které spolu tvoří spojitou funkci. Obrázek 3 Graf zobrazení fuzzy čísla 7 Operace s fuzzy množinami jsou definovány následovně: Doplněk A = (U, μ A ) μ A (x) = 1 μ A (x) Sjednocení A B = (U, μ A B ) μ A B (x) = max {μ A (x), μ B (x)} 6 Dvořák, J. Expertní systémy. VUT, Brno, s. [Cit ] (strana 33) 7 Dvořák, J. Expertní systémy. VUT, Brno, s. [Cit ] (strana 36) 14

15 Průnik A B = (U, μ A B ) μ A B (x) = min {μ A (x), μ B (x)} Kartézský součin A B = (U V, μ A B ) μ A B (x, y) = min {μ A (x), μ B(y) } Lingvistické proměnné nabývají slovních hodnot. Jsou definovány pomocí jména X, množiny všech možných hodnot T (množina termů), univerza U, syntaktických pravidel G a sémantických pravidel M. X = (X, T, U, G, M). Nestrukturovanou lingvistickou proměnou, kde T je konečná množina hodnot (totožných s fuzzy množinami), lze definovat bez pravidel G a M. Vícehodnotová logika pracuje s množinou pravdivostních hodnot C, které nabývají hodnot <0,1>, a množinou logických spojek L = {,, &, }. Spojky se nazývají disjunkce, konjunkce, odvážná konjunkce a implikace. Existuje několik základních operací: V(α) = α V(α β) = max V(α), V(β) V(α β) = min V(α), V(β) V(α&β) = max(0, V(α) + V(β) 1) V(α β) = min 1,1 V(α) + V(β) Fuzzy přístupy dále využívají metody jako kompoziční pravidlo usuzování, Linguistic Model Processing Systém (Druckmüller 1991), nebo defuzzifikaci. Bayesovské sítě Jedná se o nezacyklený graf s orientovanými hranami, kde každý uzel má vlastní pravděpodobností tabulku. Hrany označují mezi náhodnými uzly vztahy umožňující predikci i diagnostiku. Odvozování vychází z Bayesových vzorců. Pro řešení této sítě (pokud není jednoduše složitá, tj. existence právě jedné neorientované cesty mezi dvěma uzly) neexistuje polynomicky složitý algoritmus, takže se většinou transformuje na jednodušší tvar BÁZE ZNALOSTÍ Báze znalostí obsahuje znalosti, které jsou odděleny od konkrétních dat k danému případu, týkající se řešení problémů v aplikační oblasti. Rozdíl mezi znalostmi a daty nemusí být úplně zřejmý na první pohled. Znalosti vzniknou prací (zobecnění dat) experta po aplikování jeho zkušeností a vzdělání. Na druhou stranu data (v expertních systémech se nenacházejí v bázi znalostí, ale v bázi faktů) by měla skutečně odrážet realitu nezastíněnou emocemi, znalostmi, vzděláním člověka, který zachází s konkrétními daty. Velkým rozdílem mezi oběma termíny je zdroj (znalosti přináší expert, data vkládá uživatel nebo systém automatickým procesem). Pro lepší přehlednost slouží tabulka níže (Tabulka 3.2 Rozdíly mezi daty a znalostmi). Tabulka 3.2 Rozdíly mezi daty a znalostmi DATA ZNALOSTI Přesnost přesná, specifická obecné, méně přesné Autor uživatel, systém expert Uložiště báze faktů báze znalostí Trvanlivost krátkodobá dlouhodobá Předpoklady vzniku žádné vzdělání, zkušenosti 15

16 Důležitými vlastnostmi, které by měli platit pro bázi znalostí, jsou modularita a transparentnost. Modularita (skladebnost, vhodná architektura) především pro jednoduchou aktualizaci, modifikovatelnost a rozšiřitelnost. Transparentnost neboli průhlednost pro snadnou orientaci experta v bázi znalostí. Reprezentace znalostí v bázi může být realizována několika způsoby. Začínalo se u predikátové logiky, ze které vycházejí další prostředky (pravidla/rules, sémantické sítě/semantic nets, rámce/frames, nebo objekty/objects). Zároveň lze obsah rozdělit na mělké (shallow knowledge) a hluboké (deep knowledge) znalosti. Prvně jmenované vychází z velké části ze zkušenosti experta, jedná se o empirické, povrchové znalosti. Druhé jmenované jsou založeny na základním chápaní světa a na elementárních procesech. Predikátová logika Původně nebyla určena pro expertní systémy, ale pro matematiku a logiku. Ukázala se ovšem jako vhodný univerzální nástroj pro reprezentaci znalosti, inferenci, dokonce pro celou informatiku. Elementárními stavebními prvky jsou individuové proměnné, predikátové symboly, funkční symboly a konstanty, kvantifikátory a logické spojky. Samotné znalosti jsou reprezentovány pomocí formulí, které se skládají ze základních prvků. Výhodou predikátové logiky lze považovat snadnou úpravu obsahu báze. Pravidla Znalosti mohou být reprezentována jako pravidla, které mají tvar IF pozorování (předpoklad/situace/podmínka) THEN hypotéza (závěr/akce/důsledek) {ELSE závěr2/akce2/důsledek2}, kde poslední položka ELSE je nepovinná. Tato formulace vychází z implikace výrokové logiky včetně tabulky pravdivosti (viz Tabulka 3.3 Implikace včetně hodnot). Hypotézy i pozorování mohou obsahovat logické spojky AND/OR a prvek neurčitosti, jehož číselná hodnota se píše do závorky za výraz. Tabulka 3.3 Implikace včetně hodnot výrok A výrok B A implikuje B Pravidla mohou být znázorněna ve formě AND/OR grafu, kde uzly značí výroky (existují tři druhy: cíle značené v grafu jako kořeny, dotazy jako listy a mezilehlé výroky jsou ostatní uzly), orientované hrany pravidla, obloučky mezi hranami vazby mezi pravidly. Pro negaci se používá přeškrtnutá hrana. Obrázek 4 Příklad AND/OR grafu 16

17 Sémantické sítě Sémantické sítě, někdy také nazvaná asociativní síť, zobrazuje skutečnost jako ohodnocený orientovaný graf, ve kterém uzly představují objekty (ale bez obsahu na rozdíl od objektů popisovaných dále v textu) a hrany mezi objektové vztahy. Lépe z nich lze pochopit vztahy a souvislosti v dané aplikační oblasti. Může obsahovat tři různé druhy vztahů: IS-A (ISA), A-KIND-OF (AKO) a PART-OF. Zároveň podporují dědičnosti a tranzitivitu. Mezi výhody využití patří explicitní, jasné vyjádření a zkrácení hledací doby díky dědičnosti. Naopak mezi zápory sémantických sítí patří absence standardů pro interpretaci, nebezpečí chybné inference a ohrožení zacyklením při prohledávání sítě. Rámce Obrázek 5 Příklad sémantické sítě 8 Rámce jsou především formáty pro stereotypní situace, ve kterých lze využít předdefinovaných hodnot na základě zkušeností. S jejich nápadem přišel v 60. letech 20. Století Marvin Minsky. Existují speciální jazyky (například KRYPTON, FRL, nebo KSL) pro reprezentaci rámců. Samotný rámec je tvořen názvem a atributy, které dále obsahují aktuální hodnotu (current), implicitní hodnotu (default), rozsah možných hodnot (range) a dobrovolné speciální procedury: ifneeded, if-changed, if-added, if-deleted. Existují dvě skupiny rámců generické, které označují obecnost daného předmětu, a specifické, jejichž obsah představuje konkrétní příklad. Stejně jako u sémantických sítí i zde existuje dědičnosti. Objevují se zde nové vztahy specialization-of a generalizaion-of. Hlavní výhodami rámců je organizace znalostí, samořízení rámců, dynamické hodnoty. Oproti tomu i rámce mají nevýhody. Obtížná rozeznatelnost prototypu a instance, těžké přizpůsobování nově vzniklým situacím, zanesení heuristických znalostí do rámců. Příklad: Rámec florbalové vybavení Jméno: florbalové vybavení Specializace čeho (ako): majetek 8 Baxant, P. Sokanský, K.: Expertní systém pro návrh osvětlení, časopis Světlo [ ] 17

18 Rámec hokejka Objekty Typ: rozsah: (hokejka, boty, dres) Výrobce: rozsah: (zone, unihoc, jadberg, salming, adidas, nike) Jméno: Zone 360 dust Specializace čeho (ako): florbalové vybavení Vlastník: Filip Hrbek Výrobce: Zone Délka: 102 cm Tvrdost: 31 mm Strana: levá Objekty vycházejí z rámců, ale jsou ještě více přizpůsobeny a zlepšeny. Především jsou využívány v OOP, neboli v objektově orientovaném programování. Stejně jako rámce obsahují název a data, ale zároveň se zde objevují nový prvek metody. Obecná představa jistého předmětu se nazývá třída, například auto. Obsahuje stejné vlastnosti a metody. Vytvářejí se z nich instance (například můj modrý Ford Focus), které představují konkrétní případy třídy. Objektově orientované programovaní má tři hlavní charakteristiky: Dědičnost (inheritance), zapouzdření (encapsulation) a polymorfismus. První z vlastností, dědičnost, umožnuje vytvářet od tříd (rodiče) potomky, kteří zdědí vlastnosti rodičů a zároveň se dají upravovat přidáním nových atributů a metod. Zapouzdření objektů zaručuje přístup k třídám pouze pomocí volání jejich metod. Poslední charakteristika, polymorfismus, souvisí s dědičností a umožnuje u dětí při volání stejné metody různé chování systému (různý kód uvnitř dětí, i když název metody musí být stejný jako u rodiče). Existují buď absolutně objektivně orientované programovací jazyky (například Smalltalk, Actor, CLOS, C# a mnohé další), nebo jazyky založené na jiném principu např. procedurální jazyky s podporou OOP (např. Borland Psacal, Object Pascal, C++ atd.). Všechny tři hlavní charakteristiky patří zároveň mezi výhody OOP včetně abstrakce a vícenásobného použití kódu. Na druhou stranu se objevují otázky. Například jak zpracovat nové situace nekompatibilní s dosud vytvořenými objekty? Doplňující nástroje reprezentace znalostí Existují další prostředky pro reprezentaci vazeb mezi prvky. Kontexty zachycují vazby mezi dvěma tvrzeními, určují jejich pořadí, smysluplnost a použitelnost. Využívají se v systémech FEL- Expert, SAK, nebo Nexpert Object. Integritní omezení zajištuje pouze kontrolní funkci pro nesmyslné zacházení s databází znalostí, snaží se zachovat konzistenci dat. Implikace na rozdíl od předchozích dvou nástrojů zasahuje do odvozování, protože zajišťuje logické vazby mezi pravidly pomocí ekvivalence a inkluze VYSVĚTLOVACÍ MODUL Vysvětlovací modul je považován za charakteristický rys expertních systémů, které by fungovali naprosto stejně i při jeho absenci. Nemá žádný vliv na inferenci, zisk znalostí ani práci s neurčitostí. Přesto však není bezúčelný, protože v uživateli aplikace vzbuzuje důvěru, do vysvětlující informace mohou být přínosné a expert se může přesvědčit o správném využívání jeho znalostí. 18

19 Součástí vysvětlovacího modulu může být i tzv. trasování zaznamenávající postupy systému, které mohou být později vyhodnocovány pro lepší pochopení fungování systému i jeho snadnější úpravu algoritmů a základních principů. Vysvětlovací modul zodpovídá tři základní otázky: Why How What if Systém vysvětluje, proč se na danou otázku zeptal. Systém vysvětluje, jak dospěl ke svým výsledkům, jaká pravidla aplikoval. Systém nabízí možnost hypotetického usuzování, co by se stalo (jak by se změnila reakce expertního systému), kdyby uživatel odpověděl jinak KOMUNIKAČNÍ MODUL Komunikační modul slouží k interakci s uživatelem, od kterého získává všechny potřebné informaci pro konzultaci a zároveň mu předává veškeré informace, které jsou určeny pro uživatele (od inferenčního mechanismu a vysvětlovacího modulu). Jedná o GUI (uživatelské rozhraní), které je podstatné pro každou aplikaci. Programové nástroje mohou mít již standardizované rozhraní, takže u všech vzniklých expertních systému bude vypadat stejně, nebo může obsahovat nástroje pro tvorbu uživatelského rozhraní. Ve druhém případě se většinou jedná o rozsáhlé programovací nástroje. Správné uživatelské rozhraní musí splňovat několik vlastností jako přehlednost, čitelnost, snadná ovladatelnost. V dnešní době, kdy trendy ovládají mobilní technologie a cloud computing, se musejí vyvíjet i expertní systémy a jejich uživatelské přístupy a komunikační moduly. Přístupy přes webový prohlížeč ke znalostní bázi, nebo k celému systému včetně konzultací, nejsou ničím neobvyklým. Zároveň přístupy do expertního systému by měli být rozděleny dle přístupových práv do několika kategorií: programátor, expert, uživatel. Například se nesmí stát, aby uživatel upravoval inferenční mechanismus, nebo znalostní bázi, ke které má mít přístup pouze expert, nebo programátor. 3.3 VÝHODY ES Dostupnost expertízy Snížení nákladů na práci experta Trvalost expertního systému (znalosti expertů odcházející z organizace zůstanou v ES) Opakování expertízy (lze ji libovolněkrát opakovat) Trénovací nástroj pro začátečníky v dané aplikační oblasti Rychlost odezvy (výpočetní výkon ES je vyšší než u experta) Snížení rizika vzniku chyby (stroj není ovlivněn únavou, stresem) Řešení složitých problémů (převyšující kapacity lidského experta) Vysvětlovací činnost 3.4 NEVÝHODY ES Neefektivní zisk znalostí Neexistenci testovacích možností Nebezpečí udávání špatných výsledků při změně podmínek Nedůvěra člověka v počítačového experta Nepostižitelnost zodpovědnosti počítače Vytvoření plnohodnotného ES je nákladné a časově náročné Přehnaná očekávání na ES 19

20 3.5 ROZDĚLENÍ Expertní systémy se rozdělují především podle způsobu chování na diagnostické a generativní. Obě skupiny mají více typů úloh, které řeší. Přidal jsem ještě třetí skupinu expertních systému, které jsou něčím zvláštní, ale zároveň mohou patřit mezi první dva typy. V poslední skupině se jedná především o prázdné a hybridní expertní systémy DIAGNOSTICKÉ ES Princip diagnostický systému spočívá ve správném výběru z předem stanovených hypotéz s pomocí dat ke konzultaci. Vývoj těchto systémů bývá poněkud jednodušší oproti ostatním systémům především díky jasně stanoveným cílům. Diagnostika probíhá ve třech krocích: formulování hypotézy, testování hypotézy, vyhodnocení hypotézy (viz Obrázek 6 Schéma diagnostického systému). Obrázek 6 Schéma diagnostického systému 9 Klasifikovat problém lze třemi různými způsoby. Diagnostikovat odchylku od normálu (je známé především normální chování, abnormality nejsou zcela prozkoumané, základ je v modelu, tedy tzv. model-based system), porovnat abnormální chování (využívá se abdukce, z daných poruch se odvozují možné příčiny, také založen na modelu), klasifikovat abnormalitu (ze zkušeností jsou známé spojení mezi poruchami a příčinami). Diagnostické systémy řeší tři typy úloh. Diagnóza objevení chyby, příklad Mycin. Interpretace ze vstupních dat vznikne jejich analýza, příklad Prospector. Monitorování sledování systému v reálném čase do okamžiku vzniku chyby příklad VM systém. 9 BERKA, P. Expertní systémy. Praha: Vysoká škola ekonomická, ISBN

21 3.5.2 GENERATIVNÍ ES Generativní systém pracuje s cílem a výchozími daty, z nichž vytváří posloupnost činností, která by splňovat předpoklady i požadavek splnění závěru. Při dostatku znalostí se uplatňuje postup navrhni-a-aplikuj, naopak při nedostatečné informovanosti se více zkouší postupem navrhni-a-reviduj. (příklad konfigurace systému je na Chyba! Nenalezen zdroj odkazů.). Obrázek 7 Schéma konfigurace systému Generativní systémy řeší tři základní typy úloh. Plánovaním vznikne posloupnosti činností vedoucí k požadovanému závěru, příkladem je systém Molgen. Návrh (design) nastavuje stav objektů v systému pro splnění podmínek, příklad R1/XCON. Predikce předpovídá budoucí sousled akcí na základě historie chování systému, příklad Glaucoma DALŠÍ ES Na závěr této kapitoly bych rád zmínil specifické případy, se kterými se dnes běžně setkáváme v praxi. Jedná se o hybridní a prázdné systémy. Mimo jiné dnešní expertní systémy řeší i další typy úloh, o kterých jsme nemluvili, jako ladění, řízení, nebo učení HYBRIDNÍ SYSTÉMY Komerční tlak a snaha o dokonalou reprezentaci znalostí přinesly druhou generaci expertních systému, které nazýváme hybridní systémy. Možnosti reprezentace znalostí jsou v některých případech dosti omezené a nedostačují zachytit vhodně nová data do báze znalostí. Hybridní systémy přicházejí s kombinovaným ukládáním znalostí. Umožnují tak modelový přístup. Kombinují rámce, pravidla, objekty i sémantické sítě. Například v systému Acquire nalezneme pravidla, rámce i objekty, nebo v programovacím prostředí CLIPS se střetneme s objekty a pravidly. Ale nemusíme najít pouze hybridní báze znalostí, ale i inferenční mechanismy. Například prostředí Rete++ nabízí přímé i nepřímé řetězení PRÁZDNÉ SYSTÉMY Prázdné expertní systémy, v angličtině označovány jako expert system shells, vytváří nové expertní systémy především s využitím experta. Všechny součásti kromě báze znalostí, která neobsahuje žádné znalosti, jsou připravené k použití. Hlavní postavou při vývoji se stává expert, který své znalosti pomocí uživatelského rozhraní zanese do báze znalostí. Dají se tak na inferenčním mechanismu, vysvětlovacím a komunikačním modulu, postavit expertní systémy s odlišnými aplikačními oblastmi, ale se stejným principem fungování. 10 BERKA, P. Expertní systémy. Praha: Vysoká škola ekonomická, ISBN

22 4 TVORBA EXPERTNÍCH SYSTÉMŮ 11 Tvorba expertního systému se skládá z několika kroků, které se nedají vynechat pro správnou realizaci celého projektu. V některých případech (druhý a třetí krok) se jedná o iterativní proces, který slouží opakováním kroků ke zpřesnění a rozšíření systému. Analýza problému a specifikace požadavků Problém se na začátku celého projektu musí dostatečně analyzovat a specifikovat všechny jeho požadavky. Zdali můžeme danou aplikační oblast implementovat do expertního systému (měla by se vytvořit studie proveditelnosti), jestli máme k dispozici dostatečný počet vhodných odborných zaměstnanců (experti v dané aplikační oblasti, vývojáři programového prostředí atd.), jaký použít vhodný hardware a software (programové nástroje ES jsou hlavním tématem této práce, další možnosti jsou rozepsány níže a konkrétní příklady jsou uvedeny v praktické části včetně jejich detailního popisu), použitelnost a možnosti zisku znalostí a dat, existují vhodné podmínky pro vznik expertního systému? Na všechny tyto otázky a mnohé další bychom měli být schopni konkrétně odpovědět ještě před tím, než se do vzniku systému pustíme. Vytvoření prázdného ES Po úvodní analýze bychom měli sestrojit prázdný expertní systém (uživatelské rozhraní včetně komunikačního a vysvětlovacího modulu a inferenční mechanismus) za pomocí zvoleného nástroje. Mělo by být jasné jaký typ inference, reprezentace znalostí použijeme. Postup v této části se odvíjí od vybraného typu programovacího nástroje. Implementace (zisk znalostí) V dalším kroku se snažíme o postupné doplňování znalostní báze. Jedná se o nejsložitější a nejvíce časově náročnou fázi. Existují tři možnosti. Elicitace od experta (formou interview, brainstormingu nebo dalších možností zisku informací), poloautomatická (expertní systém + expert), automatická (například dolování dat z textu, obrázků). Validace a verifikace (testování) Veškerá funkčnost expertních systémů se testuje velice obtížně. Validací se snažíme o konzistentnost dat, znalostí i pravidel, aby systém neobsahoval přebytečné znalosti, nepravdivá pravidla atd. Verifikace slouží k nalezení špatných konzultací, odstranění chyb kvůli správným výsledkům. Zavedení do praxe Expertní systém se zavede do praxe, případně se dořeší nově vzniklé problémy. Dále zbývá poslední činnost a tou je údržba včetně aktualizací, jak samotného systému, tak i báze znalostí. Znalosti a podmínky pro konzultace se mohou měnit v čase, tudíž může dojít k nežádoucím chybám zastaralostí expertního systému. 4.1 PROGRAMOVACÍ NÁSTROJE ES V dnešní době existuje mnoho programovacích nástrojů pro tvorbu expertních systémů. Spoustu dalších se jich vyvíjí každým dnem. Některé prostředky lze pořídit velice levně, některé dokonce zdarma, ale nemusí obsahovat veškerou požadovanou funkcionalitu, případně vyžadují velký programátorský zásah. Na druhou stranu najdeme i velice drahé komerční nástroje v cenách řádově 11 Informace v této kapitole jsem především čerpal z: BERKA, P. Expertní systémy. Praha: Vysoká škola ekonomická, ISBN Dvořák, J. Expertní systémy. VUT, Brno, s. [Cit ] 22

23 v tisících i desetitisících dolarů. U každého bychom měli sledovat spoustu kritérii (vlastní kritéria pro mou práci jsou uvedena v kapitole 5). Namátkou lze uvést uživatelské rozhraní, náklady, flexibilita, podpora výrobce, požadavky na lidské zdroje a další. Programovací prostředky můžeme rozdělit na tři základní skupiny: Obecné programovací jazyky, programovací jazyky umělé inteligence a vývojová prostředí expertních systémů. Kategorie se odlišují v principu vývoje expertního systému, míry zásahu a znalostí vývojářů OBECNÉ PROGRAMOVACÍ JAZYKY První skupina obsahuje běžné procedurální i objektové programovací jazyky na první pohled nesouvisející s expertními systémy. Například C, java, pascal, delphi, C++, C# a každý další jazyk, na který si vzpomenete. Touto kategorií se v praktické části nebudu zabývat, jelikož z pohledu této práci není příliš zajímavá. Požadavky na vývojářský tým jsou vysoké, protože musejí naprogramovat celý systém od nuly. Během své práce vytvoří inferenční mechanismus, uživatelské prostředí, prázdnou bázi znalostí, zkrátka prázdný expertní systém. Lze splnit veškeré požadavky na expertní systém. Veškeré chování systému jako například způsob inference, reprezentaci znalostí, lze vytvořit dle úvodní analýzy na systém. Na druhou stranu se jedná o zdlouhavý a finančně náročný proces, ve kterém není zahrnut proces získávání znalostí PROGRAMOVACÍ JAZYKY UMĚLÉ INTELIGENCE Na rozdíl od obecných jazyků jsou jazyky umělé inteligence založené na jiných paradigmatech programování, někdy hovoříme o programovacích stylech. Jedná se především o zaměření na složky algoritmů (Algoritmus = funkce/logika + řízení). Tato skupina se zaměřuje na logiku algoritmů (hromadně se označují jako neimperativní, či deklarativní programovací styly), podle které rozdělujeme programování na funkcionální a logické. Příkladem funkcionálního programování je LISP, kde používají definice funkcí a jejich aplikace do výrazů. Naopak Prolog zastupuje logické programování se svými logickými formulemi. Na druhou stranu s obecnými programovacími jazyky mají společné rysy týkající se tvorby expertních systémů. Těmi negativními jsou časová a finanční náročnost v komerční sféře. Vývoj celého systému za použití obecných jazyků, nebo jazyků pro umělou inteligenci lze považovat za velmi neefektivní. Nejsou ale úplně zbytečné, pomocí nich vzniklo mnoho vývojových prostředí jako mezikrok pro konečný Expertní systém VÝVOJOVÁ PROSTŘEDÍ ES Poslední skupinou, kterou se především budu zabývat v praktické studii, jsem pojmenoval vývojová prostředí expertních systémů. Zařadil jsem do ní tzv. toolkity, neboli komplexní vývojová prostředí pro zhotovení všech částí systému, a prázdné expertní systémy, o kterých jsem již dříve hovořil jako o expertních systémech bez báze znalostí. Jedním z nejvhodnějších nástrojů pro tvorbu expertních systémů se staly toolkity. Snižují časovou náročnost díky dokonalému prostředí umožňujícímu využít více prostředků pro jednotlivé principy nově vznikajícího systému. Lze tak uspokojit více požadavků. Vývoj samotného toolkitu vyžaduje poměrně zdlouhavé úsilí, které se zákonitě podepisuje na cenně celého prostředí. U prázdných expertních systémů se snižují nároky na vývojáře na minimum, protože se jedná o již hotový systém. Zbývá pouze doplnit prostřednictvím experta, nebo strojového učení, všechny znalosti pro úplnou funkčnost. Jedná se o velmi časté využití, které ovšem ztrácí na flexibilitě a možnosti se, co nejvíce přiblížit dokonalému splnění požadavků. Již předem jsou totiž určeny vnitřní mechanismy pro inferenci, reprezentaci znalostí. Jako příklad vývojových prostředí bych uvedl G2, EXSYS, Nexpert Object a EZ-Expert 3.0. O dalších se zmíním v praktické studii. 23

24 5 KRITÉRIA HODNOCENÍ Kapitolou, kritéria hodnocení, práce přechází do praktické části, ve které popisuji kritéria hodnocení programovacích nástrojů, které jsem vybral dle vlastního uvážení z kontextu využité literatury. Při zkoumání jednotlivých prostředků u každého kritéria uvedu stručný popis a vyjádřím se ke každému kritériu. 5.1 GUI GUI neboli uživatelské rozhraní popisuje vzhled aplikace z pohledu uživatele, možnosti zodpovězení otázek vysvětlovacího modulu (proč, jak a co-když?) a vytváření či úprava vzhledu nově vznikajícího expertního systému. Zároveň bych rád přidal pár obrázků ke každému systému pro lepší představu. Dále nástroj může obsahovat pomocné moduly a funkce pro lepší ovladatelnost (editor báze znalostí, trasování, testovací i verifikační pomůcky, grafická reprezentace dat a znalostí). 5.2 INFERENČNÍ MECHANISMUS Kritérium inferenční mechanismus popisuje možnosti tvorby inferenčního mechanismu, konkrétně způsoby práce s neurčitostí, reprezentace neurčitosti, odvozování závěrů konzultace, inferenční metody. 5.3 PRÁCE SE ZNALOSTMI Práce se znalostmi přibližují vývoj báze znalostí pro daný nástroj. Jak jsou reprezentovány znalosti? Které prostředky (pravidla, logiku, rámce, objekty, sémantické sítě, míra hybridnosti) používá? Jaké máme možnosti zisku znalostí (podpora naplnění a ladění báze znalostí)? V jaké míře bude báze znalostí modulární a transparentní pro další aktualizaci? 5.4 OSTATNÍ KRITÉRIA ZAŘAZENÍ ES Každý nástroj bych rád zařadil do kategorie diagnostických, nebo plánovacích expertních systémů a určil, jaké typy úloh řeší (diagnóza, interpretace, monitorování, plánování, návrh, predikce). Pokud to bude možné, tak bych uvedl možné aplikační oblasti, na které se hodí uplatnit expertní systém vyvinutý daným nástrojem CENA Elementárním parametrem, který dnes firmy sledují v komerční sféře, se stala cena. Existují více nákladů, které jsou spojené s nákladem na vývoj (například platy vývojářů). Toto kritérium se však soustředí na cenu za konkrétní programovací nástroj. Škála se pohybuje v celé šíře od volně šiřitelných produktů až po velmi drahé komerční toolkity HARDWAROVÉ & SOFTWAROVÉ NÁROKY Různé nástroje kladou rozličné nároky na hardwarové sestavy. Prozkoumáním těchto nároků se lze vyhnout vynuceným nákupům techniky po obdržení programovacího nástroje. 24

25 5.4.1 KOMPATIBILITA Kritérium hodnotící možnost využití výsledků, znalostní báze, algoritmů jednoho nástroje v jiném. Případně kooperace s externím softwarem (například automatický zisk dat), které nejsou expertními systémy TECHNICKÁ PODPORA U vývojových nástrojů, především u těch komerčních, bych rád prozkoumal míru technické podpory, kterou nabízí výrobce, počínaje dokumentací přes online helpdesk, telefonní helpdesk, konče možností školení a konzultace pro zákazníky. Plnou podporu by měli obsahovat komerční systémy. Bohužel na druhou stranu u opensource softwaru nepředpokládám existenci helpdesků, ani možnosti školení, ale základní dokumentace by měla být k dispozici REFERENCE U každého zkoumaného produktu se budu snažit najít skutečné využití kvůli důkazu použitelnosti v praxi. 25

26 6 STUDIE Zde budou jednotlivé vybrané programovací nástroje rozdělené do dvou kategorií. U každého bude stručný popis, základní vlastnosti, odkaz na prodejce/výrobce a vyjádření ke všem kritériím hodnocení z kapitoly PROGRAMOVACÍ JAZYKY UMĚLÉ INTELIGENCE LISP 12 Funkcionální programovací jazyk LISP vynalezl v roce 1958 John McCarthy (držitel Turingovy ceny, zemřel v říjnu letošního roku). LISP zkracuje dvousloví List Processing. Jedná se o nejstarší jazyk pro umělou inteligenci. Rozšířil se i do ostatních odvětví, například ho používá aplikace AutoCad, nebo prohlížeč fraktálů XaoS. Vznikli z něj i další jazyky jako SmallTalk, AutoLISP, InterLISP a další. Původní LISP obsahoval pouze dva datové typy (symboly, seznamy) a pár primitivních operátorů. Později se tento jazyk rozšiřoval díky své flexibilitě a kombinací základních elementů. Charakteristickými rysy jsou podmíněné příkazy, funkce jako objekty 1. Kategorie, rekurzivní definice funkcí, implicitní ukazatele, dynamické typování, programy složené z výrazů, jednotná prezentace programů a dat, automatická správa paměti, interaktivní programování, inkrementální kompilace, dostupnost celého jazyka. Vedle datových typů seznam (jednosměrné zřetězené seznamy, každý program je seznam) a symbol (posloupnosti znaků, spojení s hodnotou, lze testovat podle hodnoty, klíčový prvek symbolických výpočtů) existují ještě funkce. I ony jsou data, takže je můžeme ukládat jako proměnné, předávat jako hodnotu. Hovoříme o nich jako o objektech první kategorie. Většinou typy nestačí pro běžné použití, takže vznikají nové datové typy například číselné typy, znaky, textové řetězce, pole, struktury, datové proudy. Nositelem typu nejsou proměnné, ale hodnoty, takže dochází k dynamickému typování. Programy lze interpretovat dvojím způsobem, buď jako data nebo jako kód, který má být proveden, na rozdíl od ostatních jazyků, kde vnitřní interpretaci nevidíme. Na tomto způsobu interpretace se zakládá metaprogramování, kde by programy měli psát další programy. Základní syntaxe vypadá (f arg1 arg2 arg3), jedná se o seznam se čtyřmi symboly, první se nazývá operátor, další tři argumenty. Speciálním případem operátoru je makro, které generuje kód před vlastní kompilací kódu (například operátor if). Také hovoříme o Lisp systému, který slouží jako vývojové prostředí pro psaní kódu včetně kompilátoru, debuggeru, GUI a dalších nástrojů. Uživatel komunikuje se systémem pomocí příkazové řádky, označované jako REPL. K dispozici má funkce read, eval, print a loop. Systém čeká na vstup od uživatel přijímaný pomocí funkce read. Následně vstup zpracuje (funkce eval) a výsledek zobrazí uživateli pomocí funkce print. Mezi výsledky se nemusí zapisovat pokaždé do souboru, protože všechno běží v takzvaném obrazu, který se automaticky ukládá na disk a při vytváření konečných aplikací se odstraní od systému. 12 Kučera, J.: Lisp [Cit ] 26

Metody odvozování. matematická východiska: logika, Prolog

Metody odvozování. matematická východiska: logika, Prolog Metody odvozování matematická východiska: logika, Prolog psychologická východiska: rámce biologická východiska: konekcionismus, neuronové sítě statistická východiska: kauzální (bayesovské) sítě ekonomická

Více

Vybrané přístupy řešení neurčitosti

Vybrané přístupy řešení neurčitosti Vybrané přístupy řešení neurčitosti Úvod do znalostního inženýrství, ZS 2015/16 8-1 Faktory jistoty Jedná se o přístup založený na ad hoc modelech Hlavním důvodem vzniku tohoto přístupu je omezení slabin

Více

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

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017 Znalostní systémy úvodní úvahy a předpoklady 26. září 2017 1-1 Znalostní systém Definice ZS (Feigenbaum): Znalostní (původně expertní) systémy jsou počítačové programy simulující rozhodovací činnost experta

Více

Úvod do expertních systémů

Úvod do expertních systémů Úvod do expertních systémů Expertní systém Definice ES (Feigenbaum): expertní systémy jsou počítačové programy, simulující rozhodovací činnost experta při řešení složitých úloh a využívající vhodně zakódovaných,

Více

Nepravidlové a hybridní znalostní systémy

Nepravidlové a hybridní znalostní systémy 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

Více

Usuzování za neurčitosti

Usuzování za neurčitosti Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích

Více

ZPRACOVÁNÍ NEURČITÝCH ÚDAJŮ V DATABÁZÍCH

ZPRACOVÁNÍ NEURČITÝCH ÚDAJŮ V DATABÁZÍCH 0. Obsah Strana 1 z 12 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV AUTOMATIZACE A INFORMATIKY FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION

Více

pseudopravděpodobnostní Prospector, Fel-Expert

pseudopravděpodobnostní Prospector, Fel-Expert Práce s neurčitostí trojhodnotová logika Nexpert Object, KappaPC pseudopravděpodobnostní Prospector, Fel-Expert (pravděpodobnostní) bayesovské sítě míry důvěry Mycin algebraická teorie Equant fuzzy logika

Více

Zpracování neurčitosti

Zpracování neurčitosti Zpracování neurčitosti Úvod do znalostního inženýrství, ZS 2015/16 7-1 Usuzování za neurčitosti Neurčitost: Při vytváření ZS obvykle nejsou všechny informace naprosto korektní mohou být víceznačné, vágní,

Více

Matematická logika. Miroslav Kolařík

Matematická logika. Miroslav Kolařík Matematická logika přednáška první Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika

Více

Expertní Systémy. Umělá inteligence. 1950 Alan Turing: Computing Machinery and Intelligence. Mind 59, 1950, s.433-460

Expertní Systémy. Umělá inteligence. 1950 Alan Turing: Computing Machinery and Intelligence. Mind 59, 1950, s.433-460 Umělá inteligence Věda, jejímž úkolem je naučit stroje, aby dělaly věci, které vyžadují inteligenci, jsouli prováděny člověkem. Marvin Minsky 1950 Alan Turing: Computing Machinery and Intelligence. Mind

Více

Unstructured data pre-processing using Snowball language

Unstructured data pre-processing using Snowball language Unstructured data pre-processing using Snowball language Předzpracování nestrukturovaných dat pomocí jazyka Snowball Bc. Pavel Řezníček, doc. Ing. František Dařena, PhD., Ústav informatiky, Provozně ekonomická

Více

Jak je důležité být fuzzy

Jak je důležité být fuzzy 100 vědců do SŠ 1. intenzivní škola Olomouc, 21. 22. 6. 2012 Jak je důležité být fuzzy Libor Běhounek Ústav informatiky AV ČR 1. Úvod Klasická logika Logika se zabývá pravdivostí výroků a jejím přenášením

Více

Vysoké učení technické v Brně Fakulta elektrotechniky a informatiky Ústav biomedicínského inženýrství EXPERTNÍ SYSTÉMY.

Vysoké učení technické v Brně Fakulta elektrotechniky a informatiky Ústav biomedicínského inženýrství EXPERTNÍ SYSTÉMY. Vysoké učení technické v Brně Fakulta elektrotechniky a informatiky Ústav biomedicínského inženýrství EXPERTNÍ SYSTÉMY praktická cvičení Ing. Ivo Provazník, Ph.D., Ing. Jana Bardoňová 2000 Obsah 1 Úvod

Více

Dnešní program odvozování v Bayesovských sítích exaktní metody (enumerace, eliminace proměnných) aproximační metody y( (vzorkovací techniky)

Dnešní program odvozování v Bayesovských sítích exaktní metody (enumerace, eliminace proměnných) aproximační metody y( (vzorkovací techniky) Umělá inteligence II Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Bayesovská síť zachycuje závislosti mezi náhodnými proměnnými Pro zopakování orientovaný acyklický graf

Více

MNOŽINY. x A. Jeho varianty paradox mostu se šibenicí, paradox holiče.

MNOŽINY. x A. Jeho varianty paradox mostu se šibenicí, paradox holiče. MNOŽINY Naivní definice (pojetí): Množina [set] je přesně definovaný soubor prvků, které mají nějakou vlastnost. O čemkoliv je třeba umět jednoznačně rozhodnout, zda do dané množiny patří či nikoliv. Vztah

Více

TRANSFORMACE RELAČNÍHO DATOVÉHO MODELU NA OBJEKTOVÝ TRANSFORMATION OF RELATIONAL TO OBJECT DATA MODEL

TRANSFORMACE RELAČNÍHO DATOVÉHO MODELU NA OBJEKTOVÝ TRANSFORMATION OF RELATIONAL TO OBJECT DATA MODEL TRANSFORMACE RELAČNÍHO DATOVÉHO MODELU NA OBJEKTOVÝ TRANSFORMATION OF RELATIONAL TO OBJECT DATA MODEL Vít Holub Anotace Článek poskytne čtenáři základní přehled v datových modelech, ukáže výhody a nevýhody

Více

Pravidlové znalostní systémy

Pravidlové znalostní systémy Pravidlové znalostní systémy 31. října 2017 2-1 Tvary pravidel Pravidla (rules) mohou mít například takovéto tvary: IF předpoklad THEN závěr IF situace THEN akce IF podmínka THEN závěr AND akce IF podmínka

Více

Databázové systémy I. 1. přednáška

Databázové systémy I. 1. přednáška Databázové systémy I. 1. přednáška Vyučující a cvičení St 13:00 15:50 Q09 Pavel Turčínek St 16:00 18:50 Q09 Oldřich Faldík Čt 10:00 12:50 Q09 Jan Turčínek Pá 7:00 9:50 Q08 Pavel Turčínek Pá 10:00 12:50

Více

VYUŽITÍ SOFTWARU MATHEMATICA VE VÝUCE PŘEDMĚTU MATEMATIKA V EKONOMII 1

VYUŽITÍ SOFTWARU MATHEMATICA VE VÝUCE PŘEDMĚTU MATEMATIKA V EKONOMII 1 VYUŽITÍ SOFTWARU MATHEMATICA VE VÝUCE PŘEDMĚTU MATEMATIKA V EKONOMII 1 Orlando Arencibia, Petr Seďa VŠB-TU Ostrava Abstrakt: Příspěvek je věnován diskusi o inovaci předmětu Matematika v ekonomii, který

Více

POČÍTAČOVÁ FORMALIZACE MENTÁLNÍCH MODELŮ METODAMI PRAVDĚPODOBNOSTNÍHO JAZYKOVÉHO MODELOVÁNÍ

POČÍTAČOVÁ FORMALIZACE MENTÁLNÍCH MODELŮ METODAMI PRAVDĚPODOBNOSTNÍHO JAZYKOVÉHO MODELOVÁNÍ POČÍTAČOVÁ FORMALIZACE MENTÁLNÍCH MODELŮ METODAMI PRAVDĚPODOBNOSTNÍHO JAZYKOVÉHO MODELOVÁNÍ ON MENTAL MODELS FORMALIZATION THROUGH THE METHODS OF PROBABILISTIC LINGUISTIC MODELLING Zdeňka Krišová, Miroslav

Více

Komplexita a turbulence

Komplexita a turbulence SA414 - přednáška č. 5 Sociální systémy, systémy lidských aktivit Kybernetika (2. řádu): člověk a znalos(i) Povaha znalosti - mentální modely jako vzory Externalizace znalostí symboly a jazyk Znalosti

Více

Expertní systémy T3: principy expertních systémů P. Berka, /19

Expertní systémy T3: principy expertních systémů P. Berka, /19 P. Berka, 2012 1/19 Expertní systém počítačový program simulující rozhodovací činnost lidského experta při řešení složitých úloh a využívající vhodně zakódovaných speciálních znalostí převzatých od experta

Více

Kombinatorický předpis

Kombinatorický předpis Gravitace : Kombinatorický předpis Petr Neudek 1 Kombinatorický předpis Kombinatorický předpis je rozšířením Teorie pravděpodobnosti kapitola Kombinatorický strom. Její praktický význam je zřejmý právě

Více

ELEKTRONICKÁ PORODNÍ KNIHA POPIS APLIKACE Michal Huptych, Petr Janků, Lenka Lhotská

ELEKTRONICKÁ PORODNÍ KNIHA POPIS APLIKACE Michal Huptych, Petr Janků, Lenka Lhotská ELEKTRONICKÁ PORODNÍ KNIHA POPIS APLIKACE Michal Huptych, Petr Janků, Lenka Lhotská Anotace Tento příspěvek popisuje aplikaci, která je převodem tzv. porodní knihy do elektronické podoby. Aplikace vzniká

Více

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti. Intervalové stromy Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme průběžně provádět tyto dvě operace: 1. Změna jednoho čísla v posloupnosti. 2. Zjištění součtu čísel

Více

Kolaborativní aplikace

Kolaborativní aplikace Kolaborativní aplikace Michal Máčel Vema, a. s. Okružní 3a, 638 00 Brno - Lesná, macel@vema.cz Tomáš Hruška Fakulta informačních technologií Vysokého učení technického v Brně, Ústav informačních systémů,

Více

Reprezentace znalostí - úvod

Reprezentace znalostí - úvod Reprezentace znalostí - úvod Úvod do znalostního inženýrství, ZS 2015/16 6-1 Co je to znalost? Pojem znalost zahrnuje nejen teoretické vědomosti člověka z dané domény, ale také jeho dlouhodobé zkušenosti

Více

PROFIL BUDOUCÍHO ABSOLVENTA OBORU INFORMATIKA

PROFIL BUDOUCÍHO ABSOLVENTA OBORU INFORMATIKA PROFIL BUDOUCÍHO ABSOLVENTA OBORU INFORMATIKA Cyril Klimeš Ostravská univerzita, katedra informatiky a počítačů, 30. dubna 22, 701 03 Ostrava, ČR, e-mail: cyril.klimes@osu.cz Abstrakt Tento příspěvek si

Více

SYSTÉM PRO AUTOMATICKÉ OVĚŘOVÁNÍ ZNALOSTÍ

SYSTÉM PRO AUTOMATICKÉ OVĚŘOVÁNÍ ZNALOSTÍ SYSTÉM PRO AUTOMATICKÉ OVĚŘOVÁNÍ ZNALOSTÍ PŘIBYL VLADIMÍR Fakulta managementu, Vysoká škola ekonomická v Praze, Jarošovská 1117/II, 377 01 Jindřichův Hradec priby-vl@fm.vse.cz Abstrakt: Příspěvek se zabývá

Více

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ Procesy, paralelní procesy, souběžné zpracování Ing. Ivo Špička, Ph.D. Ostrava 2013 Ing. Ivo Špička, Ph.D.

Více

GRAFY A GRAFOVÉ ALGORITMY

GRAFY A GRAFOVÉ ALGORITMY KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO GRAFY A GRAFOVÉ ALGORITMY ARNOŠT VEČERKA VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ

Více

Uživatelem řízená navigace v univerzitním informačním systému

Uživatelem řízená navigace v univerzitním informačním systému Hana Netrefová 1 Uživatelem řízená navigace v univerzitním informačním systému Hana Netrefová Abstrakt S vývojem počítačově orientovaných informačních systémů je stále větší důraz kladen na jejich uživatelskou

Více

Modelování webových služeb v UML

Modelování webových služeb v UML Modelování webových služeb v UML Jaromír Šveřepa LBMS, s.r.o. Abstrakt: Tento příspěvek se zaměřuje na praktický postup pro identifikaci potřeby webové služby, modelování způsobu jejího použití, popřípadě

Více

AD4M33AU Automatické uvažování

AD4M33AU Automatické uvažování AD4M33AU Automatické uvažování Úvod, historie Petr Pudlák Organizační informace Tyto slidy jsou pomocný studijní materiál. Na přednášce budou uváděny další informace a příklady, které ve slidech nejsou.

Více

Delphi podstata, koncepce a metody MDI aplikace

Delphi podstata, koncepce a metody MDI aplikace Delphi podstata, koncepce a metody MDI aplikace Bc. Tomáš Selucký, Ústav statistiky a operačního výzkumu, Provozně ekonomická fakulta, Mendelova zemědělská a lesnická univerzita v Brně, selucky@selucky.com

Více

Česká zemědělská univerzita v Praze. Provozně ekonomická fakulta. Katedra informačních technologií

Česká zemědělská univerzita v Praze. Provozně ekonomická fakulta. Katedra informačních technologií Česká zemědělská univerzita v Praze Provozně ekonomická fakulta Katedra informačních technologií Teze diplomové práce Analýza a návrh informačního systému Miloš Rajdl 2012 ČZU v Praze 1 Souhrn Diplomová

Více

Která tvrzení jsou pravdivá nezávisle na tom, který den v týdnu byla vyslovena? Tvrzení trosečníka Dana.

Která tvrzení jsou pravdivá nezávisle na tom, který den v týdnu byla vyslovena? Tvrzení trosečníka Dana. Trosečníci Adam, Barry, Code a Dan zapoměli po čase kalendář. Začali se dohadovat, který den v týdnu vlastně je. Každý z nich řekl svůj názor: A: Dnes je úterý nebo zítra je neděle B: Dnes není úterý nebo

Více

Vysoká škola ekonomická v Praze. Fakulta managementu v Jindřichově Hradci. Diplomová práce. Bc. Natalija Lichnovská

Vysoká škola ekonomická v Praze. Fakulta managementu v Jindřichově Hradci. Diplomová práce. Bc. Natalija Lichnovská Vysoká škola ekonomická v Praze Fakulta managementu v Jindřichově Hradci Diplomová práce Bc. Natalija Lichnovská 2008 Vysoká škola ekonomická v Praze Fakulta managementu v Jindřichově Hradci Vyhodnocení

Více

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR EVOLUČNÍ NÁVRH A OPTIMALIZACE APLIKAČNĚ SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR Miloš Minařík DVI4, 2. ročník, prezenční studium Školitel: Lukáš Sekanina Fakulta informačních technologií, Vysoké učení

Více

Řízení SW projektů. Lekce 1 Základní pojmy a jejich vztahy. přednáška pro studenty FJFI ČVUT. zimní semestr 2012

Řízení SW projektů. Lekce 1 Základní pojmy a jejich vztahy. přednáška pro studenty FJFI ČVUT. zimní semestr 2012 Řízení SW projektů Lekce 1 Základní pojmy a jejich vztahy přednáška pro studenty FJFI ČVUT zimní semestr 2012 Ing. Pavel Rozsypal IBM Česká republika Global Business Services Lekce 1 - Základní pojmy a

Více

RELAČNÍ DATABÁZOVÉ SYSTÉMY

RELAČNÍ DATABÁZOVÉ SYSTÉMY RELAČNÍ DATABÁZOVÉ SYSTÉMY VÝPIS KONTROLNÍCH OTÁZEK S ODPOVĚDMI: Základní pojmy databázové technologie: 1. Uveďte základní aspekty pro vymezení jednotlivých přístupů ke zpracování hromadných dat: Pro vymezení

Více

Získávání znalostí z dat

Získávání znalostí z dat Získávání znalostí z dat Informační a komunikační technologie ve zdravotnictví Získávání znalostí z dat Definice: proces netriviálního získávání implicitní, dříve neznámé a potencionálně užitečné informace

Více

InTouch 8.0 Subsystém distribuovaných alarmů

InTouch 8.0 Subsystém distribuovaných alarmů InTouch 8.0 Subsystém distribuovaných alarmů Pavel Průša Pantek (CS) s.r.o. Strana 2 Obsah Úvod Úvod Subsystém distribuovaných alarmů Ukládání alarmů do relační databáze Zobrazování, potvrzování a potlačování

Více

Metodika využití národního rámce kvality při inspekční činnosti ve školách a školských zařízeních

Metodika využití národního rámce kvality při inspekční činnosti ve školách a školských zařízeních Metodika využití národního rámce kvality při inspekční činnosti Praha, červen 2015 Obsah 1 Úvod... 3 2 Role národního rámce kvality při inspekční činnosti... 3 3 Cíle metodiky využití národního rámce kvality

Více

Tvorba jednotek výsledků učení ECVET na základě standardů profesních kvalifikací v NSK. Verze připravená pro úpravu již vytvořených jednotek

Tvorba jednotek výsledků učení ECVET na základě standardů profesních kvalifikací v NSK. Verze připravená pro úpravu již vytvořených jednotek Tvorba jednotek výsledků učení ECVET na základě standardů profesních kvalifikací v NSK Verze připravená pro úpravu již vytvořených jednotek Pracovní návrh 7 září 2015 Pracovní verze metodiky tvorby jednotek

Více

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry. Kapitola Ohodnocené grafy V praktických aplikacích teorie grafů zpravidla graf slouží jako nástroj k popisu nějaké struktury. Jednotlivé prvky této struktury mají často přiřazeny nějaké hodnoty (může jít

Více

JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Ekonomická fakulta DIPLOMOVÁ PRÁCE. 2012 Bc. Lucie Hlináková

JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Ekonomická fakulta DIPLOMOVÁ PRÁCE. 2012 Bc. Lucie Hlináková JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Ekonomická fakulta DIPLOMOVÁ PRÁCE 2012 Bc. Lucie Hlináková JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Ekonomická fakulta Katedra účetnictví a financí Studijní

Více

MYCIN, Prospector. Pseudodefinice [Expertní systémy, Feigenbaum a kol. 1988] oblasti kvality rozhodování na úrovni experta.

MYCIN, Prospector. Pseudodefinice [Expertní systémy, Feigenbaum a kol. 1988] oblasti kvality rozhodování na úrovni experta. Expertní systémy MYCIN, Prospector Pseudodefinice [Expertní systémy, Feigenbaum a kol. 1988] Expertní systémy jsou počítačové programy, simulující rozhodovací činnosti experta při řešení složitých úloh

Více

Univerzita Pardubice Fakulta elektrotechniky a informatiky

Univerzita Pardubice Fakulta elektrotechniky a informatiky Univerzita Pardubice Fakulta elektrotechniky a informatiky Podpora kreslení všech typů značek liniového charakteru v AutoCADu podle ČSN 01 3411 v jazyce C# Luděk Špetla Bakalářská práce 2009 Prohlašuji:

Více

APLIKACE INTERNETOVÉHO MARKETINGU V KULTUŘE

APLIKACE INTERNETOVÉHO MARKETINGU V KULTUŘE APLIKACE INTERNETOVÉHO MARKETINGU V KULTUŘE Pavel Nový, Ludvík Eger ÚVOD Internet je dnes i v ČR široce dostupným a u určitých cílových skupin velmi využívaným komunikačním kanálem (viz i ČSÚ). Nové technologie

Více

Zřízení studijního oboru HPC (High performance computing)

Zřízení studijního oboru HPC (High performance computing) Zřízení studijního oboru HPC (High performance computing) Návrh oboru je koncipován tak, aby byl zajímavý pro široký okruh zájemců, kteří pak mohou později pracovat při využití HPC v projekčních a výzkumných

Více

EVA VOLNÁ MARTIN KOTYRBA MICHAL JANOŠEK VÁCLAV KOCIAN

EVA VOLNÁ MARTIN KOTYRBA MICHAL JANOŠEK VÁCLAV KOCIAN Doc. RNDr. PaedDr. Eva Volná, PhD. RNDr. Martin Kotyrba, Ph.D. RNDr. Michal Janošek, Ph.D. Mgr. Václav Kocian UMÌLÁ INTELIGENCE Rozpoznávání vzorù v dynamických datech Praha 2014 Anotace: Cílem knihy je

Více

Jazyk matematiky. 2.1. Matematická logika. 2.2. Množinové operace. 2.3. Zobrazení. 2.4. Rozšířená číslená osa

Jazyk matematiky. 2.1. Matematická logika. 2.2. Množinové operace. 2.3. Zobrazení. 2.4. Rozšířená číslená osa 2. Jazyk matematiky 2.1. Matematická logika 2.2. Množinové operace 2.3. Zobrazení 2.4. Rozšířená číslená osa 1 2.1 Matematická logika 2.1.1 Výrokový počet logická operace zapisujeme čteme česky negace

Více

2. Konceptuální model dat, E-R konceptuální model

2. Konceptuální model dat, E-R konceptuální model 2. Konceptuální model dat, E-R konceptuální model Úvod Databázový model souhrn prostředků, pojmů a metod, jak na logické úrovni popsat data a jejich strukturu výsledkem je databázové schéma. Databázové

Více

Etapy tvorby lidského díla

Etapy tvorby lidského díla Systém Pojem systém Obecně jej chápeme jako seskupení prvků spolu s vazbami mezi nimi, jejich uspořádání, včetně struktury či hierarchie. Synonymum organizace či struktura. Pro zkoumání systému je důležité

Více

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. dubna 2009. Filip Železný (ČVUT) Vytěžování dat 9.

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. dubna 2009. Filip Železný (ČVUT) Vytěžování dat 9. Vytěžování dat Filip Železný Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. dubna 2009 Filip Železný (ČVUT) Vytěžování dat 9. dubna 2009 1 / 22 Rozhodovací pravidla Strom lze převést

Více

Poznámky k předmětu Aplikovaná statistika, 9.téma

Poznámky k předmětu Aplikovaná statistika, 9.téma Poznámky k předmětu Aplikovaná statistika, 9téma Princip testování hypotéz, jednovýběrové testy V minulé hodině jsme si ukázali, jak sestavit intervalové odhady pro některé číselné charakteristiky normálního

Více

Neuropočítače. podnět. vnímání (senzory)

Neuropočítače. podnět. vnímání (senzory) Neuropočítače Princip inteligentního systému vnímání (senzory) podnět akce (efektory) poznání plánování usuzování komunikace Typické vlastnosti inteligentního systému: schopnost vnímat podněty z okolního

Více

BAKALÁŘSKÁ PRÁCE. Numerické metody jednorozměrné minimalizace

BAKALÁŘSKÁ PRÁCE. Numerické metody jednorozměrné minimalizace UNIVERZITA PALACKÉHO V OLOMOUCI PŘÍRODOVĚDECKÁ FAKULTA KATEDRA MATEMATICKÉ ANALÝZY A APLIKACÍ MATEMATIKY BAKALÁŘSKÁ PRÁCE Numerické metody jednorozměrné minimalizace Vedoucí bakalářské práce: RNDr. Horymír

Více

A7B36SI2 Tematický okruh SI08 Revidoval: Martin Kvetko

A7B36SI2 Tematický okruh SI08 Revidoval: Martin Kvetko Strategie testování, validace a verifikace. Testování v průběhu životního cyklu SW díla. Testování jednotek, integrační testování, validační testování, systémové testování, ladění. Principy testování,

Více

KOMUNITNÍ PLÁNOVÁNÍ SOCIÁLNÍCH SLUŽEB VE STŘEDOČESKÉM KRAJI

KOMUNITNÍ PLÁNOVÁNÍ SOCIÁLNÍCH SLUŽEB VE STŘEDOČESKÉM KRAJI Markéta Kubečková Abstrakt KOMUNITNÍ PLÁNOVÁNÍ SOCIÁLNÍCH SLUŽEB VE STŘEDOČESKÉM KRAJI Metoda komunitního plánování sociálních služeb (KPSS) se zaměřuje na plánování rozvoje sociálních služeb na místní

Více

Výuka softwarového inženýrství na OAMK Oulu, Finsko Software engineering course at OAMK Oulu, Finland

Výuka softwarového inženýrství na OAMK Oulu, Finsko Software engineering course at OAMK Oulu, Finland Výuka softwarového inženýrství na OAMK Oulu, Finsko Software engineering course at OAMK Oulu, Finland Magdalena Raszková Abstrakt Příspěvek se zabývá koncepcí předmětu Softwarové inženýrství na Oulu University

Více

ELEKTRONIZACE VEŘEJNÉ SPRÁVY

ELEKTRONIZACE VEŘEJNÉ SPRÁVY ELEKTRONIZACE VEŘEJNÉ SPRÁVY ANDREA SCHELLEOVÁ Právnická fakulta Masarykovy univerzity Abstract in original language Článek se zaobírá problematikou elektronizace veřejné správy s důrazem na elektronické

Více

Využití matematického zpracování údajů o množstvi plynnovzdušné směsi získaných z monitoringu odplyňovacích vrtů

Využití matematického zpracování údajů o množstvi plynnovzdušné směsi získaných z monitoringu odplyňovacích vrtů Využití matematického zpracování údajů o množstvi plynnovzdušné směsi získaných z monitoringu odplyňovacích vrtů Iveta Cholovová 1 a Josef Mazáč 2 Utilizationof processing mathematic data on gas air mixtures

Více

Zvyšování výkonnosti firmy na bázi potenciálu zlepšení

Zvyšování výkonnosti firmy na bázi potenciálu zlepšení Nakladatelství a autor dìkují za podporu pøi vydání této knihy spoleènostem: SAP ÈR, spol. s r. o. MICROSOFT, s.r.o. ŠKODA AUTO, a.s. Ing. Pavel Uèeò, CSc. Zvyšování výkonnosti firmy na bázi potenciálu

Více

3D Vizualizace muzea vojenské výzbroje

3D Vizualizace muzea vojenské výzbroje 3D Vizualizace muzea vojenské výzbroje 3D visualization of the museum of military equipment Bc.Tomáš Kavecký STOČ 2011 UTB ve Zlíně, Fakulta aplikované informatiky, 2011 2 ABSTRAKT Cílem této práce je

Více

Komputerizace problémových domén

Komputerizace problémových domén Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 03 1/19 Komputerizace problémových domén Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta informačních

Více

Získávání a reprezentace znalostí

Získávání a reprezentace znalostí Získávání a reprezentace znalostí 11.11.2014 6-1 Reprezentace znalostí Produkční pravidla Sémantické sítě Získávání znalostí 6-2 a) Česká 6. Reprezentace znalostí v ZS Literatura Berka P.: Tvorba znalostních

Více

KMA/MDS Matematické důkazy a jejich struktura

KMA/MDS Matematické důkazy a jejich struktura Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 KMA/MDS Matematické důkazy a jejich struktura Seminář 2 Výroková logika pokračování Logické vyplývání

Více

Dodatek č. 3 ke školnímu vzdělávacímu programu. Strojírenství. (platné znění k 1. 9. 2009)

Dodatek č. 3 ke školnímu vzdělávacímu programu. Strojírenství. (platné znění k 1. 9. 2009) Střední průmyslová škola Jihlava tř. Legionářů 1572/3, Jihlava Dodatek č. 3 ke školnímu vzdělávacímu programu Strojírenství (platné znění k 1. 9. 09) Tento dodatek nabývá platnosti dne 1. 9. 13 (počínaje

Více

PROBLEMATIKA BROWNFIELDS Z POHLEDU JEJICH BEZPEČNOSTNÍCH RIZIK PRO ÚZEMNÍ ROZVOJ

PROBLEMATIKA BROWNFIELDS Z POHLEDU JEJICH BEZPEČNOSTNÍCH RIZIK PRO ÚZEMNÍ ROZVOJ PROBLEMATIKA BROWNFIELDS Z POHLEDU JEJICH BEZPEČNOSTNÍCH RIZIK PRO ÚZEMNÍ ROZVOJ THE ISSUE OF BROWNFIELDS IN TERMS OF THEIR SAFETY RISKS FOR REGIONAL DEVELOPMENT Bc. Eliška Vítková vitkova.e@centrum.cz

Více

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY Hlavní specializace: Ekonometrie a operační výzkum Název diplomové práce Optimalizace trasy při revizích elektrospotřebičů Diplomant: Vedoucí

Více

H. Dreyfuss: What computers can t do, 1972 What computers still can t do, J. Weizenbaum. Computer power and human reason, 1976

H. Dreyfuss: What computers can t do, 1972 What computers still can t do, J. Weizenbaum. Computer power and human reason, 1976 Klasická AI připomenutí Meze klasické umělé inteligence Modelování mysli na logicko-symbolické úrovni. Modelování shora dolů. Reprezentacionalizmus Churchova teze: Použitelnost počítačů je omezena na ty

Více

Matematické symboly a značky

Matematické symboly a značky Matematické symboly a značky Z Wikipedie, otevřené encyklopedie Matematický symbol je libovolný znak, používaný v. Může to být znaménko pro označení operace s množinami, jejich prvky, čísly či jinými objekty,

Více

Plán testů. Úvod. Jednotkové (unit) testování

Plán testů. Úvod. Jednotkové (unit) testování Plán testů Úvod Tento dokument popisuje metody testování softwaru použité při vývoji sociální sítě Felbook. Dokument popíše základní filozofii testování a také přesný popis již prováděných, popřípadě plánovaných

Více

Informační systémy pro podporu rozhodování

Informační systémy pro podporu rozhodování Informační systémy pro rozhodování Informační systémy pro podporu rozhodování 5 Jan Žižka, Naděžda Chalupová Ústav informatiky PEF Mendelova universita v Brně Asociační pravidla Asociační pravidla (sdružovací

Více

Tento text je stručným shrnutím těch tvrzení Ramseyovy teorie, která zazněla

Tento text je stručným shrnutím těch tvrzení Ramseyovy teorie, která zazněla Ramseyovy věty Martin Mareš Tento text je stručným shrnutím těch tvrzení Ramseyovy teorie, která zazněla na mé letošní přednášce z Kombinatoriky a grafů I Předpokládá, že čtenář se již seznámil se základní

Více

role expertního systému

role expertního systému Expertní systém počítačový program simulující rozhodovací činnost lidského experta při řešení složitých úloh a využívající vhodně zakódovaných speciálních znalostí převzatých od experta s cílem dosáhnout

Více

ZÁVAZNÉ POKYNY PRO VYPRACOVÁNÍ BAKALÁŘSKÉ, DIPLOMOVÉ A DISERTAČNÍ PRÁCE

ZÁVAZNÉ POKYNY PRO VYPRACOVÁNÍ BAKALÁŘSKÉ, DIPLOMOVÉ A DISERTAČNÍ PRÁCE ZÁVAZNÉ POKYNY PRO VYPRACOVÁNÍ BAKALÁŘSKÉ, DIPLOMOVÉ A DISERTAČNÍ PRÁCE Bakalářskou/diplomovou prací se ověřují vědomosti a dovednosti, které student získal během studia a jeho schopnosti využívat je při

Více

ASPEKTY PREGRADUÁLNÍ PŘÍPRAVY NESLYŠÍCÍHO UČITELE 1.STUPNĚ NA KATEDŘE MATEMATIKY PDF UP V OLOMOUCI

ASPEKTY PREGRADUÁLNÍ PŘÍPRAVY NESLYŠÍCÍHO UČITELE 1.STUPNĚ NA KATEDŘE MATEMATIKY PDF UP V OLOMOUCI ASPEKTY PREGRADUÁLNÍ PŘÍPRAVY NESLYŠÍCÍHO UČITELE 1.STUPNĚ NA KATEDŘE MATEMATIKY PDF UP V OLOMOUCI ANNA ŠARÁTKOVÁ Katedra speciální pedagogiky, Pedagogická fakulta, Univerzita Palackého, Žižkovo náměstí

Více

Stabilita v procesním průmyslu

Stabilita v procesním průmyslu Konference ANSYS 2009 Stabilita v procesním průmyslu Tomáš Létal VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV PROCESNÍHO A EKOLOGICKÉHO INŽENÝRSTVÍ, Adresa: Technická 2896/2, 616 69

Více

Základy informatiky. Výroková logika

Základy informatiky. Výroková logika Základy informatiky Výroková logika Zpracoval: Upravila: Ing. Pavel Děrgel Daniela Sztrucová Obsah přednášky Výroková logika Výroky Pravdivostní ohodnocení Logické spojky Výrokově logická analýza Aristotelés

Více

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

Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157 Deskripční logika Petr Křemen FEL ČVUT Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157 Co nás čeká 1 Základy deskripční logiky 2 Jazyk ALC Syntax a sémantika 3 Cyklické a acyklické TBOXy Petr Křemen

Více

Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller

Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller Gustav Hrudka Katedra měřicí a řídicí techniky, VŠB Technická univerzita v Ostravě, tř. 17. listopadu, 708 33

Více

Monitorování vývoje meteo situace nad ČR pomocí GPS meteorologie

Monitorování vývoje meteo situace nad ČR pomocí GPS meteorologie Monitorování vývoje meteo situace nad ČR pomocí GPS meteorologie Bc. Michal Kačmařík Instutut geoinformatiky, Hornicko-geologická fakulta, Vysoká škola báňská Technická univerzita Ostrava, 17. listopadu

Více

Expertní systémy. Typy úloh: Klasifikační Diagnostické Plánovací Hybridní Prázdné. Feingenbaum a kol., 1988

Expertní systémy. Typy úloh: Klasifikační Diagnostické Plánovací Hybridní Prázdné. Feingenbaum a kol., 1988 Expertní systémy Počítačové programy, simulující rozhodovací činnost experta při řešení složitých úloh a využívající vhodně kvality rozhodování na úrovni experta. Typy úloh: Klasifikační Diagnostické Plánovací

Více

Matematika kr sy. 5. kapitola. V hoda pr ce s grupami

Matematika kr sy. 5. kapitola. V hoda pr ce s grupami 5. kapitola Matematika kr sy V hoda pr ce s grupami Původním úkolem geometrie byl popis různých objektů a vztahů, pozorovaných v okolním světě. Zrakem vnímáme nejen struktury tvaru objektů, všímáme si

Více

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz Prof. MUDr. Otomar Kittnar, CSc., MBA, MUDr. Mikuláš Mlček, Ph.D. ATLAS FYZIOLOGICKÝCH REGULACÍ Editor: Prof. MUDr. Otomar Kittnar, CSc., MBA Autoři:

Více

Sebepoznání kde je zakopaný pes našeho úspěchu

Sebepoznání kde je zakopaný pes našeho úspěchu výborná práce obsahově i formálně. Hodnocení A+ Masarykova univerzita Právnická fakulta Katedra finančního práva a národního hospodářství Osobní management Sebepoznání kde je zakopaný pes našeho úspěchu

Více

Analýza a vyhodnocení. zdravotního stavu. obyvatel. města TŘEBÍČ. Zdravá Vysočina, o.s. ve spolupráci se Státním zdravotním ústavem

Analýza a vyhodnocení. zdravotního stavu. obyvatel. města TŘEBÍČ. Zdravá Vysočina, o.s. ve spolupráci se Státním zdravotním ústavem Analýza a vyhodnocení zdravotního stavu obyvatel města TŘEBÍČ Zdravá Vysočina, o.s. ve spolupráci se Státním zdravotním ústavem MUDr. Stanislav Wasserbauer Hana Pokorná Jihlava, září 2012 Obsah: 1 Úvod...4

Více

Základy číslicové techniky. 2 + 1 z, zk

Základy číslicové techniky. 2 + 1 z, zk Základy číslicové techniky 2 + 1 z, zk Ing. Vít Fábera, K614 e-mail: fabera@fd.cvut.cz K508, 5. patro, laboratoř, 2 2435 9555 Ing. Tomáš Musil, Ph.D., K620 e-mail: musil@asix.cz K508, 5. patro, laboratoř,

Více

Rekurze - tvorba a zápis algoritmů v jazyce Pascal

Rekurze - tvorba a zápis algoritmů v jazyce Pascal Rekurze - tvorba a zápis algoritmů v jazyce Pascal 1 Autor kurzu Zbyněk Hamerník 2 Vyučovací předmět (volitelný) seminář z IVT 3 Ročník maturitní ročník gymnázia 4 Téma Vysvětlení myšlenky rekurze, užití

Více

FINANČNÍ KONSOLIDACE TEORIE A PRAKTICKÁ REALIZACE PROSTŘEDNICTVÍM INFORMAČNÍCH SYSTÉMŮ

FINANČNÍ KONSOLIDACE TEORIE A PRAKTICKÁ REALIZACE PROSTŘEDNICTVÍM INFORMAČNÍCH SYSTÉMŮ FINANČNÍ KONSOLIDACE TEORIE A PRAKTICKÁ REALIZACE PROSTŘEDNICTVÍM INFORMAČNÍCH SYSTÉMŮ Ing. Milan Bartoš Capgemini Sophia s.r.o. member of the Capgemini Group Abstrakt Cílem článku je představit teoreticky

Více

IBM SPSS Decision Trees

IBM SPSS Decision Trees IBM Software IBM SPSS Decision Trees Jednoduše identifikujte skupiny a predikujte Stromově uspořádané postupné štěpení dat na homogenní podmnožiny je technika vhodná pro exploraci vztahů i pro tvorbu rozhodovacích

Více

zswi/pc-testování.d 10. května 2003 1

zswi/pc-testování.d 10. května 2003 1 zswi/pc-testování.d 10. května 2003 1 White-box testování ------------------- * white-box testování = využíváme znalost implementace - obvykle se používá pro testování relativně malých částí programu,

Více

STUDIJNÍ OBOR LOGISTIKA SLUŽEB NA VŠLG PŘEROV

STUDIJNÍ OBOR LOGISTIKA SLUŽEB NA VŠLG PŘEROV Abstrakt STUDIJNÍ OBOR LOGISTIKA SLUŽEB NA VŠLG PŘEROV Study branch "logistics services at VŠLG Přerov Prof. Ing. et Ing. Dušan Halásek, CSc. Vysoká škola logistiky v Přerově, katedra ekonomických, právních

Více

Tvorba informační strategie ve firmě

Tvorba informační strategie ve firmě Bankovní institut vysoká škola Praha Katedra matematiky, statistiky a informačních technologií Tvorba informační strategie ve firmě Bakalářská práce Autor: Jiří Blacký Informační technologie, Manažer projektů

Více

Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami.

Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami. Maticové operace Definice Skalár Představme si nějakou množinu, jejíž prvky lze sčítat a násobit. Pěkným vzorem jsou čísla, která už známe od mala. Prvky takové množiny nazýváme skaláry. Matice Matice

Více

1 Úvod do kompilátorů

1 Úvod do kompilátorů 1 Úvod do kompilátorů 1.1 Úvodem několik slov Tyto texty obsahují úvod do návrhu programovacích jazyků a problematiky překladu programů. Téma pokrývá oblasti zahrnující lexikální analýzu (scanning), regulární

Více