1 Expertní systémy. Obrázek 1: Základní moduly experního systému. User Interface. Working Data Base. Interface Engine. Knowledge Base.
|
|
- Ladislav Holub
- před 6 lety
- Počet zobrazení:
Transkript
1 1 Expertní systémy Expertní systémy jsou jednou z komerčně nejúspěšnějších oblastí umělé inteligence. Charakterizovat stručně tuto rozsáhlou oblast není jednoduché. Pokusíme se však o to alespoň následovně: Expertní systémy představují třídu počítačových programů, které mohou poradit, analyzovat, klasifikovat, sdělit, konzultovat, navrhovat, diagnostikovat, vysvětlit, hledat, předpovídat, formovat návrhy, identifikovat, interpretovat, formovat, učit, organizovat, monitorovat, plánovat, prezentovat, vydolovat, stanovovat, testovat a vést. Jsou určeny pro takové problémy, které prosvéuspokojivéřešenívyžadujíexpertazdanéhooboru. Podívejme se teď na složení expertního systému podrobněji. Blokové schéma vidíme na obrázku 1. Systém se skládá ze čtyř základních částí. Jádro expertního systému je tvořeno řídícím modulem a bází znalostí, kam ukládáme znalosti expertů. Řídící modul obsahující inferenční mechanismus, pak interpretuje a prochází uložené znalosti. Tento modul ale musí ke znalostem připojit i pracovní data, která popisují konkrétní, právě řešenou situaci, nebo problém. Posledním modulem ES je uživatelské rozhraní, které musí srozumitelnou formou komunikovat s uživatelem, ukládat získané informace do pracovní databáze a interpretovat odvozené informace. User Interface Interface Engine Working Data Base Knowledge Base Expert System Obrázek 1: Základní moduly experního systému 1
2 BZ Počet produkčních pravidel člověkoroky malá /4 1/2 velká velmivelká Tabulka 1: Orientační časová náročnost tvorby BZ 1.1 Báze znalostí Báze znalostí je tou částí ES, kde jsou uloženy znalosti expertů. Je proto kladen velký důraz na reprezentaci těchto znalostí, aby získané znalosti nebyly znehodnoceny. V této oblasti probíhá neustálý výzkum a tato problematika patří mezi stěžejní témata umělé inteligence. Způsobů, jak reprezentovat poznatky je mnoho, každý má své klady i zápory. Máme-li tedy uvažovat o obecných charakteristikách reprezentace poznatků, musíme vzít v úvahu minimálně tři následující pohledy: vyjadřovací účinost použitých reprezentačních prostředků, tedy co a do jaké míry jimi lze reprezentovat, odvozovací účinnost prostředků, tedy co a jak jimi lze odvozovat, výpočetní efektivita prostředků, t.j. složitost podprogramů pro práci se symboly v podmínkách. Dá se říci, že tyto pohledy korespondují s vnitřním, vnějším a implementačním pohledem na bázi znalostí a měly by velmi úzce souviset s obdobnými úvahami při implementaci inferenčního mechanismu, který s danou bází znalostí bude pracovat. Samotné sestavování báze znalostí je pak poměrně dlouhodobá záležitost. A protože panují trochu zkreslené představy o tom, jak dlouho taková BZ vzniká, je dobré si udělat alespoň hrubou představu o čase potřebném pro získávání poznatků od expertů. Orientační údaje jsou v tabulce 1. Tyto údajesealemohoulišitpřípadodpřipadu,témaodtématu. 1.2 Reprezentace báze znalostí Zatím se nepodařilo stanovit všeobecně platná kritéria pro volbu nejvhodnějšího způsobu reprezentace báze znalostí. Poznatky expertů jsou totiž velmi různorodé a můžeme je rozdělit do několika skupin. Podle těchto skupin pak rozlišujeme i způsoby reprezentace BZ. Následující výčet ale určitě nebude úplný. Jde pouze o naznačení různorodosti možných poznatků. 2
3 Obrázek 2: Jednoduchá skladba objektů- brána je tvořena Brána je tvořena podepřen Trám je tvořena podepřen Sloup nedotýká se Sloup Obrázek 3: Vztahy mezi objekty brány Asociativní Odpovídají obvyklým, odpozorovaným, nebo pravděpodobným vztahům mezi dvěma objekty. Vztahy však nemusí být zdůvodnitelné. Řadu informací kolem nás musíme brát tak, jak jsou. Jako příklady můžeme vzít světové strany- sever, jih, východ a západ. Planety sluneční soustavy, fyzikální vlastnosti látek a mohli bychom hledat další nezdůvotnitelné příklady. Jak mohou vypadat vztahy odpozorované a obvyklé, si ukážeme na jednoduchém příkladu. Mějme jednoduchou konstrukci brány, jako na obrázku 2. Vidíme tři jednoduché stavební prvky- dvě podpěry nesoucí vodorovný trám. Vztahy mezi objekty si pak můžeme znázornit na obrázku 3. 3
4 Listy A B C D M N O P X Y Z Cíle Obrázek 4: Příklad inferenční sítě Kauzální Odpovídají známým a zdůvodnitelným vztahům mezi dvěma objekty, které jsou, nebo mohou být ve vztahu příčiny a důsledku. Jako příklad těchto znalostí mohou být takzvané inferenční sítě. Jde o docela obvyklou formulaci znalostí ve formě pokud je splněna podmínka, pakztohoplynedůsledek.sestavmesijednoduchýpříklad: if A and B then M if A or C then N if B and not C then O if C and D then P if M or O then X if M and N then Y if N or O and P then Z Graficky si můžeme tuto síť znázornit na obrázku 4. Velkými písmeny označujeme jednotlivé hypotézy a z obrázku je patrné, že všechny hypotézy lze rozdělit do tří skupin. První skupinu tvoří takové hypotézy, které nejsou odvoditelné.vnašempříkladyjsoutohypotézya,b,c,danazývámeje listové. Druhou skupinou jsou hypotézy X, Y, Z, ze kterých už žádný další důsledek neplyne a proto jim říkáme cílové. Ostatní hypotézy označujeme za mezilehlé. Pravděpodobnostní přístup Odvozovací pravidla nemusí být jen jako dvoustavová logika. Mužeme každé pravidlo rozšířit o pravděpodobnost, s jakou budou potvrzeny jednotlivé hypotézy a z toho bude plynout s jistou pravděpodobností i důsledek. Pro vyhodnocování takových pravidel využíváme Bayesovu formuli pro výpočet podmíněné pravděpodobnosti ve tvaru: 4
5 cm Obrázek 5: Pravděpodobnost, že člověk je vysoký P(d p)= P(p d).p(d) P(p) Význam jednotlivých členů ve vzorci je následující: ppodmínkapravidla, ddůsledekpravidla, P(d p) podmíněná pravděpodobnost d při splnění p, P(p d) podmíněná pravděpodobnost p při splnění d, P(p) pravděpodobnost jevu p, P(d) pravděpodobnost jevu d. Abychom mohli sestavit bázi znalostí rozšířenou o pravděpodobnostní přístup, musíme mít k dispozici dostatečně důvěryhodný soubor vzorků, ze kterých pravděpodobnosti spočítáme. Bez dobrých podkladů však nemá pravděpodobnostní přístup smysl! Použití fuzzy logiky Dalším způsobem rozšíření dvoustavové logiky na vícehodnotovou, je fuzzy logika. Pravdivostní hodnota každé hypotézy se může měnit spojitě v rozmezí 0, 1. Tento stupeň pravdivosti nazýváme ve fuzzy logice plauzabilitou- věrohodností. Obvykle stanovujeme pro každou hypotézu převodní funkci, ale můžeme také převod realizovat jen tabulkou. Příklad převodní funkce, kdy chceme vyjádřit, zda je někdo vysoký člověk, je na obrázku 5. Fuzzy logiku můžeme snadno použít v inferenčních sítích. Musíme ale umět stanovit věrohodnost hypotéz, které jsou obsaženy ve složených podmínkách odvozovacích pravidel. V případě konjunkce více hypotéz můžeme jejich věrohodnost stanovit následovně: V( (t 1, t 2, t 3,..., t n ))=min(v(t 1 ), V(t 2 ), V(t 3 ),..., V(t n )) 5
6 U konjunkce tedy vybíráme jako výslednou věrohodnost minimální hodnotu z věrohodností jednotlivých hypotéz. Podobně můžeme stanovit vyhodnocení disjunkce: V( (t 1, t 2, t 3,..., t n ))=max(v(t 1 ), V(t 2 ), V(t 3 ),..., V(t n )) A jako poslední musíme umět vyhodnotit negaci: V(t)=1 V(t) Vyhodnocovat složené podmínky tedy umíme a teď už jen uvedeme, jak stanovíme věrohodnost důsledku odvozovacího pravidla: kde d je věrohodnost důsledku, V(d)=V(p).V(r) p věrohodnost podmínky pravidla daná libovonou logickou funkcí, r věrohodnost pravidla Kontextové Odpovídají podmínkám, při kterých se uplatňují různé souvislosti mezi objekty. Z praxe asi každý zná mnoho situací, kdy určitá informace závisí na kontextu, ve kterém je použita. Jednoduchým příkladem by mohla být informace o vlastním zdravotním stavu, kdy řekneme: měl jsem zvýšenou teplotu.všichnivíme,žezvýšenáteplotamůžebýtdůsledkem,předzvěstí, ale i průvodním jevem jakékoliv zdravotní indispozice. Mužeme tedy říci, že jde o informaci kontextově závislou Prostorové Odpovídají prostorovým vztahům mezi objekty. A to nejen ve smyslu polohy, ale i směru, orientace, nebo rychlosti. Příkladem by mohly být informace potřebné pro řízení letového provozu ve vzdušném prostotu každé země. Podle typu letadla, jeho kurzu a rychlosti musíme stanovovat jeho letovou hladinu Taxonomické Odpovídají známým souvislostem mezi objekty, které vystihují postup od obecného ke speciálnímu, tzv. generalizování. Jako příklad se můžeme podívat, jak bychom tuto metodu použili pro popis jednoduché stavby, v našem případě garáž: 6
7 -garáž - severní stěna -cihly -omítka - větrací mřížka - východní stěna -cihly -omítka - jižní stěna -cihly -omítka -vrata -zárubně -křídla -panty -zámek - západní stěna -cihly -omítka -okno -rám -okno -kování -střecha -trámy -desky -krytina - oplechování -okapnice -rýny -svody -podlaha -beton -izolace -potěr Celou stavbu rozebíráme na menší celky, ty dále opět dělíme na menší části a pokračujeme v rozboru až na díly, které z hlediska stavby považujeme za již dále nedělitelné. 7
8 1.2.6 Časové Odpovídají takovým souvislostem mezi objekty, kdy jejich změna v určitých časových okamžicích podmiňuje okamžité, nebo časově vázané změny nebo výskyty jiných objektů. Dovoluje uvažovat o tom co bylo, je a bude. Mezi systémy, kde hraje důležitou roli časová souvislost, můžeme zařadit např. sestavování jízdních řádů, kde musíme zohlednit počet vozidel, souprav, řidičů a jejich pracovní režim. Dalším příkladem by mohlo být plánování jízd vlakových souprav, kde kromě pravidelných linek osobní dopravy se po kolejích pohybují nepravidelné nákladní vlaky. A musíme se vyvarovat situace, kdy bychom si nevhodným časovým plánem jízd mohli zaplnit některénádražíaocitnoutsevpatovésituaci(jezdejistápodobnostsnotoricky známou hrou sokoban) Modelové Odpovídají známým nebo předpokládaným souvislostem mezi více provázanými objekty, které se ovlivňují a tím určují chování systému. Asi nejnázornějším příkladem modelových znalostí může být pro většinu populace autoškola a křižovatky. Na modelových situacích se každý řidič učí rozhodovat o pořadí průjezdu všech účastníků silničního provozu křižovatkou a pak musí tyto modelové situace aplikovat v praxi. Úkolem expertů je, vhodné modelové příklady sestavit. 8
9 1.3 Inferenční mechanismy Podíváme-li se na bázi znalostí reprezentovanou inferenční sítí, jako to je na obrázku 4, vidíme její rozklad na 3 množiny hypotéz. Množinu listů, cílů a mezilehlých hypotéz. Pokud máme takto zadanou bázi znalostí, přichází automaticky důležitá otázka: k čemu ji použijeme? Jsou zde dvě reálné možnosti. Ocitli jsme se v situaci kdy potřebujeme poradit jak dál. Zajímá nás, jaké důsledky pro nás může stávající situace mít. Chceme tedy postupovat odlistůkcílům. Druhámožnostjeobrácená.Ocitlijsmesevnějakésituaciabudemese znažit zjistit, co tuto situaci mohlo způsobit. Zajímají nás možné příčiny atuálního stavu. Budeme proto postupovat od cílů k listům. Podle směru procházení inferenční sítě se také odvíjí názvy dvou možný inferenčních mechanismů- dopředné a zpětné řetězení Zpětné řetězení Princip tohoto algoritmu byl nastíněn. Úkolem je procházet inferenční síť od cílů směrem k listům. Než ale začneme algoritmus popisovat, musíme si vytvořit vlastní bázi znalostí. Nebudeme si ovšem dávat žádné velké cíle a snažit se vyrovnat expertům z libovolného oboru. Naše snaha se musí soustředit na jednoduchost a srozumitelnost. Mějme tedy například následující bázi znalostí: :-op( 200, fx, cil ). :-op( 200, fx, list ). :-op( 200, fx, if ). :-op( 100, xfx, then ). :-op( 50, xfy, and ). :-op( 50, xfy, or ). cil savec. cil ptak. cil selma. cil dravec. cil bylozravec. list saje_mleko. list ma_peri. list leta. list ma_drapy. list zere_maso. 9
10 if saje_mleko then savec. if neg( savec ) and ( ma_peri or leta ) then ptak. if savec and ( ma_drapy or zere_maso ) then selma. if ptak and ( ma_drapy or zere_maso ) then dravec. if savec and neg( selma ) then bylozravec. Pro dobrou přehlednost a srozumitelnost jsme využili navíc možnosti Prologu a definovali jsme si operátory: cil, list, if, then, and, or. Můžeme tak zapisovat všechny informace v čitelnější infixové notaci. Vytvořili jsme celkem 5 odvozovacích pravidel, jejichž obsah asi nevyžadujedalšíkomentáře.mámevnich10hypotéz,ztohojichje5listovýcha 5 cílových a jsou vypsány před odvozovacími pravidly. Podrobnějším zkoumáním sice zjístíme, že mezi cílové hypotézy jsme pro zjednodušení zařadili i dvě mezilehlé hypotézy. Toto zjednodušení si však v této chvíli můžeme dovolit.(jen tak pro kontrolu, víte které jsou ty mezilehlé hypotézy?) Máme tedy odvozovací pravidla v naší bázi znalostí a můžeme začít řešit samotný inferenční mechanismus. Jako první krok bude vhodné, naučit se vyhodnocovat podmínky. Predikát řešící tento úkol může vypadat následovně: podminka( Hyp ) :- % 1 poz_fakt( Hyp ),!. podminka( Hyp ) :- % 2 neg_fakt( Hyp ),!, fail. podminka( neg( Hyp ) ) :- % 3 podminka( Hyp ),!, fail;!. podminka( Hyp ) :- % 4 list Hyp,!, dotaz( Hyp ). podminka( Hyp1 and Hyp2 ) :- % 5!, podminka( Hyp1 ), podminka( Hyp2 ). podminka( Hyp1 or Hyp2 ) :- % 6 podminka( Hyp1 ),!; podminka( Hyp2 ). Vysvětleme si jednotlivé kroky: 1. Ověření, zda je hypotéza mezi dříve splněnými fakty. 2. Hypotéza by také už mohla být mezi dříve nesplněnými fakty. 3. V případě negace hypotézy musíme výsledek ověření negovat. 10
11 4. Listovou hypotézu nelze nijak odvodit a musíme se dotázat uživatele. 5. Vyhodnocení složených podmínek. Konjunkce. 6. Disjunkce. K predikátu podminka si ještě přidáme 2 pomocné predikáty. Jeden pro úklid dříve zodpovězených hypotéz. Druhý pak bude pokládat dotazy uživateli: uklid :- retractall( poz_fakt( _ ) ), retractall( neg_fakt( _ ) ). dotaz( Hyp ) :- write(? Je pravda, ze ), write( Hyp ), write(? [a/n] ), read( Odp ), Odp = a, assert( poz_fakt( Hyp ) ). dotaz( Hyp ) :- assert( neg_fakt( Hyp ) ), fail. Všechny pomocné predikáty jsou již k dispozici a můžeme se podívat, jak bude vypadat samotný algoritmus zpětného řetězení. krok_zpet( Hyp ) :- if Podm then Hyp, podminka( Podm ), assert( poz_fakt( Hyp ) ). zpet( Hyp ) :- write( > Bude overovana hypoteza: ), write( Hyp ), nl, krok_zpet( Hyp ), write( + Hypoteza ), write( Hyp ), write( splnena! ), nl,!. zpet( Hyp ) :- write( - Hypoteza ), write( Hyp ), write( neni splnena! ), nl,!, fail. Jednoduché? Ano, predikát zpet je jen pomocným predikátem. Vypisuje informace o průběhu řešení uživateli. Samotný problém zpětného řetězení 11
12 řeší jen predikát krok zpet. Ten se pokusí pro zadanou hypotézu najít takové odvozovací pravidlo, ve kterém je požadovaná hypotéza jako důsledek. Bude-li takové pravidlo nalezeno, musí být splněna jeho podmínka, aby se hypotéza potvrdila. Postupujeme tedy od důsledku k příčině, od cíle k listům. Provádíme zpětné řetězení. Navržený systém můžeme ještě doplnit o jeden predikát, kterým vytvořímevelmijednoduchéuživatelskérozhraní.budemese naslepo dotazovat uživatele na vlastnosti jednoho živočicha a pokusíme se jej klasifikovat. start_zpet :- uklid, cil Hyp, write( > Vybrany cil je " ), write( Hyp ), write( ". ), nl, zpet( Hyp ), write(? Dalsi cil? [a/n]: ), read( Odp ), Odp = n, write( Konec... ), nl,!. start_zpet :- write( > Nejsou dalsi cile. ), nl,!. Nyní si vybereme tři živočichy, na kterých si ověříme, zda je navžený systém bude schopen správně klasifikovat. Mějme tedy např. zajíce, havrana a lva. Začneme zajícem. Náš expertní systém spustíme predikátem start zpet.?- start_zpet. > Vybrany cil je "savec". > Bude overovana hypoteza: savec? Je pravda, ze saje_mleko? [a/n] a. + Hypoteza savec splnena!? Dalsi cil? [a/n]: a. > Vybrany cil je "ptak". > Bude overovana hypoteza: ptak - Hypoteza ptak neni splnena! > Vybrany cil je "selma". > Bude overovana hypoteza: selma? Je pravda, ze ma_drapy? [a/n] n.? Je pravda, ze zere_maso? [a/n] n. 12
13 - Hypoteza selma neni splnena! > Vybrany cil je "dravec". > Bude overovana hypoteza: dravec - Hypoteza dravec neni splnena! > Vybrany cil je "bylozravec". > Bude overovana hypoteza: bylozravec + Hypoteza bylozravec splnena!? Dalsi cil? [a/n]: a. > Nejsou dalsi cile. Yes Zvýpisuvidímechovánísystému.Řádkyzačínajícíznakem? jsou dotazyprouživatele.znakem > jsouoznačenyoznámeníprouživatelea zbývajícídvaznaky + a - označujísplněnéanesplněnésubcíle. Pokud jsme zodpovědně odpovídali na otázky týkající se vlastností zajíce, provedl systém základní klasifikaci: je to savec a býložravec. S takovýmto výsledkem můžeme být spokojeni. Teď zkusíme, jak si systém poradí s havranem.?- start_zpet. > Vybrany cil je "savec". > Bude overovana hypoteza: savec? Je pravda, ze saje_mleko? [a/n] n. - Hypoteza savec neni splnena! > Vybrany cil je "ptak". > Bude overovana hypoteza: ptak? Je pravda, ze ma_peri? [a/n] a. + Hypoteza ptak splnena!? Dalsi cil? [a/n]: a. > Vybrany cil je "selma". > Bude overovana hypoteza: selma - Hypoteza selma neni splnena! > Vybrany cil je "dravec". > Bude overovana hypoteza: dravec? Je pravda, ze ma_drapy? [a/n] n.? Je pravda, ze zere_maso? [a/n] a. + Hypoteza dravec splnena!? Dalsi cil? [a/n]: a. > Vybrany cil je "bylozravec". > Bude overovana hypoteza: bylozravec - Hypoteza bylozravec neni splnena! > Nejsou dalsi cile. Yes 13
14 Projdemesiřádkyzačínající + adostávámeinformace,žehavranje pták a současně dravec. Systém opět provedl správné hodnocení. Poslední z naší trojice živočichů je lev. Bude i nyní chování systému správné??- start_zpet. > Vybrany cil je "savec". > Bude overovana hypoteza: savec? Je pravda, ze saje_mleko? [a/n] a. + Hypoteza savec splnena!? Dalsi cil? [a/n]: a. > Vybrany cil je "ptak". > Bude overovana hypoteza: ptak - Hypoteza ptak neni splnena! > Vybrany cil je "selma". > Bude overovana hypoteza: selma? Je pravda, ze ma_drapy? [a/n] a. + Hypoteza selma splnena!? Dalsi cil? [a/n]: a. > Vybrany cil je "dravec". > Bude overovana hypoteza: dravec - Hypoteza dravec neni splnena! > Vybrany cil je "bylozravec". > Bude overovana hypoteza: bylozravec - Hypoteza bylozravec neni splnena! > Nejsou dalsi cile. Yes I lev byl klasifikován správně. Podle zjištěných závěrů je to savec a šelma. V této chvíli bychom mohli být s výsledkem spokojeni. Je ovšem třeba upozornit, že jsme ještě všechno nevyzkoušeli. Co kdybychom se pokusili použít přímo predikát zpet k ověření námi vybrané hypotézy? Mějme situaci, kdy nás zajímá, zda zajíc je býložravec. Uděláme tedy pokus a nesmíme zapomenout předem uklidit předchozí dotazy.?- uklid. Yes?- zpet(bylozravec). > Bude overovana hypoteza: bylozravec - Hypoteza bylozravec neni splnena! No?- 14
15 Je určitě zajímavé, proč systém okamžitě naši hypotézu zamítnul a přitom uživateli nepoložil jedinou otázku! Není se ovšem čemu divit. Zapomněli jsme na jednu zásadní věc. Na rekurzi. Celý problém pramení z predikátu krok zpet. Jak už jeho samotný název napovídá, provádí zpětné řetězení, ale jen o jeden krok zpět. Bude-li se však v podmínce vyskytovat jakákoliv hypotéza, která není listová, systém ji zpětným řetězením neověří! Pro odstranění tohoto nedostatku stačí rozšířit predikát podminka o jedno pravidlo, kterým vytvoříme rekurzi. podminka( Hyp ) :- cil Hyp,!, zpet( Hyp ). Znovumůžemezkusit,jaksesystémbudechovatpřisnazeoověření hypotézy, zda je zajíc býložravec.?- uklid. Yes?- zpet(bylozravec). > Bude overovana hypoteza: bylozravec > Bude overovana hypoteza: savec? Je pravda, ze saje_mleko? [a/n] a. + Hypoteza savec splnena! > Bude overovana hypoteza: selma? Je pravda, ze ma_drapy? [a/n] n.? Je pravda, ze zere_maso? [a/n] n. - Hypoteza selma neni splnena! + Hypoteza bylozravec splnena! Yes Nyníužsezdá,žejeopravduvševpořádku.Pročovšemsystémdříve ověřil zajíce, havrana i lva správně, zůstane čtenáři k zamyšlení. 15
16 1.3.2 Dopředné řetězení Inferenční mechanismus založený na dopředném řetězení nezačneme budovat na zelené louce. Využijeme vše, co bylo vytvořeno a vyzkoušeno v předchozí kapitole o zpětném řetězení. K vytvořeným predikátům jen přidáme čtyři další. Pro dopředné řetězení budeme potřebovat postupovat při vyhodnocování hypotéz od listů k cílům. Budeme proto nuceni hledat mezi odvozovacími pravidly taková, která mají náš předpoklad v podmínce. To není tak elementární úkol, jako hledání pravidel, kde je hypotéza přímo důsledkem. Vytvoříme si proto pomocný predikát, který bude ověřovat, zda je libovolná hypotéze obsažena ve složené podmínce. vpodmince( Hyp, Hyp ) :-!. vpodmince( Hyp, neg( Hyp ) ). vpodmince( Hyp, A and B ) :- vpodmince( Hyp, A ); vpodmince( Hyp, B ). vpodmince( Hyp, A or B ) :- vpodmince( Hyp, A ); vpodmince( Hyp, B ). S tímto pomocným predikátem vpodmince můžeme vytvořit jádro inferenčního mechanismu pro dopředné řetězení. Realizace bude velmi podobná, jako u zpětného řetězení. krok_dopredu( Hyp, Dusl ) :- if Podm then Dusl, vpodmince( Hyp, Podm ), podminka( Podm ), assert( poz_fakt( Dusl ) ). dopredu( Hyp ) :- write( > Hledame dusledek hypotezy: ), write( Hyp ), nl, krok_dopredu( Hyp, Dusl ), write( + Z hypotezy ), write( Hyp ), write( plyne dusledek: ), write( Dusl ), nl,!. dopredu( Hyp ) :- write( - Z hypotezy ), write( Hyp ), write( nebylo nic odvozeno. ), nl,!, fail. Slibovali jsme čtyři predikáty a zatím byly jen tři. Poslední predikát slouží pro spuštění dopředného řetězení a bude se pokoušet ověřovat všechny listové hypotézy a najít podle odpovědí uživatele všechny důsledky. 16
17 start_dopredu :- uklid, list List, write( > Vybrany list je " ), write( List ), write( ". ), nl, dopredu( List ), write(? Dalsi list? [a/n]: ), read( Odp ), Odp = n, write( Konec... ), nl,!. start_dopredu :- write( > Nejsou dalsi listy. ), nl,!. Tím je celý inferenční mechanismus hotov a můžeme začít testovat. Opět se pokusíme ověřit tři živočichy, jako v předchozím příkladu. Začneme tentokrát lvem:?- start_dopredu. > Vybrany list je "saje_mleko". > Hledame dusledek hypotezy: saje_mleko? Je pravda, ze saje_mleko? [a/n] a. + Z hypotezy saje_mleko plyne dusledek: savec? Dalsi list? [a/n]: a. > Vybrany list je "ma_peri". > Hledame dusledek hypotezy: ma_peri - Z hypotezy ma_peri nebylo nic odvozeno. > Vybrany list je "leta". > Hledame dusledek hypotezy: leta - Z hypotezy leta nebylo nic odvozeno. > Vybrany list je "ma_drapy". > Hledame dusledek hypotezy: ma_drapy? Je pravda, ze ma_drapy? [a/n] a. + Z hypotezy ma_drapy plyne dusledek: selma? Dalsi list? [a/n]: a. > Vybrany list je "zere_maso". > Hledame dusledek hypotezy: zere_maso + Z hypotezy zere_maso plyne dusledek: selma? Dalsi list? [a/n]: a. > Nejsou dalsi listy. Yes 17
18 Z výpisu během činnosti inferenčního mechanismu vidíme tři řádky začínajícíznakem +.Jsoutozjištěnézávěry:savecašelma.Klasifikacelva je tedy správná. Zkusíme, jak si systém poradí s druhým živočichem, tím je havran:?- start_dopredu. > Vybrany list je "saje_mleko". > Hledame dusledek hypotezy: saje_mleko? Je pravda, ze saje_mleko? [a/n] n. - Z hypotezy saje_mleko nebylo nic odvozeno. > Vybrany list je "ma_peri". > Hledame dusledek hypotezy: ma_peri > Bude overovana hypoteza: savec - Hypoteza savec neni splnena!? Je pravda, ze ma_peri? [a/n] a. + Z hypotezy ma_peri plyne dusledek: ptak? Dalsi list? [a/n]: a. > Vybrany list je "leta". > Hledame dusledek hypotezy: leta > Bude overovana hypoteza: savec - Hypoteza savec neni splnena! + Z hypotezy leta plyne dusledek: ptak? Dalsi list? [a/n]: a. > Vybrany list je "ma_drapy". > Hledame dusledek hypotezy: ma_drapy > Bude overovana hypoteza: savec - Hypoteza savec neni splnena!? Je pravda, ze ma_drapy? [a/n] n.? Je pravda, ze zere_maso? [a/n] a. + Z hypotezy ma_drapy plyne dusledek: dravec? Dalsi list? [a/n]: a. > Vybrany list je "zere_maso". > Hledame dusledek hypotezy: zere_maso > Bude overovana hypoteza: savec - Hypoteza savec neni splnena! + Z hypotezy zere_maso plyne dusledek: dravec? Dalsi list? [a/n]: a. > Nejsou dalsi listy. Yes Havran byl správně klasifikován jako pták a dravec. Zbývá poslední ověření,atojezajíc:?- start_dopredu. 18
19 > Vybrany list je "saje_mleko". > Hledame dusledek hypotezy: saje_mleko? Je pravda, ze saje_mleko? [a/n] a. + Z hypotezy saje_mleko plyne dusledek: savec? Dalsi list? [a/n]: a. > Vybrany list je "ma_peri". > Hledame dusledek hypotezy: ma_peri - Z hypotezy ma_peri nebylo nic odvozeno. > Vybrany list je "leta". > Hledame dusledek hypotezy: leta - Z hypotezy leta nebylo nic odvozeno. > Vybrany list je "ma_drapy". > Hledame dusledek hypotezy: ma_drapy? Je pravda, ze ma_drapy? [a/n] n.? Je pravda, ze zere_maso? [a/n] n. > Bude overovana hypoteza: ptak - Hypoteza ptak neni splnena! - Z hypotezy ma_drapy nebylo nic odvozeno. > Vybrany list je "zere_maso". > Hledame dusledek hypotezy: zere_maso > Bude overovana hypoteza: ptak - Hypoteza ptak neni splnena! - Z hypotezy zere_maso nebylo nic odvozeno. > Nejsou dalsi listy. Yes Zvýpisuplyne,žezajícjesavec,cožjevpořádku.Alenašebázeznalostí umí klasifikovat i býložravce. K tomuto závěru jsme pomocí dopředného řetězení nedošli. Kde je chyba? Pozorného čtenáře možná napadne, zda nejde o podobnou chybu, jaká bylauzpětnéhořetězení.ano,jetomutak.izdepredikát krokdopredu řeší jen jediný krok od předpokladu k důsledku. Chybí tedy skutečné řetězení. Doplnění rekurze je velmi snadné a nebudeme jej zde uvádět. Každý si v rámci seznamování a testování inferenčního mechanismu úpravu provede sám. 19
20 2 Cvičení Expertním systémům jsou pro jejich náročnost věnována čtyři cvičení. 2.1 Seznámení a testování inferenčních mechanismů Úkolem cvičení je testování navržených inferenčních mechanismů. Předpokládásetakérozšířeníbázeznalostío5až10pravidelatestovánídosažitelnosti všech cílů. V rámci cvičení by se každý měl pokusit správně doplnit mechanismus dopředného řetězení o chybějící rekurzi. 2.2 Výběr tématu pro návrh báze znalostí Cvičení bude věnováno rozboru možných témat, vhodných pro návrh vlastní báze znalostí. Je zapotřebí zvážit, jaký formát báze znalostí je pro dané téma vhodný, zda lze skutečně sestavit pravidla pro odvozování a případné zhodnocení, zda vybrané téma není příliš náročné, nebo naopak, příliš jednoduché. Odvozovací pravidla je vhodné znázornit graficky. Celý problém se tak dá lépe analyzovat. 2.3 Tvorba vlastní báze znalostí Ve cvičení si každý zformuluje odvozovací pravidla pro svou bázi znalostí. Provedou se první testy spolupráce mezi bází znalostí a inferenčním mechanismem. 2.4 Ladění a předvedení Čtvrté cvičení bude věnováno závěrečnému testování a prezentaci vlastního experního systému. 20
Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).
Výroková logika II Negace Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0). Na konkrétních příkladech si ukážeme, jak se dají výroky negovat. Obecně se výrok dá negovat tak, že před
VÝBĚR A JEHO REPREZENTATIVNOST
VÝBĚR A JEHO REPREZENTATIVNOST Induktivní, analytická statistika se snaží odhadnout charakteristiky populace pomocí malého vzorku, který se nazývá VÝBĚR neboli VÝBĚROVÝ SOUBOR. REPREZENTATIVNOST VÝBĚRU:
Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.
Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz
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
Úvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška první Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Co a k čemu je logika? 2 Výroky a logické spojky
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
Úvod do Prologu 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 Warren (Warren Abstract Machine) implementace
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í,
Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1
Negativní informace Petr Štěpánek S použitím materiálu M.Gelfonda a V. Lifschitze 2009 Logické programování 15 1 Negace jako neúspěch Motivace: Tvrzení p (atomická formule) neplatí, jestliže nelze odvodit
Úvod do logiky (VL): 5. Odvození výrokových spojek z jiných
Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia (reg. č. CZ.1.07/2.2.00/28.0216, OPVK) Úvod do logiky (VL): 5. Odvození z jiných doc. PhDr. Jiří Raclavský,
Opiceabanán. Jdeoúlohu,kdysevdanémprostorupohybujeopice,někdejezavěšenýbanánaopicenanějnedosáhne.Vprostorujeovšemtakéžidle,
1 Plánovací systémy Jako další samostatnou kategorii umělé inteligence můžeme vyčlenit oblast plánovacích úloh. Ne vždy jsou úlohy z této třídy řazeny mezi plánování, někdy mohou některé úlohy zapadnout
Formální systém výrokové logiky
Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)
1.4.6 Negace složených výroků I
1.4.6 Negace složených výroků I Předpoklady: 010405 Pedagogická poznámka: Dlouho jsem se v počátcích své praxe snažil probrat negace za jednu hodinu. Tvorba negací je skvělým procvičováním schopnosti dodržovat
Logika a logické programování
Logika a logické programování témata ke zkoušce Poslední aktualizace: 16. prosince 2009 Zkouška je písemná, skládá se obvykle ze sedmi otázek (může být více nebo méně, podle náročnosti otázek), z toho
Umělá inteligence I. Roman Barták, KTIML.
Umělá inteligence I Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Už umíme používat výrokovou logiku pro reprezentaci znalostí a odvozování důsledků. Dnes Dnes zopakujeme
Matematická logika. Miroslav Kolařík
Matematická logika přednáška třetí 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
Expertní systémy. 1. Úvod k expertním systémům. Cíl kapitoly:
Expertní systémy Cíl kapitoly: Úkolem této kapitoly je pochopení významu expertních systémů, umět rozpoznat expertní systémy od klasicky naprogramovaných systémů a naučit se jejich tvorbu a základní vlastnosti.
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
MATEMATICKÁ TEORIE ROZHODOVÁNÍ
MATEMATICKÁ metodický list č. 1 Řešení úloh Cílem tohoto tematického celku je vysvětlení vybraných pojmů z oblasti řešení úloh. Tématický celek je rozdělen do těchto dílčích témat: 1. Řešení úloh ve stavovém
Rozvoj tepla v betonových konstrukcích
Úvod do problematiky K novinkám v požární odolnosti nosných konstrukcí Praha, 11. září 2012 Ing. Radek Štefan prof. Ing. Jaroslav Procházka, CSc. Znalost rozložení teploty v betonové konstrukci nebo její
Úvod do logiky (VL): 11. Ověřování, zda je formule tautologií metodou protipříkladu
Jiří Raclavský (214): Úvod do logiky: klasická výroková logika Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia (reg. č. CZ.1.7/2.2./28.216, OPVK) Úvod
1. Matematická logika
Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1. Matematická logika Základem každé vědy (tedy i matematiky i fyziky) je soubor jistých znalostí. To, co z těchto izolovaných poznatků
MATEMATICKÁ TEORIE ROZHODOVÁNÍ
MATEMATICKÁ TEORIE ROZHODOVÁNÍ Metodický list č. 1 Název tématického celku: Řešení úloh Cílem tohoto tematického celku je vysvětlení vybraných pojmů z oblasti řešení úloh. Tématický celek je rozdělen do
Diferenciální rovnice 1
Diferenciální rovnice 1 Základní pojmy Diferenciální rovnice n-tého řádu v implicitním tvaru je obecně rovnice ve tvaru,,,, = Řád diferenciální rovnice odpovídá nejvyššímu stupni derivace v rovnici použitému.
Agent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu odhaduje, jak se svět může vyvíjet.
Umělá inteligence II Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Dnešní program Agent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu
Výběr báze. u n. a 1 u 1
Výběr báze Mějme vektorový prostor zadán množinou generátorů. To jest V = M, kde M = {u,..., u n }. Pokud je naším úkolem najít nějakou bázi V, nejpřímočařejším postupem je napsat si vektory jako řádky
EXPERTNÍ SYSTÉMY V CHOVU VČEL A MOŽNOSTI JEJICH VYUŽITÍ V. Vostrovský Katedra informatiky, Vysoká škola zemědělská, 165 21 Praha 6 Suchdol, tel.
EXPERTNÍ SYSTÉMY V CHOVU VČEL A MOŽNOSTI JEJICH VYUŽITÍ V. Vostrovský Katedra informatiky, Vysoká škola zemědělská, 165 21 Praha 6 Suchdol, tel. (02)3382274, fax. (02)393708 Anotace: Příspěvek popisuje
Tvar dat a nástroj přeskupování
StatSoft Tvar dat a nástroj přeskupování Chtěli jste někdy použít data v jistém tvaru a STATISTICA Vám to nedovolila? Jistě se najde někdo, kdo se v této situaci již ocitl. Není ale potřeba propadat panice,
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á
Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují
Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),
Výukový materiál zpracován v rámci projektu EU peníze školám
Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu: CZ. 1.07/1.5.00/34.0637 Šablona III/2 Název VY_32_INOVACE_39_Algoritmizace_teorie Název školy Základní škola a Střední
676 + 4 + 100 + 196 + 0 + 484 + 196 + 324 + 64 + 324 = = 2368
Příklad 1 Je třeba prověřit, zda lze na 5% hladině významnosti pokládat za prokázanou hypotézu, že střední doba výroby výlisku je 30 sekund. Přitom 10 náhodně vybraných výlisků bylo vyráběno celkem 540
NP-úplnost problému SAT
Problém SAT je definován následovně: SAT(splnitelnost booleovských formulí) Vstup: Booleovská formule ϕ. Otázka: Je ϕ splnitelná? Příklad: Formule ϕ 1 =x 1 ( x 2 x 3 )jesplnitelná: např.přiohodnocení ν,kde[x
Algoritmizace. 1. Úvod. Algoritmus
1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá
Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek
Otázka 06 - Y01MLO Zadání Predikátová logika, formule predikátové logiky, sentence, interpretace jazyka predikátové logiky, splnitelné sentence, tautologie, kontradikce, tautologicky ekvivalentní formule.
Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze
Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Bayesovské modely Doc. RNDr. Iveta Mrázová, CSc.
SINGULÁRNÍ VÝROKY: Jednoduchý singulární výrok vznikne spojením singulárního termínu s termínem obecným pomocí spony=slova je.
Studijní text Co je singulární výrok SINGULÁRNÍ VÝROKY: PETR Petr je veselý. Jednoduchý singulární výrok vznikne spojením singulárního termínu s termínem obecným pomocí spony=slova je. Příklad: Pavel je
Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)
Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog
3.10 Rezoluční metoda ve výrokové logice
3.10. Rezoluční metoda ve výrokové logice [070405-1102 ] 27 3.10 Rezoluční metoda ve výrokové logice Rezoluční metoda rozhoduje, zda daná množina klausulí je splnitelná nebo je nesplnitelná. Tím je také
Základní pojmy matematické logiky
KAPITOLA 1 Základní pojmy matematické logiky Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. 1. Výroková logika Co je
Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu
VÝROKOVÁ LOGIKA Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. Co je výrok nedefinujejme, pouze si řekneme, co si pod
teorie logických spojek chápaných jako pravdivostní funkce
Výroková logika teorie logických spojek chápaných jako pravdivostní funkce zabývá se způsoby tvoření výroků pomocí spojek a vztahy mezi pravdivostí různých výroků používá specifický jazyk složený z výrokových
4. blok část A Logické operátory
4. blok část A Logické operátory Studijní cíl Tento blok je věnován představení logických operátorů AND, OR, NOT v jazyce SQL a práce s nimi. Doba nutná k nastudování 1-2 hodiny Průvodce studiem Při studiu
Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Dynamické programování Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Rozděl a panuj (divide-and-conquer) Rozděl (Divide): Rozděl problém na několik podproblémů tak, aby tyto podproblémy odpovídaly původnímu
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti. Řešené příklady. Ondřej Votava
Řešené příklady Ondřej Votava votavon1@fel.cvut.cz 1 Zjistěte adresu sítě, broadcastu a adresní rozsah dané sítě 1. 192.168.2.0/24 192.168.2.0 1100 0000 1010 1000 0000 0010 0000 0000 24 1111 1111 1111
1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
Algoritmus pro hledání nejkratší cesty orientovaným grafem
1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Báze vektorových prostorů, transformace souřadnic Michal Botur Přednáška
Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model
Databázové systémy Tomáš Skopal - relační model * relační kalkuly Osnova přednášky relační kalkuly doménový n-ticový Relační kalkuly využití aparátu predikátové logiky 1. řádu pro dotazování rozšíření
CVIČENÍ 4 Doc.Ing.Kateřina Hyniová, CSc. Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze 4.
CVIČENÍ POZNÁMKY. CVIČENÍ. Vazby mezi systémy. Bloková schémata.vazby mezi systémy a) paralelní vazba b) sériová vazba c) zpětná (antiparalelní) vazba. Vnější popis složitých systémů a) metoda postupného
příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.
Několik řešených příkladů do Matematiky Vektory V tomto textu je spočteno několik ukázkových příkladů které vám snad pomohou při řešení příkladů do cvičení. V textu se objeví i pár detailů které jsem nestihl
8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice
9. Lineární diferenciální rovnice 2. řádu Cíle Diferenciální rovnice, v nichž hledaná funkce vystupuje ve druhé či vyšší derivaci, nazýváme diferenciálními rovnicemi druhého a vyššího řádu. Analogicky
cv3.tex. Vzorec pro úplnou pravděpodobnost
3 cvičení - pravděpodobnost 2102018 18cv3tex n i=1 Vzorec pro úplnou pravděpodobnost Systém náhodných jevů nazýváme úplným, jestliže pro něj platí: B i = 1 a pro i k je B i B k = 0 Jestliže je (Ω, A, P
Programovací jazyk Prolog
Programovací jazyk Prolog Logické programování Šárka Vavrečková Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě sarka.vavreckova@fpf.slu.cz 1. prosince 2008 Prolog Co je
popel, glum & nepil 16/28
Lineární rezoluce další způsob zjemnění rezoluce; místo stromu směřujeme k lineární struktuře důkazu Lineární rezoluční odvození (důkaz) z Ë je posloupnost dvojic ¼ ¼ Ò Ò taková, že Ò ½ a 1. ¼ a všechna
Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)
Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog
Pokročilé operace s obrazem
Získávání a analýza obrazové informace Pokročilé operace s obrazem Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno prezentace je součástí projektu FRVŠ č.2487/2011 (BFÚ LF MU) Získávání
1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
Spojení OntoUML a GLIKREM ve znalostním rozhodování
1 Formalizace biomedicínských znalostí Spojení OntoUML a GLIKREM ve znalostním rozhodování Ing. David Buchtela, Ph.D. 16. června 2014, Faustův dům, Praha Skupina mezioborových dovedností Fakulta informačních
P = 1;3;3; 4; Množiny. Předpoklady:
3218 Množiny Předpoklady: 030201 Př 1: Kolik lidí může v souladu s předpisy cestovat v běžném osobním autě (například Škoda Octavia)? Hledej různé způsoby, jak odpověď vyjádřit 1 způsob: Autem může cestovat
Domény. Petr Štěpánek. S využitím materialu Krysztofa R. Apta
Domény Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 10 1 Typy programů v čistém Prologu je možné uspořádat podle různých pohledů. Zajímavá je charakteristika podle domén,
1 Prolog. 1.1 Histroie. 1.2 Základní rysy Prologu. 1.3 Databáze Prologu
1 Prolog Název jazyka je odvozen ze dvou slov: PROgramování v LOGice. Tím současně říkáme, z jakých principů jazyk vychází. Jeho úspěšné používání v praxi dalo základ nové disciplíně matematické informatiky-
Inženýrská statistika pak představuje soubor postupů a aplikací teoretických principů v oblasti inženýrské činnosti.
Přednáška č. 1 Úvod do statistiky a počtu pravděpodobnosti Statistika Statistika je věda a postup jak rozvíjet lidské znalosti použitím empirických dat. Je založena na matematické statistice, která je
Úvod do databázových systémů
Úvod do databázových systémů Databáze je dnes velmi často skloňovaným slovem. Co se pod tímto termínem skrývá si vysvětlíme na několika následujících stranách a cvičeních. Databáze se využívají k ukládání
MEZINÁRODNÍ AUDITORSKÝ STANDARD ISA 530 VÝBĚR VZORKŮ
MEZINÁRODNÍ AUDITORSKÝ STANDARD VÝBĚR VZORKŮ (Účinný pro audity účetních závěrek sestavených za období počínající 15. prosincem 2009 nebo po tomto datu) OBSAH Odstavec Úvod Předmět standardu... 1 2 Datum
Seminární práce z Teorie ICT
ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE Provozně ekonomická fakulta Seminární práce z Teorie ICT Implementace logické hádanky v Prologu Autor : Petr Pechek 1 Popis zvoleného problému Mým úkolem bylo vyřešit
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi
Znalosti budeme nejčastěji vyjadřovat v predikátové logice prvního řádu. Metody:
Umělá inteligence II Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Znalosti v učení Umíme se učit funkce vstup výstup. Jedinou dodatečnou znalost, kterou jsme využili, byl
STATISTICKÉ ODHADY Odhady populačních charakteristik
STATISTICKÉ ODHADY Odhady populačních charakteristik Jak stanovit charakteristiky rozložení sledované veličiny v základní populaci? Populaci většinou nemáme celou k dispozici, musíme se spokojit jen s
1. D Y N A M I C K É DAT O V É STRUKTUR Y
1. D Y N A M I C K É DAT O V É STRUKTUR Y Autor: Petr Mik Abychom se mohli pustit do dynamických datových struktur, musíme se nejdřív podívat na datový typ ukazatel. 1. D AT O V Ý TYP U K A Z AT E L Datové
Úvod do logiky (VL): 4. Zjištění průběhu pravdivostních hodnot formule tabulkovou metodou
Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia (reg. č. CZ.1.07/2.2.00/28.0216, OPVK) Úvod do logiky (VL): 4. Zjištění průběhu pravdivostních hodnot
9 Kolmost vektorových podprostorů
9 Kolmost vektorových podprostorů Od kolmosti dvou vektorů nyní přejdeme ke kolmosti dvou vektorových podprostorů. Budeme se zabývat otázkou, kdy jsou dva vektorové podprostory na sebe kolmé a jak to poznáme.
( ) ( ) Negace složených výroků II. Předpoklady:
1.4.7 Negace složených výroků II Předpoklady: 010405 Pedagogická poznámka: Na začátku hodiny slovně zadávám úkol najít negaci implikace. Teprve po zapsání do třídnice promítám zadání příkladů (kde je v
12. Lineární programování
. Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)
Jednoduchá exponenciální rovnice
Jednoduchá exponenciální rovnice Z běžné rovnice se exponenciální stává, pokud obsahuje proměnnou v exponentu. Obecně bychom mohli exponenciální rovnici zapsat takto: a f(x) = b g(x), kde a, b > 0. Typickým
Logické programování
30. října 2012 Osnova Principy logického programování 1 Principy logického programování 2 3 1 Principy logického programování 2 3 Paradigmata programování Strukturované programování Procedurální programování
Parametrické programování
Parametrické programování Příklad 1 Parametrické pravé strany Firma vyrábí tři výrobky. K jejich výrobě potřebuje jednak surovinu a jednak stroje, na kterých dochází ke zpracování. Na první výrobek jsou
7. Inferenční metody. Inferenční metody Václav Matoušek, Josef Strolený Úvod do znalostního inženýrství, ZS 2014/
Inferenční metody 18.11.2014 7-1 Inferenční metody Rezoluční systémy Dopředné a zpětné řetězení Výběr dotazu Nemonotónní usuzování 7-2 a) Česká Literatura Dvořák J.: Expertní systémy. Skriptum VUT Brno,
Markovské metody pro modelování pravděpodobnosti
Markovské metody pro modelování pravděpodobnosti rizikových stavů 1 Markovský řetězec Budeme uvažovat náhodný proces s diskrétním časem (náhodnou posloupnost) X(t), t T {0, 1, 2,... } s konečnou množinou
Předpovídejte snadno a rychle
Předpovídejte snadno a rychle Newsletter Statistica ACADEMY Téma: Časové řady, exponenciální vyrovnávání Typ článku: Příklad Dnes se budeme zabývat situací, kdy chceme předpovídat, jak se bude v čase vyvíjet
ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 7.4 13/14
ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 7.4 13/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 13 0:40 Implementace Umělá inteligence (UI) Umělá inteligence
Programujeme v softwaru Statistica - příklady
Programujeme v softwaru Statistica - příklady Newsletter Statistica ACADEMY Téma: Programování, makra, skripty Typ článku: Návody, příklady V předchozích článcích bylo vyřčeno mnoho teorie k problematice
Pravděpodobnost a statistika
Pravděpodobnost a statistika 1 Náhodné pokusy a náhodné jevy Činnostem, jejichž výsledek není jednoznačně určen podmínkami, za kterých probíhají, a které jsou (alespoň teoreticky) neomezeně opakovatelné,
Rozdělování dat do trénovacích a testovacích množin
Rozdělování dat do trénovacích a testovacích množin Marcel Jiřina Rozpoznávání je důležitou metodou při zpracování reálných úloh. Rozpoznávání je definováno dvěma kroky a to pořízením dat o reálném rozpoznávaném
Zpracování náhodného vektoru. Ing. Michal Dorda, Ph.D.
Ing. Michal Dorda, Ph.D. 1 Př. 1: Cestující na vybraném spoji linky MHD byli dotazováni za účelem zjištění spokojenosti s kvalitou MHD. Legenda 1 Velmi spokojen Spokojen 3 Nespokojen 4 Velmi nespokojen
Lékařská biofyzika, výpočetní technika I. Biostatistika Josef Tvrdík (doc. Ing. CSc.)
Lékařská biofyzika, výpočetní technika I Biostatistika Josef Tvrdík (doc. Ing. CSc.) Přírodovědecká fakulta, katedra informatiky josef.tvrdik@osu.cz konzultace úterý 14.10 až 15.40 hod. http://www1.osu.cz/~tvrdik
Výroková logika - opakování
- opakování ormální zavedení Výroková formule: Máme neprázdnou nejvýše spočetnou množinu A výrokových proměnných. 1. Každá proměnná je výroková formule 2. Když α, β jsou formule, potom ( α), (α β), (α
Výpočet nového stavu je závislý na bezprostředně předcházejícím stavu (může jich být i více, zde se však omezíme na jeden).
Počáteční úloha Při simulace vývoje systému v čase používáme jednoduché zásady: Spojitý čas nahradíme posloupností časových okamžiků t 0, t 1, t 2, t 3,, t i,. Interval mezi následujícími časovými okamžiky
Výsledný graf ukazuje následující obrázek.
Úvod do problematiky GRAFY - SPOJNICOVÝ GRAF A XY A. Spojnicový graf Spojnicový graf používáme především v případě, kdy chceme graficky znázornit trend některé veličiny ve zvoleném časovém intervalu. V
Predikátová logika. prvního řádu
Predikátová logika prvního řádu 2 Predikát Predikát je n-ární relace - vyjadřuje vlastnosti objektů a vztahy mezi objekty - z jednoduchého výroku vznikne vypuštěním alespoň jednoho jména objektu (individua)
6. blok část C Množinové operátory
6. blok část C Množinové operátory Studijní cíl Tento blok je věnován problematice množinových operátorů a práce s množinovými operátory v jazyce SQL. Čtenáři se seznámí s operátory, UNION, a INTERSECT.
Intervalový odhad. Interval spolehlivosti = intervalový odhad nějakého parametru s danou pravděpodobností = konfidenční interval pro daný parametr
StatSoft Intervalový odhad Dnes se budeme zabývat neodmyslitelnou součástí statistiky a to intervaly v nejrůznějších podobách. Toto téma je také úzce spojeno s tématem testování hypotéz, a tedy plynule
Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy
Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:
Ú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,
12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ
56 12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ Těžiště I. impulsová věta - věta o pohybu těžiště II. impulsová věta Zákony zachování v izolované soustavě hmotných bodů Náhrada pohybu skutečných objektů pohybem
Programovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
Predikátová logika (logika predikátů)
Predikátová logika (logika predikátů) Ve výrokové logice pracujeme s jednoduchými či složenými výroky, aniž nás zajímá jejich struktura. Příklad. Jestliže Karel je studentem, pak je (Karel) chytřejší než
Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.
Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických
1 Pravdivost formulí v interpretaci a daném ohodnocení
1 Pravdivost formulí v interpretaci a daném ohodnocení Než uvedeme konkrétní příklady, zopakujme si definici interpretace, ohodnocení a pravdivosti. Necht L je nějaký jazyk. Interpretaci U, jazyka L tvoří
Výroková a predikátová logika - V
Výroková a predikátová logika - V Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - V ZS 2015/2016 1 / 21 Dokazovací systémy VL Hilbertovský kalkul Hilbertovský
Náhodná veličina a její charakteristiky. Před provedením pokusu jeho výsledek a tedy ani sledovanou hodnotu neznáte. Proto je proměnná, která
Náhodná veličina a její charakteristiky Náhodná veličina a její charakteristiky Představte si, že provádíte náhodný pokus, jehož výsledek jste schopni ohodnotit nějakým číslem. Před provedením pokusu jeho