Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verze | |||
pitel:isz:principy_modelovani_a_simulace_systemu [26. 03. 2013, 13.18:14] – [Základní termíny] link pitel | pitel:isz:principy_modelovani_a_simulace_systemu [30. 12. 2022, 13.43:01] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
+ | ====== Principy modelování a simulace systémů ====== | ||
+ | ===== Základní termíny ===== | ||
+ | [[pitel: | ||
+ | ==== Systém ==== | ||
+ | Systém je soubor elementárních částí (= prvků systému), které mají mezi | ||
+ | sebou určité vazby. Matematicky je systém dvojice S = {U, R}: | ||
+ | * **U** -- universum, množina všech prvků systému | ||
+ | * **R** -- množina všech relaci -- vazeb prvků | ||
+ | //Pro představu: Akvárko je systém složený ze stěn, vody, rybiček a všeho, co rybičky vyprděly. Vazby mezi rybičkami jsou takové, že velké rybičky žerou menší.// | ||
+ | * **Isomorfní** -- ekvivalentní systémy, bijekce, 1:1 | ||
+ | * **Homomorfní** -- podobné systémy, injekce, tvorba homomorfních systémů je principem modelování | ||
+ | |||
+ | ==== Model ==== | ||
+ | Model je napodobenina systému jiným, jednodušším systémem. | ||
+ | |||
+ | //Příklad modelu: Fyzikální zákony jsou matematickým modelem reálného světa -- modelují způsob, jakým reálný svět funguje.// | ||
+ | |||
+ | * **Abstraktní** -- zjednodušený model zkoumaného systému, například nějaká čmáranice na papír, vzorce, whatever. | ||
+ | * **Simulační** -- abstraktní zapsaný kódem | ||
+ | |||
+ | ==== Modelování a simulace ==== | ||
+ | Modelování je proces vytváření modelu systému a simulace je pak získávání nových znalostí o původním systému pomocí experimentování na tomto modelu. | ||
+ | |||
+ | // | ||
+ | |||
+ | Důležitou částí simulace je vyhodnocení výsledků (výstupních dat). | ||
+ | |||
+ | ==== Verifikace modelu ==== | ||
+ | Kontrola, zda simulační model odpovídá abstraktnímu modelu. Čili že to, co jsme naprogramovali, | ||
+ | |||
+ | ==== Validace modelu ==== | ||
+ | Ověření, zda model dává validní výsledky -- takové, které by dávalo pozorování původního systému při stejných podmínkách. Validace je náročná. Nelze vyrobit model, který bude 100% validní, respektive ani u sebedokonalešího modelu nelze 100% validitu dokázat. | ||
+ | |||
+ | //Takže třeba u výše uvedeného příkladu s LEGO traktorem bychom po pár shození LEGO traktoru a skutečného traktoru zjistili, že ten z Lega se rozbije jinak než ten skutečný, takže dělat model z Lega nebyl asi dobrý nápad a zkusili bychom to třeba s papírem.// | ||
+ | |||
+ | ===== Diskrétní simulace ===== | ||
+ | <note important> | ||
+ | |||
+ | Simulace diskrétních systémů. Diskrétním systémem myslíme takový systém, ve kterém nás nezajímá stav v jakémkoli okamžiku v čase, ale pouze v klíčových momentech. | ||
+ | |||
+ | ==== Proces === | ||
+ | Proces je posloupnost událostí. Proces může být například zákazník v obchodu a jeho posloupnost událostí je: vstup do obchodu, výběr položek k nákupu, zaplacení na pokladně, odchod z obchodu. | ||
+ | |||
+ | Paralelní události se počítají sériově -- nejdřív se provede jedna, pak druhá a teprve poté se posune simulační čas. | ||
+ | |||
+ | ==== SHO – systémy hromadné obsluhy ==== | ||
+ | Jde o diskrétní systémy, které kromě procesů obsahují fronty, obslužné linky a potažmo sklady. | ||
+ | |||
+ | === Fronta === | ||
+ | Procesy, které čekají na přidělení nějakých zdrojů (třeba čekají na obsloužení na nějaké obsazené lince), se mohou řadit do front. | ||
+ | |||
+ | === Obslužná linka === | ||
+ | Jde o zařízení, | ||
+ | |||
+ | === Sklad === | ||
+ | Sklad je linka, která umí obsluhovat více procesů. Zároveň může nějaký proces zabrat více míst ve skladu. | ||
+ | |||
+ | // | ||
+ | |||
+ | ==== Priority procesů ==== | ||
+ | Některé procesy mohou mít větší prioritu. Jsou dva typy priority: slabou a silnou. | ||
+ | |||
+ | === Slabá priorita === | ||
+ | Při příchodu procesu se slabou prioritou k zařízení se nejprve dokončí obsluha procesu, který je uvnitř. | ||
+ | |||
+ | === Silná priorita === | ||
+ | Právě obsluhovaný proces je postaven do zvláštní, | ||
+ | |||
+ | ==== Kalendář událostí ==== | ||
+ | Řídící mechanismus simulace. Pokaždé, když nějaký proces dokončí svou diskrétní činnost a " | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | ===== Spojitá simulace ===== | ||
+ | Pokud potřebujeme simulovat systém se spojitými průběhy, použiváme spojitou simulaci. Spadá sem například fyzikální simulace pohybu vesmírných těles, elektrických obvodů atd. Stejně jako u diskrétních simulací je zde čas diskrétní. Rozdíl je však v tom, že výpočet stavu systému probíhá v daných intervalech, | ||
+ | |||
+ | ==== Princip fungování spojitého simulátoru ==== | ||
+ | - Stanoví se počáteční podmínky, stav systému v okamžiku zahájení simulace | ||
+ | - Simulátor se posune v čase o krok dopředu | ||
+ | - Simulátor vypočítá stav všech součástí systému | ||
+ | - goto 2 | ||
+ | |||
+ | ==== Numerické metody ==== | ||
+ | Výpočet stavu systému je často spojen s řešením diferenciálních funkcí. Např. při řešení fyzikálních modelů jsou jednotlivé prvky systému ve vztazích definovaných pomocí fyzikálních zákonů. Na počítači se diferenciální funkce řeší pomocí numerických metod. Funkce se přibližně proloží (aproximuje) polynomem a pak se extrapoluje výsledek v příštím integračním kroku. | ||
+ | |||
+ | * Eulerova metoda | ||
+ | * Runge-Kutta | ||
+ | * [[numericke_metody_a_matematicka_pravdepodobnost]] | ||
+ | |||
+ | ==== Dorovnávání času ==== | ||
+ | Pokud je simulační čas od konce simulace vzdálený o malou část obvyklého derivačního kroku, přepočítá se poslední krok rovnou až do konce simulace. | ||
+ | |||
+ | ===== Kombinovaná simulace ===== | ||
+ | Jde o spojitou simulaci s (občasnými) diskrétními událostmi. Simulátor počítá spojité průběhy a kontroluje, zda nedošlo k nějaké diskrétní události. | ||
+ | |||
+ | // | ||
+ | |||
+ | ==== Řízení kombinované simulace ==== | ||
+ | Stejné jako spojitá simulace s následujícím rozdílem: Při každém integračním kroku simulátor kontroluje, jestli nedošlo k nějaké diskrétní události. Pokud ano, tak se vrátí o krok zpátky, zmenší velikost kroku a počítá znovu. V momentě, kdy už nelze krok zmenšit, dojde k diskrétní události a nastaví se opět původní velikost integračního kroku. | ||
+ | |||
+ | Tento princip je důležitý kvůli co nejpřesnějšímu zjištění, | ||
+ | |||
+ | ===== Shrnutí ===== | ||
+ | * systém, model, modelování (abstraktní model, simulační model), verifikace, validace | ||
+ | * simulování, | ||
+ | * diskrétní simulace, kalendář, SHO | ||
+ | * spojitá simulace, numerické metody, dokročení | ||
+ | * kombinovaná simulace, detekce diskrétní události |