Umělá Inteligence
Umělá inteligence je vědní disciplína věnující se tvorbě počítačových programů řešících složité úlohy s takovými výsledky, které bychom považovali při řešení stejných úloh člověkem (expertem v daném oboru) jako projevy jeho přirozené inteligence. Pro oblast umělé inteligence jsou charakteristické právě takové úlohy, které numerickými prostředky lze popsat jen velmi obtížně nebo vůbec ne.
Příklady využití UI Diagnóza pacienta, diagnostika Parkinsonovy nemoci Rozhodovací proces Optimalizace Reakce spotřebitele na nabídku Předpověď počasí, bankrotů, kurzů Rozpoznání textu, ověřování podpisů Překlad textu Samo řídící auta
Možnosti manažera PRAXE UMĚLÁ INTELIGENCE expertní systémy exaktní metody neuronové sítě prakticky ověřené postupy a pravidla fuzzy systémy pravidla s neurčitostí genetický algoritmus heuristický přístup hybridní systémy Pokud existuje přesný algoritmus řešení, umělou inteligenci vůbec nepoužijeme. Příkladem může být účetnictví, výpočet daní a pojistného apod. Exaktní metody (založeny na přesných výpočtech, co nejpřesnějších měřeních a přísně testovaných hypotézách, takže dovoluje kvantitativní předpovědi. Matematické modely.) Pravidla s neurčitostí (výpočet pojistného) Heuristický přístup (zkusmé řešení problémů, pro něž neznáme algoritmus nebo přesnější metodu. Heuristické řešení je často jen přibližné, založené na poučeném odhadu, intuici, zkušenosti nebo prostě na zdravém rozumu.)
Expertní (Znalostní) systémy Počítačové programy, simulující rozhodovací činnost experta při řešení složitých úloh. Využívají vhodně zakódovaných, explicitně vyjádřených znalostí, převzatých od experta. Cílem je dosáhnout ve zvolené problémové oblasti kvality rozhodování na úrovni experta. Znalostní systémy je podle staršího pojetí obecnější pojem než expertní systém. V poslední době dochází ke stírání rozdílů mezi těmito pojmy Expertní systémy tedy lze chápat jako zvláštní typ znalostních systémů, který se vyznačuje používáním expertních znalostí a některými dalšími rysy, jako je např. vysvětlovací mechanismus
Způsob získání znalostí Od expertů, inženýrů Strojové učení z textů, databáze Znalostní databáze Inferenční mechanismus Znalostní inženýr získá znalost od doménových expertů a zpracuje ji. Výsledkem je modelovaná znalost, která se ukládá do tzv. báze znalostí. Dalším úkolem je navrhnout mechanismus, jak se bude znalost zpracovávat, aby koncoví uživatelé dostali příslušné závěry. Důležitá je také tvorba vhodného uživatelského rozhraní, jak tuto znalost poskytnou koncovým uživatelům ve srozumitelné a uživatelsky přívětivé formě. Nedílnou součástí celého procesu je údržba znalostí, která by měla být přirozeně začleněna do celého procesu, čímž se podporuje evoluce celého systému. Expert Znalostní inženýr
Architektura ES Báze znalostí Znalostní inženýr, expert Prázdný ES Vysvětlovací modul Inferenční mechanismus Modul akvizice znalostí, získání znalostí Za jádro znalostních systémů lze považovat bázi znalostí, která obsahuje znalosti lidí (expertů) v určité komprimované formě a z určité problémové oblasti. Existuje více způsobů reprezentace znalostí. Obvykle jsou však reprezentovány fakty a pravidly. Fakt je jasné a stručné prohlášení (tvrzení), které je pravdivé uvnitř zkoumané problémové oblasti. Například Vzdálenost z místa A do místa B je X km. Osoba A má dítě B. Osoba A je muž. atd. Nejpoužívanější třídou znalostních systémů jsou systémy, ve kterých jsou pravidla zapsána ve tvaru: IF tvrzení_1 THEN tvrzení_2, Například If osoba A má dítě X AND osoba A je muž THEN osoba A je otec. Druhou důležitou součástí znalostního systému je odvozovací mechanismus, tj. Mechanismus (resp. nástroj), který prohlíží fakty, pravidla a zajistí odpověď na požadovaný dotaz. Uživatelské rozhraní Rozhraní k jiným systémům Další programy, měřicí přístroje, … Uživatel
ES příklady Ikea Cleverbot: http://www.cleverbot.com/ Prolog Ikea.cz – zeptej se Anny. Cleverbot má svou vlastní databázi odpovědí a algoritmy , ze kterých si vybere nejoptimálnější řešení pro každou situaci http://www.cleverbot.com/amused Virtual Assistants - Siri, Syn Virtual Assistant, Google Now , S-Voice - Are developed by their respective companies for assisting users in their day to day task Upozornění! Prolog se po nalezení prvního vyhovujícího řešení zastaví. ENTER – další řešení se nevyžaduje SPACE – nalezni další řešení pokud existuje Pokud dotaz neobsahuje proměnnou odpověď bude pouze YES nebo NO.
Pro/Proti Nonstop Náročnost při změně Nižší náklady Bez intuice Bez únavy Získávání znalostí Vysvětlení výroku
Neuronové sítě Inspirovány poznatky o neuronech a nervových sítích živých organizmů Schopnost učit se Využití pro klasifikaci, predikci a aproximaci S učitelem, bez učitele Predikce znamená předpovídání výstupní hodnoty jisté veličiny na základě jejího průběhu v minulosti. Při predikci jde o to, abychom v průběhu nějaké známé číselné řady, jejíž hodnoty se mění v závislosti na některém nezávisle proměnném parametru sledovaného jevu (tím může být kterákoliv fyzikální veličina, ale i čas) nalezli co nejpravděpodobnější průběh nezávislé proměnné. Aproximace spočívá v přibližném určení hodnoty, kterou není možné nebo výhodné určit, přesným způsobem Rozpoznávání je rozhodováním na základě vstupního vektoru o tom, do které třídy (kategorie) předmět, daným vektorem popsaný, zařadit. Někdy se místo o rozpoznávání mluví o klasifikaci.
Vícevrstvá neuronová síť Y Výstupní neuron Level 2 Skrýté vrstvy Level 1 Vstupní neurony (Level 0) X1 X2 X3 X4 X5
Tělo neuronu
Používané funkce Skoková funkce (hardlim) Skoková limitní funkce (hardlims) Lineární přechodová funkce (pureline) Saturační lineární funkce (satlin) Sigmoidální funkce (logsig) Hyperbolická tangenciální sigmoidální funkce (tansig)
vyuka(Velikost úvěru, velikost závazků, Hodnocení klienta). Příklad – Úvěr O poskytnutí úvěru se bude rozhodovat na základě následujících 3 atributů: Velikost úvěru (malý – 1, střední – 2, velký – 3) Velikosti závazků klienta (malé – 1, střední – 2, velké – 3) Hodnocení klienta (výborný – 1, průměrný – 2, špatný-3) Klauzule výukového souboru: vyuka(Velikost úvěru, velikost závazků, Hodnocení klienta). Všechny atributy zadávat reálným číslem z intervalu <1;3>
Neuronová síť Příklad úvěr: 3,3,1 Y X1 X3 X5
Pro/Proti Možnost učení Nelze zdůvodnit řešení Nejsou potřeba pravidla Rychlé provádění výpočtu Pro neuronové sítě platí zejména: možnost učení, nelze zdůvodnit řešení.
Fuzzy systémy Zavádění nejistoty (základní znak komunikace v přirozeném jazyce). Využití: Fotoaparát s automatickým vyhledáváním centrálního bodu pro zaostření (Minolta) ABS, řízení motoru, volnoběhu a klimatizace (Honda, Nissan) Řízení výtahů (Mitsubishi) Elektrospotřebiče (pračky) Fuzzy množiny a Fuzzy logika
Fuzzy pravidla Klasická pravidla Fuzzy pravidla
Základní bloky fuzzy řízení Fuzzifikace: transformace konkrétních hodnot do normalizovaného tvaru a přiřazení stupně příslušnosti do jedné nebo více fuzzy množin Inference: definování pravidel Agregace: složení fuzzy množin, výsledkem je jedna fuzzy množina Defuzzifikace: transformace agregované fuzzy množiny na konkrétní hodnotu.
Příklad – nový výrobek Vedení firmy má pro rozšíření výroby vybrat nový výrobek. Jako kandidáti se nabízejí výrobky V1-V5. Zvolit se musí výrobek, který nejlépe splňuje všechny cíle a podmínky. Pro výběr nejvhodnějšího výrobku jsou stanoveny následující cíle, podmínky a přiřazeny váhy: Cíle Dosažení (spíše) velkého zisku Nezanedbatelné zvýšení zaměstnanosti Nízké realizační náklady Podmínky Krátká doba realizace Nezatěžování životního prostředí
Realizační náklady (mil.Kč) Očekávání Výrobek Roční zisk (mil.Kč) Nová prac.místa Realizační náklady (mil.Kč) Doba Realizace Nebezp. odpad (kg) V1 1,5 30 150 15 12,5 V2 2,5 40 100 20 V3 10 V4 3 50 125 25 5 V5 4 70
Fuzzy množiny
Převod na stupeň jistoty Výrobek Roční zisk Nová prac.místa Realizační náklady Doba Realizace Nebezp. odpad V1 1 0,75 0,25 V2 0,5 V3 V4 V5 0,7
Nejlepší varianta Důležitost 5 10 4 3 8 30 W 0,17 0,34 0,13 0,1 0,26 Výrobek Roční zisk Nové prac.místa Náklady Doba realizace Nebezpečný odpad Vážený součet V1 1 0,75 0,25 0,48 V2 0,5 V3 0,44 V4 0,74 V5 0,7 Z vektoru důležitosti vypočítáme normalizovaný vektor W. 𝑤𝑖= ℎ𝑖 ℎ𝑖 Následně provedeme vážený součet: váhy a kritéria.
Genetický algoritmus Inspirace v přírodě Hledání optimálního řešení Klasické metody jsou časově náročné nebo nelze řešit
Genetické algoritmy Inicializace Selekce Křížení Mutace ne Konec ano Náhodná generování výchozí populace Inicializace Náhodná výměna části chromozónů Výběr nej jedinců pomocí evaluační funkce Selekce Křížení Mutace ne Náhodná změna genu jedince Konec Chromozom – posloupnost znaků/čísel do které je zakódováno řešení Jedinec – jedno řešení zadané úlohy Populace – množina aktuálních řešení úlohy Kódování – systém, který řešení úlohy zakóduje do chromozomu Fitness Funkce – funkce, která každému jedinci přiřadí hodnocení Konvergence – proces přibližování se ke správnému řešení Křížení – operace, při které vzniká nový jedinec kombinací několika jiných Mutace – operace, při které vzniká nový jedinec náhodnou změnou jiného ano Ukončení
Příklady Optimalizace kusovníku Formule 1 Identifikace zločinců
Lze definovat exaktní pravidla ze zkušenosti experta. Nemožnost učení. Nelze definovat exaktní pravidla, určitá nejistota a vágní pojmy. Existují vzorové situace. Lze sestavit soubor vstupních a korespondujících výstupních vektorů systému. Možnost učení. Hledání optimálních řešení. Nejsou potřeba pravidla. Řešení: Expertní systém Expertní systém, Fuzzy systém, Geneticky algoritmus Fuzzy systém Neuronové sítě Genetický algoritmus Neuronové sítě, Fuzzy systémy