Komputery Kwantowe. Ravindra W. Chhajlany. 16 stycznia Komputery Kwantowe

Wielkość: px
Rozpocząć pokaz od strony:

Download "Komputery Kwantowe. Ravindra W. Chhajlany. 16 stycznia Komputery Kwantowe"

Transkrypt

1 Ravindra W. Chhajlany 16 stycznia 2007

2 Plan

3 Przeszukiwanie nieuporządkowanej bazy danych: I Przykłady 1. Z ksiązki adresowej, podaj nazwę użytkownika do którego przypisany jest jakiś numer telefonu, np Ze słownika języka Polskiego, znajdź słowo wypełniając puste miejsca z m n. 3. itd...

4 Przeszukiwanie nieuporządkowanej bazy danych: przypadek klasyczny Każdy problem wyszukiwania można przeformułować na problem szukanie indeksu rozwiązania. //znajdź położenie x0 elementu a w bazie db function x0=znajdź(a, db[n]) x0=0; while (db[x0]!=a) x0++; Idea Porównaj a po kolei z każdym elementem db do momentu trafienia na rozwiązanie. Koncepcyjnie, jest to proces obliczenia funckji { 1 dla x = x0 f (x) = 0 dla x x 0 Średnia liczba kroków potrzebych do znalezienia rozwiązania: 1 N + 1 ( N) = N 2 Złożoność problem jest O(N).

5 Przeszukiwanie nieuporządkowanej bazy danych: przypadek klasyczny - wyrocznia Sformułowanie zagadnienia za pomocą wyroczni (tu już wiemy jaka jest wewnętrzna struktura programu ale jest wygodnie prowadzić ogólne rozważania odnosząc się tylko do głównej zasady działąnia algorytmu). Możliwe wartości indeksu x są to wszystkie liczby naturalne do liczby N określającej rozmiar bazy danych. x / y O f / x y f (x) Złożoność problemu znalezienia indeksu x 0 : O(N) Jeśli jest M rozwiązań wśród N możliwości, wtedy złożoność problemu jest: O(N/M).

6 Przeszukiwanie nieuporządkowanej bazy danych: przypadek kwantowy - wyrocznia Idea Idea jest dalej ta sama: trzeba zidentyfikować wartość indeksu x 0, dla której funkcja f (x 0 ) = 1. x / y Przypomnijmy, że U f / x y f (x) U f x = ( 1) f (x) x Ponieważ stan qubitu zapytania się nie zmienia, będziemy pisać działanie wyroczni pomijając qubit zapytania: Ũ f x = ( 1) f (x) x

7 Idea kwantowego wyszukiwania: Jak wiadomo, można równolegle obliczyć wszystkie wartości funckji wprowadzając superpozyjcję wszyskich możliwych indeksów jednocześnie do wyroczni w postaci stanu: ψ = H n 0 = + n = 1 N 1 x, n = log(n) N x=0 Idea działaniu algorytmu kwantowego: Problem wyszukiwania jednej wartości wśród czterech możliwych.

8 Idea kwantowego wyszukiwania: Jak wiadomo, można równolegle obliczyć wszystkie wartości funckji wprowadzając superpozyjcję wszyskich możliwych indeksów jednocześnie do wyroczni w postaci stanu: ψ = H n 0 = + n = 1 N 1 x, n = log(n) N x= Stan początkowy Amplituda Indeks

9 Idea kwantowego wyszukiwania: Jak wiadomo, można równolegle obliczyć wszystkie wartości funckji wprowadzając superpozyjcję wszyskich możliwych indeksów jednocześnie do wyroczni w postaci stanu: ψ = H n 0 = + n = 1 N 1 x, n = log(n) N x= Krok 1. Zadziałanie wyroczni: Niech f (2) = 1. Amplituda Indeks

10 Idea kwantowego wyszukiwania: Jak wiadomo, można równolegle obliczyć wszystkie wartości funckji wprowadzając superpozyjcję wszyskich możliwych indeksów jednocześnie do wyroczni w postaci stanu: ψ = H n 0 = + n = 1 N 1 x, n = log(n) N x= Krok algorytmiczny: Odwrócenie względem średniej. Amplituda Indeks

11 Idea kwantowego wyszukiwania: Jak wiadomo, można równolegle obliczyć wszystkie wartości funckji wprowadzając superpozyjcję wszyskich możliwych indeksów jednocześnie do wyroczni w postaci stanu: ψ = H n 0 = + n = 1 N 1 x, n = log(n) N x=0 W tym prostym przypadku, z tak wybranym algorytmem, wystarczy odwołać się tylko raz do wyroczni aby wyszukać odpowiednie rozwiązanie!! Klasycznie, średnio rzecz biorąc trzeba by 2.5 razy odwołać się do wyroczni. Wazne: Inwersję wokół średniej można wykonać za pomocą kwantowej operacji. Normalna inwersja (wokół 0): a a Inwersja wokół pewnego b : a b b a a 2 b a.

12 Kwantowa operacji wykonująca inwersję wokół średniej Dowolny stan kwantowy Ψ = i α i i. Średnia wartość amplitudy: α = 1 N i α i Inwersja stanu wokół średniej oznacza: Ψ i (2 α α i) k. Jaka operacja wykonuje taką transformację na dowolnym stanie? Odpowiedź: I α = 2 ψ ψ I. Dowód: = 2 N ( i I α α i i = 2 i i α i ψ ψ i i α i i = ψ i = 1 N α i ) ψ α i i = 2 ( ) α i k N i i k i ) (2 α α i i i α i i =

13 Kwantowa operacji wykonująca inwersję wokół średniej Dowolny stan kwantowy Ψ = i α i i. Średnia wartość amplitudy: α = 1 N i α i Inwersja stanu wokół średniej oznacza: Ψ i (2 α α i) k. Jaka operacja wykonuje taką transformację na dowolnym stanie? Odpowiedź: I α = 2 ψ ψ I. Rozłożenie I α na proste bramki: Ponieważ H n 0 = ψ, I α = H n (2 0 0 I )H n = H n PH n. Bramka fazowa P: (2 0 0 I ) i = ( 1) δi,0 i.

14 Grover a 0 Wprowadź równoległy stan wszystkich danych (indeksów) ψ Algorytm związany z jednym odwołaniem do wyroczni: 1 krok iteracyjny Grovera. 1 Wykonaj operację wyroczni U f. 2 Wykonaj operację I α. Każdy krok Grovera (kroki 1,2) zwiększa amplitudę prawdziwego rozwiązania w stanie końcowym. Dla przypadku N > 4, trzeba wykonać pewną liczbę kroków Grovera zanim stan końcowy będzie z bardzo dużym prawdopodobieństwem stanem złożonym z rozwiązań. Okazuje się liczba tych kroków (czyli odwołań do wyroczni) jest O( N/M), jeśli jest M możliwych rozwiązań.

15 Analiza działania algorytmu Grover a Załóżmy, że jest M rozwiązań ze zbioru N możliwości. Stan początkowy ψ można podzielić na dwie grupy: rozwiązania R i ich dopełnienie R. 1 α = x N M x R β = 1 x M x R przy czym oczywiście α β = 0. Stan początkowy w algorytmie można napisać jako ψ = 1 x = N x N M N α + cos(θ/2) α + sin(θ/2) β CEL: Zwiększyć amplitudę przy β. M N β =

16 Analiza działania algorytmu Grover a: I Działanie wyroczni na stany α, β U f α = α, U f β = β Można więc napisać, że U f = 2 α α I. Geometryczna interpretacja U f : Odbicie względem osi α β Ψ θ/2 θ/2 α Analogicznie, operator inwersji I α jest odbiciem względem osi ψ. Uf Ψ

17 Analiza działania algorytmu Grover a: II Geometryczna interpretacja algorytmu Grovera 1 krok Grovera 2 odbicie = 1 obrót! β G ψ θ ψ θ/2 θ/2 α G ψ = cos(3θ/2) α + sin(3θ/2) β Po k iteracjach stan danych jest obrócony do G k ψ = cos((2k + 1)θ/2) α + sin((2k + 1)θ/2) β (1)

18 Złożóność algorytmu Grovera Po ilu kroków, prawdopodobieństwo zmierzenia jednego z możliwych rozwiązań wzrasta (prawie) do 1? Prawdopodobieństwo zmierzenia prawdziwego rozwiązania po k iteracjach wynosi z równania (1) p β = sin 2 2k + 1 θ = 1 ( ) 1 cos(2k + 1)θ 2 2 W najlepszym wypadku, p β 1 cos(2k + 1)θ = 1 K π 2θ. Przypominając, że sin θ/2 = M/N, oraz że x >= sin(x) (dla x > 0) mamy θ M M 2 > N θ > 2 N K < π N 4 M co oznacza, że algorytm Grovera znajduje rozwiązania w O( N/M).

19 Podsumowanie Algorytm Grovera Problem: Należy przeszukać N elementowy zbiór w poszukiwaniu pewnego elementu spełniającego pewne kryerium. W ogólności może byc M takich specjalnych elementów. 1. Przygotuj początkowy stan ψ = + n 2. Wykonaj iterację Grovera rzędu O( N/M) razy. 3. Wykonaj pomiar qubitów danych w bazie logicznej aby otrzymać z prawdopodobieństwem 1 jedno rozwiązanie problemu wyszukiwania.

20 Problem Simona Dana jest funkcja f a : {0, 1} n {0, 1} n, spełniająca zależność f (x a) = f (x), tzn. jest funkcją 2 na 1. Liczba a jest więc okresem funkcji. Przykład funkcji dla przypadku 3 bitów: Argumenty Binarnie Przykład f 2 (x) Ogólniej f 2 (x) y 1 y 2 y 1 y 2 y 3 y 4 y 3 y 4 f 3 (x) y 1 y 2 y 2 y 1 y 3 y 4 y 4 y 3 Problem: Dana jest wyrocznia obliczająca (nieznaną) funkcję f a dla dowolnego argumentu. W ilu krokach można stwierdzić jaki jest okres a funkcji?

21 Problem Simona: Rozwiązanie klasyczne Wyrocznia klasyczna: O fa : (x, y) (x, y f a (x)) x x y O fa y f a (x) Złożoność algorytmiczna Zauważmy, że jeśli f (x i ) = f (x j ) x j = x i a a = x i x j W każdym kroku obliczamy funkcję dla jednego argumentu x. Jakie jest prawdopodobieństwo znalezienia rozwiązania w m kroków? Ilość możliwych okresów próbnych a jakie można sprawdzić w m krokach = ( m 2). Prawdopodobieństwo, że wśród nich trafimy na szukane rozwiązanie = ( m p(m) = 2) N, N = 2n = Liczba możliwych a

22 Problem Simona: Rozwiązanie klasyczne Wyrocznia klasyczna: O fa : (x, y) (x, y f a (x)) x x y O fa y f a (x) Złożoność algorytmiczna Zauważmy, że jeśli f (x i ) = f (x j ) x j = x i a a = x i x j W każdym kroku obliczamy funkcję dla jednego argumentu x. Po ilu krokach M, prawdopodobieństwo znalezienia a jest 1? M 2 n/2 Algorytm klasyczny ma więc złożoność O(2 n/2 )

23 Pomiar stanu argumentu nie daje wartości a. Problem Simona: Rozwiązanie kwantowe Wyrocznie kwantowa: U f : x y x y f (x) x / U f / x y / / y f (x) Algorytm: jeden krok 1. Obliczamy wszystkie możliwe wartości funckji jednocześnie wprowadzając wszsytkie argumenty: + n 2 U f + n 0 n 1 n 1 = U f x 0 n = 1 2 n 1 x f (x) 2 n/2 2 n/2 x=0 2. Wykonujemy pomiar wartości funkcji na drugim rejestrze aby otrzymać pewną wartość funkcji f (x 0 ). Wtedy rejestr argumentów jest w stanie 1 2 ( x 0 + x 0 a ) = out x=0

24 Problem Simona: Rozwiązanie kwantowe Wyrocznie kwantowa: U f : x y x y f (x) x / U f / x y / / y f (x) Algorytm: jeden krok 3. Żeby odzyskać okres funkcji, wykonujemy H n na rejestrze danych H n out 1 2 n 1 ( 1) x0 y y + ( 1) x0 y a y y = 2 (n+1)/2 y=0 1 2 (n 1)/2 y a y=0 ( 1) x0 y y Pomiar teraz rejestru danych w bazie logicznej daje teraz pewną wartość y 1, takim że a y 1 = 0. Ilość takich liczb y wynosi z powyższego równania: 2 n 1.

25 Problem Simona: Rozwiązanie kwantowe Wyrocznie kwantowa: U f : x y x y f (x) x / / x U f y / / y f (x) Algorytm Trzeba powtórzyć ten podstawowy krok wystarczająca liczbę (M) razy aby otrzymać n niezależnych wartości y by wyznaczyć n-bitową liczbę a. Jaka jest liczba M? M = O(n) a y 1 = 0. a y n = 0

26 Problem Simona: Rozwiązanie kwantowe Wyrocznie kwantowa: U f : x y x y f (x) x / / x U f y / / y f (x) Dowód, że M = O(n) y = 0 zawsze jest rozwiązaniem, więc przyjmujemy, że y 1 = 0. Załóżmy, że y 1, y 2,... y m są niezależnymi liczba otrzymany z działania algorytmu. Jakie jest prawdopodobieństwo p m+1, że następna liczba będzie liniowo niezależna od wcześniejszych? Ilość liczb L liniowo zależnych od pozostałych m liczb: ( ) ( ) ( ) m 1 m 1 m 1 L = }{{} = 2 m m 1 y=0 } {{ } y=y i 0 }{{} y=y i y j y i,j 0 p m+1 = 1 2m 1 = 1 2m n 2n 1 }{{} y=y 2 y 3... y m

27 Problem Simona: Rozwiązanie kwantowe Wyrocznie kwantowa: U f : x y x y f (x) x / / x U f y / / y f (x) Dowód, że M = O(n) Jaka jest średnia liczba odwołań r do wyroczni żeby uzyskać m+1-szą liczbę niezależną y m+1? Jeśli p jest prawdopodobieństwem powodzenia, wówczas r = kp(1 p) k 1 = 1 p k=1 W naszym przypadku p = p m+1, więc r = m n 1 + 2m n O(1) Każdą liczbę generujemy średnio w jednym kroku, więc n liczb generujemy w O(n) kroków.

28 Problem Simona: Rozwiązanie kwantowe Wyrocznie kwantowa: U f : x y x y f (x) x / / x U f y / / y f (x) Złożoność algorytmu Po O(n) odwołaniach, otrzymujemy n niezależnych równań, z któych można wyznaczyć n-bitową liczbę a. Ten algorytm przedstawia eksponencjalne przyszpieszenie w stosunku do klasycznego rozwiązania. Jest to pierwszy nietrywialny przykład przyspieszenia kwantowego.

29 Okresowość i znajdywanie okresu funkcji Dana jest funkcja f r : {0, 1} n {0, 1} m, spełniająca zależność f r (x) = f r (x + mr), gdzie każde x + mr leży pomiędzy 0 i N 1 (N = 2 n ). Liczba r jest okresem funkcji. Przykład funkcji dla przypadku 3 bitów: Argumenty f 2 (x) y 1 y 2 y 1 y 2 y 1 y 2 y 1 y 2 f 3 (x) y 1 y 2 y 3 y 1 y 2 y 3 y 1 y 2 Problem: Znajdź okres danej funkcji okresowej. Klasycznie problem znajdywania okresu jest trudny - jeśli liczba r jest rzędu 2 n/2, trzeba średnio wykonać kroków rzędu 2 n/4 by trafić na 2 wartości x przyjmujące tę samą wartość funkcji.

30 Algorytm kwantowy do znajdywania okresu Standardowy schemat x / U f / x y / / y f (x) Algorytm: Pierwsze kroki (tak jak w alg. Simona) 1. Równoległe obliczenie kwantowe: 0 n 0 m H n I 1 N 1 N x=0 x 0 U f 1 N 1 x f (x) N x=0 2. Wykonujemy pomiar wartości funkcji (na 2 rejestrze) uzyskując przypadkową wartość f (x 0 ). Stan rejestru argumentów po odczycie wartości funkcji: A 1 1 x 0 + jr, gdzie A = liczba tych argumentów A j=0

31 Algorytm kwantowy do znajdywania okresu Ile może wynosić A? A 1 < N r < A r 2r 3r N 1 r N r x 0 + (A 1)r ( N 1) < N A 1 < N r, N Ar x 0 < r N r < A + 1 Jeśli N/r jest liczbą całkowitą N/r = A.

32 Algorytm kwantowy do znajdywania okresu Kluczowe narzędzie do wyciągania okresu: (Kwantowa) Transformata Fouriera QFT N : x 1 N 1 ( ω xy y, ω = exp i 2π ) N N y=0 Zauważmy, że QFT 2 = H. (Dlatego wykorzystano H n do znalezienia okresu funkcji w algorytmie Simona w kroku 3 - Jest to odpowiednia transformata Fouriera do tam zdefiniowanego typu funkcji)

33 Algorytm kwantowy do znajdywania okresu Algorytm: c.d. 3. Należy wykonać QFT N na rejestrze danych: ( A 1 1 x 0 + jr QFT N 1 N 1 A 1 ω x0y ω ) y jry = dane A NA j=0 y=0 j=0 i wykonać pomiar rejestru argumentów (w bazie logicznej). Prawdopodobieństwo zmierzenie losowej wartości y wynosi y dane 2 = p(y) = 1 A 1 2 ω jry NA j=0 Powyższy rozkład prawdopodobieństwa premiuje wartości takie, że yr/n jest bliskie liczb całkowitych!

34 Algorytm kwantowy do znajdywania okresu Analiza wyniku kroku 3: Przypadek szczególny: Załóżmy, że r N (r dzieli N) W tym przypadku A = N/r, ponadto A 1 A 1 ω jry = exp (i 2π ) { A y = ka = k A yj N = r 0 w pozostałych przypadkach j=0 ponieważ A 1 j=0 j=0 exp (i 2π ) A 1 A yj = j=0 ξ j = 1 ξa 1 ξ = 1 ei2πy 1 e i2πy/a

35 Algorytm kwantowy do znajdywania okresu Analiza wyniku kroku 3: Przypadek szczególny: Załóżmy, że r N (r dzieli N) W tym przypadku A = N/r, ponadto A 1 A 1 ω jry = exp (i 2π ) { A y = ka = k A yj N = r 0 w pozostałych przypadkach j=0 Stąd j=0 { 1 p(y) = r y = k N r 0 poza tym dane = 1 r 1 ω x0k r r k N r k=0

36 Algorytm kwantowy do znajdywania okresu Analiza wyniku kroku 3: Przypadek szczególny: Załóżmy, że r N (r dzieli N) Po zmierzeniu y, łatwo wyznaczyć y/n = k/r. Doprowadź do najprostszej postaci y/n. Jeśli NWD(k, r)=1, otrzymujemy r. Jeśli NWD(k, r) 1, otrzymujemy czynnik liczby r. Po otrzymaniu liczby sprawdzamy czy znaleziona liczba (lub jeśli nie można np. spróbować czy któryś z kilku pierwszych mnożników ) jest okresem funkcji. Jeśli nie, powtórz krok 3. Można pokazać, że istnieje duże tego, że wybrane k z zakresu od 0 do r 1 nie będzie miało wspólnych dzielników z r. to nie jest oczywiście konieczne chociaż w praktyce może być wskazane.

37 Algorytm kwantowy do znajdywania okresu Analiza wyniku kroku 3: Przypadek szczególny: Załóżmy, że r N (r dzieli N) N=16, r= p(y) y Załóżmy, że wynika pomiaru to y = 8. Wówczas y/n = 1/2, i przyjmujemy r = 2. Sprawdzamy.

38 Algorytm kwantowy do znajdywania okresu Analiza wyniku kroku 3: Przypadek szczególny: Załóżmy, że r N (r dzieli N) N=16, r= p(y) y Załóżmy, że wynika pomiaru to y = 12. Wówczas y/n = 3/4 = k/r, i przyjmujemy r = 4. Sprawdzamy. itd.

39 Algorytm kwantowy do znajdywania okresu Analiza wyniku kroku 3: Przypadek ogólny: Jeśli r N, możliwe wartości A = N r, z oznacza najbliższą liczbę całkowitą otrzymaną po zaokrągleniu liczby z w górę lub w dół. Teraz transformata Fouriera promuje takie y, że y = k N r, natomiast prawdopodobieństwa innych wyników już nie są zerowa, chociaż maleją dla coraz większych N (zob. dalej). Stan danych po QFT jest więc z dużym prawdopodobieństwem dane 1 r 1 ω x0k r r k N r k=0 (Oczywiście można podać ilościowe oszacowania tego prawdopodobieństwa)

40 Algorytm kwantowy do znajdywania okresu Analiza wyniku kroku 3: Przypadek ogólny: Po zmierzeniu y, znów można policzyć y/n. Można pokazać, że tak wyznaczone y/n (gdy r << N) wyznacza k/r z dokładnością do 1/(2N). Dokładną wartość k/r można wyznaczyć z y/n techniką ciągłego rozwinięcia ułamków (CRU). Po wyznaczeniu tej wielkości dalsze etapy są takie same jak w poprzednim przypadku uproszczonym. CRU Każdą liczbę rzeczywistą można przyblizyć ciągiem ułamków o następującej postaci α = α α α 2+ 1 α 3 +. {α 0, α 1, α 2, α 3,...} Jeśli α jest n-bitową liczbą wymierną, CRU można wykonać w rzędu O(n 3 ).

41 Algorytm kwantowy do znajdywania okresu Przykłady N=16, r=3 p(y) Jeśli y = 5, y y/n = 5/16 = = {3, 5} = 1 3 r = 3

42 Algorytm kwantowy do znajdywania okresu Przykłady N=16, r=3 p(y) Jeśli y = 11, y y/n = 11/16 = = {1, 2, 3} = 2 3 r = 3;

43 Algorytm kwantowy do znajdywania okresu Przykłady N=512, r=7 0.2 p(y) Jeśli y = 73, y y/n = 73/512 = {7, 73} = 1 7 r = 7;

44 Algorytm kwantowy do znajdywania okresu Przykłady 0.2 N=1024, r=11 p(y) 0.1 Jeśli y = 186, y y/n = 186/1024 = {5, 1, 1, 46} = 2 11 r = 11;

45 Podsumowanie algorytmu znajdywania okresu Złożoność Dla r/n << 1, z dużym prawdopodobieństwem otrzymujemy y = k k N, z czego można wyznaczyć k/r za pomocą techniki CRU. Również z dużym prawdopodobieństwem NWD(k, r) = 1. Łącznie można więc z góry wybrać odpowiednią stałą liczbę odwołań do wyroczni aby osiągnąc sukces. Natomiast CRU wymaga O(log(N) 3 ) operacji. Więc złożoność algorytmu nielicząc złożoności wykonania QFT jest własnie O(log(N) 3 ).

46 QFT QFT N j = 1 N 1 e i2πj/nk k, QFT.QFT = I N k=0 Zasada implementacji jest podobna do klasycznego FFT ale wykorzystując kwantową równoległość można wykonać QFT wydajniej niż FFT. Filozofia Dziel i rządź j = j 1 j 2... j n = 2 n 1 j n 2 j j n j N = 2 1 j j n j n = 0.j 1 j 2... j n j 2 l = j 1 j 2... j n l j n l+1... j n e i2πj1j2...j n l j n l+1...j n = e i2π0.j n l+1...j n

47 1 2 n n 1 2 n 1 l=1 k l =0 QFT j = 1 2 n 1 e i2πj/2nk k = 2 n k 1=0 k 2=0 1 k=0 k n=0 l=1 e i2π(j/2l )k l k l = 1 2 n 1 2 n n e i2π(j/2n )2 n l k l k l = n l=1 k l =0 ( ) n 0 + e i2π(0.j n l+1...j n) 1 = l=1 1 e i2π(0.j n l+1...j n)k l k l = ( )( ) ( ) 0 + e i2π0.jn e i2π0.jn 1jn e i2π0.j1...jn Niech ( ) 1 0 R k = 0 e i2π/2k

48 j1 j2 H R 2 R N 0 + e i2π0.j1...jn e i2π0.j2...jn 1 H R N 1 jn H 0 + e i2π0.jn 1 Na końcu należy wykonać zamianę wyjściowego qubitu pierwszego z ostatnim, drugiego z przedostatnim itd... Ile bramek jest potrzebnych, żeby zaimplementować QFT? n(n + 1) 2 } {{ } H+R k Klasyczne FFT jest O(n2 n )! + n = O(n 2 ) }{{} 2 swaps

49 Fundamentalne twierdzenie teorii liczb Każdą liczbę naturalną N można rozłożyć na iloczyn liczb pierwszych: N = p b1 1 p b dużych liczb jest klasycznie trudna Najlepszy znany dotychczas algorytm klasyczny faktoryzuje n-bitową liczbę w 0 ( exp ( (64 9 ) n 1 3 (log n) 2 3 ))

50 Derek Atkins, Michael Graff, Arjen Lenstra, Paul Leyland - announce.txt RSA 129 = = The sieving step took approximately 5000 mips years, and was carried out in 8 months by about 600 volunteers from more than 20 countries, on all continents except Antarctica.

51 Redukcja problemu faktoryzacji do znajdywania rzędu Własność liczb względnie pierwsze z N Jeśli (NWD(a, N) = 1), to istnieje takie r, że a r mod N = 1 Rzędem liczby a modulo N nazywamy najmniejszą taką liczbę r. Przykład 4 jest wzg. pierwsza do 15 Rząd liczby 4 wynosi r = 2, ponieważ 4 2 = 16 = 1 mod 16

52 Redukcja problemu faktoryzacji do znajdywania rzędu Własność liczb względnie pierwsze z N Jeśli (NWD(a, N) = 1), to istnieje takie r, że a r mod N = 1 Rzędem liczby a modulo N nazywamy najmniejszą taką liczbę r. Problem znajdywania okresu jako problem znajdywania okresu f (x) a x mod N, f (x + r) = a x+jr mod N = a x mod N (a r mod N) j = a x mod N = f (x)

53 Redukcja problemu faktoryzacji do znajdywania rzędu Niech N = p q, gdzie p, q są pierwsze. Załóżmy, że mamy pewną liczbę względnie pierwszą do a, która posiada parzysty rząd r. Wtedy łatwo znaleść czynniki pierwsze danej liczby. Dlaczego? a r = 1 mod N a r 1 = 0 mod N 2 r (a r/2 1) (a r/2 + 1) = 0 mod N Ale a r/2 1 mod N, bo r jest najmniejszą liczbą, że a r = 1 mod N. Więc albo mamy, że a r/2 + 1 = 0 mod N czyli a r/2 = 1 mod N = N 1, lub a r/ mod N, i wtedy a r/2 1 i (a r/2 + 1 zawierają czynniki pierwsze liczby N. W tym drugim przypadku, NWD(a r/2 ± 1, N) daje nam więc czynniki pierwsze p, q liczby N!

54 Redukcja problemu faktoryzacji do znajdywania rzędu Czy spełnienie warunków sukcesu jest trudne (*) Prawdopobieństwo, że losowa liczba ma parzysty rząd i a r/2 N 1 wynosi dla liczb typu RSA przynajmniej 3/4. Pomysł Shora Rząd liczby (czyli okres funkcji f (x) = a x mod N) jest trudny do policzenia klasycznia, ale kwantowo wymaga tylko O(log (N) 3 ) kroków.

55 Algorytm Shora do faktoryzacji liczby 1. Wybierz zakres argumentów T dla funkcji f (x), tak żeby okres szukany był mały (r < T ), wystarczy wybrać T > log(n 2 ) = 2 log(n) 2. Wybierz liczbę a z zakresu 0 do N Sprawdź za pomocą algorytmu Euclidesa czy NWD(a, N) = 1, jeśli nie to NWD(a, N) jest szukanym czynnikiem pierwszy, jeśli tak, przejdź dalej 4. Znajdź okres funkcji f a (x) za pomocą kwantowego algorytmu 5. Czy r jest parzyste: nie - wróć do punktu 2. idź dalej 6. Sprawdź czy a r/2 + 1 = 0 mod N: Jeśli tak, wróć do punkty 2. Jeśli nie, SUKCES, Policzyć NWD(a r/2 ± 1 = 0) mod N (za pomocą algorytmu Euklidesa w O(log(N)) 3 ) by otrzymać p, q.

56 Złożoność algorytmu Shora Ilość kroków jakie trzeba więc wykonać wynosi jest O(log(N) 3 ) NWD+ f(x) + QFT O(log(N) 3 ) + O(log(N) 3 ) + O(log(N) 2 ) = O(log(N) 3 ) Obliczenie samej funkcji jest łatwe jak się wykona poprzez modularne potęgowanie.

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś   Wykład 13 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 13 Spis treści 19 Algorytmy kwantowe 3 19.1 Bit kwantowy kubit (qubit)........... 3 19. Twierdzenie

Bardziej szczegółowo

Algorytmy w teorii liczb

Algorytmy w teorii liczb Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,

Bardziej szczegółowo

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak Wydział Fizyki Technicznej, Informatyki i Matematyki Stosowanej Politechnika Łódzka 13 listopada 2007 Plan wystapienia 1 Informatyka Kwantowa podstawy 2 Opis problemu (przeszukiwanie zbioru) 3 Intuicyjna

Bardziej szczegółowo

Algorytm faktoryzacji Petera Shora dla komputera kwantowego

Algorytm faktoryzacji Petera Shora dla komputera kwantowego Algorytm faktoryzacji Petera Shora dla komputera kwantowego Peter Shor (ur. 14 sierpnia 1959 roku w USA Matematyk oraz informatyk teoretyk Autor kwantowego Algorytmu Shora Pracuje w AT&T Bell Laboratories

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

Bardziej szczegółowo

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

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska E-mail: Strona internetowa: robert.wojcik@pwr.edu.pl google: Wójcik

Bardziej szczegółowo

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację

Bardziej szczegółowo

Wstęp do komputerów kwantowych

Wstęp do komputerów kwantowych Obwody kwantowe Uniwersytet Łódzki, Wydział Fizyki i Informatyki Stosowanej 2008/2009 Obwody kwantowe Bramki kwantowe 1 Algorytmy kwantowe 2 3 4 Algorytmy kwantowe W chwili obecnej znamy dwie obszerne

Bardziej szczegółowo

Przykładowe zadania z teorii liczb

Przykładowe zadania z teorii liczb Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę

Bardziej szczegółowo

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 5. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 5. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Algorytm Euklidesa Liczby pierwsze i złożone Metody

Bardziej szczegółowo

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Wykład 4. Określimy teraz pewną ważną klasę pierścieni. Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia

Bardziej szczegółowo

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba) 1. Liczby wymierne. - wartość bezwzględna liczby. dla 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba) - dla < 0 ( wartością bezwzględną liczby ujemnej jest liczba do niej przeciwna) W interpretacji

Bardziej szczegółowo

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność

Bardziej szczegółowo

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1 W. Guzicki Próbna matura, grudzień 01 r. poziom rozszerzony 1 Próbna matura rozszerzona (jesień 01 r.) Zadanie 18 kilka innych rozwiązań Wojciech Guzicki Zadanie 18. Okno na poddaszu ma mieć kształt trapezu

Bardziej szczegółowo

Wybrane zagadnienia teorii liczb

Wybrane zagadnienia teorii liczb Wybrane zagadnienia teorii liczb Podzielność liczb NWW, NWD, Algorytm Euklidesa Arytmetyka modularna Potęgowanie modularne Małe twierdzenie Fermata Liczby pierwsze Kryptosystem RSA Podzielność liczb Relacja

Bardziej szczegółowo

Macierze. Rozdział Działania na macierzach

Macierze. Rozdział Działania na macierzach Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy

Bardziej szczegółowo

Obliczenia iteracyjne

Obliczenia iteracyjne Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej

Bardziej szczegółowo

Luty 2001 Algorytmy (4) 2000/2001

Luty 2001 Algorytmy (4) 2000/2001 Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest

Bardziej szczegółowo

1. Wykład NWD, NWW i algorytm Euklidesa.

1. Wykład NWD, NWW i algorytm Euklidesa. 1.1. NWD, NWW i algorytm Euklidesa. 1. Wykład 1 Twierdzenie 1.1 (o dzieleniu z resztą). Niech a, b Z, b 0. Wówczas istnieje dokładnie jedna para liczb całkowitych q, r Z taka, że a = qb + r oraz 0 r< b.

Bardziej szczegółowo

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA Grzegorz Bobiński Uniwersytet Mikołaja Kopernika Toruń, 22.05.2010 Kodowanie a szyfrowanie kodowanie sposoby przesyłania danych tak, aby

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA) Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, 19.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

4. Postęp arytmetyczny i geometryczny. Wartość bezwzględna, potęgowanie i pierwiastkowanie liczb rzeczywistych.

4. Postęp arytmetyczny i geometryczny. Wartość bezwzględna, potęgowanie i pierwiastkowanie liczb rzeczywistych. Jarosław Wróblewski Matematyka dla Myślących, 008/09. Postęp arytmetyczny i geometryczny. Wartość bezwzględna, potęgowanie i pierwiastkowanie liczb rzeczywistych. 15 listopada 008 r. Uwaga: Przyjmujemy,

Bardziej szczegółowo

Transformaty. Kodowanie transformujace

Transformaty. Kodowanie transformujace Transformaty. Kodowanie transformujace Kodowanie i kompresja informacji - Wykład 10 10 maja 2009 Szeregi Fouriera Każda funkcję okresowa f (t) o okresie T można zapisać jako f (t) = a 0 + a n cos nω 0

Bardziej szczegółowo

Złożoność obliczeniowa zadania, zestaw 2

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

Bardziej szczegółowo

Zegar ten przedstawia reszty z dzielenia przez 6. Obrazuje on jak kolejne liczby można przyporządkować do odpowiednich pokazanych na zegarze grup.

Zegar ten przedstawia reszty z dzielenia przez 6. Obrazuje on jak kolejne liczby można przyporządkować do odpowiednich pokazanych na zegarze grup. Rozgrzewka (Ci, którzy znają pojęcie kongruencji niech przejdą do zadania 3 bc i 4, jeśli i te zadania są za proste to proponuje zadanie 5): Zad.1 a) Marek wyjechał pociągiem do Warszawy o godzinie 21

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

III. ZMIENNE LOSOWE JEDNOWYMIAROWE

III. ZMIENNE LOSOWE JEDNOWYMIAROWE III. ZMIENNE LOSOWE JEDNOWYMIAROWE.. Zmienna losowa i pojęcie rozkładu prawdopodobieństwa W dotychczas rozpatrywanych przykładach każdemu zdarzeniu była przyporządkowana odpowiednia wartość liczbowa. Ta

Bardziej szczegółowo

Peter W. Shor - Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. 19 listopada 2004 roku

Peter W. Shor - Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. 19 listopada 2004 roku Peter W. Shor - Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. 19 listopada 2004 roku Wstęp czyli (próba) odpowiedzi na pewne pytania (Silna) Teza Church

Bardziej szczegółowo

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1 Ataki na RSA Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Ataki na RSA p. 1 Plan prezentacji Wprowadzenie Ataki algebraiczne Ataki z kanałem pobocznym Podsumowanie

Bardziej szczegółowo

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,

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, Oznaczenia: 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, to interesuje nas złożoność obliczeniowa

Bardziej szczegółowo

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych, IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. Definicja 1.1. Niech D będzie podzbiorem przestrzeni R n, n 2. Odwzorowanie f : D R nazywamy

Bardziej szczegółowo

Zadania do samodzielnego rozwiązania

Zadania do samodzielnego rozwiązania Zadania do samodzielnego rozwiązania I. Podzielność liczb całkowitych 1. Pewna liczba sześciocyfrowa a kończy się cyfrą 5. Jeśli tę cyfrę przestawimy na miejsce pierwsze ze strony lewej, to otrzymamy nową

Bardziej szczegółowo

Przestrzenie wektorowe

Przestrzenie wektorowe Rozdział 4 Przestrzenie wektorowe Rozważania dotyczące przestrzeni wektorowych rozpoczniemy od kilku prostych przykładów. Przykład 4.1. W przestrzeni R 3 = {(x, y, z) : x, y, z R} wprowadzamy dwa działania:

Bardziej szczegółowo

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. W rozdziale tym zajmiemy się dokładniej badaniem stabilności rozwiązań równania różniczkowego. Pojęcie stabilności w

Bardziej szczegółowo

Podstawy Informatyki. Sprawność algorytmów

Podstawy Informatyki. Sprawność algorytmów Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych

Bardziej szczegółowo

Dystrybucje, wiadomości wstępne (I)

Dystrybucje, wiadomości wstępne (I) Temat 8 Dystrybucje, wiadomości wstępne (I) Wielkości fizyczne opisujemy najczęściej przyporządkowując im funkcje (np. zależne od czasu). Inną drogą opisu tych wielkości jest przyporządkowanie im funkcjonałów

Bardziej szczegółowo

Algorytm i złożoność obliczeniowa algorytmu

Algorytm i złożoność obliczeniowa algorytmu Algorytm i złożoność obliczeniowa algorytmu Algorytm - przepis postępowania, którego wykonanie prowadzi do rozwiązania określonego problemu określa czynności, jakie należy wykonać wyszczególnia wszystkie

Bardziej szczegółowo

Matematyka dyskretna dla informatyków

Matematyka dyskretna dla informatyków Matematyka dyskretna dla informatyków Część I: Elementy kombinatoryki Jerzy Jaworski Zbigniew Palka Jerzy Szymański Uniwersytet im. Adama Mickiewicza Poznań 2007 4 Zależności rekurencyjne Wiele zależności

Bardziej szczegółowo

Kongruencje twierdzenie Wilsona

Kongruencje twierdzenie Wilsona Kongruencje Wykład 5 Twierdzenie Wilsona... pojawia się po raz pierwszy bez dowodu w Meditationes Algebraicae Edwarda Waringa (1770), profesora (Lucasian Professor) matematyki w Cambridge, znanego głównie

Bardziej szczegółowo

Jarosław Wróblewski Matematyka Elementarna, zima 2012/13

Jarosław Wróblewski Matematyka Elementarna, zima 2012/13 Poniedziałek 12 listopada 2012 - zaczynamy od omówienia zadań z kolokwium nr 1. Wtorek 13 listopada 2012 - odbywają się zajęcia czwartkowe. 79. Uprościć wyrażenia a) 4 2+log 27 b) log 3 2 log 59 c) log

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 12 - Algorytmy i protokoły kwantowe Jarosław Miszczak IITiS PAN Gliwice 19/05/2016 1 / 39 1 Motywacja rozwoju informatyki kwantowej. 2 Stany kwantowe. 3 Notacja Diraca.

Bardziej szczegółowo

n=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa

n=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa Równanie Bessela Będziemy rozważać następujące równanie Bessela x y xy x ν )y 0 ) gdzie ν 0 jest pewnym parametrem Rozwiązania równania ) nazywamy funkcjami Bessela rzędu ν Sprawdzamy, że x 0 jest regularnym

Bardziej szczegółowo

Zajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria

Zajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria Technologia Chemiczna 008/09 Zajęcia wyrównawcze. Pokazać, że: ( )( ) n k k l = ( n l )( n l k l Zajęcia nr (h) Dwumian Newtona. Indukcja. ). Rozwiązać ( ) ( równanie: ) n n a) = 0 b) 3 ( ) n 3. Znaleźć

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA) Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, 7.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)

Bardziej szczegółowo

Wnioskowanie bayesowskie

Wnioskowanie bayesowskie Wnioskowanie bayesowskie W podejściu klasycznym wnioskowanie statystyczne oparte jest wyłącznie na podstawie pobranej próby losowej. Możemy np. estymować punktowo lub przedziałowo nieznane parametry rozkładów,

Bardziej szczegółowo

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

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne

Bardziej szczegółowo

Poprawność semantyczna

Poprawność semantyczna Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych

Bardziej szczegółowo

Ćwiczenia z metodyki nauczania rachunku prawdopodobieństwa

Ćwiczenia z metodyki nauczania rachunku prawdopodobieństwa Ćwiczenia z metodyki nauczania rachunku prawdopodobieństwa 25 marca 209 Zadanie. W urnie jest b kul białych i c kul czarnych. Losujemy n kul bez zwracania. Jakie jest prawdopodobieństwo, że pierwsza kula

Bardziej szczegółowo

Parametry systemów klucza publicznego

Parametry systemów klucza publicznego Parametry systemów klucza publicznego Andrzej Chmielowiec Instytut Podstawowych Problemów Techniki Polskiej Akademii Nauk 24 marca 2010 Algorytmy klucza publicznego Zastosowania algorytmów klucza publicznego

Bardziej szczegółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery losowe generowanie realizacji procesu losowego Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z

Bardziej szczegółowo

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i,j) (i = 1,,n;j = 1,,m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F = R lub F = C, nazywamy macierzą (rzeczywistą, gdy F

Bardziej szczegółowo

Funkcje dwóch zmiennych

Funkcje dwóch zmiennych Funkcje dwóch zmiennych Andrzej Musielak Str Funkcje dwóch zmiennych Wstęp Funkcja rzeczywista dwóch zmiennych to funkcja, której argumentem jest para liczb rzeczywistych, a wartością liczba rzeczywista.

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 1. Optymalizacja funkcji jednej zmiennej Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 28.02.2019 1 / 54 Plan wykładu Optymalizacja funkcji jednej

Bardziej szczegółowo

Zapisujemy:. Dla jednoczesnego podania funkcji (sposobu przyporządkowania) oraz zbiorów i piszemy:.

Zapisujemy:. Dla jednoczesnego podania funkcji (sposobu przyporządkowania) oraz zbiorów i piszemy:. Funkcja Funkcją (stosuje się też nazwę odwzorowanie) określoną na zbiorze o wartościach w zbiorze nazywamy przyporządkowanie każdemu elementowi dokładnie jednego elementu. nazywamy argumentem, zaś wartością

Bardziej szczegółowo

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej WEKTORY I WARTOŚCI WŁASNE MACIERZY Ac λ c (*) ( A λi) c nietrywialne rozwiązanie gdy det A λi problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej A - macierzowa

Bardziej szczegółowo

Matematyka dyskretna

Matematyka dyskretna Matematyka dyskretna Wykład 10: Algorytmy teorii liczb Gniewomir Sarbicki Literatura A. Chrzęszczyk Algorytmy teorii liczb i kryptografii w przykładach Wydawnictwo BTC 2010 N. Koblitz Wykład z teorii liczb

Bardziej szczegółowo

Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych

Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych Tomasz Stroiński 23.06.2014 Po co faktoryzować tak duże liczby? System RSA Działanie systemu RSA Każdy użytkownik wybiera duże liczby pierwsze

Bardziej szczegółowo

Matematyka dyskretna

Matematyka dyskretna Matematyka dyskretna Wykład 4: Podzielność liczb całkowitych Gniewomir Sarbicki Dzielenie całkowitoliczbowe Twierdzenie: Dla każdej pary liczb całkowitych (a, b) istnieje dokładnie jedna para liczb całkowitych

Bardziej szczegółowo

PODSTAWY RACHUNKU WEKTOROWEGO

PODSTAWY RACHUNKU WEKTOROWEGO Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Skalar Definicja Skalar wielkość fizyczna (lub geometryczna)

Bardziej szczegółowo

Przekształcenia liniowe

Przekształcenia liniowe Przekształcenia liniowe Zadania Które z następujących przekształceń są liniowe? (a) T : R 2 R 2, T (x, x 2 ) = (2x, x x 2 ), (b) T : R 2 R 2, T (x, x 2 ) = (x + 3x 2, x 2 ), (c) T : R 2 R, T (x, x 2 )

Bardziej szczegółowo

Metody Rozmyte i Algorytmy Ewolucyjne

Metody Rozmyte i Algorytmy Ewolucyjne mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb

Bardziej szczegółowo

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B 1. Dla macierzy a) A = b) A = c) A = d) A = 3 1 + i 1 i i i 0 i i 0 1 + i 1 i 0 0 0 0 1 0 1 0 1 + i 1 i Wyznaczyć macierze spełniające własność komutacji: A, X = B. Obliczyć pierwiaski z macierzy: A =

Bardziej szczegółowo

Rozdział 2. Liczby zespolone

Rozdział 2. Liczby zespolone Rozdział Liczby zespolone Zbiór C = R z działaniami + oraz określonymi poniżej: x 1, y 1 ) + x, y ) := x 1 + x, y 1 + y ), 1) x 1, y 1 ) x, y ) := x 1 x y 1 y, x 1 y + x y 1 ) ) jest ciałem zob rozdział

Bardziej szczegółowo

1 Funkcje dwóch zmiennych podstawowe pojęcia

1 Funkcje dwóch zmiennych podstawowe pojęcia 1 Funkcje dwóch zmiennych podstawowe pojęcia Definicja 1 Funkcją dwóch zmiennych określoną na zbiorze A R 2 o wartościach w zbiorze R nazywamy przyporządkowanie każdemu punktowi ze zbioru A dokładnie jednej

Bardziej szczegółowo

Metody numeryczne I Równania nieliniowe

Metody numeryczne I Równania nieliniowe Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem

Bardziej szczegółowo

Pierścień wielomianów jednej zmiennej

Pierścień wielomianów jednej zmiennej Rozdział 1 Pierścień wielomianów jednej zmiennej 1.1 Definicja pierścienia wielomianów jednej zmiennej Definicja 1.1 Niech P będzie dowolnym pierścieniem. Ciąg nieskończony (a 0, a 1,..., a n,...) elementów

Bardziej szczegółowo

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa SIMR 06/07, Analiza, wykład, 07-0- Przestrzeń wektorowa Przestrzeń wektorowa (liniowa) - przestrzeń (zbiór) w której określone są działania (funkcje) dodawania elementów i mnożenia elementów przez liczbę

Bardziej szczegółowo

RÓWNANIA NIELINIOWE Maciej Patan

RÓWNANIA NIELINIOWE Maciej Patan RÓWNANIA NIELINIOWE Maciej Patan Uniwersytet Zielonogórski Przykład 1 Prędkość v spadającego spadochroniarza wyraża się zależnością v = mg ( 1 e c t) m c gdzie g = 9.81 m/s 2. Dla współczynnika oporu c

Bardziej szczegółowo

Informatyka kwantowa. Karol Bartkiewicz

Informatyka kwantowa. Karol Bartkiewicz Informatyka kwantowa Karol Bartkiewicz Informacja = Wielkość fizyczna Jednostka informacji: Zasada Landauera: I A =log 2 k B T ln 2 1 P A R. Landauer, Fundamental Physical Limitations of the Computational

Bardziej szczegółowo

Wielomiany podstawowe wiadomości

Wielomiany podstawowe wiadomości Rozdział Wielomiany podstawowe wiadomości Funkcję postaci f s = a n s n + a n s n + + a s + a 0, gdzie n N, a i R i = 0,, n, a n 0 nazywamy wielomianem rzeczywistym stopnia n; jeżeli współczynniki a i

Bardziej szczegółowo

Prawdopodobieństwo i statystyka

Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo 19 stycznia 2016 Przybliżone obliczanie całki oznaczonej Rozważmy całkowalną funkcję f : [0, 1] R. Chcemy znaleźć przybliżoną wartość liczbową całki 1 f (x) dx. 0 Jeden ze

Bardziej szczegółowo

I. Pochodna i różniczka funkcji jednej zmiennej. 1. Definicja pochodnej funkcji i jej interpretacja fizyczna. Istnienie pochodnej funkcji.

I. Pochodna i różniczka funkcji jednej zmiennej. 1. Definicja pochodnej funkcji i jej interpretacja fizyczna. Istnienie pochodnej funkcji. I. Pochodna i różniczka funkcji jednej zmiennej. 1. Definicja pochodnej funkcji i jej interpretacja fizyczna. Istnienie pochodnej funkcji. Niech x 0 R i niech f będzie funkcją określoną przynajmniej na

Bardziej szczegółowo

Weryfikacja hipotez statystycznych

Weryfikacja hipotez statystycznych Weryfikacja hipotez statystycznych Hipoteza Test statystyczny Poziom istotności Testy jednostronne i dwustronne Testowanie równości wariancji test F-Fishera Testowanie równości wartości średnich test t-studenta

Bardziej szczegółowo

Układy stochastyczne

Układy stochastyczne Instytut Informatyki Uniwersytetu Śląskiego 21 stycznia 2009 Definicja Definicja Proces stochastyczny to funkcja losowa, czyli funkcja matematyczna, której wartości leżą w przestrzeni zdarzeń losowych.

Bardziej szczegółowo

Jeszcze o algorytmach

Jeszcze o algorytmach Jeszcze o algorytmach Przykłady różnych, podstawowych algorytmów 11.01.2018 M. Rad Plan Powtórka Znajdowanie najmniejszego elementu Segregowanie Poszukiwanie przez połowienie Wstawianie Inne algorytmy

Bardziej szczegółowo

Haszowanie. dr inż. Urszula Gałązka

Haszowanie. dr inż. Urszula Gałązka Haszowanie dr inż. Urszula Gałązka Problem Potrzebujemy struktury do Wstawiania usuwania wyszukiwania Liczb, napisów, rekordów w Bazach danych, sieciach komputerowych, innych Rozwiązanie Tablice z haszowaniem

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyka dyskretna. Andrzej Łachwa, UJ, /15 Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 7/15 Rachunek różnicowy Dobrym narzędziem do obliczania skończonych sum jest rachunek różnicowy. W rachunku tym odpowiednikiem operatora

Bardziej szczegółowo

Wyszukiwanie binarne

Wyszukiwanie binarne Wyszukiwanie binarne Wyszukiwanie binarne to technika pozwalająca na przeszukanie jakiegoś posortowanego zbioru danych w czasie logarytmicznie zależnym od jego wielkości (co to dokładnie znaczy dowiecie

Bardziej szczegółowo

Wykład 4 Przebieg zmienności funkcji. Badanie dziedziny oraz wyznaczanie granic funkcji poznaliśmy na poprzednich wykładach.

Wykład 4 Przebieg zmienności funkcji. Badanie dziedziny oraz wyznaczanie granic funkcji poznaliśmy na poprzednich wykładach. Wykład Przebieg zmienności funkcji. Celem badania przebiegu zmienności funkcji y = f() jest poznanie ważnych własności tej funkcji na podstawie jej wzoru. Efekty badania pozwalają naszkicować wykres badanej

Bardziej szczegółowo

Metody numeryczne. Sformułowanie zagadnienia interpolacji

Metody numeryczne. Sformułowanie zagadnienia interpolacji Ćwiczenia nr 4. Sformułowanie zagadnienia interpolacji Niech będą dane punkty x 0,..., x n i wartości y 0,..., y n, takie że i=0,...,n y i = f (x i )). Szukamy funkcji F (funkcji interpolującej), takiej

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2012 andrzej.lachwa@uj.edu.pl 2/14 Funkcji podłogi z logarytmu można użyć do wyliczenia liczby cyfr liczby naturalnej k (k>0): w układzie dziesiętnym log 10 (k)

Bardziej szczegółowo

Numeryczne rozwiązywanie równań różniczkowych ( )

Numeryczne rozwiązywanie równań różniczkowych ( ) Numeryczne rozwiązywanie równań różniczkowych Równanie różniczkowe jest to równanie, w którym występuje pochodna (czyli różniczka). Przykładem najprostszego równania różniczkowego może być: y ' = 2x które

Bardziej szczegółowo

Drgania i fale II rok Fizyk BC

Drgania i fale II rok Fizyk BC 00--07 5:34 00\FIN00\Drgzlo00.doc Drgania złożone Zasada superpozycji: wychylenie jest sumą wychyleń wywołanych przez poszczególne czynniki osobno. Zasada wynika z liniowości związku między wychyleniem

Bardziej szczegółowo

Teoria liczb. Zajmuje się własnościami liczb, wszystkim całkowitych

Teoria liczb. Zajmuje się własnościami liczb, wszystkim całkowitych Teoria liczb Zajmuje się własnościami liczb, przede wszystkim całkowitych Niepraktyczna? - kryptografia Dzielenie liczb całkowitych z resztą Niech b>0, wtedy dla każdej liczby całkowitej a istnieją jednoznacznie

Bardziej szczegółowo

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Modelowanie rynków finansowych z wykorzystaniem pakietu R Modelowanie rynków finansowych z wykorzystaniem pakietu R Metody numeryczne i symulacje stochastyczne Mateusz Topolewski woland@mat.umk.pl Wydział Matematyki i Informatyki UMK Plan działania 1 Całkowanie

Bardziej szczegółowo

Treści zadań Obozu Naukowego OMG

Treści zadań Obozu Naukowego OMG STOWARZYSZENIE NA RZECZ EDUKACJI MATEMATYCZNEJ KOMITET GŁÓWNY OLIMPIADY MATEMATYCZNEJ GIMNAZJALISTÓW Treści zadań Obozu Naukowego OMG Poziom OM 2015 rok SZCZYRK 2015 Pierwsze zawody indywidualne Treści

Bardziej szczegółowo

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 = Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,

Bardziej szczegółowo

Zestaw zadań dotyczących liczb całkowitych

Zestaw zadań dotyczących liczb całkowitych V Zestaw zadań dotyczących liczb całkowitych Opracowanie Monika Fabijańczyk ROZDZIAŁ 1 Cechy podzielności Poniższe zadania zostały wybrane z różnych zbiorów zadań, opracowań, konkursów matematycznych.

Bardziej szczegółowo

Teoria liczb. Magdalena Lemańska. Magdalena Lemańska,

Teoria liczb. Magdalena Lemańska. Magdalena Lemańska, Teoria liczb Magdalena Lemańska Literatura Matematyka Dyskretna Andrzej Szepietowski http://wazniak.mimuw.edu.pl/ Discrete Mathematics Seymour Lipschutz, Marc Lipson Wstęp Teoria liczb jest dziedziną matematyki,

Bardziej szczegółowo

Analiza kongruencji. Kongruencje Wykład 3. Analiza kongruencji

Analiza kongruencji. Kongruencje Wykład 3. Analiza kongruencji Kongruencje Wykład 3 Kongruencje algebraiczne Kongruencje jak już podkreślaliśmy mają własności analogiczne do równań algebraicznych. Zajmijmy się więc problemem znajdowania pierwiastka równania algebraicznego

Bardziej szczegółowo

Matematyka licea ogólnokształcące, technika

Matematyka licea ogólnokształcące, technika Matematyka licea ogólnokształcące, technika Opracowano m.in. na podstawie podręcznika MATEMATYKA w otaczającym nas świecie zakres podstawowy i rozszerzony Funkcja liniowa Funkcję f: R R określoną wzorem

Bardziej szczegółowo

Ciała skończone. 1. Ciała: podstawy

Ciała skończone. 1. Ciała: podstawy Ciała skończone 1. Ciała: podstawy Definicja 1. Każdy zbiór liczb, w którym są wykonalne wszystkie cztery działania z wyjątkiem dzielenia przez 0 i który zawiera więcej niż jedną liczbę, nazywamy ciałem

Bardziej szczegółowo

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych Pochodna i różniczka unkcji oraz jej zastosowanie do obliczania niepewności pomiarowych Krzyszto Rębilas DEFINICJA POCHODNEJ Pochodna unkcji () w punkcie określona jest jako granica: lim 0 Oznaczamy ją

Bardziej szczegółowo

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.

Bardziej szczegółowo

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. 1. Identyfikator funkcji,

Bardziej szczegółowo

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Funkcja kwadratowa. f(x) = ax 2 + bx + c, Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax 2 + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax 2, a R \

Bardziej szczegółowo

Największy wspólny dzielnik Algorytm Euklidesa (także rozszerzony) WZAiP1: Chińskie twierdzenie o resztach

Największy wspólny dzielnik Algorytm Euklidesa (także rozszerzony) WZAiP1: Chińskie twierdzenie o resztach Największy wspólny dzielnik Algorytm Euklidesa (także rozszerzony) Chińskie twierdzenie o resztach Wybrane zagadnienia algorytmiki i programowania I 27 października 2010 Największy wspólny dzielnik - definicja

Bardziej szczegółowo