XXVI. ASR '2001 Semnar, Instruments and Control, Ostrava, Aprl 26-27, 2001 Paper 40 Aplkace smulačních metod ve spolehlvost MARTINEK, Vlastml Ing., Ústav automatzace a nformatky, FSI VUT v Brně, Techncká 2, Brno, 616 69 snc@emal.cz Abstrakt: Příspěvek se zabývá konstrukcí generátorů pseudonáhodných čísel, konkrétně typckým generátory rovnoměrného rozdělení, všímá s jejch vlastností a vhodnost použtí. Dále pojednává o statstckém posuzování kvalty generátorů a navrhuje obecný rámec pro jejch ucelené testování. V dalším jsou dskutovány metody transformace náhodných velčn a vhodnost jejch použtí př vývoj smulačních algortmů. V závěru je přblížen typcký příklad spolehlvostní úlohy převedené na smulační model. Klíčová slova: smulace, generátory, testování, transformace, spolehlvost 1 Úvod Řešení technckých úloh z oblast spolehlvost provází celá řada problémů a k jejch řešení lze přstupovat různým způsobem [Marek, P. et al, 1996], [Teplý, B. & Novák, D., 1999], [Bílý, M. & Sedláček, J., 1983]. Dá se říc, že současná teore metody řešení spolehlvost vycházejí ze dvou základních pohledů. První je jstou dealzací, stojící na pevných modelových představách aprorní povahy (sem patří tradční klascké výpočty), tj. jde o snahu dosáhnout jsté úrovně spolehlvost. Druhý pohled je pravým opakem předcházejícího, neboť se opírá o aposterorní nformac náhodného charakteru, která se pojí s konkrétním provozním režmy služby dané konstrukce. Tj. jde o skutečnou spolehlvost konstrukce v provozu, která je zpravdla výrazně nžší. Mnohdy je složtost úlohy tak velká, že je výhodné problém jejího řešení převést na řešení smulačního modelu. Se znalostm rozložení náhodné velčny vstupující do modelu a přechodové funkce, tedy transformace dávající do vztahu vstup a výstup, spočívá řešení v nalezení transformovaného rozdělení náhodné velčny, která nás zajímá. Pro řešení úloh spolehlvost byla vyvnuta řada výpočtových programů a jedním z nch je např. MSTAR [Marek, P. et al, 1996]. Ovšem př vzuálním zpracování a nterpretac výsledků starších verzí tohoto programu vyšlo najevo, že je nutno dbát zvýšené opatrnost př výběru kvaltního generátoru pseudonáhodných čísel. Kvalta výsledků smulace často závsí na kvaltě prvotních náhodných vstupů, neboť jakékolv případné chyby na vstupech se pak lavnovtě šíří a mohou znehodnott celý model. Navíc v mnoha programových systémech nejsou generátory v nch ntegrované njak popsány, chovají se jako černé skříňky o jejchž vlastnostech nc nevíme a jejch kvaltu je tedy nutné testovat. Další analýza výsledků programu vedla k dskus tzv. ježatost hstogramu [Popela, P., 1996]. Podrobnějším zkoumáním a s přspěním autorů programu bylo zjštěno, že náhodné vstupy jsou získávány transformací pseudonáhodné posloupnost čísel, generované programovým prostředky. Tímto byla vedle kvalty použtých generátorů posuzována také kvalta a vhodnost různých typů transformace náhodné velčny. - 1 -
2 Otázky generování náhodné velčny 2.1 Náhodnost v smulačním modelu Za smulační metody se považují metody, které modelují reálné jevy stochastcké povahy. Smulací se obvykle rozumí numercká technka provádění hromadných expermentů s modely pomocí počítače [Lews, P. A. W. & Oraw, E. J., 1989]. Typcký postup řešení smulační úlohy je následující: 1. Sestavt matematcký model popsující reálnou stuac. 2. Generovat náhodná čísla z rovnoměrného rozdělení a transformovat je na náhodná čísla z rozdělení požadovaného pro vstupní velčny. 3. Smulovat hodnoty velčn charakterzující model a tyto hodnoty vhodným způsobem regstrovat. 4. Zpracovat a nterpretovat výsledky. Rovnoměrné rozdělení se používá v stuac, kdy o četnostech výsledků přílš mnoho nevíme. Je zřejmé, že př použtí tohoto rozdělení žádné možné výsledky nezvýhodňujeme, a z důvodu nedostatku nformací je považujeme za rovnocenné. Rovnoměrné rozdělení lze dále použít př generování hodnot z jných rozdělení. 2.2 Typcké generátory rovnoměrného rozdělení Cílem používání generátoru je získat posloupnost hodnot, které reprezentují realzace náhodné velčny. Mnoho programovacích jazyků dnes obsahuje ve svých knhovnách procedury, poskytující pseudonáhodná čísla z předem zadaného ntervalu. V mnulost se pro získání čísel jako realzací náhodného výběru z rovnoměrného rozdělení používaly mechancké generátory (např. kostky a rychle se otáčející kotouče), fyzkální generátory (na prncpu zářč - detektor), tabulky náhodných čísel [Hurt, J., 1982]. Z důvodu mnohých technckých pravděpodobnostních problémů př jejch použtí, vznkaly generátory založené na artmetckých procedurách. Použtí rekurentních vzorců př generování náhodné posloupnost sebou přneslo množství výhod. U mechanckých a fyzkálních generátorů neexstovala možnost opakované kontroly výpočtů, neboť realzace takto generovaných náhodných čísel byla unkátní. Navíc bylo možno s rozvojem technky využívat stále se zvyšujícího výpočetního výkonu počítačů. V současnost jsou kromě hardwarových generátorů užívaných v oblast kryptografe a ochrany dat těm nejpoužívanějším právě generátory softwarové. 2.3 Obecné kongruenční generátory Tato skupna generátorů v prax nakonec zcela převládla díky dobrým vlastnostem řady z nch a šroké škále jejch modfkací. Posloupnost pseudonáhodných čísel z ntervalu [0;m) je generována na základě obecného rekurentního vzorce x a x + a n + 1 = ( 0 n + K k n k + x c) mod m Vhodnou volbou parametrů generátorů lze nalézt nepřeberné množství jejch modfkací, které budou mít požadované vlastnost. Mnohdy má PRNG (pseudo random number generator) vlastnost, která se může zdát na první pohled špatná, mohou však exstovat příklady, kdy se může dobře hodt. Obecně lze říc, že ke každému PRNG můžeme najít takový úhel pohledu, z něhož bude vypadat dobře. - 2 -
2.4 Vlastnost generátorů Požadavky na kvaltní generátor se mohou lšt. Zaleží především na představách a požadavcích dotyčného a také na druhu aplkace v níž je generátor použt. Unverzální PRNG vyhovující nárokům každého zájemce nebyl a zřejmě an nebude nkdy nalezen, neboť vzhledem k determnstckému charakteru PRNG lze ke každému z nch najít aplkac, pro nž generovaná posloupnost nebude dostatečně dobrá. Nezbývá tedy, než hledat alespoň pro daný případ vyhovující optmum. Škála generátorů dost dobrých splňujících dílčí požadavky, je naštěstí dost šroká a stále nabízí velké množství varací. Ke klíčovým vlastnostem a nečastějším požadavkům na PRNG patří: Rovnoměrné pokrytí celé množny hodnot Maxmální peroda generátoru Nízká korelace mez prvky posloupnost Úspěšný průchod některou baterí statstckých testů Kromě těchto nejdůležtějších vlastností může být také vyžadována realzovatelnost na 8-, 16-, 32- č 64btových procesorech, jednoduchost (nebo složtost) výpočtu, možnost jít s výpočtem čísel v posloupnost zpět dopředu bez počítání mezvýsledků, snadnost mplementace v konkrétním programovacím jazyku, možnost kdykol zopakovat generovanou posloupnost pro kontrolní účely a v neposlední řadě rychlost generování čísel. 2.5 Useknutá rozdělení Dále je vhodné poznamenat, že v smulačních algortmech je možno s výhodou využít useknutá rozdělení neboť řada náhodných velčn vstupujících do modelu nabývá svých hodnot v určtém rozpětí, jehož překročení často není přípustné. 3 Způsoby testování kvalty PRNG 3.1 Statstcké posuzování Teoretcké zkoumání vlastností generátorů je obtížné v jednoduchých případech. Proto se používají statstcké metody, které testují chování generátorů na vybraných vzorcích. Standardně se generovaná posloupnost x 1,,x n pseudonáhodných hodnot studovaného generátoru posuzuje pomocí statstckých testů. S výhodou lze použít testy užívané ve statstcké analýze časových řad [Anděl, J., 1976]. 3.2 Postup př testování Samotné testování generátorů lze provádět různým způsobem. Pokud známe tvar použtého generátoru, lze hodnocení provést teoretcky (např. posouzení perodcty a trendu), případně je možno vyjít z publkovaných výsledků [Rpley, B. D., 1987], [Popela, P., 1996] a [Klíma, V., 1998]. Stuace je však odlšná, jestlže používáme nezdokumentovaný generátor typu black-box. Pak je nutné generovanou posloupnost otestovat dle potřeby na celé sér statstckých procedur. Přtom je vhodné volt testy podle očekávaného použtí generátoru, např. př řešení smulačních úloh ve spolehlvost hrají významnou rol chvosty rozdělení je tedy vhodné zaměřt testování na ně. 3.3 Posuzované statstcké vlastnost Zajímá nás staconarta generované posloupnost, zejména zjšťujeme exstenc případného nenulového trendu. Není třeba zabývat se exstencí trendu přílš podrobně, neboť jeho přítomnost v testované posloupnost lze odhalt nejsnáze, a navíc je přítomnost trendu známkou jen skutečně nekvaltního generátoru. Dále se zabýváme perodctou, tedy exstencí významných cyklů v generované posloupnost. Je vhodné zobrazt zkoumanou posloupnost pomocí lomené čáry a pak analýzou grafu získat první odhad koefcentů nosné vlny. - 3 -
Otázka nezávslost generovaných hodnot se posuzuje pomocí nulovost autokorelací. Případně s všímáme bodů zvratu. Testy se dále ověřuje, zda daná posloupnost je realzací rozdělení základního souboru. Testy chí-kvadrát a Kolmogorov-Smrnov mohou být doplněny odhadem parametrů rozdělení. Základním úkolem je testovat rovnoměrnost rozložení generovaných hodnot. Z programátorského hledska je též nutné zhodnott každý generátor podle nároků na paměť a čas. Jak je obvyklé, nelze často dosáhnout uspokojvých výsledků u obou parametrů. Zřejmě použtí tabelace je náročnější na paměť, ale výpočty urychluje. 4 Návrh struktury testovacího systému V prax se jako nejschůdnější cesta ke zjštění statstckých vlastností daného generátoru jeví jeho podrobení bater testů. V návaznost na předchozí odstavce byla navržena struktura balíku testovacích procedur. Výsledkem návrhu může být základ budoucího expertního systému, lépe řečeno struktura navazujících a vzájemně propojených statstckých testů. STATIONARITY MAIN REPORT LOCAL REPORT PERIODICITY INDEPENDENCY nez.vzual <- functon(data){ #autokorelacn fce acf(data,m an='autocorrelaton functon') #lagged plot lag.plot(data[1:set1],lags=4,la yout=c(2,2)).. UNIFORMITY Obrázek 1: Schéma struktury balíku testovacích procedur (ukázka programového kódu vz. [Mathsoft, 1995]) - 4 -
Posloupnost náhodných čísel je v tomto systému podrobena čtyřem základním typům statstckých testů. Jednotlvé procedury jsou vzájemně provázané, tedy výsledek jednoho testu podmňuje jstým způsobem směr dalšího postupu. Podrobné výsledky každého použtého testu jsou zobrazovány a ukládány, celkový přehled o testování je zobrazen zvlášť. Testovaná data postupně protékají shora dolů, přčemž je umožněn jak opakovaný průchod lbovolným testem, tak celým systémem s možností resamplngu zkoumaných dat. 5 Transformace náhodné velčny 5.1 Transformace teoretckých rozdělení Dostatečně přesnou nformac o rozdělení transformované náhodné velčny by nám mohlo dát jeho analytcké vyjádření. Jak je ovšem vdět z následujícího odstavce, jeho získání je většnou spojeno se značným obtížem. 5.2 Obecná transformace Předpokládejme, že známe rozdělení náhodného vektoru X ~ F(t) (tj. se zadanou sdruženou dstrbuční funkcí F) a transformac h. Hledáme rozdělení náhodného vektoru Y. Uvažujme dále jednu jeho složku Y, přčemž hledáme její margnální dstrbuční funkc G (u ). Potom platí: G ( u ) = P( Y < u ) = df( t ). h ( t) < u Výpočet uvedeného vícerozměrného ntegrálu je většnou netrvální, a navíc pouze v případě nezávslost složek Y lze vyjádřt jeho sdruženou dstrbuční funkc G(u) poměrně jednoduše jako m = 1 G ( u ). Jako další možnost se nabízí použít explctní vztahy pro některá konkrétní rozdělení a transformace nebo s využtím centrální lmtní věty použít aproxmace rozdělení [Popela, P., 1996]. 5.3 Použtelnost teoretckých výsledků Použtelnost uvedených dále v lteratuře zobecňovaných teoretckých výsledků je však omezená. Je to dáno tím, že reálné smulační modely mají složtou nelneární strukturu, kterou obvykle nelze aproxmovat č reprezentovat uvedeným vztahy. Proto teoretcké odvození výsledného rozdělení nebývá snadné a rovněž vzhledem k nelneartám většnou nelze použít aproxmace pomocí centrální lmtní věty, případně vět obecnějších nebo souvsejících (vz např. seznam lteratury v [Karpíšek, Z. & Škulová, M., 1997]). Z výše uvedených důvodů často nezbývá nc jného, než získat nformac o výstupním rozdělení smulací. Potřebujeme se zamyslet nad exstencí obecnějších transformací, které by umožnly pro prvotní rovnoměrné rozdělení získat hodnoty jného, nám vybraného rozdělení. Nejobecnější a zároveň nejvhodnější transformací, která umožňuje získat hodnoty z nám vybraného rozdělení je metoda nverzní transformace pomocí kvantlové funkce [Karpíšek, Z. & Škulová, M., 1997]. - 5 -
6 Proces smulace SADA GENERÁTORŮ USEKNUTÉHO ROZDĚLENÍ VSTUP MATEMATICKÝ MODEL INICIALIZACE VLASTNÍ CYKLUS SIMULACE VÝSTUP TRANSFORMOVANÉ ROZDĚLENÍ, VÝPOČET KVANTILŮ Obrázek 2: Schéma smulačního algortmu Následuje lustrační příklad ve kterém je z pravděpodobnostního pohledu posouzena možnost únavového porušení kmtající ocelové mostní stojky. Příklad je zpracován v systému S-PLUS [MATHSOFT, 1995]. Z dlouhodobého měření rychlost větru v dané lokaltě a zjštěného rozkmtu stojky byly stanoveny střední hodnoty rozkmtů nomnálního napětí a odpovídající střední hodnoty počtu cyklů za týden. Pravděpodobnost porušení byla vyjádřena z dstrbuční funkce doby žvota. Z Wöhlerovy křvky a s předpokladem, že všechny rozkmty napětí jsou poškozující, byl př uvážení Palmgren-Mnerovy hypotézy kumulace poškození sestaven matematcký model smulace. Obrázek 3: Vstupní data smulace Výsledkem smulace je hstogram četností transformovaného rozdělení pravděpodobnost porušení a odhad základních charakterstk výstupního rozdělení. Spolehlvost mostní stojky je následně určena ze zvolených kvantlů. Po 200.000 krocích Mn : 84.3903930587554 Max : 601.136989182509 Mean : 238.038357713632 Medan: 230.804278277939 Var : 3567.32270985627 StDev. : 59.7270684853716 Po 500.000 krocích Mn : 84.3903930587554 Max : 634.612215598311 Mean : 238.101026131903 Medan: 230.893483496945 Varance: 3580.0783042008 StDev. : 59.8337555582198 Obrázek 4 : Výsledný hstogram četností Tabulka 1 : Charakterstky výstupního rozdělení - 6 -
7 Závěr V předloženém příspěvku byly dskutovány problémy př použtí smulačních metod v oblast spolehlvost. Prvním z nch byla otázka kvalty PRNG vstupujících do smulačního modelu. Byly popsány a analyzovány některé typcké generátory rovnoměrného rozdělení a jejch klíčové vlastnost. S ohledem na výhody statstckého posuzování byl navržen obecný rámec pro jejch ucelené testování. V další část byla dskutována otázka kvalty a vhodnost různých typů transformace náhodné velčny v návaznost na souvsející problémy pozorované u některých výpočtových systémů. Se znalostí kvaltních generátorů, vhodné transformace a s využtím vlastností useknutých rozdělení dostáváme všechny potřebné nástroje nutné k realzac výpočtu spolehlvostních úloh, jejchž řešení bylo převedeno na řešení smulačního modelu [Lews, P. A. W. & Oraw, E. J., 1989]. Problém byl řešen v rámc vědecko-výzkumného záměru CEZ: J22/98: 261100009 Netradční metody studa komplexních a neurčtých systémů. 8 Lteratura KARPÍŠEK, Z. & ŠIKULOVÁ, M. Matematka IV, VUT Brno, 1997 HURT, J. Smulační metody, SPN Praha, 1982 RIPLEY, B. D. Stochastc smulaton, J. Wley & Sons, 1987 MATHSOFT, S-PLUS v3.3 Reference manual, Mathsoft, 1995 MATHSOFT, S-PLUS v3.3 User`s manual, Mathsoft, 1995 MATHSOFT, S-PLUS v3.3 Programmer s manual, Mathsoft, 1995 MATHSOFT, S-PLUS v3.3 Programmer s manual supplement, Mathsoft, 1995 MAREK, P. et al: Smulaton based relablty asssessment, CRC Press, 1996 POPELA, P. Generátory náhodných čísel a jejch testování VZ GAČR 103/94/0562, Brno, 1996 TEPLÝ, B. & NOVÁK, D. Spolehlvost stavebních konstrukcí, CERM Brno, 1999 BÍLÝ, M. & SEDLÁČEK, J. Spoľahlvosť mechanckých konštrukcí, VEDA, 1983 KLÍMA, V. Generátory náhodných čísel I-IV, CHIP č.3, 4, 5, 6, 1998 ANDĚL, J. Statstcká analýza časových řad, SNTL Praha 1976 LEWIS, P. A. W. & ORAW, E. J. Smulaton methodology, Wadsworth Inc. 1989-7 -