340 likes | 471 Views
UMĚLÁ INTELIGENCE V EKONOMICKÝCH DISCIPLÍNÁCH Miroslav POKORNÝ, Zdeňka KRIŠOVÁ Ústav informatiky Moravská vysoká škola Olomouc, o.p.s., Jeremenkova 42, 772 00 Olomouc. Umělá inteligence - vědní disciplína věnující se tvorbě počítačových programů řešících složité
E N D
UMĚLÁ INTELIGENCEV EKONOMICKÝCH DISCIPLÍNÁCH Miroslav POKORNÝ, Zdeňka KRIŠOVÁ Ústav informatiky Moravská vysoká škola Olomouc, o.p.s., Jeremenkova 42, 772 00 Olomouc
Umělá inteligence - 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. Umělá inteligence se zabývá řešením problémů v oblasti základní jazyky umělé inteligence, matematická logika, reprezentace znalostí, metody řešení úloh i v oblasti aplikační nástroje řešení úloh, plánování, počítačové vidění, rozpoznávání řeči zpracování přirozeného jazyka, znalostní systémy robotika
Programy umělé inteligence pracují převážně se symbolickými objekty – na rozdíl od konvenčních, které pracují s čísly. Takovými symbolickými objekty jsou nejčastěji slova přirozeného jazyka. 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řechod od zpracování (numerických) dat ke zpracování (nenumerických, jazykových) informací - znalostí. Programy umělé inteligence zahrnují komplexnost, nejistotu a víceznačnost. Stejně jako pro lidské uvažování je charakteristické velmi efektivní využití neurčitosti (základní vlastností sloních pojmů je jejich vágnost a přitom uvažujeme zásadně pomocí slovních pojmů) tak i prostředky umělé inteligence musí být schopny vágnost (i jiné typy neurčitosti) formalizovat a efektivně je využívat pro kvalitu svých závěrů. Programy umělé inteligence jsou z principu dobře modifikovatelné Striktní oddělení znalostí o řešené úloze od vlastního řešicího mechanizmu umožňuje efektivní odstraňování znalostí již neaktuálních a naopak přidávání znalostí nových.
Programy umělé inteligence využívají lidských znalostí a zkušeností. Dovolují zahrnout do programových struktur expertní heuristiky, znalosti a metaznalosti. Takové informace (nenumerického charakteru, jsou vyjádřitelné slovy a větami přirozeného jazyka). Stejně jako lidé často používají k řešení (složitých) problémů heuristické přístupy, které jsou pro kvalitní řešení problémů velmi významné. Takové heuristické procedury jsou prostředky klasické numerické matematiky (a logiky) neformalizovatelné a nevyužitelné. Programy umělé inteligence mají výrazně procedurální charakter (na rozdíl od programů matematických, které mají charakter deklarativní). Řídicí struktury prostředků umělé inteligence jsou proto odděleny od informací – znalostí. Programové nástroje umělé inteligence jsou určeny k podpoře rozhodování manažera při řešení složitých problémů formou řízené konzultace. Jen málokdy jsou koncipovány pro práci v režimu on-line. Nemusí totiž produkovat vždy jen správné výsledky, jejich – často variantní – závěry jsou však vždy kvantitativně ohodnoceny a programový systém je schopen vysvětlit, jakým postupem a při použití jakých informací (znalostí) závěry získal (vyvodil).
Programové nástroje umělé inteligence jsou určeny k podpoře rozhodování manažera při řešení složitých problémů formou řízené konzultace. Jen málokdy jsou koncipovány pro práci v režimu on-line. Nemusí totiž produkovat vždy jen správné výsledky, jejich – často variantní – závěry jsou však vždy kvantitativně ohodnoceny a programový systém je schopen vysvětlit, jakým postupem a při použití jakých informací (znalostí) závěry získal (vyvodil). Rozhodovací procesy v mozku jsou sice postaveny i na využití obecných znalostí – jejich vyšší kvalita je však především dána využitím znalostí subjektivních. K vyvozování závěrů jsou pak používány vysoce efektivní (a přitom zřejmě jednoduché) nenumerické přístupy. Zde je třeba si uvědomit zásadní skutečnost – vyvozovací procesy v mozku nejsou postaveny na matematických, numerických přístupech, nýbrž na přístupech jazykových a slovních. Jedná se totiž o nenumerické modely mentální. Lidské uvažování a řešení problémů není principiálně postaveno na výpočtech.
Velký význam mají mentální modely zvláště dnes, kdy superturbulentní doba přináší stále častější a nečekané odchylky od obecných zákonitostí. Např. klasické metody predikce chování soustav (obecné statistické metody, založené na extrapolaci, trendech, vlastnostech řad) jsou stále méně použitelné a stéle větší význam má využití znalostí, zkušeností, heuristik až intuice. Základní problém aplikace metod umělé inteligence Uvažujeme-li problém vybudování takového programového systému, který by řešil daný problém stejně kvalitně jako lidský expert, musíme vyřešit dvě základní úlohy: a) jakým způsobem formalizovat v počítači lidské znalosti – hlavně subjektivní (tj. formalizovat v počítači mentální model) b) na jakých principech vybudovat logické algoritmy, které budou nad těmito znalostmi operovat a vyvozovat pomocí nich závěry.
A. Znalostní fuzzy-logické jazykové modelování Uvažujme ilustrační a zjednodušený mentální model odhadu výše zisku v závislosti na odbytu a výrobních nákladech. Vágní jazykové výrazy, které odborník používá ve svých mentálních pochodech, (NÍZKÝ ODBYT, VYSOKÝ ODBYT, MALÝ ZISK, VELKÝ ZISK) jsou v jazykových (slovních) fuzzy modelech formalizovány pomocí fuzzy množin a vystupují v úloze vstupních a výstupních jazykových proměnných (ODBYT, ZISK) a jejich jazykových hodnot (NÍZKÝ, VYSOKÝ, MALÝ, VELKÝ). Vyvozovací procedury využívají principů vícehodnotové jazykové fuzzy logiky. Znalosti jsou uloženy pomocí vět přirozeného jazyka ve standardní formě podmíněných pravidel (báze znalostí), vyvozovací procedury jsou reprezentovány algoritmy s fuzzy-logickými operacemi (inferenční nebo řídicí mechanizmus)
A1. Formalizace expertního mentálního modelu Uvažujme fragment expertního mentálního modelu závislosti zisku na výši ceny výrobku, kvalitě výrobku a velikosti konkurence na trhu. Nechť takový model zahrnuje mj. takovou znalost: V situaci, kdy kvalita výrobkuje nízká a cena výrobkuje nízká a konkurence je vysoká, lze očekávat zisk velmi nízký. Jazykové modely využívají k reprezentaci znalostí o chování systémů standardních pravidel typu JESTLIŽE – PAK (anglicky IF – THEN). R: IF (KV is NI) and (CV is NIZ) and (KO is VY)THEN (ZI is VN)
Úplná množina pravidel modelu (báze znalostí) KV CV KO ZI 1 NI NI NI NI 2 NI VY NI ST 3 NI NI VY VN 4 NI VY VY NI 5 ST NI NI ST 6 ST VY NI VY 7 ST NI VY NI 8 ST VY VY ST 9 VY NI NI VY 10 VY VY NI VV 11 VY NI VY ST 12 VY Y VY VY
Ukázka dvojrozměrné funkční závislosti zisku na ceně a kvalitě výrobku
B. Samoučicí se neuronové modely (umělé neuronové sítě) V rámci metod umělé inteligence hrají významnou roli neuronové sítě. Jsou to struktury, které jsou inspirovány svými biologickými vzory. Stejně jako biologické jsou i umělé neuronové sítě tvořeny množinou perceptronů (modelů biologických neuronů) vzájemně propojených vazbami (obdoba neuronových vazeb synoptických). Jejich hlavním úkolem je simulovat a implementovat schopnost adaptace a učení lidského mozku.
Propojení neuronů může být libovolné, v praxi však používáme často tzv. sítě vícevrstvé, v nichž jsou neurony uspořádány do několika vrstev nad sebou.
C. Optimalizační genetické algoritmy univerzální optimalizační genetické algoritmy, založené na principech biologické evoluce a na mechanizmu přirozeného výběru. Jsou obecně určeny k vyhledávání nejlepšího (optimálního) řešení problému jako extrému (obvykle minima) jeho účelové optimalizační funkce. Základem pro operace genetického algoritmu je znakový řetězec, v němž jsou zakódovány hodnoty parametrů optimalizované funkce – tzv. chromozom. [ 0 0 1 0 1] Každý chromozom má kromě své základní vlastnosti – zakódovaných hodnot parametrů – přiřazenu velikost své fitness funkce, která jej ohodnocuje z hlediska jeho blízkosti chromozomu optimálnímu. Chromozom s např. vyšší hodnotou své fitness funkce je optimálnímu řešení bližší než chromozom s hodnotou nižší.
Operace reprodukce je proces, při němž jsou jednotlivé chromozomy kopírovány do nové populace podle velikosti jejich fitness hodnoty. Čím je její velikost vyšší, tím má chromozom větší pravděpodobnost přežití, tj. přestupu do další generace chromozomů. Tím jsou "dobrá" řešení vybírána pro další reprodukci a "špatná" jsou eliminována. Operace křížení je tvořena dvěma kroky. V prvním jsou vybrány náhodné páry dvou chromozomů a dělicí bod, ve druhém je realizován vlastní proces křížení vzájemnou výměnou jejich částí.
Při operaci mutace je s určitou, obvykle velmi malou pravděpodobností, měněna hodnota genů chromozomu z 1 na 0 a opačně.
Sekvence kroků genetického algoritmu 1. Definice optimalizační úlohy a tvaru účelové (fitness) funkce 2. Rozhodnutí o způsobu kódování chromozomů 3. Stanovení parametrů křížení a mutace 4. Stanovení způsobu výběru chromozomů do nové populace 3. Vygenerování nulté (výchozí) populace chromozomů 4. Výpočet hodnot fitness funkcí chromozomů populace 5. Aplikace operací křížení a mutace - vygenerování potomků 6. Výpočet hodnot fitness funkcí chromozomů potomků 7. Výběr chromozomů do nové populace 8. Opakování procedury od bodu ad 4) 9. Rozhodnutí o ukončení procedury GA
C1. Úloha hledání minima dvojrozměrné funkce souřadnice x souřadnice y
Průběh a výsledek minimalizační procedury Souřadnice minima: x = -4,712 y = 0 Extrém (minimum) fitness funkce Jmin = zmin = -1,999999237060392
C2. Úloha obchodního cestujícího - obchodní cestující musí navštívit každé ze 40 měst - minimalizace cestovních nákladů - trasa musí být nejkratší možná - každé město může být navštíveno pouze jednou
Struktura chromozomu – vektor posloupnosti navštívených měst Mk na trase b1 b2 b3 bk b38 b39 b40 Fitness funkce J – celková délka ujeté trasy – minimalizace Počet kroků při slepém prohledávání úplného prostoru řešení (počet permutací)