Umělá Inteligence II. 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.
Možnosti manažera expertní systémy neuronové sítě fuzzy systémy genetický algoritmus hybridní systémy
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 Vágní pojmy jako např. vysoká, nízká, velký, malý, průměrný atd. jsou slovní hodnoty, které reprezentují spíše interval hodnot, než-li jednu hodnotu. Odvozovaní, resp. tvorba závěrů na základě vágní informace, je předmětem fuzzy logiky. Fuzzy množiny i fuzzy logika tvoří teoretický základ fuzzy expertních systémů. Nechť X je množina objektů x, fuzzy množina A na X je A = {(x, μA(x)) | x ∈ X}, (4.1) kde μA(x) je charakteristická funkce (resp. funkce příslušnosti) definující stupeň přislušnosti prvku x do množiny A. Interval hodnot stupně příslušnosti μ může byt zvolen libovolně, obvykle je však 0 ≤ μ ≤ 1. Stupeň jistoty 0 znamená, že prvek nepatři do dane množiny a 1, že prvek patří do dané množiny. Tedy na rozdíl od klasických množin, je fuzzy množina definovaná nejen prvky teto množiny, ale i stupněm příslušnosti prvku k dané množině. Hodnoty charakteristické funkce klasické (ostré) množiny jsou buď 1, když objekt patři do množiny nebo 0, když objekt nepatři do množiny. Charakteristické funkce μ(x) se tvoři různým způsobem. Nejčastěji však výběrem odpovídající třidy funkci (trojúhelníkových, lichoběžníkových, zvonových)
Základní operace s fuzzy množinami Doplněk množiny A je množina A = {x; x 6∈ A}. Je-li A fuzzy množina s charakteristickou funkci μA(x), pak μA(x) = 1 − μA(x) Sjednoceni fuzzy množiny A s charakteristickou funkci μA(x) a fuzzy množiny B s charakteristickou funkci μB(x)je fuzzy množina A ∪ B s charakteristickou funkci μA∪B(x) = max[μA(x), μB(x)]. Průnik fuzzy množin A a B je fuzzy množina A ∩ B s charakteristickou funkci μA∩B(x) = min[μA(x), μB(x)].
Lingvistické proměnné a operátory Lingvistická (slovní) proměnná Malý, střední, velký Jazykové modifikátory (operátory) Velmi, více méně, značně, slabě Názvy těchto operátorů nejsou závazné, stejně jako názvy fuzzy množin i názvy modifikátorů lze volit v závislosti na oblasti použiti. Například modifikátor velmi se hodí k fuzzy množinám nízký a vysoký, ale méně vhodný bude pro fuzzy množiny neposkytnou a poskytnout.
Fuzzy pravidla Klasická pravidla Fuzzy pravidla Klasická logika hodnotí soudy buď jako pravdivé nebo jako nepravdivé. Žádné jine soudy typu „téměř, „spíše ano, „spíše ne“ nejsou přípustné, tj. v klasické logice sledovaný prvek buď patři nebo nepatři do dane množiny. Podmínka, podle které se rozhoduje o příslušnosti objektu k dane množině, může byt pravdivá nebo nepravdivá. V určitých situacích je ale vhodné znát, jaký je stupeň pravdivosti podmínky, podle které se rozhodovaní provádí. Tedy zatímco každý výrok klasické logiky je pouze pravdivý nebo nepravdivý, ve fuzzy logice je pravda a nepravda záležitost stupně pravdivosti (příslušnosti).
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.
Příklad - konkurz Požadavek Uchazeči Váha Karel Jan Petr Pavel Jiří VŠ manažerského směru 4 0,8 0,9 0,5 0,3 Odborná praxe 2 0,4 0,65 1 0,7 Úroveň jaz. znalostí 1 0,6 Úroveň jaz. znalostí 2 Zdravotní stav 3 Rodinný stav
Výsledek Požadavek Uchazeči Váha Karel Jan Petr Pavel Jiří VŠ manažerského směru 4 0,8 0,9 0,5 0,3 Odborná praxe 2 0,4 0,65 1 0,7 Úroveň jaz. znalostí 1 0,6 Úroveň jaz. znalostí 2 Zdravotní stav 3 Rodinný stav Pesimistické hledisko 14 Akceptování vah 0,714 0,736 0,729 0,621 Pesimistické hledisko neakceptuje váhy, všechny kritéria jsou pro mne stejně důležité. Vybírám „nejlepší z nejhoršího“. Př. Karel splňuje nejhůře kritérium rodinný stav (0). Pavel má největší hodnotu ze všech, tedy by byl vybrán jako vhodný kandidát. Pokud mám různé váhy, použiji vážený součet. Pomocí excelu: funkce součin_skalární
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 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 Konec ano Ukončení