modzel sciaga dyskretnaaa

Indukcja matematyczna :metoda dowodzenia twierdzeń; zazwyczaj twierdzenia te dotyczą liczb naturalnych, ale nie tylko; poprawność jej wynika z dobrego uporządkowania liczb naturalnych (czyli z zasady minimum)

Zasada Minimum (ZMin): Dowolny niepusty podzbiór S zbioru liczb naturalnych N ma w sobie liczbę najmniejszą

Przykład 1 (Francesco Maurolio - 1575) Suma początkowych n liczb nieparzystych wynosi n do kwadratu. 1 + 3 + 5 + … + (2n-1)=n^2 Przeprowadzone rozumowanie wykazuje, że Jeśli Z jest jakimś zbiorem liczb naturalnych, w którym jest zero oraz Z wraz z każdą liczbą naturalną k zawiera również kolejną liczbę k+1

(tzn. dla każdego k należącego do Z zachodzi, że k+1 należy do Z to wówczas Z musi zawierać wszystkie liczby naturalne, tzn Z=N.

Przykład 2 0 + 1 + 2 + … + n = n(n+1)/2 dla n >= 0

Przykład 3 0^2 + 1^2 + 2^2 +3^2 + … +(n-1)^2 +n^2 = n(n+1)(2n+1)/6, Czasami jest tak, że pewna własność nie dotyczy wszystkich liczb naturalnych, ale prawie wszystkich (tzn. wszystkich poza być może pewną skończoną liczbą wartości początkowych.

Zasada Indukcji Matematycznej (ZIM) Jeżeli Z zawiera się w zbiorze liczb naturalnych N :w którymko należy do Z oraz Z wraz z każdą liczbą naturalną k >= ko zawiera również kolejną liczbę k+1 (tzn. dla każdego k >= ko zachodzi, że jeśli k należy do Z , to k+1 należy do Z), to zbiór Z zawiera wszystkie liczby naturalne n >= ko (tzn. N – {0,1,...,ko-1} zawiera się w Z).

Pierwszy warunek nazywamy bazą indukcji (krok podstawowy).

W drugim warunku najpierw dokonujemy założenia indukcyjnego (o tym, że k należy do Z),a następnie wykonujemy krok indukcyjny dowodząc, że k+1 należy do Z.

Przykład 4.n^2 < 2^n dla n >= 5

Przykład 5.Dla dowolnej liczby rzeczywistej a >= -1 oraz dowolnego n należącego do N zachodzi(1+a)^n >= 1+ n*a

Przykład 6.O ile tylko n >= 2, to liczba postaci 2^(2^n) ma na końcu w zapisie dziesiętnym cyfrę 6, tzn. 2^(2^n) = 10x +6 dla pewnej liczby naturalnej x.

Zasada Indukcji Zupełnej (ZIZ) Jeżeli Z jest jakimś zbiorem liczb naturalnych , który wraz z każdym początkowym fragmentem zbioru N postaci {0,1,...,k-1} zawiera

również kolejną liczbę k (tzn. dla każdego k należącego do N zachodzi:jeśli (dla każdego l<k jest tak, że l należy do Z), to k+1 należy do Z to Z zawiera wszystkie liczby naturalne (Z=N). Zauważmy, że nie ma tu wyróżnionego kroku bazowego (ukryty jest on w warunku dla k=0, bo poprzednik implikacji jest trywialnie spełniony).

Przykład 7. Mamy prostokątną czekoladę złożoną z K=a*b (a,b > 0) kwadratowych kawałków. Wykonujemy cięcia wzdłuż którejś z linii pomiędzy kawałkami.

Ile razy trzeba ułamać czekoladę, by rozdzielić wszystkie kwadraciki.

Zasada Maksimum (ZMax) Dowolny niepusty i ograniczony od góry podzbiór S zbioru liczb naturalnych ma w sobie liczbę największą Twierdzenie 1

Następujące zasady są równowazne:Zmin, ZIZ, ZIM, ZMax. a) ZMin implikuje ZIZ b) ZIZ implikuje ZIM c) ZIM implikuje Zmax d) ZMax implikuje ZMin

Metoda indukcji matematycznej ma zastosowanie w sytuacjach następujących: znamy na początku odpowiedź; wiemy jak wyprowadzić odpowiedź w danym kroku z odpowiedzi w poprzednim kroku; odgadujemy ogólne rozwiązanie.

Niezmiennik pętli (używany do projektowania algorytmów i dowodzenia ich poprawności)

Zdanie p jest niezmiennikiem pętli dopóki q, wykonuj S wtedy, gdy spełnia ono następujący warunek: jeśli zdania p i q są prawdziwe, zanim wykonamy krok S, to zdanie p będzie prawdziwe po wykonaniu S.

Twierdzenie o niezmiennikach pętli Załóżmy, że p jest niezmiennikiem pętli „dopuki q, wykonuj S” oraz zdanie p jest prawdziwe kiedy wchodzimy do pętli. Wówczas zdanie p jest prawdziwe po każdej iteracji pętli. Jeśli pętla kończy się, to po jej zakończeniu zadanie p jest prawdziwe, a zdanie q jest fałszywe.

Przykład (algorytm dzielenia)

{Dane: liczby całkowite m>=0 i n>0} {Wyniki: liczby całkowite q i r takie, że q*n + r = m oraz 0 <= r < n} początek q:=0 r:=m {niezmiennik pętli: q*n + r = m oraz r >= 0} dopóki r>=n, wykonuj q:=q+1 r:=r-n koniec

Dowód.

  1. Zdanie „ q*n + r = m oraz r >= 0” jest prawdziwe przed wejściem w pętlę

  2. Zakładamy, że zdanie „ q*n + r = m oraz r >= 0” prawdziwe w pewnym kroku iteracji

  3. Dowieść można, że po kolejnej iteracji zdanie „ q'*n + r' = m oraz r'>= 0” też jest prawdziwe

q'*n + r' = (q+1)*n + (r - n) = q*n + n + r – n = q*n +r =m

r' = r – n >= n-n = 0

Powołujemy się na twierdzenie o niezmiennikach pętli i otrzymujemy:

po zakończeniu pętli zdanie q*n + r = m oraz zdanie r >= 0 są prawdziwe, a zdanie r >=n jest fałszywe czyli r<n.

Funkcja o dziedzinie X i przeciwdziedzinie Y to dowolna relacja f zawarta w X x Y (f: X → Y) taka, że:każdy element dziedziny ma jakąś wartość przypisaną funkcją f

∏ (x ε X) ∑ (y ε Y) ( f(x)=y) Taka wartość jest co najwyżej jedna ∏ (x ε X) ∏ (y1, y2 ε Y) ( jeżeli f(x)=y1 oraz f(x)=y2, to y1=y2)

Surjekcja (funkacja „na”) to funkcja f: X → Y spełniająca warunek: cała przeciwdziedzina jest wykorzystana tzn. każdy jej element jest wartością funkcji dla jakiegoś elementu dziedziny ∏ (y ε Y) ∑ (x ε X) ( f(x)=y)

Injekcja (funkcja rożnowartościowa, 1-1) jeżeli różnym elementom dziedziny przyporządkowuje różne elementy przeciwdziedziny ∏ (x1, x2 ε X) ( jeżeli x1 ≠ x2, to f(x1) ≠ f(x2))

Bijekcja, to funkcja, która jest jednocześnie surjekcją i injekcją.

Funkcja odwrotna do funkcji f: X → Y, jest to funkcja f-1 taka, że ; każdy element dziedziny f-1 ma przypisaną jakąś wartość, co oznacza, że sama funkcja f wyczerpuje wszystkie elementy przeciwdziedziny, a zatem jest surjekcją ;f-1 ma przypisywać dokładnie jeden taki element, czyli każdy element z Y jest przypisany (przez f) jednemu elementowi z X, a zatem f musi być injekcją A zatem: funkcja posiada funkcję odwrotną wtw gdy jest bijekcją.

Złożenie funkcji f: X → Y i funkcji g: Y → Z to funkcja gf:X → Z określona dla wszystkich argumentów x ε X jako (gf(x)=g(f(x)).

Złożenie gf i fg to na ogół różne funkcje.

Gdy f:X → Y jest bijekcją to istnieje funkcja odwrotna f-1: Y → X i (f-1f):X → X (identyczność na zbiorze X i (f-1f)(x) = (f-1(f(x)) = x. Dla h:X → Y, g:Y → Z i f:Z → W zachodzi f(gh)=(fg)h.

ZLICZANIE ZBIORÓW Niech: Z0=zbiór pusty Z1={0} Z2={0,1} Z3={0,1,2} . . . Zk={0,1,2, . . . , k-1} Gdy m<n, to nie istnieje injekcja z Zn w Zm.

Zbiór X skończony to zbiór bijektywny z pewnym zbiorem Zn (f:Zn → X).

Liczba elementów skończonego zbioru X, to jedyna liczba naturalna n taka, że istnieje bijekcja z Zn w X i oznaczamy ją przez |X|.

Np. |Zn|=n; |Z0|=0

Zbiór X jest nieskończony wtw istnieje injekcja z N w X.

Zbiór przeliczalny to zbiór skończony lub bijektywny z N (f: N → X).

Zasada Szufladkowa DirichletaJeśli n obiektów jest rozmieszczonych w m szufladach i n>m, to istnieje szuflada z przynajmniej dwoma obiektami.

Dowód. Zbiór obiektów jest bijektywny ze zbiorem Zn, a zbiór szuflad ze zbiorem Zm. Rozmieszczenie obiektów w szufladach to określenie funkcji z Zn w Zm.

Ponieważ n>m to ta funkcja nie jest injekcją (1-1), a zatem lokuje co najmniej dwa obiekty w tej samej szufladzie.

Przykład. *W grupie 13 osób muszą być co najmniej dwie, które urodziły się w tym samym miesiącu. *Pewna grupa osób wita się podając sobie ręce. Nikt nie wita się z samym sobą i żadna para osób nie wita się podwójnie. Czy muszą być dwie osoby, które witały taką samą liczbę osób? *Wybierzmy dowolnie 10 różnych liczb naturalnych a1,a2,...,a10 spośród 1,2,..,100. W zbiorze { a1,a2,...,a10} można wybrać dwa rozłączne podzbiory, dające tę samą sumę. (max suma 91 + … + 100 =955; 1024 podzbiorów 10-elementowego zbioru; zatem dawa o tej samej sumie)

Uogólniona Zasada Szufladkowa Jeśli m obiektów rozmieszczonych jest w n szufladach i m>n*r, dla pewnego naturalnego r, to istnieje szufladka z co najmniej r+1 obiektami.(jeżeli każda szuflada ma co najwyżej r obiektów i n szuflad jest, to w sumie jest co najwyżej n*r obiektów)

Zasada mnożenia Dla skończonych zbiorów X,Y zachodzi |X x Y| = |X| * |Y|.

Dowód. Pokazujemy, że |Zm x Zn| = m*n. Pokazujemy, ze funkcja f: Zm x Zn → Zmn, gdzie f(i,j)=i*n+j ε Zmn (gdy odpowiednie i,j) jest bijekcją.

Założenie: f(i,j) = f(i',j') czyli i*n+j = i'*n +j'. Założenie i<=i'. Wówczas (i' – i)n =j-j'.

Lewa strona: wielokrotność n, prawa leży w zbiorze {-n+1, …, n-1}, gdyż j,j' ε Zn.

0 jedyna wielokrotność w zbiorze tym, to i'-i=0 i j-j'=0, co dowodzi injektywności f.

Surjektywność. Niech y ε Zmn, i największa liczba taka, że in<y.

Wówczas y<(i+1)n, a zatem istnieje j ε {0, …, n-1} takie, że y=in+j=f(i,j).

Zalożenie, |X|=m i |Y|=n. Wówczas |X x Y| = |Zm x Zn|= m*n = |X|*|Y|.

Przykład. Turniej rycerzy z bractwa czerwonych (12 rycerzy) i niebieskich (15). Ile różnych indywidualnych pojedynków może być stoczonych, jeśli nie walczą z rycerzami z tego samego bractwa.C, N, pojedynek, to uporządkowana para (c,n), gdzie c ε C, n ε N.,|C x N| = |C| * |N| = 12 * 15 = 300

Zasada dodawania(a) Dla skończonych i rozłącznych zbiorów A i B mamy: |A υ B| = |A| + |B|.(b) Dla skończonych zbiorów mamy: |A υ B| = |A| + |B| - |A ∩ B|.

Dowód.(a) Niech liczności zbiorów |A|=m , |B|=n będą poświadczone bijekcjami f:Zm → A i g:Zn → B. Wtedy funkcja Zm+n → A υ B zadana przez : h(x) = f(x) dla x ε {0,1, … , m-1} h(x) = g(x-m) dla x ε {m, … , m+n+1} jest bijekcją.

h jest injekcją: niech x1 ε {0,1, … , m-1} oraz x2 ε {m, … , m+n+1} (x1 ≠ x2);

mamy, że h(x1) ≠ h(x2). h jest surjekcją: niech y ε A υ B. Niech y ε A. Wówczas z surjektywności f wiemy, że istnieje x ε Zm taki, że f(x)=y. Ale h(x)=f(x)=y.

(b) |S υ T| = |S| + |T\S|

|T| = |T\S| + |S ∩ T|

|S υ T| + |S ∩ T| = |S| + |T\S| + |S ∩ T| = |S| + |T|

Zasada włączania i wyłączania Dla zbiorów skończonych {A1, …, An} zachodzi|A1 υ … υ An| = ∑I ε {1, … , n} (-1)|I|+1 |∩i ε I Ai|= |A1| + … + |An| - |A1 ∩ A2| - |A1 ∩ A3| - … - |An-2 ∩ An| - |An-1 ∩ An|+ |A1 ∩ A2 ∩ A3| + …+ |An-2 ∩ An-1 ∩ An| - |A1 ∩ A2 ∩ A3 ∩ A4| - … - |An-3 ∩ An-2 ∩ An-1 ∩ An|+ …(-1) n+1 |A1 ∩ … ∩ An|

Zbiór potęgowy (czyli zbiór podzbiorów) zbioru X oznaczamy przez P(X).

Przykład. P(pusty_zbiór) = {pusty zbiór} i |P(pusty_zbiór)|= 1

P({pusty_zbiór})={ pusty_zbiór, { pusty_zbiór} i |P({pusty_zbiór})|=2

P({a,b}) = {pusty_zbiór, {a}, {b}, {a,b}}

P({a,b,c}) = {pusty_zbiór, {a}, {b}, {c}, {a,b}, {a,c},{b,c},{a,b,c}}

Ogólna sytuacja Niech pn oznacza liczbę podzbiorów zbioru n-elementowego.

Wówczas pn =2n. Uzasadnienie. Znamy liczbę pn i chcemy policzyć pn +1.

Niech zbiór Z ma n+1 elementów. Jeżeli a ε Z, to Z'=Z\{a}.

Podzbiory zbioru Z można podzielic na dwa elementy: (a) mające w sobie element a (b) nie mające w sobie element a W drugim przypadku są to podzbiory zbioru Z'. Jest więc ich dokładnie pn

Każdy zaś podzbiór pierwszego typu (czyli A zawarte w Z, takie, że a ε A) jest jednoznacznie wyznaczony przez swoje pozostałe elementy (tzn. elementy różne od a). A zatem każdy taki zbiór A (że a ε A zawartego w Z) jest postaci A' υ {a} dla pewnego A' zawartego w Z'. A zatem podzbiorów zbioru Z, w których jest element a, jest też tyle ile podzbiorów zbioru Z', tzn. pn.

Łacznie więc zbiór Z ma pn + pn podzbiorów czyli pn+1= 2* pn. Teraz już można stwierdzić, że to wraz z warunkiem pn=1 jest spełnione przez pn =2n.

Dla dowolnego skończonego zbioru X mamy |P(X)|= 2|X|.

Zliczanie funkcji Zbiór funkcji X → Y oznaczamy YX.

Uwaga Dla skończonych zbiorów X,Y mamy |YX| = |Y||X|.

Dowód. Niech X={x0, …, xm-1} oraz Y={y0, …, yn-1). Każda funkcja f:X → Y to krotka wartości dla kolejnych Xi:

(f(x0), …, f(xm-1)) ε Y x … x Y (m razy)

A więc zbiór funkcji z X w Y jest równoliczny z Ym.

Z zasady mnożenia otrzymujemy więc:

|Y x … x Y |(m razy) = |Y| x … x |Y| (m razy) = nm =|Y||X|.

Przykłady 1,2

Uwaga Liczba injekcji ze zbioru skończonego X w zbiór skończony Y wynosi

|Y| * (|Y|-1) * … * (|Y|-|X|+1) = |Y|! / (|Y|-|X|)!

Dowód. Niech X={x0, …, xm-1} oraz Y={y0, …, yn-1). Każdą injekcję f:X → Y można utożsamić z uporządkowanym wyborem m różnych elementów ze zbioru Y:

f(x0), …, f(xm-1) Pierwszy element wybieramy na n sposobów, drugi na n-1 (bo musi być różny od pierwszego), itd., m-ty na n-m+1 sposobów.

Liczba injekcji zatem wynosi: n*(n-1)* … * (n-m+1).

Przykład 3 Uwaga Liczba bijekcji ze zbioru skończonego X w zbiór skończony Y (gdzie |X|=|Y|) wynosi |X|! |Y| * (|Y|-1) * … * (|Y|-|X|+1) = |Y|! / (|Y|-|X|)!

Dowód.Każda injekcja jest bijekcją. Liczba injekcji=liczbie bijekcji czyli n*(n-1)* … * (n-n+1) = n!

Permutacja zbioru skończonego X to f: X → X będąca bijekcją.Zbiór permutacji zbioru Zn oznaczamy przez Sn (permutacje oznaczamy przez alfa, beta, …)

Przykład Dla dowolnych permutacji alfa, beta skończonego zbioru X a) alfa złożone z beta to permutacja X b) alfa-1 permutacja taka, że alfa złożone z alfa-1 = idX = alfa-1 zlożone z alfa..Zbiór n-elementowy ma dokladnie n! Permutacji (|Sn |=n!).

Przykład Cykl zbioru n-elementowego X to taka permutacja zbioru X, dla której

{x, alfa(x), alfa2(x), …, alfan-1(x)} = X przy dowolnym x ε X.

Przykład Rozkład permutacji na rozłączne cykle

Dowolną permutację alfa zbioru X można rozłożyć na rozłączne cykle w sposób następujący:

Dowód.

Zbiór X skończony → iteracja alfa(x), alfa2(x), … w pewnym kroku musi wrócić do elementu już rozważanego czyli

dla pewnych i <j będzie alfai(x) = alfaj(x)

Weźmy najmniejsze takie j. Gdyby i ≠ 0 to alfai-1(x) = alfaj-1(x) bo alfa permutacja, co sprzeczne z minimalnością j.

A zatem j=0.

i>0 (bo x wybrany jako element nie pokryty przez żaden cykl. → Istnieje element z w tym samym cyklu co y taki, że alfa(alfai-1(x))=y. Alfa to permutacja → alfai-1(x)=z → sprzeczne z tym, ze y to jedynym elementem z poprzedniego cyklu.

Zapisujemy: alfa = (x0, …)(x1, …) … (xk-1, …)

Różne sposoby wybierania k elementów z n-elementowego zbioru

Y ={y1, …, yn}.Nazywamy je schematami wyboru.

Dwa pytania ważne:

Czy istotna kolejność wylosowanych elementów?

Czy wylosowane elementy mogą się powtarzać?

TAK/TAK: Wariacje z powtórzeniami Każdy wybór ma postać ciągu długości k o elementach ze zbioru Y. Wariacji z powtórzeniami jest nk

TAK/NIE: Wariacje bez powtórzeńKażdy wybór ma postać ciągu długości k o elementach ze zbioru Y, ale każdy element występuje co najwyżej raz.Wariacji bez powtórzeń jest n*(n-1)* … * (n-k+1)=n!/(n-k)!

NIE/NIE: KombinacjeIle jest k-elementowych podzbiorów zbioru Y: (nk)=n!/k!*(n-k)!

NIE/TAK: Kombinacje z powtórzeniamiLiczba kombinacji z powtórzeniami :(n+k-1k)

Podziały zbiorów

Na ile sposobów można podzielić zbiór Y na r rozłącznych podzbiorów

A1, A2, … , Ar o mocach odpowiednio: t1, t2, …, tr, gdzie t1+ t2+ …+ tr =n? (nt1)(n-t1t2)(n-t1-tt2t3) … (n-t1-t2-...-t(r-1)tr) = n!/t1!t2!...tr!

Współczynniki dwumianowe – własności

(n0) = (nn) = 1

(nk) = 0 dla k>n

(n1) = n dla n>0

(nk) = n!/((n-k)!k!)

(nk)=(nn-k) dla n>=k>=0

(nk)=(n-1k-1) + (n-1k)

Trójkąt Pascala

(00)

(10)(11)

(20)(21)(22)

(30)(31)(32)(33)

(40)(41)(42)(43)(44)

(n0)(n1)(n2) . . . (nn-2)(nn-1)(nn)

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

Reguła sumowania po górnym indeksie

Niech n, k ε N

i=0n (ik) =(n+1k+1)

Reguła sumowania równoległego

Niech n, k ε N

i=0k (n+ii) =(n+k+1k)

Tożsamość Cauchy'ego

Niech m, n, k ε N

i=0k (mi)(nk-i) =(m+nk)

Twierdzenie o dwumianie

Niech x,y ε R i n ε N

(x+y)n=∑i=0n (ni) xiyn-i

np. (a+b)4 =a4+4a3b +6a2b2+4ab3+b4

Wniosek

(1+x)n=∑i=0n (ni) xi

(n0) + (n1) + … + (nn) = 2n

zliczanie kolejno podzbiorów 0, 1, 2, … -elementowych = liczba podzbiorów zbioru n elementowego

(n0) - (n1) + … + (-1)n(nn) = 0n

(liczba podzbiorów o parzystej liczbie elementów = liczbie podzbiorów o nieparzystej liczbie elementów)

Permutacje bez punków stałych Nieporządek na zbiorze X to permutacja alfa:X → X taka, że alfa(x) różne od x dla dowolnego x należącego do X (permutacja bez punktów stałych) Podsilnia liczby n (!n), to liczba nieporządków zbioru n-elementowego. !0=1

Przykład

Z4={0,1,2,3} ma 4!=24 permutacje, ale tylko 9 to nieporządki

(0,1,2,3) ---- (1,0,3,2) (1,2,3,0) (1,3,0,2)

(2,0,3,1) (2,3,0,1) (2,3,1,0)

(3,0,1,2) (3,2,0,1) (3,2,1,0)

OBSERWACJA !n=n! ∑ i=0n ((-1)i/i!)

Współczynniki multimianowe współczynniki dwumianowe (x+y)n

A jak z: (x1+ … +xr)n

podział zbioru n-elementowego na r części o odpowiednio k1,k2, ..kr elementach, gdzie k1+k2+..+kr=n.

Niech n – całkowite a r>=2

(nk1,k2,...,kr)

to liczba umieszczenia n obiektów w r pudełkach z odpowiednio k1 obiektami w pierwszym pudełku, k2 obiektami w drugim pudełku, itd

Mamy (nn,0,...,0) = 1 , (n1,1,...,1) = 1, (n0,k1,k2,...,kr) = (nk1,k2,...,kr), (nk1,k2,...,kr) =, (nsigma(k1),sigma(k2),...,sigma(kr)), dla dowolnej permutacji sigma zbioru {1,...,r}, (x1+ … +xr)n=∑k1+k2+...+kr=n (nk1,k2,...,kr) x1k1 … xrkr

Funkcje tworzące Nieskończony ciąg (a0,a1,a2,a3, … ) może być przedstawiony jako szereg potęgowy zmiennej xA(x) = a0+a1x+a2x2+a3x3 + … = ∑k>=0 akxk

A(x) nazywamy funkcją tworzącą ciągu (a0,a1,a2,a3, … ).

Funkcja tworząca jest to pojedyncza wielkość reprezentująca cały nieskończony szereg.Niech A(x) będzie dowolnym szeregiem potęgowym k>=0 akxk

Przyjmujemy następujące oznaczenie

[xn]A(x)=an

tzn. [xn]A(x) – współczynnik przy xn w A(x).

Jak traktować funkcje tworzące?

I SPOSÓB

Traktujemy A(x) jako szereg liczb rzeczywistych (zespolonych)

szereg A(x) jest zbieżny , jeśli

|a0| + |a1x| + |a2x2| + … + |anxn| <= M

zachodzi dla dowolnego n>=0.

Możemy więc

o wartościach A(x) = lim n → niesk.(a0 + a1x + a2x2 + … + anxn)

II SPOSÓB

(bardziej użyteczny w praktycznych obliczeniach i przekształceniach)

Traktujemy A(x) jako formę zapisu ciągu (a0,a1,a2,a3, … ) czyli jedynie jako ciąg symboli. Równości pomiędzy odpowiednimi wzorami służą rozwiązaniu problemów kombinatorycznych (tak więc traktujemy je jako równości dwu wyrażeń, a nie jako równości dwu funkcji rzeczywistych).

Niech: A(x) - funkcja tworzącą ciągu (a0,a1,a2,a3, … )

B(x) - funkcja tworzącą ciągu (b0,b1,b2,b3, … )

Wówczas:

(a0+a1x+a2x2+a3x3 + …)(b0+b1x+b2x2+b3x3 + …) = a0 b0 + (a0b1+a1b0)x + (a0b2+a1b1+a2b0)x2 + …

Współzynnik stojący przy xn w tym iloczynie jest równy a0bn + a1bn-1 + … + anb0 = ∑k=0n akbn-k

Dlatego jeśli chcemy przekształcić dowolną sumę postaci(*)cn = ∑k=0n akbn-k

i mamy funkcje tworzące A(x) i B(x) to otrzymamy cn =[xn]A(x)B(x).

Ciąg (cn) zdefiniowany wzorem (*) jest nazywany splotem ciągów (an) i (bn).

Dwa ciągi są „splecione” tworząc sumę iloczynów, dla których dolne indeksy sumują się do ustalonej wartości. Splot ciągów odpowiada mnożeniu ich funkcji tworzących.

Funkcje tworzące dają nam skuteczną metodę odkrywania i dowodzenia nowych równości. Są one bardzo użytecznym narzędziem przy wyznaczaniu wartości elementów ciągu. Jeżeli bowiem mamy funkcję tworzącą danego ciągu oraz w jakiś sposób będziemy w stanie poznać postać zwartą tej funkcji, to rozwijając tę postać zwartą w szereg Taylora, poznamy kolejne współczynniki tego rozwinięcia, które są kolejnymi wyrazami naszego ciągu.

Funkcje tworzące w zliczaniuWiemy już, że(1+x)m=∑n=0m (mn) xn

Twierdzenie1Dla liczby rzeczywistej y oraz liczby naturalnej n zachodzi (1+x)y=∑n=0niesk. (yn) xn

Dla liczby naturalnej m zachodzi 1/(1-x)m+1=∑n=0niesk. (m+nn) xn

Przykład 1 Policzmy sumę k=0n k2 = 1+4+9+...+n2

Zaczynamy od znalezienia zwartej postaci funkcji tworzącej

G(x)= n=0niesk. n2xn

Z Wniosku1 mamy: (W1) 1/(1-x) = ∑n=0niesk. (nn) xn==∑n=0niesk. xn

(W2) 1/(1-x)2 = ∑n=0niesk. (n+1n) xn = ∑n=0niesk. nxn +∑n=0niesk. xn

(W3) 1/(1-x)3 = ∑n=0niesk. (n+2n) xn = 1/2∑n=0niesk. n2xn +3/2∑n=0niesk. nxn +∑n=0niesk. xn

Środkowe po przekształceniu daje

(W4)n=0niesk. nxn = 1/(1-x)2 - 1/(1-x)

Z W2, W3, W4 dostajemy zwartą postać funkcji tworzącej, a mianowicie

G(x)=∑n=0niesk. n2xn = 2/(1-x)3 - 3/(1-x)2 + 1/(1-x)

Obserwacja

Dla funkcji tworzącej A(x) = a0+a1x+a2x2+a3x3 + … zachodziA(x)/(1-x) = a0+(a0+a1)x+(a0+a1+a2)x2 + …

Naszym zadaniem jest teraz policzenie funkcji tworzącej H(x) dla ciągu

1, 1+4, 1+4+9, … , (1+4+9+...+n2), …

ciągu sum początkowych wyrazów ciągu 1, 4, 9, … , n2, …

A zatem

H(x) = G(x)/(1-x) = 2/(1-x)4 - 3/(1-x)3 + 1/(1-x)2 = 2∑n=0niesk. (n+3n) xn - 3∑n=0niesk. (n+2n) xn + ∑n=0niesk. (n+1n) xn = ∑n=0niesk. (1/3*n3+1/2*n2+1/6*n) xn

Co oznacza, że

k=0n k2 = [xn]H(x) = (2n3+3n2+n)/6

Przykład2

Wszystkie możliwe sposoby podziału 50 centów

(1-c, 5-c, 10-c, 25-c, 50-c)

Nieskończona suma wszystkich możliwości rozmienienia dowolnej kwoty za pomocą (1-c, 5-c, 10-c, 25-c, 50-c)

A1 = [0] + (1) + (1)(1) +(1)(1)(1) + ...

A5 = [0] + (5) + (5)(5) +(5)(5)(5) + ...

A10 = [0] + (10) + (10)(10) +(10)(10)(10) + …

A25 = [0] + (25) + (25)(25) +(25)(25)(25) + …

A50 = [0] + (50) + (50)(50) +(50)(50)(50) + ...

B=A1 x A5 = ([0] + (1) + (1)(1) +(1)(1)(1) + …)

x ([0] + (5) + (5)(5) +(5)(5)(5) + …)= [0] +(1) + (5) + (1)(1) + (1)(5) + (5)(5) + (1)(1)(1) + …

C = B x ([0] + (10) + (10)(10) +(10)(10)(10) + …)

D = C x ([0] + (25) + (25)(25) +(25)(25)(25) + … )

E = D x ([0] + (50) + (50)(50) +(50)(50)(50) + … )

Grupujemy składniki sumy E w podsumy o tych samych wartościach

E = ((1)) + ((1)(1)) + ((1)(1)(1)) + ((1)(1)(1)(1))+((1)(1)(1)(1)(1) +(5))+((1)(1)(1)(1)(1)(1) +(5)(1)) + ...

Zastępujemy teraz:(1) przez x, (5) przez x5, (10) przez x10, (25) przez x25, (50) przez x50

Otrzymujemy nieskończony szereg zmiennej x:

E(x) = (1 + x + x2 + x3 + …) * (1 + x5 + x10 + x15 + …) * (1 + x10 + x20 + x30 + …) * (1 + x25 + x50 + x75 + …) *(1 + x50 + x100 + x150 + …) = 1 + x + x2 + x3 + x4 + 2x5 + 2x6 + 2x7 + 2x8 + 2x9 + 4x10 + ...

Liczba różnych możliwych sposobów rozmienienia n centów jest równa współczynnikowi stojącemu przy jednomianie xn.

Oznaczmy występujące w E(x) funkcje tworzące

Ak(x) = 1 + xk + x2k + x3k + …

dla k = 1, 5, 10, 25, 50.

Mamy, że (tak jak W1)

1 + xk + x2k + x3k + … = 1/(1-xk)

Czyli mamy

A(x) = A1(x) = 1/(1-x)

B(x) = A(x) * A5(x) = A(x)/(1-x5)

C(x) = B(x) * A10(x) = B(x)/(1-x10)

D(x) = C(x) * A25(x) = C(x)/(1-x25)

E(x) = D(x) * A50(x) = D(x)/(1-x50)

Stąd

A(x) = 1 + x*A(x)

B(x) = A(x) + x5*B(x)

C(x) = B(x) + x10*C(x)

D(x) = C(x) + x25*D(x)

E(x) = D(x) + x50*E(x)

oraz zależności między współczynnikami

an=1, bn=an+bn-5, cn=bn+cn-10, dn=cn+dn-25, en= dn +en-50

n 0 5 10 15 20 25 30 35 40 45 50
an 1 1 1 1 1 1 1 1 1 1 1
bn 1 2 3 4 5 6 7 8 9 10 11
cn 1 2 4 6 9 12 16 10 25 30 36
dn 1 13 49
en 1 50

Równania rekurencyjne i funkcje tworzące

Schemat postępowania przy przeliczaniu obiektów kombinatorycznnych:

Permutacje

Wzór rekurencyjny: a1=1, an=n*an-1

Początkowe wyrazy ciągu an: a2=2*a1=2*1=2!, a3=3*a2=3*2!=3!

Ogólny wzór: an=n!

Indukcja:

Wykładnicza funkcja tworząca ciągu an:

f(x)=n=0niesk. (an/n!)xn = 1 + ∑n=1niesk. (n*an-1/n!)xn = 1 + x∑n=1niesk. (an-1/(n-1)!)xn-1 = 1+x*f(x)

Stąd f(x) = 1/(1-x) = n=0niesk. xn czyli an=n!

Ciąg Fibonacci'ego Rozważmy ciąg (f0, f1, f2, f3, …) zdefiniowany następująco

f0 = 0

f1 = 1

fn = fn-1 + fn-2 dla n >=2

Jak można otrzymać postać zwartą jego wyrazów uzywając funkcji tworzących.

Weź pod uwagę zależności rekurencyjne aby otrzymać stosowne równanie dla funkcji tworzącej F(x) dla ciagu.

F(x) = n=0niesk fnxn = x + ∑n=2niesk (fn-1+fn-2)xn = x + xF(x) +x2F(x)

Po przekształceniu mamy

F(x) = x/(1-x-x2) = x/(1-z0x)(1-z1x) = (1/sqrt(5))/((1/(1-z0x)) – (1/(1-z1x))

gdzie z0 = (1 + sqrt(5))/2 z1 = (1 – sqrt(5))/2

Chcemy wykorzystać funkcje F(x) do przedstawienia współczynników fn w postaci zwartej.

Obserwacja

Dla funkcji tworzącej

A(x) = a0+a1x+a2x2+a3x3 + …

zachodzi

A(x)/(1-x) = a0+(a0+a1)x+(a0+a1+a2)x2 + …

F(x) = (1/sqrt(5))(n=0niesk (z0)nxn - ∑n=0niesk (z1)nxn) = (1/sqrt(5))n=0niesk ((z0)n - (z1)n)xn

Postać zwarta to

fn = (1/sqrt(5)) ((z0)n - (z1)n)

Funkcje wymierne

ObserwacjaNiech A(x) oraz B(x) będą wielomianami degA(x)>=degB(x). Wówczas istnieją wielomiany Q(x) oraz R(x) takie, że

A(x) = Q(x)B(x) + R(x)

gdzie degR(x) < degA(x) = degQ(x) +degB(x).

Przykład1

WniosekNiech P(x) oraz Q(x) będą wielomianami degP(x)>=degQ(x)

Wówczas funkcję wymierną R(x) = P(x)/Q(x) można przedstawić w postaci

R(x) = P(x)/Q(x) = A(x) + B(x)/Q(x)

dla pewnych wielomianów A(x) i B(x) takich, że degB(x) < degQ(x).

TwierdzenieNiech P(x) oraz Q(x) będą wielomianami takimi, że

Wówczas istnieją wielomiany A(x) oraz B(x) takie, że degA(x) < degS(x) i

degB(x) < degT(x) oraz P(x)/Q(x) = A(x)/S(x) + B(x)/T(x).

(twierdzenie to pozwala na rozbijanie skomplikowanych funkcji wymiernych na sumę prostszych)

Wniosek (metoda rozwijania funkcji wymiernej w szereg)Rozważmy funkcję wymierną w postaci R(x) = P(x)/Q(x)gdzie degP(x) < deg Q(x) i q0 różne od 0. Załózmy ponadto, że wielomian Q(x) rozkłada się na następujący iloczyn czynników liniowych Q(x) = q0(1- z1x)m1*(1- z2x)m2* … * (1-zk)mk

Z wcześniej podanego twierdzenia mamy, że R(x) = P(x)/Q(x) = P1(x)/(1- z1x)m1 + P2(x)/(1- z2x)m2 + … + Pk(x)/(1- zkx)mk.

gdzie deg Pi(x) < mi. Korzystając z obserwacji (powyżej podanej) można otrzymać

R(x) = ∑ i=0k (gi,1/(1-zix) + gi,2/(1-zix)2 + … + gi,mi/(1-zix)mi)

Wykonując pewne operacje (prowadzące od f.tw do f.tw) i porównując współczynniki otrzymuje się pewne równanie, rozwiazanie którego daje nam poszukiwane współczynniki gi,j. Z drugiej strony można pokazac, że

1/(1-zx)m+1 = n=1niesk (m+n m)znxn

co w konsekwencji daje

[xn]R(x) = ∑ i=1k (gi,1 + gi,2 (n+1 1)+ … + gi,mi (mi+n-1 mi-1))zin

1) Dzielenie liczb z resztąDla każdej liczby całkowitej a istnieje jednoznacznie wyznaczony iloraz q i reszta r spełniajace warunek a=b*q +r

gdzie 0<=r<b .Resztę r z dzielenia a przez b zapisujemy a mod b.

Przykład.47 mod 9 = 2,32 mod 43 = 32 , -3 mod 7 = 4,-22 mod -2 = 0

Struktura danych -jest to system relacyjny<U, {ri}iε I>

gdzie U- uniwersum systemu {ri}iε I - zbiór relacji (operacji) na strukturze danych

Formalna definicja struktury danych składa się z : sygnatury systemu relacyjnego ,sygnatury wszystkich operacji struktury, specyfikacji (opisu) operacji struktury

LISTA To skończony ciąg elementów

q = [x1,x2,...,xn]

gdzie

x1 – lewy koniec listy

x2 – prawy koniec listy

|q|=n - długość listy

Szczególny przypadek: lista pusta: q=[]

Podstawowe abstrakcyjne operacje na listach:

(q = [x1,x2,...,xn] , r = [y1,y2,...,ym], 0 <= i <= j <= n )

Przykład:Wstawianie elementu x za element xi na liście q można zdefiniować następująco q[1..i-1] & [x] & q[i+1..|q|]

Podstawowe operacje na końcach listy

STOS Jest to struktura danych, do której dostęp jest możliwy tylko od strony tzw. wierzchołka czyli pierwszego wolnego miejsca na nim.Zasadę działania stosu określa się w skrócie jako LIFO (Last In First Out)

Podstawowe operacje na stosie (s = (e1,e2,...,en))

push(s,e) = (e,e1,e2,...,en)– położenie elementu na stos

pop(s) = (e2,...,en)– zdjęcie elementu ze stosu

top(s) = e1 – pobranie elementu ze stosu

empty(s) wtw n=0 – służy do sprawdzania czy stos jest pusty

Własności stosu top(push(s,e)) = e pop(push(s,e)) = s not empty(s) → push(pop(s), top(s)) = s while not empty(s) do s:=pop(s) – ma własność stopu

Kolejki Jest to struktura danych, której zasadę działania określa się w skrócie jako FIFO (First In First Out)

Podstawowe operacje na kolejkach

(q = (e1,e2,...,en))

Czy prawda:

not empty(q) → in(e,out(q))=out(in(e,q)) ? (+)

first(q)=e → out(in(e,q))=q ?

(not empty(q) and first(q)=e → in(e,out(q))=q ?

Zbiory Kolekcja różnych elementów, gdzie |S| liczba elementów zbioru.

Podstawowe operacje

Operacja Efekt działania operacji Nazwa operacji
insert(x,S) S:=S υ {x} Wstawienie elementu x do zbioru S
delete(x,S) S:=S \ {x} Usunięcie elementu x ze zbioru
member(x,S)

True gdy x ε S

False gdy not x ε S

Sprawdzenie czy x jest elementem S
min(S) a - najmniejszy element w zbiorze S Zwraca najmniejszy element w zbiorze S ze względu na pewien ustalony porządek
deletemin(S) S:=S \ {min(S)} Usuniecie najmniejszego elementu w zbiorze S
union(S1,S2) S:=S1 υ S2 Suma zbiorów S1 i S2, gdy są rozłączne

Grafy Oznaczenia:

Operacje na grafach:

(G = < V, E >, G1 = < V1, E1 >, G2 = < V2, E2 > )

Marszruta – skończony ciąg krawędzi z wierzchołka u do v o długości=liczbie krawędzi

Droga (ścieżka)– marszruta bez powtarzających się krawędzi

Cykl – marszruta zamknięta (jedynym powtarzającym się wierzchołkiem jest jej początek=koniec

Graf spójny – graf, w którym między dwoma dowolnymi wierzchołkami istnieje droga

Graf skierowany nie ma pętli

Wierzchołek izolowany – nie posiada sąsiadów

Drzewo – graf spójny nie zawierający cykli

Drzewo rozpinające grafu G – podgraf zawierający wszystkie jego wierzchołki i będący drzewem

Cykl Eulera to zamknięta marszruta przechodząca przez każdą krawędź dokładnie raz

Graf eulerowski to graf posiadający cykl Eulera

Graf jednokreślny to graf posiadający marszrutę przechodzącą dokładnie raz przez każdą krawędź

Cykl Hamiltona to cykl przechodzący przez wszystkie wierzchołki grafu (maszruta zamknięta odwiedzająca każdy wierzchołek dokładnie raz)

Graf hamiltonowski to graf posiadający cykl Hamiltona

Ścieżka Hamiltona to ścieżka przechodząca przez wszystkie wierzchołki, kazdy odwiedzając jedynie jeden raz

TW.Jeżeli G=<V,E> graf to ∑v ε V deg v=2|E|, gdzie deg v to stopień wierzchołka (liczba krawędzi incydentnych)

TW.Dla grafu T=<V,E> następujące warunki są równoważne T jest drzewem, T nie zawiera cykli i ma |V|-1 krawędzi , T jest spójny i ma |V|-1 krawędzi, T jest spójny a usuniecie dowolnej krawędzi tworzy dokładnie dwie składowe

dowolne dwa wierzchołki T są połączone dokładnie jedną drogą, T nie zawiera cykli ale dodanie dowolnej nowej krawędzi tworzy dokładnie jeden cykl

TW.Graf G jest eulerowski wtw gdy jest spójny i stopień każdego wierzchołka jest parzysty

TW.Graf G jest jednokreślny wtw gdy jest spójny i jego wszystkie , poza co najwyżej dwoma wierzchołkami, mają parzysty stopień

KOLOROWANIE GRAFÓW

Przypisanie wierzchołkom grafu kolorów w taki sposób, by każde dwa sąsiednie wierzchołki miały różne kolory.

Kolorowanie grafu G=<V,E> to funkcja c: V → N taka, że c(v)=/=c(w) gdy (v,w) jest krawędzią.

Kolorowanie grafu na k kolorów wyznacza rozbicie zbioru na sumę rozłączną V = V0 υ V1 υ … υ Vk-1 jednobarwnych zbiorów Vi przy czym każdy graf indukowany postaci G|Vi jest antykliką (graf bez krawędzi).

Odwrotnie: rozbicie V = V0 υ V1 υ … υ Vk-1 pozwala na pokolorowanie grafu G na k kolorów

Graf k-kolorowany (k-barwny) to graf dający się pokolorować k barwami.

Liczba chromatyczna grafu τ(G) to najmniejsza liczba barw, którymi można pokolorować graf G.

Optymalne kolorowanie grafu G to kolorowane używające dokładnie τ(G) kolorów.

TW.Graf, którego wszystkie wierzchołki mają stopień nie większy niż k jest (k+1)-kolorowalny(indukcja ze względu na liczbę wierzchołków w grafie)


Wyszukiwarka

Podobne podstrony:
matematyka dyskretna sciaga, Informatyka - uczelnia, WWSI i WAT, wwsi
modzel dyskretna id 780277 Nieznany
sciaga md, wisisz, wydzial informatyki, studia zaoczne inzynierskie, matematyka dyskretna
modzel, Pytania egzaminacyjne z Matematyki Dyskretnej z 2006 r., Pytania egzaminacyjne z Matematyki
dyskretna sciaga
Matematyka dyskretna ściąga na egzamin
matematyka dyskretna ściąga
md egzam2 sciaga, semestr 2, matematyka dyskretna II
modzel, pyt i odp, Pytania egzaminacyjne z Matematyki dyskretnej
Matematyka Dyskretna ściąga
5 Algorytmy wyznaczania dyskretnej transformaty Fouriera (CPS)
1 sciaga ppt
01Zmienne losowe dyskretneid 3335 ppt
w 5 ciagle a dyskretne
metro sciaga id 296943 Nieznany
dyskretna lista5
ŚCIĄGA HYDROLOGIA
Dyskretne przeksztaĹ'cenie Fouriera

więcej podobnych podstron