Simulation Hungarian

Szimulálás

“Das ganze* tschechische* Volk ist* eine* Simulantenbande”

Jaroslav Hašek: a jók katonáskodnak Švejk

Mi az a Simulation
Folytonos szimulálás
Különálló szimulálás
Objektumorientált szimulálás
A sorozatszimuláláson
Referenciák


Mi Simulation

Legfeljebb általános sík Simulationt Cognition fajtájaként meg kellene fontolni. (A Cognition = tett vagy a szerző tudás eljárása.) Ott három alapvető módszer az, hogy hogyan lehet kapni egy információt (tudás) tárgyilagos valóságú: Kísérlet, elemzés, szimulálás. Vigyünk el egy gyakorlati példát, hogy demonstrálja ennek a három módszernek a természetét! A rendszer, amit vizsgálnak, egy kísérővel egy benzinkút. A kérdés az, hogy mi az átlagos idő, amit költött egy autó a benzinkútban. Kapni a választ nekünk van három lehetőségünk:

Kísérletezz: vegyél megállásórákat és mérd az időt, amit minden autó az állomásban tölt. Számold az autókat a végösszegnél minden alkalommal és oszd őket az autók száma által.

Elemzés: arra használja a Queueing Theory egy képletét, hogy számoljon az átlagos idő közvetlenül költött a rendszerben. Használni egy olyan képletet, amit neked fel kell tenned majd, bizonyos queueing modell melyik jelenti azt, hogy az igazi rendszer egy jelentős egyszerűsítésének és neked szükségetek lesz néhány mennyiségi paraméterre (itt érkezésintenzitás – az autók száma megérkező időegység és szolgáltatóintenzitás – szám az autók szolgáltak időegység).

Szimulálás: az autók érkezéseit és a szolgáltatások tartamát írja egy olyan szimulálásmodellnek, akit az véletlenszerűen létrehoz. Ez követelmény szintén sorozat megfelelően minden tevékenység egy egy–egy levelezés az igazi rendszerrel. Szintén megfigyelés, a statisztikai adat gyűjteménye, és értékelést kell programozni (mindegyik autószámításért az idő költött, felhalmozza ezeket az időket, számít az autók száma, a végén bemutatja az átlagot és kiszámítja őt).

Ezt a három módszert nem sorolhatják be, mert mindegyiküknek előnyei és hátrányai vannak. Őket csak számlába való bizonyos különös esetelfoglalás kontextusában tudják összehasonlítani különféle ismertetőjelek. Mindazonáltal néhány alapvető tény nyilvánvaló:

Kísérlet mindig a legpontosabb módszer, azt használni kellene, amikor ez megvalósítható. Sajnos nagyon gyakran a kísérlet van:
– Túl veszélyes (viselkedés kritikus helyzetekben nukleáris reaktorú miközben egy sugárral száll le egy repülőgéppel, , stb.)
– Túl drága (minden ügy, ami okoz egy kárt, vágyakozik a kísérletek, amik tanulják egy adat átmenő teljesítményét, hálózatot építenek miközben kibérelt telefonvonalakat használnak, stb.)
– Nem lehetséges egyáltalán ha a rendszer, amit vizsgálnak, nem elérhető (a tervszínpadban levő lehetségesebb alternatívák értékelése.)

Elemzés (javarészt matematikai) jellemzően olyan erős feltevéseken alapul, amik ritkán igazak gyakorlati életben. Az elemző módszerek egy másik lehetséges hátránya túl bonyolult készülék használt és/vagy túl időigényes kiszámítás. Egy példa erre Queueing Networks elemzése. A másik kézen, ami képleteket használ, a rugalmasságok javarészt böjtölnek eredmények és ez lehetséges sok alternatívát ellenőrizni azáltal, hogy egyszerűen beilleszti a paraméterek különböző értékeit a formula(e). A kísérleti módszerek javarészt sokkal időigényesebbek. Az elemzés egy másik problémája a szükséges paraméterek elérhetősége. A pontos mérésük szintén nem szükségképpen megvalósítható vagy ez lehetetlen a tervszínpadban. Becsült adatokat vagy adatot használni, amit másik hasonló rendszerekből vittek, csökken az eredmények hitelessége.

A szimulálás szintén egy kísérleti módszer. Helyette kísérletező az igazi rendszerrel a kísérleteket a szimulálásmodellel végrehajtják (kinek a terve a szimulálástanulmányok fő pontja így). Valamint szimulálásnak van sok hátránya. Itt vannak a legfontosabbak:
– A szimulálás túl igényes teremtése formál. A programozó szimulálás általában formál nyelvek (mint Pascal) túl nehéz. Hatékony szimulálásnyelvek vannak de a vezérlésük képvisel egy nagy kezdeti befektetést nem mindig jogos. Ott vagy a szimuláláseszközök jellemzően alapoztak valami grafikus technikán az automatizálja a bizonyos osztály szimulálásmodelljeinek a teremtését vagy leegyszerűsíti őt rendszerek. Ha körülbelül egy ilyen eszközt akarsz megtanulni, át akarsz térni az oldalra Petri Nets .
– Tudást arról korlátozott, hogy a rendszert szimulálták. Először is néhány mennyiségi paramétert tudni kell. A fenti példában szükséges érkezések és véletlen szolgáltatóidők között létrehozni véletlen időközöket. Itt szimulálás sokkal több rugalmas az elemzésnél – szimulálásnyelvek a véletlenszámok támogatásnemzedéke gyakorlatiasan bármilyen elosztás. A fenti példában mindkét véletlen alak bármennyin alapulhat (e.g. kisérleti úton győzedelmeskedett) elosztások. Mindazonáltal bármilyen elosztásnak szüksége van bármelyik különfélére paraméterek (ha ez elméleti) vagy közvetlenül a Distribution Function (ha az elosztást szerzi mérés). Ott szintén dolog tud lenni a rendszerben (jellemzően a tervszínpadban) azt nem számszerűsíthetik és gyakran szükséges elfogadni a tényt, hogy lehet, hogy szempontok vannak, mi nem vagyunk körültekintőek egyáltalán.
– Túl időigényes kiszámítás. Egy példa sok összetevővel a nagyfokú rendszerek elemzése miközben párhuzamosban dolgozik. Mert az igazi párhuzamosság alkalmazása még mindig nem közös, ilyen, rendszereket szimulál egy program, amit végrehajtott egy egyetlen processzor. Párhuzamos tevékenységeket hajtanak végre akkor egy egy időnél (még akkor is, ha a felhasználónak van a párhuzamosság egy benyomása és a szimulálásmodell terve párhuzamosban gondolkodik). Ennek az eredménye a tény, hogy a szimulálás sokkal lassabb tudott lenni, mint a valós idő, (a modellidő 1 másodperce veszi a CPU idő 10 percét). Ez természetesen valós időjű irányításban bénítja meg a szimulálás alkalmazását.

A hüvelykujj egy általános szabálya olyan tudott lenni, mint az:
Ha a kísérlet megvalósítható, használd azt. Ez mindig a legjobb módszer, mert minden szempontot számításba vesznek. Még akkor is, ha másik módszereket használtak a tervszínpad alatt, kísérletezz a rendszer egy végső értékeléseként tud szolgálni. Ha a kísérlet nem megvalósítható, próbálj meg megtalálni egy megfelelő elemző módszert. Ha ez nem elérhető, használj szimulálást.
A szimulálás nem csak az utolsó mentsvár ekként a pillantások kedvelnek a fenti szabályban. A szimulálás hozzájárulhat nagyon sokkal ahhoz, hogy a rendszer megértését elemzik, nem csak azokra a kérdésekre adott szállító válaszok által, amiket eredetileg adtak. Nagyon gyakran a szimulálásmodell teremtése az első alkalom, ahol bizonyos dolgokat vesznek számításba. A szimulált rendszer részletes leírása tud (és gyakran ez) felfed a hibák vagy a kétértelműségek a rendszerben terveznek. Úgyhogy a szimulálás nagyon soknak segíthet azáltal, hogy jövőt kerül el, nagyon drága frissítő a kész rendszer.

Menj vissza címsorba
Menj vissza honlapba


Folytonos szimulálás

A folytonos szimulálásnyelvek fejlődtek késik ötven az Analogue számítógépek szimulátoraiként. A szimulálás analóg számítógépeken azon, hogy létrehoz egy olyan analóg elektronikus rendszert, akinek a viselkedését leírják, alapul ugyanaz matematikai modell (készlet differenciálegyenletek) a rendszerként, amit vizsgálnak. Az elektronikus rendszert létrehozzák interconnecting az általános blokkok javarészt alapoztak műveleti erősítőkön, amiket megváltoztattak, hogy cselekedjenek integrátorokként, összeadók, és másik funkcionális egységek. Akkor a felhasználó ezzel az elektronikus rendszerrel kísérleteket hajt végre olyan jelentkező megfelelő inputok és felvétel által, amiket a feszültség bizonyos outputnál meghegyez, (oszcilloszkóp, rajzgép). A változó feszültség képvisel egy időfüggvényt, az ugyanaz akként a funkcióként, ami leírja az eredeti rendszerben bekövetkező változásoknak, hogy kinek a testi természete lehet teljesen más, (mechanikus elmozdulás, hőmérséklet, , stb.). Az analóg számítógépek fő problémája mint szorzás a bizonyos operációk egy analóg implementációja, néhány funkció nemzedéke, a késedelmek és mások nemzedéke. A digitális számítógépek nagyon könnyen végrehajtják ezek közül a funkciók közül mindegyiket és ma folytonos szimulálást hajtanak végre csak rajtuk. Mindazonáltal van egy operáció, ahol az analóg számítógépek jobbak, – integráció. A digitális számítógépek általában lassabbabban és kevésbé vagyis numerikus integrációt használnak egy analóg integrátor integrációjával összehasonlítva pontos. Néhány különleges alkalmazás azért gyors válaszhasználaton alapozott az annyira hívott Hybrid számítógépek, az tartózkodik az analóg és digitális részek csatlakoztak egy/D és D/egy átalakítók. A digitális rész integrációt kivéve tesz mindent. Ez kiszámítja az integrátorok inputjait, az akkor konvertálja D/egy átalakítók analóg jelekre analóg integrátorokra betáplált. Az outputjaikat szemben fekvő módon kezelik. A digitális rész szintén irányítja az analóg rész összekötését, lehet, hogy az így kiszámítás alatt változik.

A folytonos szimulálás nyelvek besorolása

Block tájékozódott a szimulálásnyelvek az analóg módszertana alapján számítógépek. A rendszert ki kell fejezni olyan blokkdiagramként, ami meghatározza a funkcionális egységek összekötését és a mennyiségi paramétereiket. A programozás az jelenti, hogy be kell lépni a blokkok összekötésébe és a leírásukba. , Azután a felhasználó olyan nyilatkozatokat és/vagy útmutatásokat ad hozzá, amik irányítják a szimulálást. Ha a rendszert leírják egy készlet egyenletként, őket meg kell téríteni egy blokkdiagramra. Ez az átalakítás egy egyszerű egyenes eljárás. A rendelkezésre álló tipikus blokkok legfolytonosabb blokkban a központú nyelvek integrátorok, limitálók, késedelmek, multiplikátorok, hysteresis, állandó értékek, összeadók, tartók, haszon (együttható) és másik.

Kifejezés a központú folytonos nyelvek azon alapulnak, hogy kifejezéseket írnak, (egyenletek) az képviseli a matematikai modellt. Annyira a rendszer szimulált ki kell fejeznie egy készlet egyenletnek. , Azután a felhasználó olyan nyilatkozatokat és/vagy útmutatásokat ad hozzá, amik irányítják a szimulálást. Néhány nyelv lehetővé teszi blokkot és a rendszerdefiníció kifejezés alapú útjait is. Szimulálásirányítás-eszközök kiválasztás: az integrációs módszer (mert néhány nyelv többet ajánl), az integrációs lépés, a változók (a blokkok outputjai) azt meg kellene figyelni, az időközök nyomtatásra és/vagy cselszövésre vonatkozó összegyűlő adatokért, az outputok skálázása (az automatikusan szintén kész lehet), a szimulálás tartama fut, az ismétlések száma és a sokkal bizonyos értékeket megváltoztatják bennük, stb.

Letölti a fájlt models1.zip az több folytonos szimulálásmodellt tartalmaz, akit felírtak, a Turbo Pascal nyelv. Modelleket hoznak létre miközben használnak egy egyszerű folytonos szimuláláskörnyezetet, amit Expression alapján irányultak, megközelítés és könnyen meg tudják változtatni, hogy modellezzen bármilyen másik rendszereket, amiket leírtak differenciálegyenletek.

Menj vissza címsorba
Menj vissza honlapba


Különálló szimulálás

A különálló szimulálás olyan rendszerekkel foglalkozik, akiknek a dinamikáit meg tudják fontolni, (az absztrakció szintje miatt) ahogy egy sor esemény különálló időnél mutat. Egy különálló szimulálásnyelv fő pontja az út ez irányítja a modellben folytatott tevékenységek megfelelő sorbarendezését. Ez az út szintén egy felhasználónak meg kell néznie a világot mikor használó a nyelv és egy a különálló szimulálásnyelvek besorolásának szolgáló alap.

A különálló szimulálás nyelvek besorolása

A folyamatábra tájékozódott nyelveket képvisel a nyelv GPSS (Purpose Simulation System tábornok), az különféle számítógépeken létezik sok verzióban. A felhasználónak az annyira hívott Transactions áramlásaként meg kell néznie a rendszer dinamikáit egy blokkdiagramon keresztül. Tranzakciókat létrehoznak, követ egy ösvényt a blokkok egy hálózatán keresztül, és kijáraton semmisítik meg. Blokkokban tranzakciókat halaszthatnak el, munkálhatnak meg, és hagyhatnak le másik blokkokba. A Blockok a programban, amit képviseltek olyan nyilatkozatok, amik végrehajtják a modell Activitiesét, vannak.

A tevékenység tájékozódott a nyelvek nem a jövő világos ütemezése alapján tevékenységek. Mindegyik tevékenységért a felhasználó leírja a feltételnek alatta, hogy a tevékenység melyiknek hozhat helyet (az szintén ütemezést fed be, ha a feltétel bizonyos időt ér el). A szimulálásirányítás algoritmusa ismételten növekedések idő és tesztek minden tevékenység feltételei. Ennek a megközelítésnek a hátránya nyilvánvaló – szükséges kiértékelni minden feltételt minden lépésben, az nagyon időigényes lehet. Másfelől ez van konceptuálisan nagyon egyszerű és az algoritmust könnyen általános magas szint nyelvekben valósíthatják meg (vannak szimulálásnyelvek, amik ezen a megközelítésen alapultak, de széles körben használtak). Letölti a fájlt models2.zip az tartalmazza egy egyszerű sorba tevő rendszer két modelljét (Turbo Pascalban) az tüntet a tevékenység tájékozódott megközelítés. Ezeket a modelleket több egység kíséri, ami két útláncolt listán végrehajtott műtéteket valósít meg, amit később arra használnak, hogy kazlakat és sorokat valósítson meg.

Esemény a központú nyelvek közvetlen ütemezésen alapulnak és törlő jövőbeli eseményű. A megközelítés nagyon általános. A felhasználónak meg kell néznie a rendszernek a dinamikáját, amit egy sor viszonylag független eseményként szimuláltak. Minden esemény törölhet egy másikat és/vagy beütemezheti őt események. A beütemezett események rendszerrutinkövetelményellátás-rekordja. Az az, hogy minden eseményt miért képvisel az annyira hívott Event értesítés, az tartalmazza az időt, a versenytípus, és másik felhasználói adat. Versenyértesítéseket tartanak az annyira hívott Calendarben, ahol a versenyértesítéseket rendeli a beütemezett idő. Egy Event gyakorlat befejezése után a rendszer a legalacsonyabb idővel eltávolítja a versenyértesítést a naptárból, az ideje által frissíti a modellidőt, és elindítja a megfelelő gyakorlatot. Ezt ismétlik, amíg a naptár üressé válik vagy a programmegállások másik miatt érvelnek. Beütemező eszközök, amik a beütemezett idő által versenyértesítéseket a naptárnak illesztenek be, törlő eltávolítja őket. A megközelítés alapozott világos miközben megnyilvánul, események néha vagyis Discrete Event Simulationnek nevezik általánosított különálló szimulálásra ahogy ilyen. Ennek a nyelvekből álló csoportnak egy tipikus képviselője a nyelv SIMSCRIPT (de a verziója az II.5 támogatások szintén központú szimulálást munkálnak meg).

Az eljárás tájékozódott a nyelvek a tényen alapulnak, az az események nem függetlenek. Egy esemény jellemzően a másik előző események egy következménye. Más szóval gyakran lehetséges meghatározni több sor eseményt, amit megnézhetnek, ahogy egy szimulálás entitásai formálnak magasabb szinten hierarchia. Egy sor eseményt Processnek neveznek. Az eseményektől eltérően eljárásnak van egy dimenziója időben. A Process alapú elvont rendszerek valóságba nagyon közeliek, az mindig olyan különféle tárgyakból készül, amik léteznek és cselekednek párhuzamosban, ami bántalmazza egymást. A néző rendszer eljárásútja a dinamika így nagyon természetes. Javarészt egy eljárás modellezi egy igazi tárgy egy tevékenységét. Azt elhiszik, az az eljárás különálló szimulálást irányult a legjobb út az, hogy hogyan lehet alkotni a különálló szimulálás formál. Ennek a nyelvekből álló csoportnak a tipikus képviselői MODSIM, SIMSCRIPT II.5, és a rendszer osztályozzák SIMULATIONT a Simula nyelv.

Menj vissza címsorba
Menj vissza honlapba


Objektumorientált szimulálás

Object Oriented Simulation (OOS) Object Oriented Programming speciális eseteként meg tudják fontolni (OOP). OOP néhány elve szereti annak változó számú példájának a létezését, hogy beavatkozik, a tárgyak sokáig szimuláláskörnyezetben voltak általános használatban miközben gyakran használtak másik terminológiát. A Simula nyelv (Simula 67 nevezték) az első igaz objektumorientált nyelv. Lény több 30-nál évek öreg, ez megnyugszik most (meg minden fontos) szerkezetek és OOP elvei. Néhány dolog szereti az osztályokat, örökség, virtuális módszerek, határozzanak meg Simulában sokáig, stb. idő azelőtt őket újra felfedezte az utolsó évek OOP fellendülése. Simuláról többet megtanulni, meglátogatni ASU oldalát (Association Simula Users). Szintén tudod böngészni a dokumentumot Introduction OOP Simulában alapozott egy beszélgetésen, amit bemutattak a máltai Egyetemnél a Simula 30. évfordulójának az alkalmán. MODSIM egy másik objektumorientált szimulálásnyelv.

Ezek OOS legtöbb általában elfogadott jellemzői:

1. Az algoritmust vagy a rendszerdinamikát fejeznek ki tárgyak tekintetében (színészek) az párhuzamosban létezik és az egymással egymásra hat. Minden tárgyat képviselnek:
– paraméterek (az kijelölt reális érték lehet mikor generáló tárgyak)
– tulajdonít (a szintén hívott belső sajátosságok vagy az érték tulajdonít)
– módszerek (a szintén hívott tettek vagy az eljárás tulajdonít)
– élet, az képviseli a tevékenységet, amit tárgyteremtésen indítottak el.
A tárgyak így egymásra hathatnak:
– elküld hozzáférést paramétereknek és sajátosságoknak
– a módszerek kölcsönös hivatása
– kommunikáció és a tárgyak szinkronizálása él.
Egyszerűen véve: Object = Data + Procedures azt Encapsulationnek nevezik. Nagyon gyakran a tárgy adatait vagy ennek egy részét elrejtik és értékekhez férhetnek hozzá és módosíthatnak csak keresztül (jól meghatározott) módszerek. Ezt a fogalmat Informationnek nevezik miközben elbújik.

2. Hasonló tárgyak (színészek) csoportosítják az annyira hívott osztályok szintén prototípusokat hívtak. Egy osztály olyan tárgyakat ír le, amiknek ugyanazok a paramétereik vannak, tulajdonít, módszerek, és él. Egy osztálynyilatkozatot mintaként értelmeznek. Lehetséges létrehozni az egyéni tárgyak bármilyen számát (színészek) hívott objektumpéldányok. A példák különbözhetnek a paramétereik és/vagy sajátosságaik értékeiben. Szükséges csinálni egy osztály közti tiszta különbséget ahogy ilyen és objektumpéldányok, amiket létrehoztak miközben használták az osztálynyilatkozatot. Egy osztályt szintén bizonyos típusra vonatkozó tudásként értelmezhetnek tárgyak. Ilyen tudást képvisel egy adatrész és olyan operációk, amiket végrehajthatnak az adatokon. Ez hasonló absztrakt adattípusokhoz, de az osztályok sokkal gazdagabbak. Egy absztrakt adattípus ebben a kontextusban, amit megfontoltak egy olyan osztálynak elfajult ügyeként, ami nem csinálja az örökség használatát, lehet.

3. A tárgyak az annyira hívott örökség által hierarchikusan titkosak lehetnek. Nagyon gyakran az osztályon aluli kifejezést bemutatják. Egy osztályon aluli y egy osztály X örököl minden paramétert, tulajdonít, és módszerek az osztályozza X Itset nyilatkozat tud hozzáadja a további paraméterek bármilyen számát, tulajdonít, és módszerek. Egy osztályon aluli szintén hozzáadhat egy kevés tevékenységet a szülőosztály életéhez. Egy osztályon alulit másik subclasses, egy szülőosztályaként használhatnak, stb. Some OOP nyelvek (nem Simula) lehetővé teszi az annyira hívott többszörös öröklést. Ebben az esetben egy osztályon aluli az egy szülős osztályoknál többől örökölhet. Egy osztályon alulit értelmezhetnek részletesebb tudásként, amit annál meghatározott a szülőosztály. Úgyhogy a szülőosztály képvisel egy általános tudást, az távol lehet a subclassesok* nyilatkozatai által szakosodott a lépések bármilyen számában. Az örökség bizonyos útban cselekszik erős miközben gépel, a nyelvek szeretik Pascalt. Jellemzően lehetséges olyan referenciaváltozókat kijelenteni, amik említhetik a bizonyos osztály egy példáját és a subclassesai közül* mindegyiknek a példáit. Lehet, hogy ez kívánatos, annyira bizonyos módszer, azután különböző útban viselkedik az aktuális objektumpéldány szerint, amire hivatkoznak, az programvégrehajtás alatt változhat dinamikusan. Ez a fogalom kiáltott polimorfizmust támogatnak a szerkezet bonyolultnak nevezett késleltetett kötést és a módszereket virtuális módszereknek nevezik, az változhat a hierarchia minden szintjénél.

4. Az objektumpéldányok párhuzamos létezésének szüksége van arra, hogy létesítmények támogassanak együttműködést és az életeik szinkronizálását. Tárgy élet nem szükségképpen egy idődimenzió, de OOS esetében ez. Simula tiltakozik ahogy ilyen az idő elképzelése nélkül egymásra tud hatni. A Simula rendszerosztály SIMULATION meghatározza az osztályt Process kinek az élete létezik időben. Létesítmények vannak az eljárásokért hogy szinkronizálja az életeiket és közölje őket

Menj vissza címsorba
Menj vissza honlapba


A sorozatszimuláláson

Javával és JavaScript ajánlattal együtt levő internet hihetetlen lehetőségek feladatmegoldásban. Időigényes letöltés és a szoftvercsomagok üzembehelyezése helyett lehetséges különösen közvetlenül különféle megoldókat kinyitni olyan problémákért, amik nem gyakoriak és az, nem igényel időigényes kiszámítás. Az első lépésemként ebben az irányban egyszerű szimulálásmodelleknek JavaScriptben írtam azt egyetlen sorrendszereket szimulál és megoldja őket és queueing hálózatok. Procede az On-Line Solvers & Simulators oldalra most szimulálást kipróbálni.

Menj vissza címsorba
Menj vissza honlapba


Referenciák

Ez az oldal tartalmaz egy kivonatot a szövegből:
Sklenar, j.: Szimulálás (a máltai Egyetem, 2000) azt használják többen Operations Research kurzusokat beszélt el, amiket tanítottak a máltai Universitynél.
Szintén sok anyagot tudsz találni Interneten, mert minden keresőmodul szimuláláson küld vissza sok belépést. A következő helyekkel tudsz kezdődni, az másik kapcsolatokat tartalmaz, referenciák, intézményekkel kapcsolatos információ, konferenciák, , stb.

 

Page Updated: June 28, 2017