Miroslav Pokorný, Zdeňka Krišová

Download Report

Transcript Miroslav Pokorný, Zdeňka Krišová

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é
ú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ýrobku je nízká a cena výrobku je 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í)
1
2
3
4
5
6
7
8
9
10
11
12
KV
CV
KO
ZI
NI
NI
NI
NI
ST
ST
ST
ST
VY
VY
VY
VY
NI
VY
NI
VY
NI
VY
NI
VY
NI
VY
NI
Y
NI
NI
VY
VY
NI
NI
VY
VY
NI
NI
VY
VY
NI
ST
VN
NI
ST
VY
NI
ST
VY
VV
ST
VY
Základní okno pro fuzzy modelování v systému MATLAB
Definice vstupní jazykové proměnné KVALITA VÝROBKU
Definice vstupní jazykové proměnné CENA VÝROBKU
Definice vstupní jazykové proměnné KONKURENCE
Definice výstupní jazykové proměnné ZISK
Editační okno jazykových pravidel (báze znalostí) modelu
Ukázka dvojrozměrné funkční závislosti zisku na ceně a kvalitě výrobku
Simulační interaktivní okno
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.
z  S  
n
   wi xi   , i  1,...,n
i 1
S   
1
1  exp  
 n

z  S   wi xi   
 i 1

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.
0
0
x110 , x21
, x31
,..., xn01 ; y10
0
0
x120 , x22
, x32
,..., xn02 ; y 02
0
0
x130 , x23
, x33
,..., xn03 ; y 30
.
.
0
0
x1K
, x20K , x30K ,..., xnK
; y 0K
Schéma procedury učení sítě metodou Back Propagation

1 p m 0
En   y j  y *j
2 i1 j 1

2
i
 min
B1. Fuzzy-neuronová síť
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
0
1
0
souřadnice y
1
1
J  z  f ( x, y)  min
1
0
0
1
0
Průběh a výsledek minimalizační procedury
Souřadnice minima:
Extrém (minimum) fitness funkce
x = -4,712
y=0
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
M1
b2
M2
b3
M3
bk
.
Mk.
b38
.
.
M38
b39
M39
b40
M40
Fitness funkce J – celková délka ujeté trasy – minimalizace
J  distlabelb1,labelb2  distlabelb2,labelb3  ... distlabelb38,labelb39  distlabelb39,labelb40   min
Počet kroků při slepém prohledávání úplného prostoru řešení (počet permutací)
n  40
n! 8.1047
Výsledná optimální trajektorie
Děkuji Vám za pozornost !