430 likes | 602 Views
Metody Symulacyjne w Telekomunikacji (MEST) Wykład 4: Generowanie zdarzeń . Dr inż. Halina Tarasiuk (halina@tele.pw.edu.pl), p. 337, tnt.tele.pw.edu.pl. Zagadnienia. Wstęp Planowanie zdarzeń Generowanie zdarzeń a zmienne losowe Generatory liczb losowych
E N D
Metody Symulacyjne w Telekomunikacji (MEST)Wykład 4: Generowanie zdarzeń Dr inż. Halina Tarasiuk (halina@tele.pw.edu.pl), p. 337, tnt.tele.pw.edu.pl
Zagadnienia • Wstęp • Planowanie zdarzeń • Generowanie zdarzeń a zmienne losowe • Generatory liczb losowych • Generowanie wartości zmiennych losowych dla wybranych rozkładów
Zagadnienia • Wstęp • Planowanie zdarzeń • Generowanie zdarzeń a zmienne losowe • Generatory liczb losowych • Generowanie wartości zmiennych losowych dla wybranych rozkładów
Wstęp (1) • Symulacja, która ma jakiekolwiek losowe elementy musi angażować pewne próbki lub generować liczby losowe z rozkładów prawdopodobieństwa • Rozkłady są często wynikiem dopasowania pewnych rozkładów, np. rozkładu wykładniczego, gamma, Poissona, do danych pochodzących z obserwacji rzeczywistego systemu
Wstęp (2) • Źródła losowości dla przykładowych systemów • Przemysł • Czas życia maszyn, czas naprawy maszyn • Komunikacja • Odstęp między wiadomościami, typ wiadomości, długość wiadomości • Transport • Czas załadunku statku, odstęp między klientami przybywającymi do odprawy
Zagadnienia • Wstęp • Planowanie zdarzeń • Generowanie zdarzeń a zmienne losowe • Generatory liczb losowych • Generowanie wartości zmiennych losowych dla wybranych rozkładów
Planowanie zdarzeń – przykład (1) • Symulacja prostego systemu kolejkowego z jednym serwerem obsługi i jedną kolejką Napływ klientów Kolejka Serwerobsługi Wypływ klientów Rys. 1: Prosta reprezentacja modelu systemu
inicjalizacja Możliwe przejście Planowanie zdarzeń - przykład(2) Graf zdarzeń, model kolejkowy Przybycie do systemu Opuszczenie systemu
Zagadnienia • Wstęp • Planowanie zdarzeń • Generowanie zdarzeń a zmienne losowe • Generatory liczb losowych • Generowanie wartości zmiennych losowych dla wybranych rozkładów
Generowanie zdarzeń a zmienne losowe • Symulacja systemów o parametrach wejściowych opisanych pewnymi zmiennymi losowymi wymaga określenia rozkładów prawdopodobieństwa tych zmiennych • Przykłady • Zmienne losowe opisujące: • Odstępy między klientami napływającymi do systemu kolejkowego • Czas obsługi klientów w systemie kolejkowym
Zmienne losowe a generowanie zdarzeń • Założenie • parametry wejściowe modelu symulacyjnego • zmienne losowe opisane danym rozkładem • Przebieg symulacji • wartości zmiennych losowych generowane zgodnie z przyjętym rozkładem
Zmienne losowe i ich własności • Oznaczenia zmiennych losowych • X, Y, Z • Założenia • Eksperyment – pewien proces, którego wynik nie jest znany • Zbiór wszystkich możliwych wyników jest określany zbiorem próbek, S • Zmienna losowa jest pewną funkcją, która przypisuje wartość ze zbioru liczb rzeczywistych każdemu z wyników eksperymentu ze zbioru S • Wartości, które może przyjmowaćzmienna losowa • x, y, z
Zmienne losowe i ich własności • Dystrybuanta zmiennej losowej X jest zdefiniowana dla każdego x, jako • Gdzie P(X≤x) oznacza prawdopodobieństwo skojarzone ze zdarzeniem, że {X≤x} • Własności dystrybuanty • 0 ≤F(x) ≤1 dla wszystkich x • F(x) nie jest malejąca
Zmienna losowa ciągła (1) • Zmienna losowa X jest zmienną losową ciągłą, jeżeli istnieje nieujemna funkcja f(x) taka, że dla dowolnego zbioru liczb rzeczywistych
Zmienna losowa ciągła (2) • f(x) – funkcja gęstości • f(x)=F’(x) • Ponadto • jeżeli I=[a,b] dla każdej liczby rzeczywistej a i b, takiej że a < b,
f(x) 1 x 0 1 Rozkład równomierny • Funkcja gęstości dla rozkładu równomiernego na odcinku [0,1]
Rozkład wykładniczy • Funkcja gęstości • Dystrybuanta
Zagadnienia • Wstęp • Planowanie zdarzeń • Generowanie zdarzeń a zmienne losowe • Generatory liczb losowych • Generowanie wartości zmiennych losowych dla wybranych rozkładów
Generatory liczb losowych • Generowanie liczb losowych • Umożliwia otrzymywanie wartości zmiennych losowych z przyjętego rozkładu • Załóżmy, że rozkład jest znany • Chcemy wygenerować liczby losowe zgodnie z danym rozkładem, aby przeprowadzić symulację dla przyjętego modelu symulacyjnego
Ciągi losowe • Wyróżniamy trzy typy ciągów losowych • Prawdziwie losowe • Generowane przez losowy proces fizyczny • Pseudolosowe • Liczby generowane wg ścisłej procedury matematycznej, czyli reprodukowalne • Quasilosowe • Ciągi, które nie muszą spełniać kryteriów losowości, ale jedynie dawać poprawne rozwiązania problemów • Ciągi quasilosowe tworzy się na użytek już postawionych zadań
Metody generowania liczb losowych • Dla celów badań symulacyjnych, w których opisujemy zmienne losowe za pomocą rozkładów prawdopodobieństwa stosujemy metody generowania liczb pseudolosowych • Jednak w dalszej części liczby pseudolosowe będziemy określać jako liczby losowe • W praktyce nie przeprowadzamy badań symulacyjnych z ciągiem liczb prawdziwie losowych • Interesują nas wyniki w pewien sposób powtarzalne • Np. aby porównać dwa systemy
Metodologia generowania liczb losowych • Pierwszy generator arytmetyczny • Generator von Neumanna i Metropolisa (lata 40-te XX wieku) • Bazujący na metodzie średniokwadratowej
Wymagania na arytmetyczny generator liczb losowych • Przede wszystkim, generowane liczby powinny • Pokrywać się z rozkładem równomiernym na odcinku [0,1] • Nie powinny wykazywać korelacji, w przeciwnym przypadku wyniki symulacji nie będą prawidłowe • Powinniśmy móc otrzymać taki sam ciąg liczb powtórnie • Np. w celu powtórzenia eksperymentu symulacyjnego • Lub w celu porównania działania dwóch systemów • Generator powinien umożliwić • łatwe generowanie kilku oddzielnych ciągów liczb losowych (jeden ciąg dedykowany dla jednego źródła losowego)
Przykład – metoda średniokwadratowa • Rozpocznijmy od czterocyfrowej dodatniej liczby całkowitej Z0 • Podnieśmy ją do kwadratu, aby uzyskać liczbę całkowitą ośmiocyfrową (jeżeli konieczne uzupełnijmy zerami z lewej strony) • Należy wybrać cztery środkowe cyfry, które będą stanowić kolejną czterocyfrową liczbę całkowitą Z1 • Aby uzyskać pierwszą liczbę losową z rozkładu równomiernego U1(0,1) tworzymy w oparciu o Z1 liczbę dziesiętną
Przykład – metoda średniokwadratowa • Ocena metody • Metoda ma tendencję dążenia do zera i pozostawania w tym stanie • Można to zaobserwować np. w rozważanym przykładzie dla większej liczby kroków lub np. dla Z0=1009
f(x) 1 x 0 1 Metody generowania liczb losowych • Metoda generowania zmiennych losowych z rozkładu równomiernego na odcinku [0,1]
Generatory kongruencyjne liniowe • Wiele generatorów liczb losowych stosowanych obecnie to generatory kongruencyjne liniowe, LCG (Linear Congruential Generator) • Sekwencja liczb całkowitych Z1, Z2, ... jest wyznaczana następująco: • Gdzie m, a, c, Z0 - wartość początkowa, są to liczby całkowite nieujemne
Generatory kongruencyjne liniowe • Aby otrzymać żądaną liczbę losową stosujemy wzór: • gdzie 0<m, a<m, c<m i Z0<m
Przykład • Rozważmy generator LCG o parametrach • m=16, • a=5, • c=3, • Z0=7
Przykład • Podsumowanie • W rozważanym przypadku obserwujemy cykliczne powtarzanie się otrzymywanych wyników • Długość cyklu jest określana jako okres • W rozważanym przykładzie okres wynosi 16
Generator LCG • Generator LCG jest generatorem pełno-okresowym • Jeżeli generator jest pełno-okresowy dowolny wybór wartości Z0 z przedziału {0, 1, ..., m-1} będzie generował pełny ciąg
Generator LCG • Twierdzenie • Generator LCG opisany wzorem • ma pełny okres wtedy i tylko wtedy, jeżeli spełnione są następujące warunki • Jedyną dodatnią liczbą całkowitą, która dzieli bez reszty m i c jest 1 • Niech q będzie liczbą pierwszą, jeżeli m jest podzielne przez q, wówczas a-1 jest również podzielne przez q • Jeśli m jest podzielne przez 4 wówczas a-1 jest również podzielne przez 4
Zagadnienia • Wstęp • Planowanie zdarzeń • Generowanie zdarzeń a zmienne losowe • Generatory liczb losowych • Generowanie wartości zmiennych losowych dla wybranych rozkładów
Generowanie wartości zmiennych losowych • Załóżmy, iż • chcemy wygenerować zmienną losową X, która jest zmienną losową ciągłą • Zmienna ta ma dystrybuantę F, która jest ciągła i rosnąca, gdy 0<F(x)<1 • Niech F-1 będzie funkcją odwrotną do funkcji F
Generowanie wartości zmiennych losowych • Metodologia • Wówczas algorytm generowania zmiennej losowej X mającej dystrybuantę F jest następujący • Generujemy • Zwracamy
Rozkład wykładniczy • Funkcja gęstości • Dystrybuanta
Przykład • Niech X będzie zmienną losową mającą rozkład wykładniczy z wartością średnią • Dystrybuanta rozkładu dana jest funkcją • Aby znaleźć F-1, przyjmujemy u=F(x) i w ten sposób znajdujemy x
Przykład • Funkcja odwrotna przyjmuje wartość