Využití expertního systému při odhadu vlastností výrobků Libor Žák Abstrakt. Článek se zabývá možností, jak využít fuzzy expertní systém pro popis vlastností výrobku. Důvodem tohoto přístupu je možnost využití vágních pojmů k popisu parametrů ovlivňujících kvalitu výrobku. Správně definovaný a odladěný fuzzy expertní systém může odhadnout výsledné vlastnosti výrobku pro modifikované vstupní parametry. Tento přístup je ukázán na návrhu fuzzy expertního systému pro odhady pevnostních charakteristik betonových směsí.
1. Úvod Fuzzy Inference System (FIS) jsou jednou z častých aplikací fuzzy množin v praxi. Jejich vyžití je vhodné zejména při modelování neurčitých systémů, kde se předpokládá vliv veličiny, kterou nelze přesně definovat pomocí klasické matematické logiky a konvenčních prostředků systémové analýzy, tj. například diferenciálních nebo diferenčních rovnic nebo nástroji matematické statistiky. Takovým systémem může být i výrobní proces. Výroba může být ovlivňována množstvím parametrů, které nelze jednoznačně vyjádřit. Pro zkoumání kvality výrobku je potřeba najít vztah mezi parametry ovlivňujícími výrobu a konečnými vlastnostmi výrobku. Kromě analytických metod se v poslední době využívají také neuronové sítě a metody založené na fuzzy množinách. Tento článek se zabývá aplikací fuzzy množin a zvláště pak Fuzzy Inference System. Správná činnost FIS závisí na vhodné volbě parametrů, které lze odhadnout na základě předcházejících měření. Pomocí správně odladěného FIS lze odhadnout i vlastnosti takových výrobků, jejichž vstupní charakteristiky byly pozměněny. Tyto údaje pak lze využít při zkvalitnění a zefektivnění výroby.
2. Proč právě Fuzzy Inference System Jak jsem zmínil v úvodu, existuje více metod odhadu vlastností výrobku. Proč tedy v některých případech je vhodné zvolit právě přístup pomocí Fuzzy Inference Systém. Důvodem je pojem fuzzy. V řadě případů jsou parametry, které ovlivňují vlastnosti výrobku popsané pomocí přibližných nebo zjednodušených pojmů. Při výrobě předpokládáme, že materiál vstupující do výroby má předepsanou kvalitu. V mnoha případech ale nelze v předcházejících krocích výroby dodržet přesně daný parametr. Příkladem může být síla vlákna, které kolísá v určitém rozmezí, nebo ubetonových směsí hrubost štěrku. Tedy parametry materiálu vstupujícího do výroby nelze (v těchto případech) popsat v přesně daných pojmech, ale musíme použít vágnější popis. Právě užití fuzzy množin je výhodné pro popis a počítání s těmito vágními výrazy.
3. Popis Fuzzy Inference System Pro předpověď parametrů výrobku využijeme Fuzzy Inference System (dále jen FIS), který pracuje na základě znalostních pravidel. Tato pravidla jsou definována kombinací možných vzorových vstupů a výstupů. Vzorové vstupy a výstupy se definují pomocí tzv. jazykových proměnných a jejich hodnot. Jazykové hodnoty jsou popsány fuzzy množinami. Vhodné kombinace vstupních a výstupních jazykových hodnot definují znalostní pravidla podle kterých FIS počítá. Každé pravidlo určí vztah mezi zvolenými vstupními a výstupními hodnotami. V teorii fuzzy množin lze FIS považovat za fuzzy relaci. Při hledání vhodného FIS jsme použili typ Mamdani (který odpovídá předcházejícímu popisu) a také typ Sugeno, který má výstupní veličiny ve tvaru konstant nebo lineárních funkcí. 3.1 Fuzzy Inference System (FIS) Prvním krokem při definování FIS je volba počtu vstupních proměnných (n) a výstupních proměnných (m). Pro každou proměnnou zvolíme počet a tvar předdefinovaných vstupních
hodnot (lze je uvažovat jako vzorové vstupy a výstupy). Na základě předdefinovaných vstupních a výstupních hodnot (které jsou uvažovány ve tvaru fuzzy množin) nadefinujeme pravidla FIS (počet pravidel: r). Každé pravidlo určí vztah mezi zvolenými vstupními a výstupními hodnotami. k k k k ℜk ≡ jestliže x1 je A j ,1 a x2 je A j , 2 a … a xn je A j ,n pak y1 je B j ,1 , y2 je
B kj, 2 ,…, ym je B kj ,m , kde xi je vstup do FIS, A kj ,i je předdefinovaná jazyková hodnota i–té vstupní jazykové proměnné,
B kj ,s je předdefinovaná jazyková
hodnota s–té výstupní jazykové proměnné odpovídající k-tému pravidlu (i=1,…,n, s=1,…,m, k=1,…,r). Při použití FIS porovnáváme libovolný vstup do FIS s předdefinovanými vstupními hodnotami. Tedy pokud vstup (x1,...,xn) patří do oblasti, která je vymezena jazykovými hodnotami A kj,1 až A kj ,n , pak výstup je spočítán pomocí
B kj ,s . Na základě tohoto porovnání a pomocí pravidel FIS dostaneme výstup FIS ve tvaru fuzzy množiny. Pokud má být výstupem reálná hodnota, provede se tzv. defuzzikace, kdy fuzzy množinu nahradíme jediným číslem. Takto popsaný FIS se nazývá FIS typu Mamdani. Pro předpověď časových řad se častěji užívá FIS typu Sugeno, který je modifikací typu Mamdani. Uvažuje se pouze jedna výstupní proměnná a vstup do FIS je ve tvaru (x1,...,xn)∈Rn. Vstupní předdefinované hodnoty jsou ve stejném tvaru jako FIS typu Mamdani. Rozdíl je ve výstupních veličinách. Každému pravidlu přísluší funkce n proměnných. ℜk ≡ jestliže x1 je A kj,1 a x2 je A kj, 2 a … a xn je A kj ,n pak zk = fk(x1,…xn) kde xi je vstup do FIS, A kj ,i je jk –tá předdefinovaná jazyková hodnota i–té jazykové proměnné odpovídající k-tému pravidlu (i=1,…,n , k=1,…,r). Tedy pokud vstup (x1,...,xn) patří do oblasti, která je vymezena jazykovými hodnotami A kj,1 ,…, A kj ,n , pak výstup je spočítán pomocí funkce fk. Váha wk výstupu zk je určena mírou shody vstupu (x1,...,xn) s jazykovými hodnotami A kj,1 ,…, A kj ,n obdobným způsobem jako u FIS typu Mamdani. Pro vstup (x1,..., xn) dostanu
pomocí pravidel ℜ1,…,ℜr hodnoty z1,…, zr a váhy w1,…, wr. Pomocí váženého průměru dostaneme výslednou výstupní hodnotu z. Ve většině FIS typu Sugeno se funkce f1 až fr definují v jako konstanty: fk(x1,…xn) = αk, nebo v lineární tvaru: fk(x1,…xn) = αk+βk,1x1+βk,2x2+…+βk,nxn. kde αj, βi,j i= 1, 2, …, n, j = 1, 2, …, m jsou vhodné konstanty. Tyto konstanty se často upřesňují až v procesu ladění FIS nad ladicími daty.
3.2 Návrh FIS ze zadaných dat Z výrobního postupu výrobku určíme parametry, které udávají počet vstupních proměnných (n) do FIS. Parametry popisující kvalitu výrobku budou výstupní proměnné ( počet m) FIS. V některých případech je vhodné pro vybrané výstupní parametry odladit samostatný FIS. Předpokládejme tedy, že FIS má n vstupních a m výstupních jazykových proměnných. Dále máme T vzorových vstupů do FIS a k nim T příslušných vzorových výstupů. Označme:
⎛ x1,1 ⎜ ⎜ x 2,1 X =⎜ ... ⎜ ⎜x ⎝ T ,1
x1, 2 x 2, 2 ... xT , 2
x1,n ⎞ ⎛ y1,1 ⎟ ⎜ ... x 2,n ⎟ ⎜ y 2,1 = Y ⎜ ... ... ... ⎟ ⎜ ⎟ ⎜y ... xT ,n ⎟⎠ ⎝ T ,1 ...
y1, 2 y 2, 2 ... yT , 2
y1,m ⎞ ⎟ ... y 2,m ⎟ ... ... ⎟ ⎟ ... yT ,m ⎟⎠ ...
Účelem správného definování FIS je, aby fungoval nad celou oblastí možných vstupů. Proto se před laděním FIS vzorová data rozdělí na dvě části. Na ladicí část: XL, YL a testovací část: XT, YT. Ladicí část – ladicí data – slouží k vytvoření jazykových hodnot, pravidel a k odladění FIS (viz dál). Testovací část – testovací data – slouží ke kontrole FIS. Nechť máme K ladících dat a H testovacích dat, kde T= K+H. Označme:
⎛ x1L,1 ⎜ L ⎜x L X = ⎜ 2,1 ⎜ ... ⎜ xL ⎝ K ,1
x1L, 2 x 2L, 2 ... x KL , 2
⎛ y1L,1 ... x1L,n ⎞ ⎜ L ⎟ ... x 2L,n ⎟ ⎜y L Y = ⎜ 2,1 ⎟ ... ... ⎟ ⎜ ... L ⎟ ⎜ yL ... x K ,n ⎠ ⎝ K ,1
y1L, 2 y 2L, 2 ... y KL , 2
... y1L,m ⎞ ⎟ ... y 2L,m ⎟ ... ... ⎟⎟ ... y KL ,m ⎟⎠
⎛ x1T,1 ⎜ T ⎜x X T = ⎜ 2,1 ⎜ ... ⎜ xT ⎝ H ,1
x1T, 2 x 2T, 2 ... x HT , 2
⎛ y1T,1 ... x1T,n ⎞ ⎜ T ⎟ ... x 2T,n ⎟ ⎜y Y T = ⎜ 2,1 ⎟ ... ... ⎟ ⎜ ... ⎜ yT ... x HT ,n ⎟⎠ ⎝ H ,1
y1T, 2 y 2T, 2 ... y HT , 2
... y1T,m ⎞ ⎟ ... y 2T,m ⎟ ... ... ⎟⎟ ... y HT ,m ⎟⎠
kde XL, YL jsou data ladicí a XT, YT jsou data testovací. Rozdělení vzorových dat na ladicí a testovací data lze uskutečnit následujícími způsoby: a) Podle pořadí – prvních K se považuje za ladící data a zbytek jsou testovací data. b) Pokud existují různé typy vzorových dat, je vhodné, aby testovací data obsahovala všechny různé typy dat. Z každého typu vzorových dat se vybere alespoň jeden řádek vstupů a výstupů. c) Vybereme náhodně H testovacích dat ze vzorových dat. d) Při výběru testovacích dat lze kombinovat předcházející přístupy. Matice ladicích dat spojíme do jedné matice a označíme ji Z:
⎛ x1L,1 ⎜ L ⎜x XY L = ⎜ 2,1 ⎜ ... ⎜ xL ⎝ K ,1 ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝
... x1L,n ... x 2L,n ... ... ... x KL ,n
z1,1
K
z 2,1
K
K
K
z K ,1
K
y1L,1 y 2L,1 ... y KL ,1
... y1L,m ⎞ ⎟ ... y 2L,m ⎟ = ... ... ⎟⎟ ... y KL ,m ⎟⎠
z1,n + m ⎞ ⎟ z 2,n + m ⎟ =Z K ⎟ ⎟ z K ,n + m ⎟⎠
V dalším kroku tvorby FIS musíme pro každou vstupní a výstupní jazykovou proměnnou nadefinovat vzorové jazykové hodnoty. Musíme určit jejich počet a odpovídající tvar ve formě fuzzy množiny. S jejich pomocí pak určíme znalostní pravidla FIS. Existují dva základní přístupy. a) Vychází se ze znalosti problému (obecné znalosti, využití zkušeností konkrétního pracovníka, …), které se převedou na odpovídající hodnoty a pravidla. b) Pomocí matice dat Z se vygenerují možné jazykové hodnoty a pravidla. Každý řádek matice Z lze uvažovat jako bod zi v prostoru En+m . Z lze brát jako K bodů v En+m. Tyto body můžeme uzavřít do n+m rozměrného kvádru o stranách K1, K2,…, Kn+m, kde strany kvádru Ki lze definovat: Kj = min{z i , j , i = 1,K , K }, max{z i , j , i = 1,K , K } Označme K= K1×K2×…×Kn+m. S pomocí matice Z chceme pro každou vstupní a výstupní jazykovou hodnotu určit počet a tvar jazykových hodnot a pomocí nich definovat pravidla FIS. Hlavní přístup je v rozkladu K na menší oblasti a pro každou oblast nadefinujeme vstupní a výstupní jazykové hodnoty a k nim odpovídající pravidla. Využijeme dva hlavní přístupy k rozkladu ladicích dat: a) Pomocí dělení jednotlivých stran. b) Pomocí shlukovacích metod. Tyto metody lze také kombinovat.
4. Využití naměřených údajů pro nastavení FIS Pomocí výše popsaných metod lze definovat více FIS. Z těchto FIS musíme vybrat ten nejvhodnější. K tomu použijeme testovací část vzorových dat. Pomocí nalezených FIS a vzorových vstupů z testovacích dat provedeme odhady parametrů výrobku a porovnáme je s výstupními hodnotami testovací části. Kvalitu FIS lze posuzovat podle více kritérií. Nejčastěji používanými kritérii jsou: MAPE – velikost průměrné chyby MAX – maximální rozdíl
Nechť (r1, r2,…, rm ) jsou výstupní hodnoty testovací části a (p1, p2,…, pm ) jsou předpovězené hodnoty. Pak MAPE = 1
⎛ K ⎞ (abs( p h -rh ) rh ) ⎟ K ⎜⎝ ∑ h =1 ⎠
MAX = max {abs( p h -rh )} h =1,..., K
Kvalitu předpovědi lze posuzovat i pomocí kombinací těchto (popřípadě i více kritérií). Pro odhad vlastností a kvality výrobku použijeme ten FIS, který má nejlepší shodu předpovězených a testovacích hodnot.
5. Příklad – odhad vlastností betonových směsí Příkladem použití FIS pro odhad vlastností výrobků byla diplomová práce Petra Misáka ( obor Matematické inženýrství). Jeho úkolem bylo popsat FIS a využít ho pro odhady pevnostních charakteristik betonových směsí při použití vybraných plastifikačních přísad a cementů. Tyto FIS budou použity jako doporučující nástroj při návrhu nových cementů a betonových směsí, zejména za účelem snížení počtu laboratorních zkoušek a potažmo i celkových nákladů. Dále je možné jejich využití při posouzení vlivu plastifikačních přísad a cementů na pevnostní charakteristiky betonu. 5.1. Složení betonové směsi Pod pojmem betonová směs rozumíme směs cementu, kameniva, záměsové vody a případně plastifikační přísady. Složení betonových směsí bylo totožné pro všechny zkoumané vzorky, proměnlivé bylo pouze množství přidávané plastifikační přísady. Množství betonové směsi pro vytvoření jednotlivých vzorků vycházelo z předpokladu, že z každého vzorku se má vytvořit šest zkušebních těles. Tři zkušební tělesa byla podrobena zkouškám na pevnost v tahu za ohybu a zkoušce v tlaku po sedmi dnech a další tři zkušební tělesa byla podrobena těmto zkouškám po dvaceti osmi dnech. Pro každou plastifikační přísadu a jeden typ cementu byly tedy vytvořeny celkem tři vzorky s různým procentuálním zastoupením. Dávkování
vycházelo z maximální, střední a minimální dávky udávané výrobcem. Byla zvolena navážka 900 gramů cementu a 2700 gramů kameniva frakce 0 – 4 mm. Množství záměsové vody bylo konstantní, tedy 495 ml. Aby se ve výsledcích dostatečně projevily vlivy různých typů plastifikačních přísad a cementů, byl použit pro všechny vzorky stejný typ záměsové vody a stejné kamenivo. Formy se zhutnělou betonovou směsí byly uloženy po dobu cca 24 hodin v laboratoři s průměrnou teplotou 20o C. Poté byly vzorky odformovány a uloženy do místnosti pro normální zrání (teplota 20 ± 2 o C, relativní vlhkost 90 ± 2%). Byly použity následující druhy cementů a plastifikačních přísad. Použité druhy cementů • Portlandský struskový cement CEM II/B - S 32,5 R (českomoravský cement a.s. závod Mokrá) • Portlandský cement CEM I - 42,5 R (českomoravský cement a.s. závod Mokrá) • Portlandský cement CEM I - 52,5 (českomoravský cement a.s. závod Mokrá) • Vysokopecní cement CEM III/A - 32,5 R (Cementárny a vápenky Prachovice a.s.) • Portlandský cement CEM I - 42,5 R (Cementárny a vápenky Prachovice a.s.) • Portlandský cement CEM I - 52,5 R (Cementárny a vápenky Prachovice a.s.) Použité plastifikační přísady • Sika Viscocrete - 5 • Sika Plastiment - BV 40 • Sika Sikament - 10 HRB • Sika Sikament - HE 200 • Sika Sikament Multimix - 100 5.2. Ladění FIS Původním záměrem bylo navržení jednoho FIS, který by zahrnoval celou škálu možných vstup, ovlivňujících kvalitu betonové směsi. Z výrobního postupu vyplynulo, že se při přípravě betonové směsi používá pouze jedna plastifikační přísada. Jako výhodné se ukázalo vytvoření samostatných FIS pro každou plastifikační směs. Bylo tedy sestaveno celkem pět FIS pro pět plastifikačních přísad. Pro každou
plastifikační přísadu byly navrženy FIS se čtyřmi výstupními proměnnými. Těmito proměnnými byla vždy pevnost výsledného betonu v tlaku po 7 a 28 dnech zrání a pevnost výsledného betonu v tahu za ohybu po 7 a 28 dnech zrání. Vstupní proměnné • Měrný povrch • Pevnost cementu v tlaku za 28 dní • Objemová stálost • % plastifikační přísady vzhledem k hmotnosti cementu Výstupní proměnné • Pevnost v tahu za ohybu za 7 dní • Pevnost v tahu za ohybu za 28 dní • Pevnost v tlaku za 7 dní • Pevnost v tlaku za 28 dní Pro vytvoření FIS byly nejprve použity shlukovací metody. V průběhu testování se ukázalo, že pokud vstupní hodnoty jsou blízko vzorových vstupů, dával FIS správné výsledky. Pokud ale odchylka od vzorových dat byla větší, dával FIS nereálné hodnoty. Tato situace byla způsobena tím, že ladicí data byla soustředěna v poměrně malé části oblasti K a shluky a jim odpovídající pravidla úspěšně fungovala na malé části možných vstupů. V další části se pozornost soustředila na FIS definovaný pomocí dělení K na menší části. Tyto FIS nebyly tak citlivé v oblasti shluků, ale pokud se vstupní data více lišila od vzorových dat, dávaly rozumné výsledky. Jednotlivé FIS byly sestaveny a testovány pomocí Fuzzy Toolboxu prostředí MATLAB a poté spojeny do jediného programu, který umožní snadné ovládání pomocí grafického uživatelského rozhraní (GUI). Naměřená data, nutná k sestavení jednotlivých FIS, byla získána pevnostními zkouškami provedenými na FAST VUT v Brně. V další činnosti se předpokládá, že pro správné fungování FIS v celé oblasti možných vstupů se provedou zkoušky a získají se ladicí data pokrývající celou oblast vstupů. Současně s tím se bude dolaďovat FIS, tak aby jím předpovězené hodnoty co nejvíce odpovídaly hodnotám naměřeným. Použitím FIS v této oblasti dosáhneme úspory prostředků a hlavně úspory času (není potřeba čekat na vytvrzení).
6. Závěr Na závěr bych chtěl ještě jednou zmínit výhody fuzzy přístupu k odhadování vlastností výrobků. Je to možnost pracovat s vágními daty a FIS je založen na fuzzy pravidlech a není (na rozdíl od neuronových sítí) tak „černou skříňkou“. Při zpětném pohledu na odladěné FIS a jejich pravidla lze odhadnout možné vztahy mezi vstupními a výstupními veličinami. Pomocí těchto vztahů máme možnost určení vhodných vstupních parametrů výroby, na jejímž konci bude výrobek s požadovanými vlastnosti. Adresa autora: RNDr. Libor Žák, Ph.D., Vysoké učení technické Brno, Fakulta strojního inženýrství, Ústav matematiky, Technická 2896/2, 616 69 Brno e-mail:
[email protected]
Tato práce byla vytvořena v rámci projektu MŠMT 1M06047 - CQR