Matematyka dyskretna 1/Wykład 3: Zliczanie zbiorów i funkcji: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian
 
Linia 45: Linia 45:
** jest zwartym zapisem, że <math>f</math> jest funkcją postaci <math>f : \mathbb{N} \longrightarrow \mathbb{N}</math> <br> daną przepisem <math>f(n) = 2n</math>
** jest zwartym zapisem, że <math>f</math> jest funkcją postaci <math>f : \mathbb{N} \longrightarrow \mathbb{N}</math> <br> daną przepisem <math>f(n) = 2n</math>
** jako przeciwdziedzinę określiliśmy zbiór liczb naturalnych, <br> ale w istocie wartościami tej funkcji są tylko liczby parzyste
** jako przeciwdziedzinę określiliśmy zbiór liczb naturalnych, <br> ale w istocie wartościami tej funkcji są tylko liczby parzyste
* <math>g : \mathbb{N} \longrightarrow \mathbb{R}, \ g(n) = n/2</math>,  
* <math>g : \mathbb{N} \longrightarrow \mathbb{R}, \ g(n) = n/2</math>,  
** określenie <math>g : \mathbb{N} \longrightarrow \mathbb{N}</math> nie byłoby tu prawidłowe, gdyż wartość <math>n/2</math> nie zawsze jest liczbą naturalną
** określenie <math>g : \mathbb{N} \longrightarrow \mathbb{N}</math> nie byłoby tu prawidłowe, gdyż wartość <math>n/2</math> nie zawsze jest liczbą naturalną
* <math>h : \mathbb{N} \longrightarrow {\left\{ {13} \right\}\ }, \  h(n) = 13</math>,  
* <math>h : \mathbb{N} \longrightarrow {\left\{ {13} \right\}\ }, \  h(n) = 13</math>,  
** to też jest poprawnie określona funkcja, mimo że niezbyt frapująca (tzw. funkcja stała)
** to też jest poprawnie określona funkcja, mimo że niezbyt frapująca (tzw. funkcja stała)
* <math>f : \mathbb{N} \longrightarrow \mathbb{N}, \ f(n) = (1 + 3 + 5 + \ldots + (2n+1))^n</math>.
* <math>f : \mathbb{N} \longrightarrow \mathbb{N}, \ f(n) = (1 + 3 + 5 + \ldots + (2n+1))^n</math>.
** takie określenie też jest poprawne, choć nie od razu widać, ile to jest
** takie określenie też jest poprawne, choć nie od razu widać, ile to jest
* <math>g : \mathbb{R} \ni x \mapsto \sin\frac{x}{\pi}\in \mathbb{R}</math> jest całkiem poprawną funkcją.
* <math>g : \mathbb{R} \ni x \mapsto \sin\frac{x}{\pi}\in \mathbb{R}</math> jest całkiem poprawną funkcją.
Linia 62: Linia 62:




<center><math>x \mapsto a_nx^n + a_{n-1}x^{n-1} + \ldots + a_2x^2 + a_1 x + a_0
<center><math>x \mapsto a_nx^n + a_{n-1}x^{n-1} + \ldots + a_2x^2 + a_1 x + a_0</math></center>
</math></center>





Aktualna wersja na dzień 22:22, 15 wrz 2023

Funkcje

Ten fragment wykładu przypomina poznany już wcześniej materiał. Służy jedynie ustaleniu terminologii i notacji.

Funkcja o dziedzinie X i przeciwdziedzinie Y to dowolna relacja fX×Y taka, że:

  • xX yY  x,yf
  • xX y1,y2Y  (x,y1fx,y2f)y1=y2

Pierwszy warunek mówi, że każdy element dziedziny ma jakąś wartość przypisaną funkcją f. Drugi, że taka wartość jest co najwyżej jedna (dowolne dwie są bowiem równe). W skrócie oba warunki możemy zapisać łącznie jako


xX !yY  x,yf,


gdzie kwantyfikator ! oznacza istnieje dokładnie jeden.

  • Ważne jest
    • wykorzystanie wszystkich elementów dziedziny: każdemu elementowi dziedziny ...
    • i jednoznaczność: jest przyporządkowany dokładnie jeden element przeciwdziedziny,
  • nie wyklucza to sytuacji, gdy np. dwóm elementom dziedziny przyporządkowany jest ten sam element przeciwdziedziny,
  • nie każdy element przeciwdziedziny musi być wykorzystany, tzn. mogą istnieć takie elementy przeciwdziedziny, które nie są przyporządkowane żadnemu elementowi dziedziny,
  • dziedzina i przeciwdziedzina mogą być tym samym zbiorem.

Notacja:

  • Piszemy f:XY lub XfY na oznaczenie funkcji o nazwie f, której dziedziną jest zbiór X, a przeciwdziedziną zbiór Y.
    • elementy dziedziny nazywamy argumentami funkcji
    • elementy przeciwdziedziny im przyporządkowane nazywamy wartościami funkcji.
  • Piszemy f(x)=y lub f:xy na oznaczenie tego, że funkcja f elementowi x przyporządkowuje element y
    • mówimy wtedy, że y jest wartością funkcji f na argumencie x.
  • Często podaje się przepis na funkcję, wykorzystując
    • operacje arytmetyczne: f(x)=3x+7
    • lub inne powszechnie znane funkcje g(x)=2sin(x)cos(x).
  • W powyższych przykładach dziedziny i przeciwdziedziny można się domyślić (zapewne liczby rzeczywiste), ale dla ścisłości powinno się je podać, np. f:.

Przykłady funkcji

Najczęściej będziemy się zajmowali funkcjami, które działają na liczbach (dziedziną i przeciwdziedziną będą zbiory liczbowe, np. ,), ale można mówić o funkcjach na różnych zbiorach.

  • f:n2n,
    • jest zwartym zapisem, że f jest funkcją postaci f:
      daną przepisem f(n)=2n
    • jako przeciwdziedzinę określiliśmy zbiór liczb naturalnych,
      ale w istocie wartościami tej funkcji są tylko liczby parzyste
  • g:, g(n)=n/2,
    • określenie g: nie byłoby tu prawidłowe, gdyż wartość n/2 nie zawsze jest liczbą naturalną
  • h:{13} , h(n)=13,
    • to też jest poprawnie określona funkcja, mimo że niezbyt frapująca (tzw. funkcja stała)
  • f:, f(n)=(1+3+5++(2n+1))n.
    • takie określenie też jest poprawne, choć nie od razu widać, ile to jest
  • g:xsinxπ jest całkiem poprawną funkcją.
  • h:xsinπx,
    • to określenie (mimo, że podobne do poprzedniego) jest błędne:
      nie da się policzyć wartości h(0);
      należałoby więc napisać np. h:{0} 
  • {0,1} *ww1{0,1} *,
    • to funkcja określona na słowach nad alfabetem dwuelementowym {0,1} 
    • każdemu słowu przypisuje to słowo rozszerzone na końcu o symbol 1
  • d:{0,1} *, d(w)= długość słowa w

Wielomian to funkcja:


xanxn+an1xn1++a2x2+a1x+a0


gdzie

  • liczby an,an1,,a1,a0 zwane są współczynnikami wielomianu
    • mówimy więc o wielomianach o współczynnikach
      • naturalnych - jeśli an,an1,,a1,a0
      • całkowitych - jeśli an,an1,,a1,a0
      • wymiernych - jeśli an,an1,,a1,a0
      • rzeczywistych - jeśli an,an1,,a1,a0
    • liczba n zwana jest stopniem wielomianu, ale tylko o ile an0.

Surjekcje, injekcje i bijekcje

<div.thumbcaption>Przykład surjekcji

Surjekcja to funkcja f:XY spełniająca warunek


yY xX  f(x)=y


  • Intuicyjnie, funkcja jest surjekcją, jeśli jej cała przeciwdziedzina jest wykorzystana, tzn. każdy jej element jest wartością funkcji dla jakiegoś elementu dziedziny,
  • surjekcje często są nazywane funkcjami "na",
  • piszemy też wtedy f:XY.

Przykład

Funkcja xx3 jest surjekcją.
Funkcja xx3 nie jest surjekcją.
Funkcja x2x nie jest surjekcją.
Funkcja x2x jest surjekcją.
Funkcja xx jest surjekcją.
Funkcja xx jest surjekcją.
Funkcja xx nie jest suriekcją.
Funkcja xsinx nie jest surjekcją.
Funkcja {0,1} *ww1{0,1} * nie jest suriekcją.
Funkcja {0,1} *wd(w) jest suriekcją.

Przykład injekcji

Injekcja to funkcja f:XY spełniająca warunek:


x1,x2X  x1x2f(x1)f(x2)


  • Intuicyjnie, funkcja jest injekcją, jeśli różnym elementom dziedziny funkcja przyporządkowuje różne elementy przeciwdziedziny,
  • injekcje często są nazywane funkcjami różnowartościowymi,
  • piszemy też wtedy f:XY.

Przykład

Funkcja xx3 jest injekcją.
Funkcja xx2 nie jest injekcją.
Funkcja xx jest injekcją.
Funkcja xx nie jest injekcją.
Funkcja x2x jest injekcją.
Funkcja x2x jest injekcją.
Funkcja xsinx nie jest injekcją.
Funkcja {0,1} *ww1{0,1} * jest injekcją.
Funkcja {0,1} *wd(w) nie jest injekcją.

Przykład bijekcji

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

Przykład

Funkcja xx3 jest bijekcją.
Funkcja xx3 nie jest bijekcją.
Funkcja x2x nie jest bijekcją.
Funkcja x2x jest bijekcją.
Funkcja xx jest bijekcją.
Funkcja xx nie jest bijekcją.
Funkcja xx nie jest bijekcją.
Funkcja {0,1} *ww1{0,1} * nie jest bijekcją.
Funkcja {0,1} *wd(w) nie jest bijekcją.

Funkcje odwrotne

Traktując funkcję f:XY jako relację fX×Y (zbiór par), możemy rozważać relację f1 odwrotną do f.

Kiedy ta relacja jest funkcją?

  • ponieważ f1 ma spełniać warunek, że każdy element dziedziny f1 (tzn. zbioru Y) ma przypisaną jakąś wartość, oznacza to, że sama funkcja f wyczerpuje wszystkie elementy przeciwdziedziny, a zatem, że f jest surjekcją,
  • nadto f1 ma przypisywać dokładnie jeden taki element, czyli że każdy element z Y jest przypisany poprzez f jednemu elementowi z X, a zatem f musi być injekcją.

A zatem: funkcja posiada funkcję odwrotną, wtedy i tylko wtedy, gdy jest bijekcją.

  • Nieformalnie tworzenie funkcji odwrotnej polega na odwracaniu strzałek.
  • Gdyby f nie była surjekcją, to przy próbie odwrócenia strzałek niektóre elementy zbioru Y nie miałyby przyporządkowanego żadnego elementu z X.
  • Gdyby zaś f nie była injekcją, to przy próbie odwrócenia strzałek niektóre strzałki byłyby "rozdwojone".

Przykład

  • Funkcja f:x2x jest bijekcją, a zatem posiada funkcję odwrotną. Tę funkcję odwrotną można wyliczyć: skoro y=f(x)=2x, to f1(y)=x=y/2. Zatem f1:xx/2.
  • Funkcja xx nie jest injekcją. Nie posiada więc funkcji odwrotnej.
  • Funkcja x2x nie jest surjekcją. Nie posiada więc funkcji odwrotnej. Ale rozważając tę funkcję z przeciwdziedziną będącą zbiorem liczb parzystych, tzn. x2x staje się ona bijekcją i posiada funkcję odwrotną xx/2.
  • Funkcja xx2 nie jest ani injekcją ani surjekcją. Nie posiada więc funkcji odwrotnej. Surjektywność można by "uratować", rozważając
f:xx2[0,+).


Wciąż jednak brakowałoby injektywności. Ograniczając jednak, tę funkcję do liczb nieujemnych, tzn. traktując ją jako:


f|[0,+):[0,+)xx2[0,+),


staje się już bijekcją, więc posiada funkcję odwrotną, którą jest


[0,+)xx[0,+).


Składanie funkcji

Złożenie funkcji f:XY i funkcji g:YZ to funkcja


gf:XZ


określona dla wszystkich argumentów xX jako (gf)(x)=g(f(x)).

  • Nieformalnie - najpierw obliczamy wartość funkcji f dla elementu x,
    a następnie obliczamy wartość funkcji g dla wyniku tego obliczenia; czyli "idziemy dalej wzdłuż następnej strzałki"
XYZ
  • Piszemy gf (a nie fg) na oznaczenie złożenia, w którym najpierw obliczana jest wartość funkcji f, a potem funkcji g.
  • W praktyce, przy złożeniu gf, dziedzina funkcji g nie musi być tym samym zbiorem, co przeciwdziedzina funkcji f - wystarczy, by była większa.

Przykład

  • Niech f:nn+2 i g:n3n. Wówczas dla gf: mamy (gf)(n)=g(f(n))=g(n+2)=3(n+2)=3n+6 a dla fg: mamy (fg)(n)=f(g(n))=f(3n)=3n+2.

Morał: złożenia fg i gf to (na ogół) różne funkcje.

  • Niech f:xsin3x i g:x(x+π)2. Wówczas złożenie fg: dane jest wzorem
(fg)(x)=f(g(x))=f((x+π)2)=sin(3(x+π)2)


Morał: Nie zawsze da się łatwo wyliczyć przepis na funkcję złożoną.

  • Gdy f:XY jest bijekcją, to istnieje funkcja odwrotna f1:YX. Jeśli złożymy f1f, to uzyskamy funkcję XX, która "nic nie robi":
(f1f)(x)=f1(f(x))=x


Taka funkcja zwana jest identycznością na zbiorze X i oznaczana idX. Podobnie - składając ff1:YY, otrzymamy identyczność na zbiorze Y.

Widzieliśmy, że nie zawsze fg=gf.

Obserwacja 3.1

Dla funkcji XhYgZfW zachodzi f(gh)=(fg)h.

Obserwacja 3.2

Nadto dla XfYgZ mamy:

  • Jeśli f,g są surjekcjami, to gf jest surjekcją.
  • Jeśli f,g są injekcjami, to gf jest injekcją.
  • Jeśli f,g są bijekcjami, to gf jest bijekcją.
  • Pierwsza i trzecia z powyższych własności nie zachodzą, jeśli dziedzina funkcji g jest większa niż przeciwdziedzina funkcji f.

Przykład

Zbadaj czy dla funkcji XfYgZ zachodzi:

  • jeśli gf jest surjekcją, to f jest surjekcją
  • jeśli gf jest surjekcją, to g jest surjekcją
  • jeśli gf jest injekcją, to f jest injekcją
  • jeśli gf jest injekcją, to g jest injekcją

Funkcje wielu zmiennych

  • Funkcja dwóch zmiennych to funkcja, której dziedziną jest zbiór par (zamiast pojedynczych elementów).
  • Piszemy np. f:X×YZ.
  • Zatem funkcja taka każdej parze (x,y)X×Y przyporządkowuje dokładnie jeden element f(x,y)Z.
  • Podobnie można zdefiniować funkcje trzech i więcej zmiennych.

Przykład

Przykładem funkcji dwóch zmiennych są działania arytmetyczne:

  • ×(x,y)x+y
  • ×(x,y)xy
  • ×(x,y)xy
  • ×{0} (x,y)xy
  • ×(x,y)xy

a także konkatenacja (sklejenie) słów

  • X*×X*(v,w)vwX*, gdzie vw oznacza słowo (krotkę) powstałe z doklejenia słowa w na końcu słowa v.

Zliczanie zbiorów

Liczenie samochodów na parkingu

Gdy chcemy policzyć liczbę samochodów na parkingu zazwyczaj wskazujemy na kolejne samochody odliczając: jeden, dwa, trzy, itd., aż do momentu gdy każdy samochód zostanie wskazany. Wtedy ostatnia liczba, którą wypowiedzieliśmy jest uważana za liczbę samochodów na parkingu.

Aby wprowadzić matematyczny model procedury zliczania definiujemy początkowe odcinki liczb naturalnych:


0=,1={0} ,2={0,1} ,k={0,,k1} .


Załóżmy, że na parkingu stoi n samochodów. Zliczając je wybieramy elementy n (zazwyczaj kolejne liczby) i przypisujemy je do samochodów na parkingu. Uwaga: wybierając liczby z n zaczynamy od 0 i kończymy na n1 (na ogół nie-informatycy zliczają od 1 do n). Określamy zatem w trakcie tego zliczania bijekcję f:nS, gdzie S jest zbiorem samochodów na parkingu. W istocie jest to bijekcja, bo dwa różne samochody mają różne numery (injektywność) i każdy samochód jest policzony (surjektywność).

Obserwacja 3.3

Gdy m<n, to nie istnieje injekcja z n w m.

SW 2.5.swf

Dowód

Niech S będzie zbiorem liczb naturalnych n takich, że istnieje injekcja postaci f:mn, przy pewnym m<n. Oczywiście 0S, bo nie istnieje liczba naturalna m taka, że 0m<0. Także 1S, bo nie istnieje funkcja z niepustego zbioru 1 w pusty 0. Dla dowodu niewprost załóżmy, że S jest niepusty. Wtedy, z Zasady Minimum, S ma element najmniejszy, powiedzmy math>n_0>1</math>. Istnieje zatem m<n0 i injekcja f:n0m. Analogicznie jak wcześniej m0 oraz m1, bo inaczej wszystkie elementy Nn0 musiałyby mieć tę samą wartość, co stoi w sprzeczności z injektywnością f. Zatem m1 jest dodatnią liczbą naturalną.

Jeśli m1f({0,,n02} ), to restrykcja f|n01 jest injekcją z n01 w m1, czyli n01S co stoi w sprzeczności z minimalnością n0 w S.

Jeśli m1f({0,,n02} ), to niech a i b będą takimi liczbami, że f(a)=m1 i f(n01)=b.

Wtedy funkcja g: Nn01m1 zadana przez


g(x)={f(x),dlaxab,dlax=a


jest injekcją, bo dla x1,x2n01{a}  zachodzi g(x1)=g(x2)x1=x2 i dodatkowo bg(n0{a} )=f(n0{a} ). Zatem znów n01S, co stoi w sprzeczności z minimalnością n0 w S.

Wniosek 3.4

Jeśli istnieje bijekcja ze zbioru m na n, to m=n.

Zbiór skończony to zbiór bijektywny z pewnym zbiorem postaci n.

Zbiór nieskończony to zbiór, który nie jest skończony.

Jeśli X jest zbiorem skończonym, to Wniosek 3.4 gwarantuje nam, że X jest bijektywny z dokładnie jednym zbiorem postaci n. Rozważając skończony zbiór n-elementowy X, często używamy notacji X={x0,x1,,xn1}  ukrywającej w sobie bijekcję postaci nX.

Liczba elementów skończonego zbioru X, to jedyna liczba naturalna n taka, że istnieje bijekcja z n w X. Liczbę te oznaczamy
przez |X|.

Przykład

Oczywiście |n|=n. W szczególności zbiór pusty ma, zgodnie z intuicją, liczbę elementów równą 0.

Przykład

Zbiór liczb parzystych jest nieskończony.

Dla dowodu niewprost załóżmy, że ||=k, tzn. ={p0,,pk1} . Oczywiście , bo 0. Nadto suma wszystkich pi jest ograniczeniem zbioru , a więc, z Zasady Maksimum, posiada element największy, powiedzmy p0. Ponieważ p0 jest największą liczbą parzystą, p0+2, co oczywiście daje sprzeczność.

Obserwacja 3.5

Zbiór X jest nieskończony wtedy i tylko wtedy, gdy istnieje injekcja z w X.

Dowód

Załóżmy, że X jest nieskończony i zdefiniujmy indukcyjnie funkcję f:X, kładąc:

  1. niech f(0) będzie dowolnym, wybranym elementem X,
  2. gdy f(0),,f(n) są już określone, wtedy niech f(n+1) będzie dowolnie wybranym elementem z X{f(0),,f(n)} .

To, że wyboru opisanego w punkcie drugim możemy zawsze dokonać, wynika wprost z nieskończoności zbioru X. Istotnie, gdyby zbiór X{f(0),,f(n)}  był pusty, to f byłoby bijekcją n+1X świadczącą o tym, że X jest skończony. Oczywiście, tak zdefiniowana funkcja f:X jest injekcją.

Dla dowodu implikacji odwrotnej załóżmy, że istnieje injekcja f:X oraz że X jest skończony tzn. że istnieje bijekcja g:nX dla pewnego n. Zauważmy, że restrykcja f|n+1 jest również injekcją. A zatem złożenie g1f|n+1 jest injekcją z n+1 w n, co stoi w sprzeczności z Obserwacją 3.3.

Zbiór przeliczalny to zbiór skończony lub bijektywny z .

Przykład

  • zbiór pusty jest przeliczalny, bo jest skończony,
  • zbiór liczb parzystych jest przeliczalny, bo f(x)=2x jest bijekcją
  • zbiór liczb całkowitych jest przeliczalny, bo


f(x)={x2,dla parzystych x,1x2,dla nieparzystych x,


jest bijekcją z w .

Zasada Szufladkowa

Wróćmy jeszcze do Obserwacji 3.3 - formalnej podstawy zliczania skończonych zbiorów. Ma ona także bardziej praktyczną interpretację. Jest to formalne ujęcie faktu powszechnie znanego jako Zasada Szufladkowa Dirichleta (wierzy się, że jako pierwszy opisał ja Dirichlet w 1834).

Wniosek 3.6 [Zasada Szufladkowa Dirichleta]

Jeś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 n, zaś zbiór szuflad z m. Rozmieszczenie obiektów w szufladach to określenie funkcji z n w m. Ponieważ n>m to Obserwacja 3.3 mówi nam, ze funkcja ta nie jest injekcją, a zatem lokuje co najmniej dwa obiekty w tej samej szufladzie.

Przykład

Proste przykłady:

  • Wśród mieszkańców Krakowa co najmniej dwie osoby mają tę samą liczbę włosów na głowie.

Dowód

Rzeczywiście, liczba włosów na głowie człowieka nie przekracza 500000, natomiast liczba mieszkańców Krakowa przekracza 800000. Weźmy 500000 szufladek ponumerowanych kolejnymi liczbami naturalnymi od 0 do 499999 i wkładajmy do szufladki o danym numerze osoby, które mają taką liczbę włosów na głowie, jak numer szufladki. Ponieważ osób jest 800000, a szufladek 500000, z Zasady Szufladkowej wynika, że w jednej szufladce muszą znaleźć się co najmniej dwie osoby.

  • W grupie 13 osób muszą być co najmniej dwie, które urodziły się w tym samym miesiącu.

Dowód

Weźmy 12 szufladek z nazwami miesięcy i wkładajmy do nich osoby, które urodziły się w danym miesiącu. Ponieważ osób jest 13, a szufladek 12, w jednej z nich muszą być co najmniej dwie osoby.

Czasem, umiejętnie dobierając "pudełka" można pokazać bardziej zaskakujące fakty...

Przykład

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?

  • Gdy jest n osób, to każda z nich przywita 0 lub 1 lub 2 lub ... n1 osób.
  • Utwórzmy więc n szuflad z etykietami k=0,1,2,,n1 i umieśćmy osobę w szufladzie o etykiecie k, jeśli witała się z dokładnie k osobami.
  • Skoro jest n osób i n szuflad, to ...
    niewiele z tego wynika  :-(
  • Ale... niewiele wynika tylko jeśli wszystkie szuflady będą zajęte, a tak jest w przypadku, gdy również dwa konkretne pudełka o etykietach 0 i n1 są zajęte. Tyle, że nie jest to możliwe - nie może być osoby, która przywitała wszystkie pozostałe i równocześnie takiej, która nie przywitała nikogo.
  • A zatem n osób zajęło co najwyżej n1 szuflad, więc w jednej z nich są co najmniej dwie osoby - takie, które przywitały tę samą liczbę osób.

Przykład

Wybierając n+1 liczb spośród 1,2,3,,2n, wśród wybranych liczb zawsze znajdziemy dwie, z których jedna dzieli drugą.

Istotnie:

  • Określmy relacje xRy na liczbach naturalnych, tak by:
xRy   iloraz xy jest potęgą (być może ujemną) liczby 2.


Oznacza to, że xRy jeśli liczby x,y mają ten sam największy czynnik nieparzysty.

  • Szufladami niech będą klasy równoważności relacji R.
  • Ile jest klas-szuflad dla liczb ze zbioru {1,2,3,,2n} ? Co najwyżej n, gdyż tyle może być liczb nieparzystych w zbiorze {1,2,,2n} .
  • Skoro wybrano n+1, to rozkładając je do naszych szuflad jakieś dwie, powiedzmy a,b muszą trafić do wspólnej szuflady.

Oznacza to, że któryś z ilorazów ab,ba jest dodatnią potęgą dwójki, a zatem a dzieli b lub b dzieli a.

Przykład

Wybierzmy dowolnie 10 różnych liczb naturalnych a1,a2,,a10 spośród 1,2,3,,100. Pokażemy, że w zbiorze {a1,a2,,a10}  można wybrać dwa rozłączne podzbiory, dające tę samą sumę.

Istotnie:

  • Szuflady poetykietujmy liczbami reprezentującymi możliwe sumy liczb w co najwyżej 10-cio elementowych podzbiorach zbioru {1,2,3,,100} . Ponieważ największa możliwa taka suma to 91+92+93++99+100=955, to mamy 955 szuflad z etykietami: 0,1,2,3,,955
  • z drugiej strony 10-cio elementowy zbiór {a1,a2,,a10}  ma 210=1024 podzbiory, więc muszą być dwa podzbiory zbioru {a1,a2,,a10}  o tej samej sumie.
  • Te dwa podzbiory nie muszą być rozłączne. Ale jeśli z obu z nich usuniemy wspólne liczby, to pozostałe dalej będą dawać takie same sumy, a powstałe zbiory będą już rozłączne.

Zasady zliczania

Bardzo często w tym kursie będziemy stać przed problemem zliczenia pewnego skończonego zbioru obiektów. Skrajnie niewygodne i nieefektywne byłoby, gdybyśmy za każdym razem konstruowali bijekcję z n w nasz zbiór dla pewnego naturalnego n. Na szczęście istnieje wiele reguł pozwalających szybciej zliczać obiekty kombinatoryczne. Poniżej przedstawiamy te podstawowe. Pierwsza z nich jest bardzo prosta i w sposób intuicyjny stosowana od początków cywilizacji.

Zasada dodawania

Dla skończonych i rozłącznych zbiorów A i B mamy:


|AB|=|A|+|B|.


Dowód

Niech liczności zbiorów |A|=m, |B|=n będą poświadczone bijekcjami f:mA i g:nB. Wtedy funkcja h:m+nAB zadana przez:


h(x)={f(x),dla x{0,,m1} g(xm),dla x{m,,m+n1} 


jest bijekcją. Istotnie, skoro zbiory A i B są rozłączne, to dla dowolnych x1{0,,m1} , x2{m,,m+n1}  zachodzi h(x1)h(x2). Ponadto restrykcje h do zbiorów zbiorów {0,,m1}  i {m,,m+n1}  są injekcjami. A zatem h jest injekcją.

Dla dowodu surjektywności h weźmy dowolny element yAB. Załóżmy, że yA (w drugim przypadku dowód przebiega analogicznie). Wtedy z surjektywności f wiemy, że istnieje xm takie, że f(x)=y. Ale h(x)=f(x)=y. Zatem h jest surjekcją.

Łatwy dowód indukcyjny pozwala uogólnić zasadę dodawania na dowolnie wiele skończonych zbiorów.

Wniosek 3.7

Dla zbiorów A1,,An skończonych i parami rozłącznych:


|A1An|=|A1|++|An|


Więcej pracy wymaga analiza sytuacji, gdy zbiory A,B nie są rozłączne.

Zasada włączania i wyłączania

Dla zbiorów skończonych {A1,A2,,An}  zachodzi

|A1A2An|=I{1,,n} (1)|I|+1|iIAi|=|A1|+|A2|+|A3|++|An2|+|An1|+|An||A1A2||A1A3||An2An||An1An|+|A1A2A3|++|An2An1An||A1A2A3A4||An3An2An1An|+(1)n+1|A1A2An|


W szczególności, |AB|=|A|+|B||AB|, o ile tylko A,B są skończone.

Dowód

Zaczniemy od dowodu drugiego zdania. Ponieważ trzy zbiory AB,AB i BA są parami rozłączne i sumują się do (AB)(AB)(BA)=AB, na mocy Wniosku 3.7 mamy:


|AB|=|(AB)(AB)(BA)|=|AB|+|AB|+|BA|


skąd


|AB|+|AB|=|AB|+|AB|+|BA|+|AB|=(|AB|+|AB|)+(|BA|+|AB|)=|(AB)(AB)|+|(BA)(AB)|=|A|+|B|


skąd już natychmiast dostajemy:


|AB|=|A|+|B||AB|      (1)


W sytuacji dowolnie wielu n zbiorów użyjemy rozumowania indukcyjnego. Oczywiście n=1,2 twierdzenie jest prawdziwe. Załóżmy, że n>2. Na mocy równości (1) otrzymujemy:


|k=1nAk|=|k=1n1Ak|+|An||k=1n1AkAn|.


Wykorzystując założenie indukcyjne dla wartości n1 zachodzi


|k=1nAk|=I{1,,n1} (1)|I|+1|iIAi|+|An|I{1,,n1} (1)|I|+1|iIAiAn|=I{1,,n1} (1)|I|+1|iIAi|+I{1,,n1} (1)|I{n} |+1|iI{n} Ai|.


Rodzina wszystkich podzbiorów I zbioru liczb {1,,n}  można podzielić na dwie rozłączne rodziny:

  • pierwsza składa się z tych I, które nie zawierają n, czyli {I:I{1,,n1} } 
  • druga jest rodziną tych I, które zawierają n, czyli {I{n} :I{1,,n1} } .

W rezultacie otrzymujemy, że


|k=1nAk|=I{1,,n} (1)|I|+1|iIAi|,


co kończy dowód.

Wniosek 3.7 pozwala uogólnić Zasadę Szufladkową. Załóżmy, że pewna ilość obiektów jest rozmieszczona w n szufladach. Niech Ai będzie zbiorem obiektów w i-tej szufladce. Ponieważ zbiory obiektów w różnych szufladach są rozłączne, to ilość obiektów we wszystkich szufladach wynosi |A1An|=|A1||An|. Zatem jeśli każda szufladka ma co najwyżej r obiektów, to w sumie jest co najwyżej nr obiektów.

Uogólniona Zasada Szufladkowa

Jeśli m obiektów rozmieszczonych jest w n szufladach i m>nr, dla pewnego naturalnego r, to istnieje szufladka z co najmniej r+1 obiektami.

Przypomnijmy, że iloczyn kartezjański (produkt) zbiorów X i Y to zbiór


X×Y={(x,y):xX,yY} 

Zasada Mnożenia

Dla skończonych zbiorów X,Y:


|X×Y|=|X||Y|


Dowód

Najpierw pokażemy, że |m×n|=mn. W tym celu pokażemy, że funkcja


f:m×n(i,j)in+jmn


jest bijekcją.

Dla dowodu injektywności załóżmy, że f(i,j)=f(i,j), czyli in+j=in+j. Bez straty ogólności możemy założyć, że ii, wtedy (ii)n=jj. Lewa strona równości jest wielokrotnością n, zaś prawa leży w zbiorze {n+1,,n1} , gdyż j,jn. Ponieważ 0 jest jedyną wielokrotnością liczby n w tym zbiorze, to ii=0 i jj=0, co dowodzi injektywności f.

Dla dowodu surjektywności rozważmy ymn. Niech i będzie największą liczbą taką, że iny. Wtedy y<(i+1)n zatem istnieje j{0,,n1}  takie, że y=in+j=f(i,j), co było do udowodnienia.

Załóżmy teraz, że |X|=m i |Y|=n. Wtedy, z poczynionej wyżej obserwacji, dowód Zasady Mnożenia jest natychmiastowy, gdyż


|X×Y|=|m×n|=mn=|X||Y|


Przykład

Rozważ turniej rycerski między bractwem czerwonych a bractwem niebieskich. Bractwo czerwonych ma 12 rycerzy, bractwo niebieskich 15. Ile różnych indywidualnych pojedynków może być stoczonych, jeśli rycerze z tego samego bractwa nigdy ze sobą nie walczą?

  • Niech C i N będą zbiorami rycerzy, odpowiednio z bractwa czerwonych i z bractwa niebieskich,
  • każdy pojedynek może być interpretowany jako uporządkowana para (c,n), gdzie cC, nN. Zatem liczba pojedynków to liczność zbioru C×N.
  • |C×N|=|C||N|=1215=300.

Zliczanie podzbiorów

Zbiór potegowy, lub inaczej zbiór podzbiorów, zbioru X oznaczamy przez 𝒫(X).

Przykład

  • 𝒫()={}  i |𝒫()|=1
  • 𝒫({} )={,{} }  i |𝒫({} )|=2

Przykład

Ile podzbiorów ma skończony zbiór n-elementowy? Łatwo jest odpowiedzieć na to pytanie dla małych liczb n. Np. zbiór {a,b}  ma następujące cztery podzbiory:


,{a} ,{b} ,{a,b} 


a zbiór trzyelementowy {a,b,c}  ma osiem podzbiorów:


,{a} ,{b} ,{c} ,{a,b} ,{a,c} ,{b,c} ,{a,b,c} 


Spróbujmy odpowiedzieć na to pytanie w ogólnej sytuacji i w sposób rekurencyjny.

Niech pn oznacza liczbę podzbiorów zbioru n-elementowego. Na podstawie dotychczasowych przykładów mamy:


n0123pn1248


i można wysunąć hipotezę, że w ogólności pn=2n. Ale jak ją uzasadnić?

Załóżmy, że znamy liczbę pn i chcemy policzyć pn+1. Niech więc zbiór Z ma n+1 elementów, czyli po usunięciu ze zbioru Z elementu aZ dostajemy n-elementowy zbiór Z. Podobnie jak w dowodzie Zasady Włączania-Wyłączania, podzbiory zbioru Z można podzielić na dwa typy:

  • albo mają w sobie element a,
  • albo go nie mają.

W drugim przypadku są to podzbiory zbioru Z. Jest więc ich dokładnie pn.

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

Łącznie więc zbiór Z ma pn+pn podzbiorów, czyli pn+1=2pn Teraz już bez trudu stwierdzamy, że to wraz z warunkiem p0=1 jest spełnione przez


pn=2n


co można łatwo uzasadnić przez indukcję.


Obserwacja 3.8

Dla dowolnego, skończonego zbioru X


|𝒫(X)|=2|X|


Zliczanie funkcji

Zbiór funkcji postaci XY oznaczamy przez YX.

Obserwacja 3.9

Dla skończonych zbiorów X,Y mamy:


|YX|=|Y||X|


Dowód

Niech X={x0,,xm1}  oraz Y={y0,,yn1} . Każda funkcja f:XY to krotka wartości dla kolejnych xi:


(f(x0),f(x1),,f(xm1))Y××Ym razy


A więc zbiór funkcji z X w Y jest równoliczny z Ym. Z Zasady Mnożenia otrzymujemy więc:


|Y××Ym razy|=|Y|××|Y|m razy=nm=|Y||X|


Przykład

Trzech kolegów: Bartek, Paweł i Piotrek spotkali się w pubie tuż po zdanym egzaminie z matematyki dyskretnej. Okazało się, że jest pięć marek piwa do wyboru. Na ile sposobów mogą oni wypić pierwszą kolejkę?

Każdy wybór marki piwa przez wszystkie 3 osoby możemy interpretować jako funkcję ze zbioru {Bartek,Paweł,Piotrek}  w pięcioelementowy zbiór marek piwa. A więc istnieje 53=125 sposobów spożycia pierwszej kolejki. I tyleż sposobów dla każdej nastepnej......

Przykład

Kod PIN jest kodem autoryzującym właściciela karty bankomatowej. Składa się on z 4 cyfr dziesiętnych. Ile jest różnych kodów PIN?

Każdy kod PIN to funkcja z czteroelementowego zbioru pozycji {0,1,2,3}  w dziesięcioelementowy zbiór cyfr {0,1,,9} . Z Obserwacji 3.9 wynika że kodów PIN jest dokładnie 104=10000.

Posługując się Obserwacją 3.8 udowodnimy jeszcze raz wzór na ilość podzbiorów skończonego zbioru. Zatem Obserwację 3.9 możemy traktować jako uogólnienie Obserwacji 3.8.

Dowód

Alternatywny dowód Obserwacji 3.8
Zauważmy, że dowolny podzbiór AX wyznacza jednoznacznie funkcję χA:X2 w następujący sposób:


χY(x)={0,dla xXA1,dla xA


Również każda funkcja f:X2 wyznacza jednoznacznie podzbiór Af{xX:f(x)=1}  zbioru X. Nadto, odpowiedniość


𝒫(X)AχA2X


jest bijektywna. Zatem |𝒫(X)|=|2X|=2|X|.

Obserwacja 3.10

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,,xm1}  i Y={y0,,yn1} . Każdą injekcję z X w Y możemy utożsamić z uporządkowanym wyborem m różnych elementów ze zbioru Y:


f(x0),f(x1),,f(xm1)


Pierwszy element możemy wybrać na n sposobów, drugi na n1, bo musi być różny od poprzednio wybranego, trzeci już tylko na n2 sposoby, itd., aż wreszcie m-ty na nm+1 sposobów. Zatem liczba injekcji równa jest n(n1)(nm+1).

Przykład

Ile jest PIN-ów, czyli cztero-elementowych słów złożonych z cyfr dziesiętnych, takich że żadna cyfra się nie powtarza?

Każdy PIN z niepowtarzającymi się cyframi to injekcja z cztero-elementowego zbioru pozycji {0,1,2,3}  w 10-elementowy zbiór cyfr {0,1,,9} . Zatem jest ich dokładnie 10987=5040.

Obserwacja 3.11

Liczba bijekcji pomiędzy skończonymi zbiorami X i Y, gdzie |X|=|Y| wynosi |X|!.

Dowód

Pokażemy najpierw, że każda injekcja f:XY jest bijekcją. Istotnie, gdyby f nie było surjekcją, to f(X) byłoby właściwym podzbiorem zbioru Y. A zatem |f(X)|<|Y| i funkcja f:Xf(X) ustalałaby injekcję ze zbioru o większej liczbie elementów w zbiór o mniej liczny. A to nie jest możliwe na mocy Obserwacji 3.3. Udowodniliśmy, że liczba bijekcji z X w Y równa jest liczbie injekcji z X w Y, czyli, z Obserwacji 3.10), wynosi ona:


n(n1)(nn+2)(nn+1)=n!


Zauważmy jeszcze, że × jest nie tylko funkcją :, ale i bijekcją i jest to jedyna bijekcja .

Przykład

Na kurs tańca uczęszcza pięciu chłopaków i pięć dziewcząt. Większość kroków tanecznych ćwiczy się parami. Dla urozmaicenia pary często się zmieniają. Na ile sposobów może być wykonany jeden taniec?

Niech C będzie zbiorem chłopaków, a D zbiorem dziewcząt. Matematycznym modelem doboru par do tańca jest bijekcja f:CD. Zatem możliwych wyborów jest tyle samo co bijekcji pomiędzy 5-elementowymi zbiorami, czyli 5!=54321=120.

Permutacje

Permutacja zbioru skończonego X to bijekcja z X w X.

Zbiór permutacji zbioru n oznaczamy przez Sn, a permutacje bedziemy w tym kursie oznaczać małymi literami greckimi.

Przykład

Rozważ funkcję α:77 zadaną przez poniższą tabelę:


n0123456α(n)2360415


Funkcja α jest bijekcją z 7 w 7, zatem jest permutacją i αS7.

Przykład

Dla permutacji α,βS5 zadanych przez poniższą tabelę:


n01234α(n)42301β(n)23140


ich złożenia podane są poniżej:


n01234βα(n)01423αβ(n)30214


Zauważ, że oba złożenia także są permutacjami 5.

Ponieważ permutacje są bijekcjami, to natychmiast z Obserwacji 3.2 dostajemy:

Obserwacja 3.12

Dla dowolnych permutacji α,β skończonego zbioru X:

  • αβ,βα są permutacjami X,
  • α1 jest permutacją X taką, że αα1=idX=α1α=.

Następne spostrzeżenie jest natychmiastowym wnioskiem z Obserwacji 3.11.

Wniosek 3.13

Zbiór n-elementowy ma dokładnie n! permutacji, |Sn|=n!.

Przykład

Oto wszystkie (3!=6) permutacje zbioru S3:


012012012012021102012012012102201210



Permutację α zbioru X={x0,,xn1}  wygodnie jest identyfikować z krotką (α(x0),,α(xn1))Xn. Często też permutację interpretuje się jako uporządkowanie zbioru X.

7 książek

Przykład

Na ile sposobów można poukładać koło siebie na półce 7 książek?

Na dokładnie tyle, ile jest permutacji zbioru siedmio-elementowego, a więc 7!=5040.

Cykl zbioru n-elementowego X to taka permutacja zbioru X, dla której {x,α(x),α2(x),,αn1(x)} =X, przy dowolnym xX. Łatwo zauważyć, że jeśli dla pewnego x0X mamy {x,α(x),α2(x),,αn1(x)} =X, to jest tak dla wszystkich xX, czyli α jest cyklem na X. Cykl α zbioru X zapisujemy jako (x,α(x),,αn1(x)) dla dowolnie wybranego xX.

Przykład

Rozważmy αS6 daną przez

n012345α(n)350124

  • sekwencja 0, α(0)=3, α2(0)=1, α3(0)=5, α4(0)=4, α5(0)=2 pokwywa całe 6,
  • zatem α=(0,3,1,5,4,2) jest cyklem.

Rozkład permutacji na rozłączne cykle

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

  1. wybierz dowolny element xX, który nie jest jeszcze w żadnym cyklu,
  2. iteruj permutację α otrzymując kolejno: α(x),α2(x),α3(x), aż do uzyskania αj(x)=x,
  3. dodaj do rozkładu cykl x,,αj1(x),
  4. jeśli w zbiorze X pozostały jeszcze elementy niepokryte przez żaden cykl, to wróć do pierwszego punktu.

Dowód

Dla dowodu poprawności algorytmu rozkładu pokażemy najpierw, że iteracja w drugim punkcie zawsze osiąga element wyjściowy x. Ponieważ zbiór X jest skończony iteracja x,α(x),α2(x) w pewnym kroku musi wrócić do elementu już rozważanego, zatem αi(x)=αj(x) dla pewnych i<j. Weźmy najmniejsze takie j, że αi(x)=αj(x) dla pewnego 0i<j. Gdyby i0 to z faktu, że α jest permutacją mamy αi1(x)=αj1(x), co stoi w sprzeczności z minimalnością j. A zatem αj(x)=x.

Pozostaje jeszcze pokazać, że otrzymane cykle są rozłączne. Załóżmy, że nie są i weźmy pierwszy napotkany element y=αi(x), który był już w którymś z poprzednich cykli. Zauważmy, że i>0 gdyż x był wybrany jako element nie pokryty przez żaden cykl (patrz punkt pierwszy). Wiemy, że istnieje element z w tym samym cyklu co y taki, że α(z)=y, ale także α(αi1(x))=y. Ponieważ α jest permutacją, otrzymujemy αi1(x)=z, co stoi w sprzeczności z faktem, że y jest jedynym elementem z poprzedniego cyklu.

Jeśli permutacja α złożona jest z k rozłącznych cykli, to zapisujemy α=(x0,)(x1,)(xk1,), gdzie w kolejnych nawiasach są elementy kolejnych cykli startujące od odpowiednio: x0,,xk1.


Przykład

Rozważmy jeszcze raz permutację αS7:


n0123456α(n)2360415


Rozkład α na cykle:

  • 0, α(0)=2, α(2)=6, α(6)=5, α(5)=1, α(1)=3, α(3)=0,
  • 4, α(4)=4,
  • α=(026513)(4).