Technologie Informacyjne

Podobne dokumenty
Algorytmy zrandomizowane

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

ANALIZA WŁAŚCIWOŚCI STATYSTYCZNYCH SYGNAŁÓW PSEUDOLOSOWYCH GENERATORÓW ZBUDOWANYCH NA REJESTRACH PRZESUWNYCH

Układy kombinacyjne - przypomnienie

Prawdopodobieństwo i statystyka

Prawdopodobieństwo i statystyka

Układy stochastyczne

Technologie Informacyjne

Układy sekwencyjne - wiadomości podstawowe - wykład 4

Typy algorytmów losowych. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Układy kryptograficzne z uŝyciem rejestrów LFSR

Teoria przetwarzania A/C i C/A.

Metody numeryczne. Wykład nr 12. Dr Piotr Fronczak

Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera

Zadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL

4. Systemy algebraiczne i wielomiany nad ciałami zastosowania Rodzaje systemów algebraicznych ciała, grupy, pierścienie

Liczby losowe w informatyce Filip Piękniewski

Podstawy Automatyki. Wykład 13 - Wprowadzenie do układów sekwencyjnych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy symulacji komputerowej

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Projektowanie i Analiza Algorytmów

Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ

Haszowanie. dr inż. Urszula Gałązka

1. Symulacje komputerowe Idea symulacji Przykład. 2. Metody próbkowania Jackknife Bootstrap. 3. Łańcuchy Markova. 4. Próbkowanie Gibbsa

Przykładowe pytania DSP 1

MODELOWANIE RZECZYWISTOŚCI

Algorytmy zrandomizowane

Teoretyczne podstawy informatyki

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Generatory liczb pseudolosowych. Tomasz Kubik

Generacja liczb pseudolosowych

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Komputerowa Analiza Danych Doświadczalnych

Wykład 4. Tablice z haszowaniem

Algorytmy i złożoność obliczeniowa. Wojciech Horzelski

WYZNACZANIE NIEPEWNOŚCI POMIARU METODAMI SYMULACYJNYMI

Tablice z haszowaniem

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Algorytmy i struktury danych

Prawdopodobieństwo geometryczne

Generowanie sygnałów na DSP

WYKORZYSTANIE KOMPUTEROWYCH GENERATORÓW LICZB LOSOWYCH W UKŁADACH STOCHASTYCZNYCH PRZETWORNIKÓW ANALOGOWO-CYFROWYCH

Tablice z haszowaniem

Projektowanie i analiza algorytmów

Algorytmy i Struktury Danych

Metody Rozmyte i Algorytmy Ewolucyjne

Program MC. Obliczyć radialną funkcję korelacji. Zrobić jej wykres. Odczytać z wykresu wartość radialnej funkcji korelacji w punkcie r=

Chaotyczne generatory liczb pseudolosowych

ANALIZA WŁAŚCIWOŚCI GENERATORÓW

TEORETYCZNE PODSTAWY INFORMATYKI

Aproksymacja funkcji a regresja symboliczna

Podstawy OpenCL część 2

Wprowadzenie do teorii ekonometrii. Wykład 1 Warunkowa wartość oczekiwana i odwzorowanie liniowe

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Monte Carlo, bootstrap, jacknife

ALGORYTMY GENETYCZNE ćwiczenia

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) podstawowy (podstawowy / kierunkowy / inny HES)

Automat skończony FSM Finite State Machine

Sygnał a informacja. Nośnikiem informacji mogą być: liczby, słowa, dźwięki, obrazy, zapachy, prąd itp. czyli różnorakie sygnały.

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

Cel. Poznanie zasady działania i budowy liczników zliczających ustaloną liczbę impulsów. Poznanie kodów BCD, 8421 i Rys. 9.1.

Sieci Mobilne i Bezprzewodowe laboratorium 2 Modelowanie zdarzeń dyskretnych

Programowanie komputerów

BIOINFORMATYKA. Copyright 2011, Joanna Szyda

Algorytmy sortujące i wyszukujące

Wykład 14. Testowanie hipotez statystycznych - test zgodności chi-kwadrat. Generowanie liczb losowych.

Wykład z Technologii Informacyjnych. Piotr Mika

Mikroekonometria 6. Mikołaj Czajkowski Wiktor Budziński

POLITECHNIKA WROCŁAWSKA STUDIA DOKTORANCKIE JEDNOSTKA ZGŁASZAJĄCA/REALIZUJĄCA KURS: WYDZIAŁ BUDOWNICTWA LĄDOWEGO I WODNEGO / STUDIUM DOKTORANCKIE

Ćw. 7: Układy sekwencyjne

Maciej Piotr Jankowski

Liczby całkowite i rzeczywiste

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Generowanie ciągów pseudolosowych o zadanych rozkładach przykładowy raport

STATYSTYKA MATEMATYCZNA

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

Podstawowe funkcje przetwornika C/A

BADANIE PRZERZUTNIKÓW ASTABILNEGO, MONOSTABILNEGO I BISTABILNEGO

Spacery losowe generowanie realizacji procesu losowego

ĆWICZENIE nr 3. Badanie podstawowych parametrów metrologicznych przetworników analogowo-cyfrowych

Modulatory PWM CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

Technologie informacyjne - wykład 12 -

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

WYDZIAŁ BUDOWNICTWA LĄDOWEGO I WODNEGO

Krytyczność, przejścia fazowe i symulacje Monte Carlo. Katarzyna Sznajd-Weron Physics of Complex System

Komputerowe systemy pomiarowe. Podstawowe elementy sprzętowe elektronicznych układów pomiarowych

Generatory Liczb Losowych

Wykład 9: Markov Chain Monte Carlo

Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Ćwiczenie 3 Generator liczb losowych o rozkładzie Rayleigha.

Uczenie sieci typu MLP

,,Matematyczna Ruletka Czyli jak sie robi liczby (pseudo)losowe.

Ilustracja metody MONTE CARLO. obliczania całek podwójnych

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Mikroekonometria 5. Mikołaj Czajkowski Wiktor Budziński

Statystyka od podstaw Janina Jóźwiak, Jarosław Podgórski

Transkrypt:

POLITECHNIKA KRAKOWSKA - WIEiK - KATEDRA AUTOMATYKI Technologie Informacyjne www.pk.edu.pl/~zk/ti_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl

Wykład: Generacja liczb losowych Problem generacji liczb losowych Liczby losowe a pseudolosowe Zastosowania generatorów liczb losowych Metody programowej generacji liczb losowych Przykłady obliczeniowe Statystyczna ocena jakości generatorów Metody sprzętowej generacji liczb losowych

Problem generacji liczb losowych

Związki pomiędzy rozkładami liczb losowych

Liczby pseudolosowe (J. von Neumann)

Metoda środka kwadratu (von Neumann, 1946) Uwaga: niektóre sekwencje degenerują się do zer lub cykli, podczas gdy inne są zadowalające. Wniosek: metoda generacji musi być dobrana starannie, a nie przypadkowo.

Metoda środka kwadratu - przykład... Xi= X i^2 = X i+1 = X i+1^2= X i+2 = X i+2^2= X i+3 = X i+3^2= X i+4 = X i+4^2= 3967 15 7370 89 7370 54 3169 00 3169 10 0425 61 0425 00 1806 25 1806 03 2616 36...

Zastosowania liczb pseudolosowych

Algorytmy randomizowane Algorytmy randomizowane (probabilistyczne) to algorytmy wykorzystujące pewien mechanizm losowy. Najcześciej jest to generator liczb pseudolosowych. Zachowanie algorytmu zależy od dodatkowego strumienia losowych danych wejściowych. Algorytm ma osiągnąć lepszą jakość (zwykle którtki czas obliczeń) w średnim przypadku. Prawdopodobieństwo wystąpienia najgorszego przypadku jest znikomo małe. Przykład: Algorytm sortowania QuickSort działa w średnim przypadku w czasie O(n), chociaż czas najgorszego przypadku to O(n^2). Losowe przetasowanie danych wejściowych praktycznie eliminuje najgorszy przypadek.

Algorytm Monte Carlo Algorytm MC należy do klasy algorytmów randomizowanych zawierających mechanizm losowego próbkowania. Przykład: gra w statki. Losowe próbkowanie jest efektywniejsze niż systematyczne przeszukiwanie obszaru. Algorytm MC jest stosowany w przypadku, gdy z jakiegoś względu nie jest możliwe albo dopuszczalne zastosowanie algorytmu deterministycznego. MC może dać odpowiedź niepoprawną, jednak prawdopodobieństwo błędu można dowolnie zmniejszyć poprzez niezależne powtarzanie algorytmu.

Algorytm Las Vegas Algorytm LV należy do klasy algorytmów randomizowanych, które nigdy nie dają niepoprawnego wyniku. Algorytm nie ryzykuje poprawnością wyniku, hazardowi podlegają tylko zasoby wykorzystywane w obliczeniach. Przykład: randomizowany algorytm QuickSort daje zawsze poprawny wynik sortowania, chociaż element podziałowy (pivot) jest w nim generowany losowo. Algorytm LV zawsze daje poprawną odpowiedź, albo informuje o błędzie. Różny, chociaż skończony, jest tylko czas działania. Jest to główna różnica pomiędzy algorytmami LV i RC.

Elementarne metody generacji Metoda środka kwadratu (von Neumann, 1946) Liniowa metoda kongruencyjna (D.H. Lehmer, 1949) Kwadratowa metoda kongruencyjna (uogólnienie) Kwadratowa metoda kongruencyjna (wariant R.R. Conveyou) Addytywna metoda kongruencyjna (G.J. Mitchel, D.P. Moore, 1958) Liniowa kombinacja - metoda kongruencyjna (uogólnienie)

Złożone metody generacji (zwiększające losowość) Metoda tasowania z dwoma sekwencjami losowymi (M.D. MacLaren, G. Marsaglia, 1968) Metoda tasowania z jedną sekwencją losową (C. Bays, S.D. Durham, 1976) Uwaga: druga z powyższych metod jest lepsza niż pierwsza

Arytmetyka modularna

Arytmetyka modularna

Liniowa metoda kongruencyjna

Liniowa metoda kongruencyjna dobór współczynników i wartości początkowej

Liniowa metoda kongruencyjna dobór współczynników i wartości początkowej

Liniowa metoda kongruencyjna rozkłady wybranych liczb (w 1) i (w+1) na czynniki pierwsze, gdzie: w długość słowa maszynowego jako potęga o podstawie 2

Liniowa metoda kongruencyjna generowanie losowych liczb ułamkowych

Kwadratowa metoda kongruencyjna

Kwadratowa metoda kongruencyjna dobór współczynników

Kwadratowa metoda kongruencyjna wariant R.R, Coveyou

Addytywna metoda kongruencyjna

Addytywna metoda kongruencyjna - algorytm

Addytywna metoda kongruencyjna rekomendowane pary liczb

Addytywna metoda kongruencyjna - przykład Niech n=6, m=8, wybrana para liczb to (2,5). [X(0),...,X(5)]=[2,5,1,7,4,3]. Generowana według wzoru X(n)=[X(n-2)+X(n-5)] mod8 sekwencja liczb losowych X(6)... X(29) - jest następująca: [140071313043565207640472]. Początkowe wartości komórek pamięci Y[1]... Y[6] oraz indeksów w algorytmie są równe Y=[3 4 7 1 5 2], i=2, j=5. Kolejne kroki: Y=[3 4 7 1 5 1], i=1, j=4 Y=[3 4 7 1 4 1], i=6, j=3 Y=[3 4 7 0 4 1], i=5, j=2

Liniowa kombinacja - metoda kongruencyjna

Metoda tasowania z jedną sekwencją losową

Tasowanie z jedną sekwencją losową- przykład Dana jest sekwencja losowa z poprzedniego przykładu, generowana według wzoru X(n)=[X(n-2)+X(n-5)] mod8 : X=[251743140071313043565207640472]. Niech k=7 oraz V=[X(0)... X(k-1)]=[2517431], Y=X(k)=4. m=8 Kolejne kroki: j=3, Y=V(3)=7 wyprowadź 7,V=[2514431] j=6, Y=V(6)=1 wyprowadź 1,V=[2514430] j=0, Y=V(0)=2 wyprowadź 2,V=[0514430] j=1, Y=V(1)=5 wyprowadź 5,V=[0714430] j=4, Y=V(4)=4 wyprowadź 4,V=[0714130] Wygenerowana sekwencja wyjściowa to 71254...

Testowanie losowości metodą chi-kwadrat

Testowanie losowości - przykład Niech r=100, N=1100, N/r=11, sqrt(r)=sqrt(100)=10 (spełniony jest warunek 1100=N>=10r=1000) Niech 30 wartości z przedziału [0, 99] występuje z częstotliwością f =11, 20 z f = 12, po 15 z f = 13 oraz f = 10, 5 z f = 9, 10 z f = 14. (spr.: 30*11+20*12+15*13+15*10+5*9+10*14=1100) chi-kwadrat = (30*0+20*1+15*(4+1)+5*4+10*9)/11= = (0+20+75+20+90)/11=205/11=18.64<=20 Wniosek: chi-kwadrat<=2sqrt(r) - test wypadł pozytywnie.

Generatory sprzętowe rejestr LFSR (Linear Feedback Shift Register) Rejestr przesuwający z liniowym sprzężeniem zwrotnym (LSFR) powstaje z n-bitowego rejestru przesuwającego (SR), w którym zastosowano jeden z dwóch typów sprzężenia: wewnętrzne lub zewnętrzne (na rys. pokazano rejestry 4-bitowe z wektorem sprzężenia c = 10011, FF (Flip-Flop) - oznacza element pamięci ). Dla sprzeżenia wewnetrznego sygnał z wyjścia ostatniego FF jest podawany na wejścia FF wskazanych w wektorze c (ostatnia wartość c zawsze równa 1). Dla sprzeżenia zewnetrznego sygnał na wejście pierwszego FF jest podawany z wyjść FF wskazanych w wektorze c (pierwsza wartość c zawsze równa 1).

Generatory sprzętowe rejestr LFSR Sekwencja binarna generowana przez LSFR jest okresowa, a okres zależy od stanu początkowego rejestru i struktury sprzężenia zwrotnego. Generatory wytwarzające sekwencję o maksymalnej długości mają okresy równe: 1, (2^n) 1, dla stanu początkowego 00... 0 dla każdego innego stanu początkowego

Generator na rejestrze LFSR - przykład Dany jest generator LFSR jak na rysunku. Stan początkowy rejestru to 1 0 1 1. Generator wytwarza na wyjściu okresową sekwencję binarną o maksymalnej długości równej (2^4)-1=15 : 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1...