Symulacja komputerowa
egzamin - termin pierwszy
Zadanie 1
Wygenerować liczbę pseudolosową zgodnie z rozkładem przedstawionym w formie graficznej:
Zadanie 2
Wyznaczyć dystrybuantę empiryczną pewnej zmiennej losowej x dla której wykonano w eksperymencie symulacyjnym pomiar:
nr pom |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
x |
3 |
2 |
0 |
4 |
1 |
3 |
2 |
4 |
2 |
0 |
oraz wygenerować realizację tej zmiennej losowej metodą odwracania dystrybuanty dla r =0,3
Zadanie 3
Czy wariancja estymatora parametru rozkładu zmiennej losowej wzrośnie, czy zmaleje, gdy obetniemy n' - pierwszych pomiarów z próby n - elementowej. Czy obciążenie tego estymatora się zmieni. Odpowiedź uzasadnić, podać warunki jakie musi spełnić próba losowa, aby uzasadnienie podane przez autora wypowiedzi miała sens.
Zadanie 4 - z materiałami
Napisać krótki program symulacyjny pozwalający badać system i wyznaczyć charakterystyki:
oczekiwany graniczny czas obsługi klientów (sumacyjnie)
prawdopodobieństwo odrzucenia klienta typu 1, typu 2
Rozkłady są wykładnicze.
p - prawdopodobieństwo trafienia do punktu obsługi 1
p-1 - prawdopodobieństwo trafienia do punktu obsługi 2
5. Dla gęstości f(x)=ex/(x-1) 0<=x<=1 określić liczbę pseudolosową ?..
6. Serwer 4 procesorowy, procesory niezależne, bufor na 6 miejsc, czas obsługi wykładniczy u. Jaki będzie najkrótszy, średni i najdłuższy czas obsługi, narysować model.
Poniewaz zaoczni mieli juz egzamin z SK oto co sie od nich dowiedzialem:
--------------------------
to wygladalo tak:
5 pytan testowych
o bardzo roznym zakresie, wielokrotnego wyboru, dotyczylo to modsima i ogolnie symulacji, troche statystyki, bylo tutaj od groma mozliwosci bo bylo duzo grup
6. zadanie to bylo zadanie do policzenia
wyliczyc dystrybuante empiryczna odwrocic i cos tam wygenerowac, ogolnie banal
tylko ze jak sie trafila calka i trzeba bylo jechac przez czesci to juz proste nie bylo
7. zadanie - napisac program w modsimie, ja mialem dwa rownolegle uklady i prawdopodobienstwo ze sie zepsuja czas naprawy itp
wyliczyc po jakim czasie zepsuja sie oba na raz
za pierwsze 5 po 1 pkt za 6 i 7 po 3pkt
Zestaw 1
1) Na czym polega symulacja komputerowa?
* na naśladowaniu rzeczywistości
*
* na eksperymentowaniu na modelu ...
SYMULACJA KOMPUTEROWA -
metoda badania lub naśladowania systemu rzeczywistego lub teoretycznego poprzez zbudowanie jego modelu i jego implementacji komputerowej a następnie eksperymentowanie na modelu i analiza uzyskanych wyników.
3) Co to jest zdarzenie systemowe w symulacji dyskretnej?
* awaria systemu
* zmiana czasu systemowego
* zmiana stanu systemu
zdarzenia - zmiana stanu w ustalonej chwili (t, s1, s2, ..., sn ) - ogólnie
ZDARZENIE - zmiana stanu jednostki - dyskretna
4) Czym się różni strategia interakcji procesów od szeregowania działań i interakcji obiektów?
*
* ...synchronizacja...
*
254, 256
5) Czy obiekty w modsimie mogą mieć wiele aktywności?
* TAK
* NIE
* CZASEM
Cechy symulacji obiektowej zorientowanej na procesy:
Procesy opisują pojedyncze aktywności obiektów reprezentujących elementy rzeczywiste
Kompletne zachowanie odwzorowane jest przez zbiór procesów
Upływ czasu realizowany może być w wielu miejscach procesów
Każdy obiekt mieć wiele aktywności
Każda aktywność pochodzi od metody TELL (lub WAITFOR)
Aktywności kończą się zgodnie z założeniami lub mogą zostać przerwane
6) Wygenerować liczbę pseudolosową mając próby:
1 2 3 4 5
10,5 9 10,5 12 12
dla r=0,3
7) Mamy układ równoległy 2 obiektów. Oba psują się w czasie o rozkładzie wykładniczym o parametrach odpowiednio lambda1 i lambda2, reperowane są w czasie o rozkładzie wykładniczym z parametrami ni1, ni2. Oszacować kiedy układ się popsuje (pierwszy moment niedziałania obu elementów układu). Napisać kawałek kodu w modsimie do tego.
Zestaw 3
Czym rożni się metoda upływu czasu krokowa od zdarzeniowej ?
Metodą przyrostu czasu, w krokowej co stałą wielkość, w zdarzeniowej w sposób losowy, zgodnie z najmniejszą wartością czasu zdarzeń
Jedna jest ciągła a druga dyskretna
Sposobem aktualizacji czasu i obsługi zadań
Co to jest generator liczb pseudolosowych?
Algebraiczna procedura dająca na wyjście ciągi liczb spełniające założenia niezależności i zgodności z oczekiwanym rozkładem prawdopodobieństwa
Program wyznaczający dowolne ciągi liczb
Fizyczna lub programowa reprezentacja algorytmu wyznaczania realizacji zmiennych losowych
Czym się różni obiekt grupowy QueueObj od StackObj ?
Wielkością
Regułą kolejki
Sposobem lokalizacji obiektów pojedynczych w obiekcie grupowym i sposobem pobierania z kolejki
Co to jest prototypowanie?
Wytwarzanie prototypów obiektów wyposażonych w pewne cechy, z niedokończoną strukturą i metodami
Zadeklarowanie klasy obiektu z możliwością dziedziczenia cech oraz zmiany niektórych elementów przez potomków klasy prototypowej
Symulacja działania obiektów dziedzicznych
Odpowiednią próbę losową dla oszacowania charakterystyk procesów obsługi w systemie kolejkowym można uzyskać poprzez:
Zorganizowanie jednego powtórzenia eksperymentu pod warunkiem ergodyczności
Pętla programowa z zerowaniem czasu i licznikiem powtórzeń
Jednokrotne działanie programu
Pytania z pozostałych grup z cytatami z PPSów Najgebauera:
1)jakie są fazy symulacji
BUDOWA MODELU SYMULACYJNEGO
EKSPERYMENTOWANIE
ANALIZA WYNIKÓW EKSPERYMENTÓW
2)Na czym polega symulacja Monte Carlo
Metoda Monte Carlo (MC) jest stosowana do modelowania matematycznego procesów zbyt złożonych (obliczanie całek, łańcuchy procesów statystycznych), aby można było przewidzieć ich wyniki za pomocą podejścia analitycznego. Istotną rolę w metodzie MC odgrywa losowanie (wybór przypadkowy) wielkości charakteryzujących proces, przy czym losowanie dotyczy rozkładów znanych skądinąd.
3)Jakie elementy są istotne z punktu widzenia SK
?przyrost czasu (ciągły/ dyskretny)
?sterowanie czasem (krokowo/zdarzeniowo)
?zorientowanie na(procesy/obiekty/przesłania/aktywności)
4)Na czym polega procedura upływu czasu
Algorytm krokowy:
Begin Main
inicjuj zmienne stanu
realizuj w pętli wszystkie funkcje
While not koniec symulacji
UaktualniajFunkcje
End While
End Main
Procedure UaktualniajFunkcje
For wszystkich funkcji
Przełącz typ funkcji
Case typ 1: stosuj funkcje typu 1 do stanów i wejsc
Case typ 2: stosuj funkcje typu 2 do stanów i wejsc
.
Case typ n: stosuj funkcje typu n do stanów i wejsc
End For
Aktualizuj czas T := T+ deltat
End UaktualniajFunkcje
5)Kiedy stosujemy model konceptualny
KONCEPTUALNY - model zawierający składniki, które nie są precyzyjnie zidentyfikowane w terminach stanu, zdarzenia, funkcji. Wyraża obiekty i ich wzajemne relacje. Stanowi często pierwszy krok do precyzyjnych modeli.
6)Co to znaczy zbadać adekwatność modelu symulacyjnego
BADANIE ADEKWATNOŚCI - proces oceniania, czy model odpowiada rzeczywistemu lub wyobrażanemu systemowi
7)Co to jest symulacja
SYMULACJA KOMPUTEROWA -
metoda badania lub naśladowania systemu rzeczywistego lub teoretycznego poprzez zbudowanie jego modelu i jego implementacji komputerowej a następnie eksperymentowanie na modelu i analiza uzyskanych wyników.
Symulacja uosabia zasadę „poznawania poprzez wykonywanie”
8)Czym się różni symulacja ciągła od dyskretnej
SYMULACJA CIĄGŁA A DYSKRETNA
MODEL CIĄGŁY - deterministyczny układ równań różniczkowych lub algebraicznych
MODEL DYSKRETNY - szereg zdarzeń, zachodzących w losowych chwilach
9)Jak można scharakteryzować model formalny
10)Czym rożni się fizyczny od programowego generatora liczb pseudolosowych.
Generatory fizyczne:
Wymagają dodatkowych urządzeń,
Są wolniejsze od generatorów pseudolosowych (programowych);
Nie jest możliwe powtórzenie ciągu liczb;
11) Co to jest algorytm konkurencyjny ?
Algorytm online, który jest c-aproksymacyjny nazywamy c-konkurencyjnym (c-competitive).
Problem online, to taki problem optymalizacyjny, w którym:
*wej´scie I jest pokazywane algorytmowi online ALG sekwencyjnie,
„po kawałku”
*algorytm ALG musi oblicza´c cz˛e´s´c wyj´scia O, zaraz po
przeczytaniu odpowiedniego fragmentu wej´scia I
Ustalmy dowolny problem optymalizacyjny (minimalizacyjny). Mówimy,
˙ze algorytm ALG jest c-aproksymacyjny, je´sli dla dowolnego wej´scia
I 2 I zachodzi
ALG(I) <= c · OPT(I)
12) Co się pojawi w SimTime gdy pojawi się zdarzenie?
Po zrealizowaniu operacji skojarzonych z każdą aktywnością czas jest aktualizowany na wartość znacznika czasu (time stamp) kolejnej aktywności.
1
2
L = 4
L = 5
FIFO
1-p
p
1
2
-1/2 0 1 2 3
1
1/2