UMĚLÁ INTELIGENCE ARTIFICIAL INTELLIGENCE (AI)



Podobné dokumenty
Základy umělé inteligence

Moderní systémy pro získávání znalostí z informací a dat

Pokročilé operace s obrazem

5. Umělé neuronové sítě. Neuronové sítě

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

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

Usuzování za neurčitosti

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

Třídy složitosti P a NP, NP-úplnost

Úvod do expertních systémů

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

Matematická logika. Rostislav Horčík. horcik

Základy umělé inteligence

ALGORITMY A DATOVÉ STRUKTURY

Znalostní technologie proč a jak?

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Logika a logické programování

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

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

Umělá inteligence a rozpoznávání

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

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

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

SIGNÁLY A LINEÁRNÍ SYSTÉMY

GIS Geografické informační systémy

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Historie a vývoj umělé inteligence

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

OSA. maximalizace minimalizace 1/22

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

GIS Geografické informační systémy

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

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

Vzdělávací oblast: Matematika a její aplikace Vzdělávací obor: Matematický kroužek pro nadané žáky ročník 9.

Logika a studijní předpoklady

10. Techniky formální verifikace a validace

Nepravidlové a hybridní znalostní systémy

Expertní systémy. 1. Úvod k expertním systémům. Cíl kapitoly:

Úvod do informatiky. Miroslav Kolařík

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Západočeská univerzita v Plzni. Fakulta aplikovaných věd. Ivana Kozlová. Modely analýzy obalu dat

4.2 Syntaxe predikátové logiky

Obsah. Zpracoval:

Fuzzy množiny, Fuzzy inference system. Libor Žák

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Logika pro sémantický web

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

+ 1. doc. Ing. Jan Skrbek, Dr. - KIN. Konzultace: pondělí nebo dle dohody. Spojení:

EXPERTNÍ SYSTÉMY V CHOVU VČEL A MOŽNOSTI JEJICH VYUŽITÍ V. Vostrovský Katedra informatiky, Vysoká škola zemědělská, Praha 6 Suchdol, tel.

ZÁKLADNÍ METODOLOGICKÁ PRAVIDLA PŘI ZPRACOVÁNÍ ODBORNÉHO TEXTU. Martina Cirbusová (z prezentace doc. Škopa)

Základy teorie pravděpodobnosti Kapitola: Numerické výpočty příklad 2. Stránka v kapitole 1. Příklad 2. Modifikace M systému k=6p.

Modely Herbrandovské interpretace

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

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

ASK. Test deduktivního a kreativního myšlení. HTS Report. Jan Ukázka ID Datum administrace Standard 1. vydání

Datová věda (Data Science) akademický navazující magisterský program

Teorie systémů TES 1. Úvod

Reálná čísla a výrazy. Početní operace s reálnými čísly. Složitější úlohy se závorkami. Slovní úlohy. Číselné výrazy. Výrazy a mnohočleny

Funkcionální programování. Kristýna Kaslová

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

Pravidlové znalostní systémy

Objektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová

Evoluční výpočetní techniky (EVT)

3.2 MATEMATIKA A JEJÍ APLIKACE (M) Charakteristika vzdělávací oblasti

Využití metod strojového učení v bioinformatice David Hoksza

Úloha - rozpoznávání číslic

SYSTÉMOVÁ METODOLOGIE (VII) Kybernetika. Ak. rok 2011/2012 vbp 1

1 VZNIK, VÝVOJ A DEFINICE MECHATRONIKY

U Úvod do modelování a simulace systémů

Tento výukový materiál vznikl za přispění Evropské unie, státního rozpočtu ČR a Středočeského kraje. Mgr. Monika Řezáčová

Ontologie. Otakar Trunda

Algoritmizace prostorových úloh

Téma 48 (dříve 47) Martin Staviař, 16. srpna 2006

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

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

METODICKÝ APARÁT LOGISTIKY

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

A0M33EOA: Evoluční optimalizační algoritmy

28.z-8.pc ZS 2015/2016

METODY ŘEŠENÍ ÚLOH MX2M

Matematická logika. Miroslav Kolařík

Kategorie vytvořené na základě RVP a projektu Evaluace inf. gramotnosti žáků ZŠ.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

Umělá inteligence I. Roman Barták, KTIML.

Logika a jazyk. filosofický slovník, Praha:Svoboda 1966)

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

11. Tabu prohledávání

Úvod do informatiky. Miroslav Kolařík

Databázové systémy. Ing. Radek Holý

Algoritmizace. 1. Úvod. Algoritmus

Datové struktury 2: Rozptylovací tabulky

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

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

4. Úvod do paralelismu, metody paralelizace

Transkript:

UMĚLÁ INTELIGENCE ARTIFICIAL INTELLIGENCE (AI) Motto: Přirozená inteligence bude zřejmě brzy překonána inteligencí umělou, avšak přirozenou blbost umělá nikdy překonat nedokáže. Jára da Cimrman 1 ÚVOD DO UMĚLÉ INTELIGENCE Mnoho matematických disciplín bylo a stále je silně ovlivňováno přírodou a snahami přiblížit se přírodě. Čím více o přírodě víme, tím více jsme fascinováni její jednoduchostí a téměř dokonalou funkčností. S rostoucí výkonností výpočetní techniky se přirozeně mění i požadavky na třídy úloh, které jsou na počítačích řešeny. Stále častěji jsou počítače využívány k řešení takových úloh, u kterých by musel člověk při jejich řešení, využívat svou inteligenci. Je samozřejmé, že tvorba programů, u kterých se objevují prvky jakési umělé inteligence, vyžaduje nové přístupy, teorie, metody a techniky. V čem spočívá složitost problému a jaké vlastnosti a znaky má jeho inteligentní řešení? Složitost problému lze ohodnotit počtem všech variant, které připadají při řešení v úvahu. Řešitel úlohy, který postupuje inteligentně prohledává jenom nadějné varianty a ty, které nedávají dostatečnou šanci na úspěch, vynechává. Čím více neperspektivních variant oprávněně vynechá, tím inteligentnější se řešení jeví. Mechanismus, který umožňuje řešiteli některé varianty hned odmítnout, je založen na využívání znalostí. V řadě případů, zejména při diagnóze, predikci chování a řízení složitých, obtížně poznatelných a obtížně měřitelných systémů, jsou v praxi úspěšně využívány závěry, které odvozuje zkušený operátor expert. Tyto znalosti jsou jednak přebírány od člověka, který je schopen úlohu inteligentně řešit, jednak analýzou případů, kdy je známo zadání úlohy a její inteligentní řešení. Znalosti mohou mít jednak exaktní charakter (teorémy, fyzikální zákony apod.), jednak mohou být tvořeny heuristickými poznatky. Heuristické poznatky nebývají podloženy hlubší teorií, velmi často však pomáhají účinně nalézt řešení, přesto však obecně nalezení řešení negarantují. Heuristické znalosti chápeme pouze jako neexaktní návod k řešení. Při řešení problému pak expert využívá principiálně jednoduchých nenumerických algoritmů, které mu umožňují kombinovat objektivní a subjektivní znalosti při odvozování závěrů při řešení problémů, rozhodování nebo řízení. 1.1 Co je to inteligence? Chceme-li se zabývat umělou inteligencí, je nutné nejprve definovat inteligenci přirozenou, protože se ji umělá inteligence snaží napodobovat. To je ale velmi komplikovaný úkol, protože dosud neexistuje obecně uznávaná definice. Inteligence je obvykle považována za vlastnost živých organismů, která jim umožňuje reagovat na složité projevy okolního prostředí a využívat je aktivně ke svému prospěchu a k dosažení svých cílů. Inteligence je schopnost účinně a rychle řešit obtížné nebo nové situace a problémy a na základě vlastní úvahy, nacházet podstatné prvky a jejich souvislosti. Rozlišuje se inteligence obecná (jakýsi společný jmenovatel všech typů jednání vyžadujících inteligenci) a inteligence speciální, která v určitých oblastech doplňuje inteligenci obecnou. Pojem inteligence lze jen obtížně přesně vymezit, neexistuje žádné objektivní měření inteligence. Různé druhy inteligence se objevují u lidí, u řady zvířat, ale i u některých strojů a zařízení. Zatím se nepodařilo obecně charakterizovat, který druh výpočetních postupů a rozhodování lze považovat za inteligentní. Některým inteligentním postupům při výpočtech a rozhodování jsme totiž už porozuměli, -1-

ovšem jiným zatím ne. Inteligence zahrnuje určité mechanismy a tak se výzkum v oblasti AI zaměřuje na vytváření počítačových systémů, které některé z těchto mechanismů dokáží provádět. Aby byla taková úloha splněna, musí být příslušný mechanizmus dobře prozkoumán, protože počítačový program dokáže pouze plnit danou úlohu, tuto činnost však zvládá velmi efektivně. Intelekt Soubor rozumových schopností a dispozic - duševní schopnost, která je vlastní pouze člověku a je předpokladem myšlení. Umožňuje provádět takové myšlenkové úkony, které přímo nevyplývají z existujících situací, podmínek nebo údajů. Inteligence Schopnost účinně a rychle řešit na základě vlastní rozvahy obtížné nebo dosud neznámé situace a problémy, nacházet podstatné prvky a jejich souvislosti a vztahy. Inteligenční kvocient IQ Míra inteligence vyjádření vztahu mezi dosaženou rozumovou úrovní člověka a jeho věkem. Původně hodnotil nárůst inteligence u dětí. IQ a byl definován jako stonásobek poměru věku, při kterém by mělo hodnocené dítě splnit určitý soubor úkolů ke skutečnému věku dítěte. Podobný test byl později sestaven i pro dospělé. IQ je kvantitativní ukazatel výkonu při testech inteligence. I když hodnota IQ není objektivní mírou inteligence, přesto velmi dobře koreluje s mírou úspěchu či neúspěchu člověka v životě. Asi ½ populace má průměrné IQ tj. 90-100. Hodnoty nižší označují podprůměrný výkon, hodnoty nad 110 jsou nadprůměrné. U počítačů však nemá hodnocení pomocí IQ žádný význam, neexistuje žádná korelace IQ s užitečností počítače. 1.2 Co to je umělá inteligence? Umělá inteligence je vědní oblast, která se zabývá vytvářením inteligentních strojů, zejména inteligentních počítačových programů. Tvoří ji souhrn stále se vyvíjejících a vzájemně prorůstajících oborů. Jejich hranice nejsou nijak zřetelně definovány a dynamicky se mění. Interakce mezi disciplinami jsou mimořádně silné a také se dynamicky mění. Jednotlivé části AI se stávají mnohdy samostatnými vědními disciplínami. AI představuje postupy a algoritmy, které napodobují chování člověka, nemusí se však omezovat pouze na napodobování. Někdy řeší umělá inteligence problémy, které vyžadují obrovské množství výpočtů, které by člověk sám nikdy nemohl provést. AI řeší úlohy tak složité, že člověk při jejich řešení musí uplatňovat svou inteligenci. Složitost úlohy je obvykle hodnocena počtem všech variant, které je nutno k vyřešení problému prověřit. Inteligentní postup však neprověřuje všechny možné varianty, ale pouze takové, které dávají určitou šanci na získání správného řešení. Podstatou takového postupu je využívání znalostí a zkušeností. Pro vysokou efektivitu systémů umělé inteligence mají rozhodující význam použité znalosti, zatímco obecný formální aparát pro řešení úloh poskytuje pouze nástroj pro řešení, má tedy druhořadý význam. Základním problémem umělé inteligence není odhalení několika efektivních technik, ale spíše otázka, jak reprezentovat velké množství znalostí ve tvaru, který by dovoloval jejich efektivní využívání a interakci. Důraz je kladen na znalosti spíše než na mechanismy jejich využívání. Umělá inteligence představuje soubor metod, teoretických postupů a specializovaných počítačových programů, určených ke strojovému řešení složitých problémů. Je to tedy vědní obor, který se zabývá vývojem technologií a programů pro provádění činností, o kterých se obvykle domníváme, že vyžadují lidskou inteligenci. Tento vědní obor se rozdělil na řadu dílčích podoborů, které se pokoušejí lépe porozumět mechanismům lidské inteligence -2-

rozpoznávání, reprezentace znalostí, řešení úloh, kvalitativní modelování, strojové učení, plánování a rozvrhování, neuronové sítě. Na tyto části navazuje problematika počítačového vidění, zpracování přirozeného jazyka, problematika speciálních programovacích jazyků pro umělou inteligenci, expertní systémy a znalostní inženýrství. Výsledky řešení jednotlivých problémů pak netvoří součást umělé inteligence, ale přecházejí do oborů, ve kterých byly aplikovány. Výzkum umělé inteligence lze rozdělit do dvou základních směrů: teoretický výzkum studium jednotlivých intelektuálních mechanizmů a jejich souvislostí s řešenými problémy experimentální výzkum testování algoritmů umělé inteligence a ověřování jejich vhodnosti a způsobilosti k řešení jednotlivých specifických úloh 1.3 Definice umělé inteligence Minského definice Umělá inteligence je věda o vytváření strojů a systémů, které při řešení určitého úkolu užívají takový postup, který by, kdyby tak postupoval člověk, mohl být považován za projev jeho inteligence. Definice E. Richové Umělá inteligence se zabývá počítačovým řešením takových úloh, které dnes zatím lépe zvládají lidé. Kotkova definice Umělá inteligence je vlastnost člověkem uměle vytvořených systémů vyznačujících se schopností rozpoznávat předměty, jevy a situace, analyzovat vztahy mezi nimi a tak vytvářet vnitřní modely světa, ve kterých tyto systémy existují. Na tomto základě pak přijímají účelná rozhodnutí, předvídají důsledky těchto rozhodnutí a objevují nové zákonitosti mezi různými modely nebo jejich skupinami. Umělá inteligence se pokouší převádět funkce živého organismu na neživé stroje. Snahou je rozpoznat a formulovat funkce přirozené inteligence tak, aby tyto funkce mohly být využity při návrhu strojů a zařízení. Do oblasti umělé inteligence zařazujeme takové úlohy, při jejichž řešení používá člověk inteligentní postup. Slabým místem takové definice AI je mlhavost a obtížná měřitelnost pojmu inteligentní postup. 1.4 Historie a současnost umělé inteligence Původně vznikla umělá inteligence pouze pro použití v robotice. Roboti s prvky AI dostali označení kognitivní (= vnímavý, hodnotící). Počítačové AI použila ve větším měřítku NASA k řízení a kontrole letu družic. Je zřejmé, že základem AI je počítač, bez počítače by nebylo AI. Podle toho, jakou roli hraje počítač v AI, dělíme umělou inteligenci do dvou skupin: slabá počítač je pouze užitečný nástroj silná počítač přímo myslí a pomocí programu i chápe 1.4.1 Historický vývoj: r.1941 První použití elektronického počítače v Německu využíván převážně pro vojenské účely výpočet drah raket V1 a V2. r.1950 Objevení principu zpětné vazby (Norbert Wiener). -3-

r.1955 Autoři A.Newell a H.A.Simon vyvinuli The Logic Theorist, považovaný za první program AI. Program reprezentuje každý problém jako stromový model (tree model) a řešení spočívalo v hledání větve, jejíž výsledek byl s největší pravděpodobností ten správný. r.1956 Otec AI, John McCarthy, zorganizoval konferenci o strojové inteligenci ve Vermontu The Dartmouth Summer Research Project on Artificial Inteligence. r.1957 Testování první verze programu The General Problem Solver 1. r.1958 John McCarthy vytvořil jazyk AI vývojářů LISP (LISt Processing) = zpracování seznamů. r.1963 Na Carnegie Mellon a na MIT se zformovala první centra výzkumu AI. 70. léta Nástup expertních systémů rozvoj systémů rozeznávání obrazů - objev fuzzy logiky a neuronových sítí. r.1972 Vytvoření jazyka PROLOG 2 (PROgramming in LOGic). r.1976 Expertní systém MYCIN (používaný k diagnóze chorob). 1.4.2 Porovnání rozsahu úlohy a času na její řešení Některé problémy řadíme do skupiny tzv. nondeterministic polynomial (NP) problémy. Jsou to problémy kombinatorického charakteru, kdy počet alternativ narůstá faktoriálně s počtem uvažovaných prvků systému. Hovoříme o tzv. kombinatorické explozi. Např. pro 10 úrovní a 10 možnostech v každé úrovni existuje 10 miliard možných kombinací. Řešení takových problémů je v polynomiálně omezeném čase (výpočetní čas je úměrný nějaké mocnině počtu prvků) výpočetně nezvládnutelný. Bez ohledu na rychlost prováděných operací na počítači bude vždy existovat horní hranice rozměru systému, který je řešitelný v rozumném čase. Pro ilustraci časové nezvládnutelnosti problémů faktoriálního charakteru lze uvést srovnání potřebných časů výpočtu pro soubory o daném počtu prvků. Dobu provedení jedné operace uvažujeme 1 μs. operace Počet operací (n) 5 10 50 100 n 5 μs 10 μs 50 μs 100 μs n 3 125 μs 1 ms 125 ms 1 s 2 n 32 μs 1,024 ms 35,7 let 4,02.10 16 let n! 120 μs 3,6288 s 9,644.10 50 let 2,96.10 144 let Tabulka 1 - Doba výpočtu při počtu prvků v souboru n 1 hod = 3 600 s 1 den = 86 400 s 1 rok = 31 536 000 s 1 GPS byl navržen jako univerzální nástroj pro řešení různých problémů. Byl prvním počítačovým programem, který oddělil znalosti o problému od strategie řešení problému. Autoři vycházeli z představy, že lidské myšlení se uskutečňuje koordinovanou manipulací se symboly, jako je např. vyhledávání, porovnávání, slučování, modifikace, nahrazování, rušení. Takovýto systém při řešení úlohy postupoval krok za krokem od počátečního stavu do stavu cílového. Novým prvkem se stalo rozkládání složitějších úloh na jednoduché podúlohy. Řešení má potom tvar stromu. 2 Prolog je logický programovací jazyk. Patří mezi tzv. deklarativní programovací jazyky, ve kterých programátor popisuje pouze cíl výpočtu, přičemž přesný postup, jakým se k výsledku program dostane, je ponechán na libovůli systému. -4-

Obecně se soudí, že čím méně neúspěšných variant se analyzuje, tím je takový postup inteligentnější. V oblasti umělé inteligence existuje soubor deseti úloh, které jsou považovány jako test při rozhodování, zda je systém obdařen umělou inteligencí nebo ne: Nalezení optimální varianty na základě daných kritérií Schopnost učení ze zkušenosti předcházející zkušenost ovlivňuje rozhodování v budoucnu Úlohy o podobnosti nalezení znaků podobnosti Adaptace (schopnost učení) při změnách okolních podmínek Schopnost řízení paralelních procesů Schopnost pokračování i při neúplné informaci Schopnost abstrakce zjednodušování problému Schopnost generalizace opak abstrakce konstrukce obecného závěru Schopnost predikce Rozvrhování činností využití schopností systému v jiném prostředí V praxi se obvykle jedná o kombinaci schopností řešit některé z daných úloh, některé jsou řešeny lépe, jiné hůře. Taková kombinace potom určuje výslednou inteligenci systému (to platí i o inteligenci přirozené). 2 Rozdělení umělé inteligence Rozdělit umělou inteligenci na různé obory a podobory je velmi obtížné. Ty jsou totiž velmi často těsně svázány. Pro větší přehlednost je ale vhodné se o nějaké rozčlenění pokusit. Rozdělme tedy tento vědní obor na dvě části. První část budou jednotlivé obory umělé inteligence. Druhou skupinu budou tvořit techniky, které umělá inteligence využívá ve většině oblastí, do kterých proniká. 2.1 Obory umělé inteligence Umělou inteligenci svým rozsahem spadá do mnoha oblastí lidské činnosti. Byla vyvinuta řada technik a přístupů přičemž některé z nich jsou uvedeny v následujícím stručném přehledu. Neuronové sítě Jsou jedním z výpočetních modelů používaných v umělé inteligenci. Je to struktura určená pro distribuované paralelní zpracování dat. Jejím vzorem je chování odpovídajících biologických struktur. Používají se mimo jiné pro rozpoznávání a kompresi obrazu nebo zvuku či předvídání vývoje časových řad (např. burzovních indexů). Genetické algoritmy Používají techniky napodobující evoluční procesy známé z biologie - dědičnost, mutace, přirozený výběr a křížení. Používají se k řešení optimalizačních úloh. Strojové učení Do této oblasti spadají algoritmy a techniky, které umožňují počítačovému systému 'učit se'. Učením v tomto kontextu rozumíme takovou změnu vnitřního stavu systému, která zefektivní schopnost přizpůsobení se změnám okolního prostředí. Strojové učení se využívá například v biomedicínské informatice (tzv. systémy pro podporu rozhodování), při rozlišení nelegálního užití kreditních karet nebo při rozpoznávání řeči a psaného textu. -5-

Expertní systémy Jedná se o počítačové programy, které mají za úkol poskytovat expertní rady, rozhodnutí nebo doporučovat řešení v konkrétní situaci. Jsou navrženy tak, aby mohly zpracovávat nenumerické a neurčité informace a řešit tak úlohy, které nejsou řešitelné tradičními algoritmickými postupy. Mají dvě základní komponenty, které jsou na sobě relativně nezávislé. Řídící mechanismus pro odvozování závěrů a bázi znalostí. Expertních systém může být využíván ke čtyřem různým úkolům. Můžou sloužit jako rádce. V tomto režimu shromažďují a poskytují specializované expertní znalosti. V režimu knihovník pomáhají lidem hledat, organizovat a interpretovat informace potřebné k řešení úloh. Jako asistent zabezpečují řešení některých rutinních úloh a umožňují lidem věnovat se kreativnějším aspektům řešení úkolu. Jako instruktor pomáhají uživatelům získávat potřebné znalosti a řešit úkoly. Rozpoznávání Úloha rozpoznávání spočívá v zařazování objektů, popř. jevů a situací reálného světa, do tříd. Každý z posuzovaných objektů je při dostatečně podrobném popisu jedinečný. 2.2 Techniky umělé inteligence Do této oblasti lze zařadit různé techniky pro ukládání znalostí. Rovněž zde patří algoritmy, které jsou využívány při prohledávání stavového prostoru. 2.2.1 Reprezentace znalostí K reprezentaci znalostí lze využít několika různých přístupů. V následujícím textu jsou uvedeny čtyři postupy, které lze využít pro ukládání informací. Predikátorová logika K ukládání znalostí se využívá predikátorové logiky 1. řádu. Jazyk predikátové logiky se skládá z: 1. logických symbolů.: a) spočetné množiny individuálních proměnných b) výrokových logických spojek:,,,, c) obecného kvantifikátoru a existenčního kvantifikátoru 2. speciálních symbolů.: a) Množiny predikátových symbolu (nesmí být prázdná) b) Množiny konstantních symbolu (muže být prázdná) c) Množiny funkčních symbolu (muže být prázdná) 3. pomocných symbolů, jako jsou závorky (, [,),] a čárka. Každý predikátorový a funkční symbol má přiřazené celé číslo, které určuje kolik argumentů symbol přijímá (tzv. četnost). Konstanty jazyka chápeme jako funkční symboly četnosti nula. Pro přehlednost budeme značit predikátové symboly velkými písmeny, konstantní a funkční symboly malými písmeny. Proměnné se rovněž budou značit malými písmeny. Funkční a predikátorové symboly lze taky chápat jako slova jazyka. Množina funkčních a predikátorových symbolů představuje slovník, ze kterého s využitím proměnných, logických spojek a kvantifikátorů tvoříme formule, které můžeme považovat za věty. Proto lze množinu všech vět a predikátorových symbolů ztotožňovat s jazykem. -6-

PŘÍKLAD Úkolem je popsat pomocí predikátorové logiky uspořádání krychlí na pracovní ploše robota. Máme celkem 3 krychle různé barvy modrou, zelenou a žlutou. Žlutá krychle leží na pracovní podložce, zelená leží na žluté a modrá na zelené. Definujme objekty a relaci podpírá Relace podpírá má četnost dva, kde první proměnná udává spodní kostku a druhá kostku na ní ležící. V této interpretaci jsou splněny formule Ale například formule splněna není. Produkční systémy Produkční systém je tvořen třemi částmi: 1. Souborem produkčních pravidel ve tvaru. Situační část pravidla popisuje podmínku, za které může být pravidlo použito. Pravidla jsou uložena v paměti produkčních pravidel. 2. Pracovní pamětí, též nazývanou báze dat. V ní jsou uložena jak počáteční data, tak i data odvozená. Tato část paměti popisuje okamžitý stav řešené úlohy. 3. Inferenčním strojem, který je také nazýván interpret pravidel. Provádí porovnání dat v pracovní paměti s produkčními pravidly. Vybírá pravidla vhodná k vykonání a provede příslušnou akci. Produkční systém pracuje obvykle v cyklu. Sémantické sítě V sémantických sítích jsou znalosti reprezentovány pomocí objektů (entit) a binárních či víceargumentových relací mezi nimi (víceargumentovou relaci lze vždy převést na množinu relací binárních). Sémantické sítě mají přirozenou grafovou reprezentaci. Každý uzel grafu odpovídá jistému objektu a každá hrana odpovídá binární relaci. V sémantických sítích lze výhodně vyjadřovat vztahy množinové inkluze a příslušnosti k množině. Ty umožňují efektivně reprezentovat hierarchické uspořádání objektů. Pak lze přímočaře provádět odvozování specializací (informace se přenášejí od obecnějších typů ke specializovanějším) či generalizací. V jedné sémantické síti mohou být znalosti asociovány z mnoha různých hledisek. -7-

PŘÍKLAD Mějme tři osoby Karla, Marii a Jiřího. Karel dluží Marii a Jiřímu. Definujme relaci půjčka, která dává do vztahu dlužníka a věřitele v tomto pořadí. Potom platí: Grafický lze vztahy znázornit obrázkem is-a půjčka is-a půjčka 1 půjčka 2 Dlužník Dlužník Věřitel Věřitel Karel Marie Jiří Rámce Rámce jsou dalším schématem reprezentace znalostí, které používá k popisování objektů v bázi znalostí. Stejně jako u sémantických sítí jsou informace sdružovány podle podobné sémantiky. Rámce se skládají z položek, které slouží k popisu jednotlivých vlastností objektu. V průběhu užívání rámce nabývají položky konkrétních hodnot. Rámce budeme zapisovat pomocí tabulek. Například JMÉNO RÁMCE: Srub položky: ČÍSLO RÁMCE: 1 IS-A: stavba OKNO: dřevěné TOPENÍ: na dřevo STŘECHA: šindelová Položka ČÍSLO RÁMCE slouží jako identifikátor. Popis položek se skládá z jejího jména (např. okna) a z hodnoty (např. dřevěná). Jména položek odpovídají hranám sémantických sítí, jejich hodnoty uzlům. Rámce však umožňují dále členit jednotlivé položky, což umožňuje zaznamenávat další informace o popisované vlastnosti objektu. Položky dělíme na fasety. Protože jsou položky dále členěny, stává se původní hodnota položky pouze jednou z faset. Její jméno je hodnota položky a do této fasety uložíme příslušný údaj. Tedy například okno má fasetu hodnota, která obsahuje údaj dřevěné. V tabulce budeme zapisovat položku takto: -8-

JMÉNO RÁMCE: Srub položky: ČÍSLO RÁMCE: 2 IS-A: stavba OKNO: hodnota: dřevěné TOPENÍ: na dřevo STŘECHA: šindelová V rámci číslo 1 měla tedy každá položka jedinou fasetu, a to právě svoji hodnotu. Vzniku nekonzistence při dědění hodnoty se zabraňuje přidáním fasety předpokládaná hodnota. Ta může být buď vyplněna děděním, nebo může být zadána. Existence předpokládaných hodnot umožňuje vyšetřovat položky pouze tehdy, když nastává ve znalostech nesouhlas. Tento způsob odpovídá našim představám o inteligentním chování (např. přijdeme-li ráno k autu, kde jsme večer nechali půl nádrže benzínu, předpokládáme, že benzín v nádrži je). Ke každé fasetě může být přiřazen jeden či několik démonů. Démon je spící procedura, která se aktivuje, nastane-li určitá událost (např. démon if cleared se spouští při mazání obsahu fasety). -9-