Analiza Algorytmów Moduł 2. 1 Poprawność algorytmów 2
|
|
- Gabriela Jastrzębska
- 6 lat temu
- Przeglądów:
Transkrypt
1 Analiza Algorytmów Moduł 2 Poprawność algorytmów Aleksandra Orpel Spis treści 1 Poprawność algorytmów Niezmienniki pętli Algorytm NWD Euklidesa Wyszukiwanie w tekście maksymalnych prefiksów Bibliografia 13 1
2 1 Poprawność algorytmów Zkażdym algorytmem A zwiazane sa dwa warunki: warunek poczatkowy α, podajacy ograniczenia na dane wejściowe algorytmu oraz warunek końcowy β,opisuj acy własności danych wyjściowych algorytmu i ich zwiazek z danymi wejściowymi. Wprowadzimy teraz następujace pojęcie: Definicja 1. Mówimy, że algorytm A jest semantycznie poprawny względem warunków poczatkowego α ikońcowego β,jeśli dla każdych danych wejściowych spełniajacych warunek α obliczenie algorytmu A dochodzi do punktu końcowego oraz końcowe wartościowanie zmiennych spełnia warunek β. (Poprawność semantyczna oznacza zatem, że algorytm wykonuje postawione przed nim zadania.) W dowodach poprawności semantycznej algorytmów stosujemy metodę indukcji matematycznej względem liczby powtórzeń instrukcji iteracyjnej lub poziomu zagnieżdżenia realizacji procedury rekurencyjnej. Innym sposobem jest wykorzystanie twierdzenia o niezmiennikach pętli. Oczywiście, aby dowód poprawności był pełny, należy również sprawdzić, czy wszytkie operacje częściowe takie, jak dzielenie czy przechodzenie po dowiazaniu w liście lub drzewie, sa wykonalne. W zwiazku z tym poprawności algorytmu A względem warunków poczatkowego α i końcowego β dowodzimy przez pokazanie, że ma on następujace trzy własności: 1. dla każdych danych wejściowych spełniajacych warunek α, jeżeli obliczenie algorytmu A dochodzi do punktu końcowego, to otrzymane wyniki spełnia warunek β, ( mówimy wówczas, że algorytm jest częściowo poprawny względem warunków poczatkowego α ikońcowego β ); 2. dla każdych danychwejściowych spełniajacych warunek α obliczenie algorytmu nie jest przerwane (mówimy wówczas, że algorytm ma własność określoności obliczeń względem warunku poczatkowego α ); 3. dla każdych danychwejściowych spełniajacych warunek α obliczenie algorytmu nie jest nieskończone (mówimy wówczas, że algorytm ma własność stopu względem warunku poczatkowego α ). 1.1 Niezmienniki pętli Wprowadzimy teraz pojęcie niezmiennika pętli, które jest często wykorzystywane do projektowania algorytmów oraz dowodzenia ich poprawności. W tym celu 2
3 przyjmiemy pewne oznaczenia dotyczace elementów pętli while, która jest ciagiem kroków w algorytmie lub programie majacym postać while g, do S (P) i oznaczajacym, -(*) sprawdź, czy warunek g jest prawdziwy, - jeśli tak, to wykonaj polecenia S,anastępnie wróć do(*), - jeśli g nie jest spełniony, to omińpętlę i przejdź do poleceńwystępujacych za pętla w programie głównym. Warunek g nazywać będziemy warunkiem dozoru pętli, a S treściapętli. Wykonanie kroków S w pętli (P ) nazywamy jej przebiegiem lub iteracja. Definicja 2. Mówimy, że zdanie p jest niezmiennikiem pętli (P ), gdy spełniony jest następujacy warunek: jeżeli zdania p i g sa prawdziwe zanim wykonamy kroki S, to zdanie p będzie prawdziwe po wykonaniu poleceń S. Twierdzenie 3. (O niezmiennikach pętli) Zał óżmy, że p jest niezmiennikiem pętli (P) oraz, że zdanie p jest prawdziwe przed wejściem w pętlę (P). Wtedy zdanie p jest prawdziwe po każdej iteracji pętli. Jeśli pętla kończy działanie, topojejzakończeniu zdanie p jest również prawdziwe, a zdanie g jest fałszywe. Dowód. Zzałożenia zdanie p jest prawdziwe na poczatku,tzn.po0. iteracji. Przypuśćmy, że zdanie p jest fałszywe po pewnej k. iteracji. Niech teraz n będzie pierwszym numerem iteracji, po której p stało sięfałszywe. Oznacza to, że n jest najmniejsza liczba naturalna-tak a, że po n -tej iteracji p jest fałszywe. (Istnienie takiego n zapewnia zasada dobrego uporzadkowania, zgodnie z która każdy niepusty podzbiór liczb naturalnych ma element najmniejszy.) Wówczas wiemy, że po n 1. iteracji p było jeszcze prawdziwe. Zdanie g było również prawdziwe, gdyż inaczej nie wykonalibyśmy n. iteracji. Zatem p pozostaje prawdziwe po następnym - n. przebiegu, ponieważ p jest niezmiennikiem pętli (P ). To jest jednak sprzeczne z wyborem n. Stad po każdym przebiegu pętli zdanie p pozostaje prawdziwe, w szczególności, jeśli pętla kończy działanie, po ostatnim wykonaniu poleceń S pętli zdanie p nie może być fałszywe. Gdy pętla zakończy się, to zdanie g będzie oczywiście fałszywe, zaś zdanie p będzie prawdziwe. (Ostatnie stwierdzenie dotyczace fałszywości zdania g po zakończeniu pętli jest tak oczywistym spostrzeżeniem, że często się onim zapomina. Jednak, jak pokażemy w przykładach, dostarcza ono ważnych informacji 3
4 pozwalajacych uzasadnić poprawność semantyczna algorytmów i dlatego zostało ono zamieszczone w treści twierdzenia.) Uwaga: Należy pamiętać, że stwierdzenie, iż zdanie p jest niezmiennikiem pętli (P ) nie pozwala jeszcze skorzystać z twierdzenia o niezmiennikach, a założenie prawdziwości zdania p przed wejściem w pętlę jest bardzo istotne i nie może zostać pominięte. Ilustruje to prosty przykład: k := 4 while k 4 do k := k +1. Rozważmy zdanie p : 5 k <k!. Oczywiście p nie jest prawdziwe przed wejściem w pętlę, gdyż 5 4 > 4!. Zauważmy teraz, że p : 5 k < k! jest niezmiennikiem tej pętli. Istotnie; zakładajac, że 5 k <k! i k 4 możemy uzyskać 5 k+1 < 5 k! (k +1) k! =(k +1)!. Jednak, jak łatwo obliczyć, p nie jest prawdziwe również po pierwszym wykonaniu poleceń pętli, co oznacza, że w tym przypadku pierwsza część tezy twierdzenia 3 nie zachodzi. 1.2 Algorytm NWD Euklidesa Jako ilustrację zastosowania pojęcia niezmiennika pętli zaprezentujemy dowód poprawności semantycznej algorytmu Euklidesa znajdowania największego wspólnego dzielnika dwóch liczb całkowitych. Przypomnijmy treść algorytmu: ENWD(n,m) Dane wejściowe: m,n (dwie liczby naturalne) Dane wyjściowe: nwd (liczba naturalna) begin a:=max(n,m); b:=min(n,m); r:=1;{reszta} while r>0 do begin r:=a mod b; a:=b; b:=r; end; 4
5 end nwd:=a; Jak szukać niezmiennika pętli? (Przez NWD(m, n) oznaczać będziemy liczbę będac a największym wspólnym dzielnikiem liczb n i m).zauważmy najpierw, że naszym zadaniem jest pokazanie, iż nwd = NWD(m, n). (1) Oczywiste jest, że nwd = NWD(nwd, 0) i jednocześnie, po wyjściu z pętli nwd przyjmuje wartość zmiennej a, b =0 istad nwd = a = NWD(a, 0) = NWD(a, b). Zatem wystarczy wykazać, że po zakończeniu pętli zachodzi równość NWD(a, b) =NWD(m, n). (2) Przed wejściem w pętlę, wobec dokonanych podstawień, zależność ta jest prawdziwa. Jeśli teraz zdołamy pokazać, że zadanie (2) jest niezmiennikiem rozważaniej pętli, to z twierdzenia 3 uzyskamy żadany wniosek: (1). W tym celu zauważmy, że w każdym przebiegu pętli zmienne a i b sa zastępowane przez: odpowiednio b oraz a mod b. Wobec tego w poniższym lemacie wykażemy, iż NWD(a,b)=NWD(b,a mod b). Lemat 4. Jeślimins a liczbami całkowitymi i n 6= 0, to wspólne dzielniki liczbnims a takie same jak liczb n i m mod n. Zatem NWD(m,n)=NWD(n,m mod n). Dowód: Skorzystajmy z zależności m = n(m divn)+mmodn. (3) Jeśli n immodnsa wielokrotnościami d, to również m jest wiekrotnościad, ponieważ zarówno n(m div n), jak i m mod n sa podzielne przez d. I odwrotnie jeślimins a wiekrotnościami pewnej liczby całkowitej e, to z uwagi na (3) stwierdzamy, że m mod n jest również wielokrotnościae.st ad liczby m i n oraz nimmodnmaj a te same zbiory wspólnych dzielników, i dalej, ich największe wspólne dzielniki sa równe. Lemat 5. Zdanie NWD(m, n) =NWD(a, b) jest niezmiennikiem pętli while w algorytmie Euklidesa. Dowód: Załóżmy, że zdanie NWD(m, n) =NWD(a, b) jest prawdziwe zamin wykonamy polecenia zawarte w treści rozważanej pętli oraz, że r>0. Mamy wykazać, że pozostaje ono prawdziwe, gdy dokonamy podstawień r:=a modb,a:=bib:=r,tzn.musimywykazaćnastępujac a równość: NWD(m, n) =NWD(b, a mod b). 5
6 Na mocy lematu 4. otrzymujemy co należało pokazać. NWD(b, a mod b) =NWD(a, b) =NWD(m, n) Twierdzenie 6. Algorytm ENWD wykonuje co najwyżej 2lg(n+m) przebiegów pętli i wyznacza największy wspólny dzielnik danych liczb całkowitych n i m. Dowód: Wyznaczymy najpierw możliwie najlepsze oszacowanie górne liczby operacji dominujacych. Zauważmy, że liczba wykonań instrukcji iteracyjnej jest równa liczbie wykonań wiersza 6 zawierajacego obliczanie reszty z dzielenia liczb a przez b, które to działanie uznamy za operacjędominuj acawpowyższym algorytmie. Oczywiście liczba wykonań pętli jest skończona. Wynika to z faktu, iżwpętli "while " r jest zastępowane przez r mod a dopóty, dopóki r>0. Zatem nowa wartość r jest liczbanieujemn a, mniejszaniż poprzednia. Kolejne wartości zmiennej r tworzaci ag malejacy liczb całkowitych nieujemnych. Zatem, wobec postaci tego ciagu, stwierdzamy, że r osiagnie wartość 0 i algorytm zatrzyma się. Oznaczmy przez L liczbę przebiegów pętli. Aby wyznaczyć L należy pomocniczo udowodnić, że suma a + b zmniejsza się doconajwyżej 2 3 swojej poprzedniej wartości przy każdym przebiegu pętli. Oznacza to, że dla dowonych liczb naturalnych a, b gdzie a b mamy Istotnie, zapiszmy nieróność (2) następujaco: b + a mod b< 2 (a + b). (4) 3 3b +3(a mod b) < 2a +2b lub równoważnie: b +3(a mod b) < 2a. Jednocześnie wiemy, że Dwie ostatnie relacje daja: a = b(a divb)+a mod b. b +3(a mod b) < 2b(a divb)+2(a mod b) idalej b +(a mod b) < 2b(a divb). 6
7 Wszystkie powyższe przekształcenia sa równoważne zatem, aby wykazać (2), wystarczy udowodnić ostatniazależność. Ponieważ a b, otrzymujemy a div b 1. Stad, nierówność a mod b < b implikuje b +(amod b) < 2b 1 2b(a divb), co należało pokazać. Stosujac zasadę indukcji matematycznej zupełnej, nierówność (2) pozwala udowonić następujacy fakt: µ k 2 a k + b k (m + n) (5) 3 dla dowolnych k =0, 1,...L,gdziea k,b k oznaczaja wartości liczb odpowiednio a i b po k. przebiegu pętli "while. (Dowód tej nierówności pozostawiamy do samodzielnego wykonania - patrz zadanie 4). Zauważmy teraz, że na mocy zależności (5) i nierówności 1+0 a + b, mamy µ L 2 1 (m + n) 3 po ostatnim - L. wykonaniu instrukcji a mod b, co daje µ L 3 m + n. 2 Logarytmujac obie strony uzyskujemy µ 3 lg(m + n) L lg L(lg 3 1) ¼ L(0, 585) > L, gdzie lg x =log 2 x. Ostatecznie L 2 lg(m + n). Dowiedziemy teraz poprawności algorytmu. Jak zauważyliśmy, wobec podstawień poczatkowych ( a := max(n, m); b := min(n, m) ) zdanie NWD(m, n) = NWD(a, b) jest prawdziwe przed wejściem w rozważanapętlę "while". Jednocześnie ostatni lemat zapewnia, że jest ono jej niezmiennikiem. Wobec tego, korzystajac z twierdzenia o niezmiennikach pętli, orzekamy, iż zdanie to pozostaje prawdziwe po wyjściu z pętli i r =0 (a stad także b =0). Wówczas co było do okazania. nwd = NWD(nwd, 0) = NWD(a, b) =NWD(m, n), 7
8 Własność 1. Własność Wyszukiwanie w tekście maksymalnych prefiksów Podamy teraz kolejny przykład zastowsowania twierdzenia o niezmiennikach do badania poprawności algorytmu. Rozważać będziemy jeden z algorytmów rozwiazywania problemu wyszukiwania maksymalnych prefiksów. Rozpoczniemy od sformułowania problemu. Dana jest tablica A :array [1..n] of Char. Naszym zadaniem jest wyznaczenie dla dowolnego i 2f1, 2,..., ng maksymalnej wartości t sposród tych wszystkich liczb naturalnych t 2f1, 2,..., i 1g, dla których teksty A[1]A[2]...A[t] (zwany prefiksem całego tekstu A )ia[i t +1]A[i t +2]A[i t +3]...A[i] (będacy końcowym segmentem tekstu A obciętego do i. znaku) satakiesame,tj.dla każdego i 2f1, 2,..., ng należy wyznaczyć wartość funkcji g : f1, 2,..., ng! f0, 1,..., ng danej następujacym wzorem g(i) =maxg(i), dla każdego i 2f1, 2,..., ng, (6) gdzie G(i) =ft 2f0, 1,..., i 1g; 8 A[u] =A[i t + u]g. (7) u2f1;:::;tg Dodatkowo przyjmujemy G(0) :=. Zauważmy, że funkcja g jest poprawnie określona, gdyż dla dowolnego i 2 f1, 2,..., ng zbiór G(i) 6=. W istocie tak jest, ponieważ dlakażdego i 2 f1, 2,..., ng, 0 2 G(i), co wynika z faktu, iż 8 A[u] =A[i t + u], 8 (1 u t ) A[u] =A[i t + u]). 1 u t^u2n u2n (Zatem dla t =0 poprzednik implikacji po prawej stronie równoważności jest fałszywy zatem cała implikacja jest prawdziwa). Podamy teraz podstawowe własności funkcjig g(i) < i dla każdego i 2f1,...ng. dla każdego i 2f0, 1, 2,..., n 1g G(i +1)=f0g[ft +1;t 2 G(i) ^ A[i +1]=A[t +1]g. Dowód. Wykażemy dwie imlikacje. ( ¾ ) Oczywiście 0 2 G(i + 1). Jeśli teraz t 2 G(i)^A[i+1] = A[t+1]g, to z definicji (6) t+1 2 G(i+1). ("½ ") Z drugiej strony, gdy t 2 G(i +1) i t 6= 0, to A[i +1]=A[t] i t 1 2 G(i). Istotnie, t 2 G(i +1), µ 0 t<i+1^ 8 A[u] =A[i +1 t + u]g u2f1;:::;tg 8
9 Własność 3. µ, 0 t<i+1^a[t] =A[i +1]^ 8 A[u] =A[i (t 1) + u] u2f1;:::;t 1g, (A[t] =A[i +1]^ t 1 2 G(i)). Zauważmy teraz, że Własność 2 pozwala wyznaczyć wartość g(i +1) jako maksimum z 0 i wszystkich tych elementów t zbioru G(i), które spełniaja równość A[t +1] = A[i +1]. Fakt ten zapiszemy w postaci następujacej własności: (wniosek z Własności 2) Dla dowolnego i =0, 1,...n 1 zachodzi wzór g(i +1)=max(f0g, ft +1,t2 G(i) ^ A[t +1]=A[i +1]g). Własność 4. Dla dowolnego i =1,...n zachodzi równość G(i) =fg(i)g[g(g(i)). (8) Dowód. Niech i będzie dowolnym, ustalonym elementem zbioru f1, 2,..., ng. Zauważmy, że jeżeli g(i) =0, to (8) jest oczywista. Rozważymy zatem przypadek, gdy g(i) > 0. Z definicji zbioru G(i) wynika relacja g(i) 2 G(i), i dalej 8 A[w] =A[i g(i)+w]. (9) w2f1;:::;g(i)g Załóżmy, że t 6= g(i) oraz t 2 G(i), co jest równoważne 8 A[u] =A[i t + u], (10) u2f1;:::;tg Zdefinicji funkcji g, g(i) jest maksymalnym elementem spośród wszystkich elemetów zbioru G(i), zatem, wobec założenia t 6= g(i), mamy t < g(i). Z (10), (9) oraz ostaniej nierówności otrzymujemy dla dowolnego u 2f1, 2,..., tg A[u] =A[i t + u] =A[(i g(i)) + (g(i) t + u)] = A[g(i) t + u]. Stad stwierdzamy, że t 2 G(g(i)), tj. G(i) ½fg(i)g [G(g(i)). Należy teraz wykazać inkluzję w druga stronę: G(i) ¾fg(i)g [G(g(i)). Ze względu na definicję g, wystarczy dowieść, że G(i) ¾ G(g(i)). Załóżmy więc, że t 2 G(g(i)), co oznacza 8 A[u] =A[g(i) t + u]. u2f1;:::;tg 9
10 Zatem dla dowolnego u 2f1, 2,..., tg mamy A[u] =A[g(i) t + u] =A[(i g(i)) + (g(i) t + u)] = A[i t + u], czyli t 2 G(i). Twierdzenie 7. Dla dowolnego i 2f1,..., ng zachodzi następujacy wzór rekurencyjny 8 >< g k (i 1) + 1, g(i) = >: 0 g(1) = 0 gdzie k =minfl; g l (i 1) jest określone i A[i] =A[g l (i 1) + 1]g, jeśli nie istnieje liczba naturalna k opowyższej własności. Dowód. Oczywiście pierwsza równość wynika wprost z własności 1. Z własnosci 4 uzyskujemy: G(i) =fg k (i), k 1 ig k (i) jest określone}. Zatem, wykarzystujac własność 3mamydlai 2f0, 1,..., n 1g g(i +1)=max(f0g, fg k (i)+1,k 1 ^ A[g k (i)+1]=a[i +1]g). Jednocześnie z własnosci 1 wynika, że jeśli g k (i) jest określone, to g(i), g 2 (i),...,g k (i) tworzaci ag malejacy. Fakt ten oraz ostatnia równość implikuja powyższy wzór rekurencyjny. Przedstawimy teraz algorym, rozwiazuj acy nasz problem, czyli obliczajacy funkcję g : Procedure PRM Dane wejściowe: liczba naturalna n 1, A : array [1..n] of char - tekst, w którym wyszukujemy maksymalnego prefiksu. Dane wyjśćiowe: P : array [1..n] of integer - wartość funkcji g. var i, j, k : integer ; begin 1:j := 0; P [1] := 0; i := 2; 2: while i n do begin k := 1; 3: while (j > 0 ^ A[i] 6= A[j + 1]) do begin j := P [j]; k := k +1; end; 4: if A[j +1]=A[i] then 10
11 5: end; 6: end. begin j := j +1; P [i] :=j; end else P [i] :=0; i := i :+1, Twierdzenie 8. Algorytm PRM jest częściowo poprawny względem warunku poczatkowego α : n 1 i warunku końcowego β : 8 P [i] =g(i). i2f1;:::;ng Zanim przejdziemy do dowodu twierdzenia wykarzemy dwa pomocnicze fakty dotyczace własności wewnętrznej pętli while. Lemat 9. Zdanie γ 3 : 8 P [s] =g(s) ^ n i 2 ^ k 1 ^ j = s2f1;:::;i 1g gk (i 1) 8 u2f1;:::;k 1g (gu (i 1) > 0 ^ A[i] 6= A[g u (i 1) + 1]) jest niezmiennikiem wewnętrznej pętli while. Dowód. Załóżmy, że prawdziwe sa zdania: γ 3 oraz warunek dozoru (j >0 ^ A[i] 6= A[j +1]). W wyniku wykonania poleceńtreści pętli, zmienne j oraz k przybieraja nowe wartości j 1 = P [j] i k 1 = k +1. Na poczatku zauważmy, że 2 pierwsze czynniki koniunkcji γ 3, tj. warunki 8 P [s] =g(s) ^ n i 2 s2f1;:::;i 1g saspełnione z założenia. Oczywiste jest także, iż k 1 1. Dalej zauważmy, że j 1 = P [j],zaś j = g k (i 1) <i 1, awięc g(j) =P [j], zatem j 1 = P [j] =g(j) =g(g k (i 1)) = g k+1 (i 1) = g k 1 (i 1). Wykorzystuj ac teraz zależność j = g k (i 1) oraz warunek dozoru pętli, stwierdzamy natychmiast, iż g k1 1 (i 1) > 0 i A[i] 6= A[g k1 1 (i 1)+1], co wobec założonej prawdziwości γ 3 przed wykonanim treści pętli 8 u2f1;:::;k 1 1g (gu (i 1) > 0 ^ A[i] 6= A[g u (i 1) + 1]). Wykazaliśmy zatem, iż γ 3 pozostaje prawdziwe po wyknaniu poleceń treści pętli, a zatem jest niezmiennikiem pętli while. Lemat 10. Dla każdego i 2f2,..., ng, zachodzi następujaca implikacja: jeżeli γ 3 jest prawdziwe przed wejściem w wewnętrznapętlę while, to jest ona wykonywana nie więcej niż g(i 1) g(i)+2 razy. Dowód. Niech i będzie ustalonym elementem zbioru i 2f2,..., ng. Ponieważ liczba przebiegów pętli jest o jeden większa od k, zatem wystarczy pokazać, że 11
12 można wartość tej zmiennej oszacować z góry. Z założenia, że γ 3 jest prawdziwe przed wejściem w wewnętrzna pętlę while ifaktu,iż jest ono jej niezmiennikiem (Lemat 9), wnosimy, na mocy twierdzenia o niezmiennikach pętli, że jest ono prawdziwe pokażdej jej iteracji. Zatem j = g k (i 1) 0. Ponieważ dlakażdego l =1, 2,..., n, g(l) l 1, więc g k (i 1) g k 1 (i 1) 1 g k 2 (i 1) 2... g(i 1) (k 1). (11) Na mocy twierdzenia 1 i (11), mamy [g(i) g k (i 1) + 1 g(i 1) k +2], k g(i 1) g(i)+2. Dowód twierdzenia 8. Załóżmy, że spełniony jest warunek α. Pokażemy, że zdanie γ 2 : 8 P [s] =g(s) ^ n +1 i 2 ^ j = g(i 1) s2f1;:::;i 1g jest niezmiennikiem wewnętrznej pętli while. Zakładamy więc, że γ 2 jest prawdziwe oraz i n. Należy wykazać, że dla nowych wartości j 1 oraz i 1 zachodzi ^ j 1 = g(i 1 1). s2f1;:::;i 1 1g (12) Założenie nasze gwarantuje prawdziwość czterech pierwszych czynników w warunku γ 3. Oczywiście ostatni czynnik jest również prawdziwy, gdyż wtym momencie k =1. Ponieważ γ 3 jest niezmiennikiem wewnętrznej pętli while (lemat 9), która wykonywana jest skończona liczbę razy (lemat 10), stwierdzamy, że po zakończeniu działania pętli γ 3 pozostaje prawdziwe oraz, że j 0 _ A[i] =A[j +1]. Wykażemy teraz, że zachodzi (g k (i 1) = 0 _ A[i] =A[g k (i 1) + 1]). (13) Rozważmy najpierw sytuację, gdy j 0. Wówczas, z prawdziwości warunku γ 3 stwierdzamy, iż j = g k (i 1), aponieważ g przyjmuje tylko wartości nieujemne, mamy g k (i 1) = 0, co implikuje prawdziwość zdania (13). Zajmijmy się teraz przypadkiem, gdy A[i] =A[j +1]. Podobnie jak poprzednio, równość j = g k (i 1) daje A[i] =A[g k (i 1) + 1]), i dalej prawdziwość (13). Dowiedliśmy zatem warunku γ 4 : γ 3 ^ (g k (i 1) = 0 _ A[i] =A[g k (i 1) + 1]). 12
13 Naszym zadaniem jest zbadanie instrukcji if-else. Korzystajac z twierdzenia 1 mamy, że jeżeli równość A[i] =A[g k (i 1)+1] zachodzi, to g(i) =g k (i 1)+1, w przeciwnym przypadku g(i) =0. Z drugiej strony, gdy A[i] =A[j +1], to zmienne j oraz P [i] przybieraja nowe wartości j 1 = j +1 oraz P [i] =j 1. Ponieważ zprawdziwości γ 3, j = g k (i 1), więc P [i] =g k (i 1) + 1 = g(i). Jeżeli zaś warunek zawarty w instrukcji if nie zachodzi, to j 1 = j i P [i] =0=g(i). Na koniec oznaczmy i 1 = i +1. Podsumowujac, wykazaliśmy P [i 1 1] = g(i 1 1) ^ n +1 i 1 2 ^ j 1 = g(i 1 1), co wobec założenia, daje (12), tj. γ 2 jest niezmiennkiem zewnętrznej pętli while. Ponieważ jednocześnie γ 2 jest prawdziwe przed wejściem w tę pętlę (wówczas zmienne przybierajanastępuj ace wartości: n 1, j = 0, P[1] = 0, i = 2, stad P [1] = 0 = g(1) = j), twierdzenie o niezmiennikach pozwala orzec, iż zdanie to pozostaje prawdziwe po zakończeniu jej działania, tj. zachodzi warunek β. 2 Bibliografia 1. Banachowski L., Kreczmar A., Elementy analizy algorytmów, Wydawnictwo Naukowo-Techniczne, Warszawa Manber U., Introduction to Algorithms, Addison-Wesley Publishing Company, New York, Ross K.A., Wright Ch.R.B., Matematyka dyskretna, Wydawnictwo Naukowe PWN, Warszawa
Analiza Algorytmów - Moduł 2- Ćwiczenia
Analiza Algorytmów - Moduł 2- Ćwiczenia Aleksandra Orpel 1 Niezmienniki pętli Ćwiczenie 1. Wykaż, że podany warunek "k 4 > 2m 6 " jest niezmiennikiem pętli 1while 1 mdo 2 3 m := 2m; 4 k := 3k; 5 end: Rozwiazanie:
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
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
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ę
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
Matematyka dyskretna. Andrzej Łachwa, UJ, /15
Matematyka dyskretna Andrzej Łachwa, UJ, 2015 andrzej.lachwa@uj.edu.pl 3/15 Indukcja matematyczna Poprawność indukcji matematycznej wynika z dobrego uporządkowania liczb naturalnych, czyli z następującej
Indukcja matematyczna, zasada minimum i maksimum. 17 lutego 2017
Indukcja matematyczna, zasada minimum i maksimum 17 lutego 2017 Liczby naturalne - Aksjomatyka Peano (bez zera) Aksjomatyka liczb naturalnych N jest nazwą zbioru liczb naturalnych, 1 jest nazwą elementu
Podstawy Informatyki. Algorytmy i ich poprawność
Podstawy Informatyki Algorytmy i ich poprawność Błędy Błędy: językowe logiczne Błędy językowe Związane ze składnią języka Wykrywane automatycznie przez kompilator lub interpreter Prosty sposób usuwania
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ę
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
Matematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d
C. Bagiński Materiały dydaktyczne 1 Matematyka Dyskretna /008 rozwiązania 1. W każdym z następujących przypadków podać jawny wzór na s n i udowodnić indukcyjnie jego poprawność: (a) s 0 3, s 1 6, oraz
LX Olimpiada Matematyczna
LX Olimpiada Matematyczna Rozwiązania zadań konkursowych zawodów stopnia drugiego 13 lutego 2009 r. (pierwszy dzień zawodów) Zadanie 1. Liczby rzeczywiste a 1, a 2,..., a n (n 2) spełniają warunek a 1
F t+ := s>t. F s = F t.
M. Beśka, Całka Stochastyczna, wykład 1 1 1 Wiadomości wstępne 1.1 Przestrzeń probabilistyczna z filtracją Niech (Ω, F, P ) będzie ustaloną przestrzenią probabilistyczną i niech F = {F t } t 0 będzie rodziną
Matematyka dyskretna. Andrzej Łachwa, UJ, /10
Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 3/10 indukcja matematyczna Poprawność indukcji matematycznej wynika z dobrego uporządkowania liczb naturalnych, czyli z następującej
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
Sumy kolejnych bikwadratów
Sumy kolejnych bikwadratów Znane są następujące dwie równości Andrzej Nowicki 18 maja 2015, wersja bi-12 3 2 + 4 2 = 5 2 3 3 + 4 3 + 5 3 = 6 3. Czy istnieją podobnego typu równości dla czwartych potęg?
Matematyka dyskretna. Andrzej Łachwa, UJ, /14
Matematyka dyskretna Andrzej Łachwa, UJ, 2019 andrzej.lachwa@uj.edu.pl 4/14 Indukcja matematyczna Poprawność indukcji matematycznej wynika z dobrego uporządkowania liczb naturalnych, czyli z następującej
Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów
Treść wykładu Pierścienie wielomianów. Definicja Niech P będzie pierścieniem. Wielomianem jednej zmiennej o współczynnikach z P nazywamy każdy ciąg f = (f 0, f 1, f 2,...), gdzie wyrazy ciągu f są prawie
Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku
Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku Rozdział 1 Poprawność programów Jeżeli projektujemy algorytmy lub piszemy programy, to ważne jest pytanie, czy nasz algorytm lub program
Wielomiany jednej zmiennej rzeczywistej algorytmy
Rozdział 15 Wielomiany jednej zmiennej rzeczywistej algorytmy 15.1 Algorytm dzielenia Definicja 15.1 Niech dany będzie niezerowy wielomian f K[x] (K jest ciałem) f = a 0 x m + a 1 x m 1 +... + a m, gdzie
Matematyka dyskretna. Andrzej Łachwa, UJ, /15
Matematyka dyskretna Andrzej Łachwa, UJ, 2014 andrzej.lachwa@uj.edu.pl 3/15 Indukcja matematyczna Poprawność indukcji matematycznej wynika z dobrego uporządkowania liczb naturalnych, czyli z następującej
domykanie relacji, relacja równoważności, rozkłady zbiorów
1 of 8 2012-03-28 17:45 Logika i teoria mnogości/wykład 5: Para uporządkowana iloczyn kartezjański relacje domykanie relacji relacja równoważności rozkłady zbiorów From Studia Informatyczne < Logika i
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
Indukcja matematyczna
Indukcja matematyczna 1 Zasada indukcji Rozpatrzmy najpierw następujący przykład. Przykład 1 Oblicz sumę 1 + + 5 +... + (n 1). Dyskusja. Widzimy że dla n = 1 ostatnim składnikiem powyższej sumy jest n
Rozdział 6. Ciągłość. 6.1 Granica funkcji
Rozdział 6 Ciągłość 6.1 Granica funkcji Podamy najpierw dwie definicje granicy funkcji w punkcie i pokażemy ich równoważność. Definicja Cauchy ego granicy funkcji w punkcie. Niech f : X R, gdzie X R oraz
LI Olimpiada Matematyczna Rozwiązania zadań konkursowych zawodów stopnia trzeciego 3 kwietnia 2000 r. (pierwszy dzień zawodów)
LI Olimpiada Matematyczna Rozwiązania zadań konkursowych zawodów stopnia trzeciego 3 kwietnia 2000 r. (pierwszy dzień zawodów) Zadanie 1. Dana jest liczba całkowita n 2. Wyznaczyć liczbę rozwiązań (x 1,x
2. Liczby pierwsze i złożone, jednoznaczność rozkładu na czynniki pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność.
2. Liczby pierwsze i złożone, jednoznaczność rozkładu na czynniki pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność. 11 października 2008 r. 19. Wskazać takie liczby naturalne m,
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,
Sumy kwadratów kolejnych liczb naturalnych
Sumy kwadratów kolejnych liczb naturalnych Andrzej Nowicki 24 maja 2015, wersja kk-17 Niech m < n będą danymi liczbami naturalnymi. Interesować nas będzie równanie ( ) y 2 + (y + 1) 2 + + (y + m 1) 2 =
Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:
ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu: Rys1 Ćwiczenie 2 Podaj jaki ciąg znaków zostanie wypisany po wykonaniu
Indukcja matematyczna. Matematyka dyskretna
Indukcja matematyczna Matematyka dyskretna Indukcja matematyczna Indukcja matematyczna będzie przez nas używana jako metoda dowodzenia twierdzeń. Zazwyczaj są to twierdzenia dotyczące liczb naturalnych,
Matematyka Dyskretna Zestaw 2
Materiały dydaktyczne Matematyka Dyskretna (Zestaw ) Matematyka Dyskretna Zestaw 1. Wykazać, że nie istnieje liczba naturalna, która przy dzieleniu przez 18 daje resztę 13, a przy dzieleniu przez 1 daje
Układy równań i nierówności liniowych
Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +
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.
ALGEBRA Z GEOMETRIĄ BAZY PRZESTRZENI WEKTOROWYCH
ALGEBRA Z GEOMETRIĄ 1/10 BAZY PRZESTRZENI WEKTOROWYCH Piotr M. Hajac Uniwersytet Warszawski Wykład 11, 18.12.2013 Typeset by Jakub Szczepanik. Istnienie bazy Tak jak wśród wszystkich pierścieni wyróżniamy
Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
Wykład 2. Poprawność algorytmów
Wykład 2 Poprawność algorytmów 1 Przegląd Ø Poprawność algorytmów Ø Podstawy matematyczne: Przyrost funkcji i notacje asymptotyczne Sumowanie szeregów Indukcja matematyczna 2 Poprawność algorytmów Ø Algorytm
Obóz Naukowy Olimpiady Matematycznej Gimnazjalistów
Obóz Naukowy Olimpiady Matematycznej Gimnazjalistów Liga zadaniowa 202/203 Seria VI (grudzień 202) rozwiązania zadań 26. Udowodnij, że istnieje 0 00 kolejnych liczb całkowitych dodatnich nie większych
1 Działania na zbiorach
M. Beśka, Wstęp do teorii miary, rozdz. 1 1 1 Działania na zbiorach W rozdziale tym przypomnimy podstawowe działania na zbiorach koncentrując się na własnościach tych działań, które będą przydatne w dalszej
Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 6 Podstawy programowania 2 Temat: Funkcje i procedury rekurencyjne Przygotował: mgr inż. Tomasz Michno Wstęp teoretyczny Rekurencja (inaczej nazywana rekursją, ang. recursion)
Dwa równania kwadratowe z częścią całkowitą
Dwa równania kwadratowe z częścią całkowitą Andrzej Nowicki Wydział Matematyki i Informatyki Uniwersytet M. Kopernika w Toruniu anow @ mat.uni.torun.pl 4 sierpnia 00 Jeśli r jest liczbą rzeczywistą, to
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
WHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
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
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
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,
Wykład 7. Informatyka Stosowana. 21 listopada Informatyka Stosowana Wykład 7 21 listopada / 27
Wykład 7 Informatyka Stosowana 21 listopada 2016 Informatyka Stosowana Wykład 7 21 listopada 2016 1 / 27 Relacje Informatyka Stosowana Wykład 7 21 listopada 2016 2 / 27 Definicja Iloczynem kartezjańskim
WHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:
Ciągi rekurencyjne Zadanie 1 Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: w dwóch przypadkach: dla i, oraz dla i. Wskazówka Należy poszukiwać rozwiązania w postaci, gdzie
System BCD z κ. Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna. Semestr letni 2009/10
System BCD z κ Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna Semestr letni 2009/10 Rozważamy system BCD ze stałą typową κ i aksjomatami ω κ κ i κ ω κ. W pierwszej części tej notatki
1 Funkcje uniwersalne
1 1 Funkcje uniwersalne 1.1 Konstrukcja funkcji uniweralnej Niech P będzie najmniejszym zbiorem liczb spełniającym warunki 1) 0, 2, 0, 0, 2, 1, 0, 2, 2 P, 2) 0, n, 3, k P dla wszystkich n > 0 oraz k takich,
Matematyka dyskretna
Matematyka dyskretna Wykład 6: Ciała skończone i kongruencje Gniewomir Sarbicki 24 lutego 2015 Relacja przystawania Definicja: Mówimy, że liczby a, b Z przystają modulo m (co oznaczamy jako a = b (mod
Wykład 8. Informatyka Stosowana. 26 listopada 2018 Magdalena Alama-Bućko. Informatyka Stosowana Wykład , M.A-B 1 / 31
Wykład 8 Informatyka Stosowana 26 listopada 208 Magdalena Alama-Bućko Informatyka Stosowana Wykład 8 26..208, M.A-B / 3 Definicja Ciagiem liczbowym {a n }, n N nazywamy funkcję odwzorowujac a zbiór liczb
1. Liczby naturalne, podzielność, silnie, reszty z dzielenia
1. Liczby naturalne, podzielność, silnie, reszty z dzielenia kwadratów i sześcianów przez małe liczby, cechy podzielności przez 2, 4, 8, 5, 25, 125, 3, 9. 26 września 2009 r. Uwaga: Przyjmujemy, że 0 nie
Wyszukiwanie. Wyszukiwanie binarne
Wyszukiwanie Wejście: posortowana, n-elementowa tablica liczbowa T oraz liczba p. Wyjście: liczba naturalna, określająca pozycję elementu p w tablicy T, bądź 1, jeŝeli element w tablicy nie występuje.
Analiza funkcjonalna 1.
Analiza funkcjonalna 1. Wioletta Karpińska Semestr letni 2015/2016 0 Bibliografia [1] Banaszczyk W., Analiza matematyczna 3. Wykłady. (http://math.uni.lodz.pl/ wbanasz/am3/) [2] Birkholc A., Analiza matematyczna.
Matematyka dyskretna
Matematyka dyskretna Wykład 6: Ciała skończone i kongruencje Gniewomir Sarbicki 2 marca 2017 Relacja przystawania Definicja: Mówimy, że liczby a, b Z przystają modulo m (co oznaczamy jako a = b (mod m)),
Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017
Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język
Jarosław Wróblewski Matematyka Elementarna, lato 2012/13. W dniu 21 lutego 2013 r. omawiamy test kwalifikacyjny.
W dniu 21 lutego 2013 r. omawiamy test kwalifikacyjny. Uwaga: Przyjmujemy, że 0 nie jest liczbą naturalną, tzn. liczby naturalne są to liczby całkowite dodatnie. 1. Dane są liczby naturalne m, n. Wówczas
Ciągi komplementarne. Autor: Krzysztof Zamarski. Opiekun pracy: dr Jacek Dymel
Ciągi komplementarne Autor: Krzysztof Zamarski Opiekun pracy: dr Jacek Dymel Spis treści 1 Wprowadzenie 2 2 Pojęcia podstawowe 3 2.1 Oznaczenia........................... 3 2.2 "Ciąg odwrotny"........................
Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011).
Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011). Poprzedniczka tej notatki zawierała błędy! Ta pewnie zresztą też ; ). Ćwiczenie 3 zostało zmienione, bo żądałem, byście dowodzili czegoś,
Logika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017
Logika Stosowana Wykład 2 - Logika modalna Część 2 Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 27 Plan wykładu
Rekurencja. Przykład. Rozważmy ciąg
Rekurencja Definicje rekurencyjne Definicja: Mówimy, iż ciąg jest zdefiniowany rekurencyjnie, jeżeli: (P) Określony jest pewien skończony zbiór wyrazów tego ciągu, zwykle jest to pierwszy wyraz tego ciągu
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
LOGIKA I TEORIA ZBIORÓW
LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja
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ą
Obóz Naukowy Olimpiady Matematycznej Gimnazjalistów
Obóz Naukowy Olimpiady Matematycznej Gimnazjalistów Liga zadaniowa 2012/2013 Seria X (kwiecień 2013) rozwiązania zadań 46. Na szachownicy 75 75 umieszczono 120 kwadratów 3 3 tak, że każdy pokrywa 9 pól.
Rozdział 4. Ciągi nieskończone. 4.1 Ciągi nieskończone
Rozdział 4 Ciągi nieskończone W rozdziale tym wprowadzimy pojęcie granicy ciągu. Dalej rozszerzymy to pojęcie na przypadek dowolnych funkcji. Jak zauważyliśmy we wstępie jest to najważniejsze pojęcie analizy
Lista zagadnień omawianych na wykładzie w dn r. :
Lista zagadnień omawianych na wykładzie w dn. 29.0.208r. : Granica funkcji Definicja sąsiedztwa punktu. Sąsiedztwo 0 R o promieniu r > 0: S 0, r = 0 r, 0 + r\{ 0 } 2. Sąsiedztwo lewostronne 0 R o promieniu
Programowanie liniowe
Programowanie liniowe Maciej Drwal maciej.drwal@pwr.wroc.pl 1 Problem programowania liniowego min x c T x (1) Ax b, (2) x 0. (3) gdzie A R m n, c R n, b R m. Oznaczmy przez x rozwiązanie optymalne, tzn.
Wyk lad 7 Baza i wymiar przestrzeni liniowej
Wyk lad 7 Baza i wymiar przestrzeni liniowej 1 Baza przestrzeni liniowej Niech V bedzie przestrzenia liniowa. Powiemy, że podzbiór X V jest maksymalnym zbiorem liniowo niezależnym, jeśli X jest zbiorem
Elementy logiki i teorii mnogości
Elementy logiki i teorii mnogości Zdanie logiczne Zdanie logiczne jest to zdanie oznajmujące, któremu można przypisać określoną wartość logiczną. W logice klasycznej zdania dzielimy na: prawdziwe (przypisujemy
1. Określenie pierścienia
1. Określenie pierścienia Definicja 1. Niech P będzie zbiorem, w którym określone są działania +, (dodawanie i mnożenie). Mówimy, że struktura (P, +, ) jest pierścieniem, jeżeli spełnione są następujące
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
Poprawność algorytmów
Poprawność algorytmów Jeśli uważasz, że jakiś program komputerowy jest bezbłędny, to się mylisz - po prostu nie zauważyłeś jeszcze skutków błędu, który jest w nim zawarty. Jakie błędy można popełnić? Błędy
Porządek symetryczny: right(x)
Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)
Bisymulacja. Niezawodność systemów współbieżnych i obiektowych. Grzegorz Maj Grzegorz Maj Bisymulacja
Niezawodność systemów współbieżnych i obiektowych 18.03.2009 Plan prezentacji Przypomnienie: Plan prezentacji Przypomnienie: Gra bisymulacyjna Plan prezentacji Przypomnienie: Gra bisymulacyjna Definicje
Topologia zbioru Cantora a obwody logiczne
Adam Radziwończyk-Syta Michał Skrzypczak Uniwersytet Warszawski 1 lipca 2009 http://students.mimuw.edu.pl/~mskrzypczak/dokumenty/ obwody.pdf Zbiór Cantora Topologia Definicja Przez zbiór Cantora K oznaczamy
Maciej Grzesiak. Wielomiany
Maciej Grzesiak Wielomiany 1 Pojęcia podstawowe Wielomian definiuje się w szkole średniej jako funkcję postaci f(x) = a 0 + a 1 x + a 2 x + + a n x n Dogodniejsza z punktu widzenia algebry jest następująca
Krzysztof Gniłka. Twierdzenie o rekurencji uniwersalnej
Krzysztof Gniłka Twierdzenie o rekurencji uniwersalnej Spis treści Wstęp 3 Rozdział 1 Definicje i pomocnicze lematy 4 1 Części całkowite liczb 4 2 Logarytmy 9 3 Notacja asymptotyczna 12 Rozdział 2 Metoda
Podzielność, cechy podzielności, liczby pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność.
Podzielność, cechy podzielności, liczby pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność. W dniu 25 lutego 2014 r. omawiamy test kwalifikacyjny. Uwaga: Przyjmujemy, że 0 nie jest
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
OLIMPIADA MATEMATYCZNA
OLIMPIADA MATEMATYCZNA Na stronie internetowej wwwomgedupl Olimpiady Matematycznej Gimnazjalistów (OMG) ukazały się ciekawe broszury zawierające interesujące zadania wraz z pomysłowymi rozwiązaniami z
Matematyka dyskretna. Andrzej Łachwa, UJ, a/15
Matematyka dyskretna Andrzej Łachwa, UJ, 2017 andrzej.lachwa@uj.edu.pl 3a/15 Indukcja matematyczna Zasada Minimum Dowolny niepusty podzbiór S zbioru liczb naturalnych ma w sobie liczbę najmniejszą. Zasada
Wykład z równań różnicowych
Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.
Algorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Kongruencje pierwsze kroki
Kongruencje wykład 1 Definicja Niech n będzie dodatnią liczbą całkowitą, natomiast a i b dowolnymi liczbami całkowitymi. Liczby a i b nazywamy przystającymi (kongruentnymi) modulo n i piszemy a b (mod
Wprowadzenie do algorytmiki
Wprowadzenie do algorytmiki Pojecie algorytmu Powszechnie przyjmuje się, że algorytm jest opisem krok po kroku rozwiązania postawionego problemu lub sposób osiągnięcia jakiegoś celu. Wywodzi się z matematyki
Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.
Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne. Funkcja homograficzna. Definicja. Funkcja homograficzna jest to funkcja określona wzorem f() = a + b c + d, () gdzie współczynniki
Wstęp do Informatyki
Wstęp do Informatyki dr hab. Bożena Woźna-Szcześniak, prof. AJD bwozna@gmail.com Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 8 1 / 32 Instrukcje iteracyjne
Przykładami ciągów, które Czytelnik dobrze zna (a jeśli nie, to niniejszym poznaje), jest ciąg arytmetyczny:
Podstawowe definicje Definicja ciągu Ciągiem nazywamy funkcję na zbiorze liczb naturalnych, tzn. przyporządkowanie każdej liczbie naturalnej jakiejś liczby rzeczywistej. (Mówimy wtedy o ciągu o wyrazach
Aproksymacja. j<k. L 2 p[a, b] l 2 p,n X = Lemat 1. Wielomiany ortogonalne P 0,P 1,...,P n tworza przestrzeni liniowej Π n. Dowód.
Metody numeryczne Paweł Zieliński p. 1/19 Lemat 1. Wielomiany ortogonalne P 0,P 1,...,P n tworza bazę przestrzeni liniowej Π n. Dowód. Lemat 2. Dowolny wielomian Q j stopnia j niższego od k jest prostopadły
Wyk lad 9 Baza i wymiar przestrzeni liniowej
Wyk lad 9 Baza i wymiar przestrzeni liniowej 1 Operacje elementarne na uk ladach wektorów Niech α 1,..., α n bed dowolnymi wektorami przestrzeni liniowej V nad cia lem K. Wyróżniamy nastepuj ace operacje
Wokół Problemu Steinhausa z teorii liczb
Wokół Problemu Steinhausa z teorii liczb Konferencja MathPAD 0 Piotr Jędrzejewicz Wydział Matematyki i Informatyki Uniwersytetu Mikołaja Kopernika w Toruniu Celem referatu jest przedstawienie sposobu wykorzystania
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
Maria Romanowska UDOWODNIJ, ŻE... PRZYKŁADOWE ZADANIA MATURALNE Z MATEMATYKI
Maria Romanowska UDOWODNIJ, ŻE... PRZYKŁADOWE ZADANIA MATURALNE Z MATEMATYKI Matematyka dla liceum ogólnokształcącego i technikum w zakresie podstawowym i rozszerzonym Z E S Z Y T M E T O D Y C Z N Y Miejski
Korzystając z własności metryki łatwo wykazać, że dla dowolnych x, y, z X zachodzi
M. Beśka, Wstęp do teorii miary, Dodatek 158 10 Dodatek 10.1 Przestrzenie metryczne Niech X będzie niepustym zbiorem. Funkcję d : X X [0, ) spełniającą dla x, y, z X warunki (i) d(x, y) = 0 x = y, (ii)
Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).
Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z