Processing math: 28%

Zliczanie zbiorów i funkcji

strict warning: Only variables should be passed by reference in /usr/share/drupal6/modules/book/book.module on line 559.

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:RR.

Przykłady funkcji

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

  • f:Nn2nN,
    • jest zwartym zapisem, że f jest funkcją postaci f:NN
      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:NR, g(n)=n/2,
    • określenie g:NN nie byłoby tu prawidłowe, gdyż wartość n/2 nie zawsze jest liczbą naturalną
  • h:N{13} , h(n)=13,
    • to też jest poprawnie określona funkcja, mimo że niezbyt frapująca (tzw. funkcja stała)
  • f:NN, f(n)=(1+3+5+...+(2n+1))n.
    • takie określenie też jest poprawne, choć nie od razu widać, ile to jest
  • g:RxsinxπR jest całkiem poprawną funkcją.
  • h:RxsinπxR,
    • 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:R{0} R
  • {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} N, 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,a0N
      • całkowitych - jeśli an,an1,,a1,a0Z
      • wymiernych - jeśli an,an1,,a1,a0Q
      • rzeczywistych - jeśli an,an1,,a1,a0R
    • liczba n zwana jest stopniem wielomianu, ale tylko o ile an0.

Surjekcje, injekcje i bijekcje

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 : X ↠ Y .

Przykład

Funkcja \mathbb{R} \ni x \mapsto x^3 \in \mathbb{R} jest surjekcją.
Funkcja \mathbb{Q} \ni x \mapsto x^3 \in \mathbb{Q} nie jest surjekcją.
Funkcja \mathbb{N} \ni x \mapsto 2x \in \mathbb{N} nie jest surjekcją.
Funkcja \mathbb{Q} \ni x \mapsto 2x \in \mathbb{Q} jest surjekcją.
Funkcja \mathbb{Z} \ni x \mapsto \lfloor x\rfloor \in \mathbb{Z} jest surjekcją.
Funkcja \mathbb{R} \ni x \mapsto \lfloor x\rfloor \in \mathbb{Z} jest surjekcją.
Funkcja \mathbb{Z} \ni x \mapsto \lfloor x\rfloor \in \mathbb{Q} nie jest suriekcją.
Funkcja \mathbb{R} \ni x \mapsto \sin{x} \in \mathbb{R} nie jest surjekcją.
Funkcja {\{ {0,1} \}\ }^* \ni w \mapsto w1 \in {\{ {0,1} \}\ }^* nie jest suriekcją.
Funkcja {\{ {0,1} \}\ }^* \ni w \mapsto d(w) \in \mathbb{N} jest suriekcją.

Injekcja to funkcja f : X \longrightarrow Y spełniająca warunek:

\forall x_1,x_2 \in X \ \ x_1\neq x_2 \to f(x_1)\neq f(x_2)

  • 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 : X \hookrightarrow Y .

Przykład

Funkcja \mathbb{R} \ni x \mapsto x^3 \in \mathbb{R} jest injekcją.
Funkcja \mathbb{R} \ni x \mapsto x^2 \in \mathbb{R} nie jest injekcją.
Funkcja \mathbb{Z} \ni x \mapsto \lfloor x\rfloor \in \mathbb{Z} jest injekcją.
Funkcja \mathbb{R} \ni x \mapsto \lfloor x\rfloor \in \mathbb{Z} nie jest injekcją.
Funkcja \mathbb{N} \ni x \mapsto 2x \in \mathbb{N} jest injekcją.
Funkcja \mathbb{Q} \ni x \mapsto 2x \in \mathbb{Q} jest injekcją.
Funkcja \mathbb{R} \ni x \mapsto \sin{x} \in \mathbb{R} nie jest injekcją.
Funkcja {\{ {0,1} \}\ }^* \ni w \mapsto w1 \in {\{ {0,1} \}\ }^* jest injekcją.
Funkcja {\{ {0,1} \}\ }^* \ni w \mapsto d(w) \in \mathbb{N} nie jest injekcją.

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

Przykład

Funkcja \mathbb{R} \ni x \mapsto x^3 \in \mathbb{R} jest bijekcją.
Funkcja \mathbb{Q} \ni x \mapsto x^3 \in \mathbb{Q} nie jest bijekcją.
Funkcja \mathbb{N} \ni x \mapsto 2x \in \mathbb{N} nie jest bijekcją.
Funkcja \mathbb{Q} \ni x \mapsto 2x \in \mathbb{Q} jest bijekcją.
Funkcja \mathbb{Z} \ni x \mapsto \lfloor x\rfloor \in \mathbb{Z} jest bijekcją.
Funkcja \mathbb{R} \ni x \mapsto \lfloor x\rfloor \in \mathbb{Z} nie jest bijekcją.
Funkcja \mathbb{Z} \ni x \mapsto \lfloor x\rfloor \in \mathbb{Q} nie jest bijekcją.
Funkcja {\{ {0,1} \}\ }^* \ni w \mapsto w1 \in {\{ {0,1} \}\ }^* nie jest bijekcją.
Funkcja {\{ {0,1} \}\ }^* \ni w \mapsto d(w) \in \mathbb{N} nie jest bijekcją.

Funkcje odwrotne

Traktując funkcję f : X \longrightarrow Y jako relację f \subseteq X \times Y (zbiór par), możemy rozważać relację f^{-1} odwrotną do f .

Kiedy ta relacja jest funkcją?

  • ponieważ f^{-1} ma spełniać warunek, że każdy element dziedziny f^{-1} (tzn. zbioru Y ) ma przypisaną jakąś wartość, oznacza to, że sama funkcja f wyczerpuje wszystkie elementy przeciwdziedziny, a zatem, że f jest surjekcją,
  • nadto f^{-1} 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 : \mathbb{R} \ni x \mapsto 2x \in \mathbb{R} jest bijekcją, a zatem posiada funkcję odwrotną. Tę funkcję odwrotną można wyliczyć: skoro y = f(x) = 2x , to f^{-1}(y) = x = y/2 . Zatem f^{-1} : \mathbb{R} \ni x \mapsto x/2 \in \mathbb{R} .
  • Funkcja \mathbb{R} \ni x \mapsto \lfloor x\rfloor \in \mathbb{Z} nie jest injekcją. Nie posiada więc funkcji odwrotnej.
  • Funkcja \mathbb{N} \ni x \mapsto 2x \in \mathbb{N} nie jest surjekcją. Nie posiada więc funkcji odwrotnej. Ale rozważając tę funkcję z przeciwdziedziną \mathbb{P} będącą zbiorem liczb parzystych, tzn. \mathbb{N} \ni x \mapsto 2x \in \mathbb{P} staje się ona bijekcją i posiada funkcję odwrotną \mathbb{P} \ni x \mapsto x/2 \in \mathbb{N} .
  • Funkcja \mathbb{R} \ni x \mapsto x^2 \in \mathbb{R} nie jest ani injekcją ani surjekcją. Nie posiada więc funkcji odwrotnej. Surjektywność można by "uratować", rozważając

f : \mathbb{R} \ni x \mapsto x^2 \in [0, +\infty).

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


f|_{[0, +\infty)}: [0, +\infty) \ni x \mapsto x^2 \in [0, +\infty),

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


[0, +\infty) \ni x \mapsto \sqrt{x} \in [0, +\infty).

Składanie funkcji

Złożenie funkcji f : X \longrightarrow Y i funkcji g : Y \longrightarrow Z to funkcja


gf: X \longrightarrow Z

określona dla wszystkich argumentów x \in X 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"

X \longrightarrow Y \longrightarrow Z

  • 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 : \mathbb{N} \ni n \mapsto n + 2 \in \mathbb{N} i g : \mathbb{N} \ni n \mapsto 3n \in \mathbb{N} . Wówczas dla gf : \mathbb{N} \longrightarrow \mathbb{N} mamy (gf)(n) = g(f(n)) = g(n + 2) = 3(n + 2)= 3n+6 a dla fg : \mathbb{N} \longrightarrow \mathbb{N} 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 : \mathbb{R} \ni x \mapsto \sin 3x \in \mathbb{R} i g : \mathbb{R} \ni x \mapsto (x + \pi)^2 \in\mathbb{R} . Wówczas złożenie fg: \mathbb{R} \longrightarrow \mathbb{R} dane jest wzorem

(fg)(x) = f(g(x)) = f((x + \pi)^2) = \sin(3(x + \pi)^2).

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

  • Gdy f : X \longrightarrow Y jest bijekcją, to istnieje funkcja odwrotna f^{-1} : Y \longrightarrow X . Jeśli złożymy f^{-1} f , to uzyskamy funkcję X \longrightarrow X , która "nic nie robi":

(f^{-1} f)(x) = f^{-1}(f(x)) = x.

Taka funkcja zwana jest identycznością na zbiorze X i oznaczana id_X . Podobnie - składając f f^{-1} : Y \longrightarrow Y , otrzymamy identyczność na zbiorze Y .

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

Obserwacja 3.1

Dla funkcji X \stackrel{h}{\longrightarrow} Y \stackrel{g}{\longrightarrow} Z \stackrel{f}{\longrightarrow} W zachodzi f(gh) = (fg)h . <

Obserwacja 3.2

Nadto dla X \stackrel{f}{\longrightarrow} Y \stackrel{g}{\longrightarrow} Z 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 X \stackrel{f}{\longrightarrow} Y \stackrel{g}{\longrightarrow} Z 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 \times Y \longrightarrow Z .
  • Zatem funkcja taka każdej parze (x,y)\in X \times Y przyporządkowuje dokładnie jeden element f(x,y) \in Z .
  • Podobnie można zdefiniować funkcje trzech i więcej zmiennych.

Przykład

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

  • \mathbb{R} \times \mathbb{R} \ni (x,y) \mapsto x+y \in \mathbb{R}
  • \mathbb{R} \times \mathbb{R} \ni (x,y) \mapsto x-y \in \mathbb{R}
  • \mathbb{R} \times \mathbb{R} \ni (x,y) \mapsto xy \in \mathbb{R}
  • \mathbb{R} \times \mathbb{R}-{\{ {0} \}\ } \ni (x,y) \mapsto \frac{x}{y} \in \mathbb{R}
  • \mathbb{N} \times \mathbb{N} \ni (x,y) \mapsto x^y \in \mathbb{N}

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

  • X^* \times X^* \ni (v,w) \mapsto vw \in X^* , gdzie vw oznacza słowo (krotkę) powstałe z doklejenia słowa w na końcu słowa v .