---
# System prepended metadata

title: Matematyka Dyskretna - notatki
tags: [notatki, mdl20]

---

# Matematyka Dyskretna - notatki
###### tags: `notatki` `mdl20` 

****
### Symbol Newtona
$\binom{n}{k} = \frac{n!}{k! \cdot (n-k)!}$

Niech $n,  k \in \mathbb{N}, 0 \leq k \leq n$. Wówczas:

$\binom{n}{k} = \binom{n}{n-k}$
$\binom{n}{k} + \binom{n}{k+1} = \binom{n+1}{k+1}$

Dla $n \in \mathbb{N}$ zachodzi:
$(x+y)^n = \sum_{i=0}^{n}\binom{n}{i}x^{i}y^{n-i}$

****
### Liczby Catalana (problem nawiasowania)
$\begin{cases}
c_0 = 0 \\
c_n = \sum_{i=1}^{n}c_{i-1}c_{n-i}
\end{cases}$

****
### Zbiory
Niech $A$ i $B$ będą skończonymi zbiorami o odpowiednio $n$ i $m$ elementach.

 - Liczba funkcji ze zbioru $A$ w zbiór $B$: $n^m$
 - Liczba funkcji **różnowartościowych** za zbioru $A$ w zbiór $B$:  $\frac{n!}{(n-m)!}$
 - Liczba podzbiorów zbioru $A$: $2^n$
 - Liczba permutacji zbioru $A$: $n!$
 - Liczba $k$-elementowych podzbiorów zbioru $A$: $\binom{n}{k}$

****
### Anihilatory

![](https://i.imgur.com/gTml9TO.png)


****
### Funkcje tworzące

$A(x) = a_0 + a_1x + a_2x^2 + ... = \sum_{i = 0}^\infty a_ix^i$

#### Operacje

**Mnożenie przez skalar**

$\sum_{i=0}^\infty \alpha \cdot a_i x^i= \alpha \cdot \sum_{i=0}^\infty a_i x^i = \alpha \cdot A(x)$

**Przesunięcie w prawo**

idea: 
{$a_0, a_1, a_2, ...$} $\to$ {$0, 0, 0, a_0, a_1, a_2, ...$} 
przesuwamy o $t$ miejsc czyli dodajemy $t$ zer na początek

$A'(x) = 0 + 0\cdot x + 0\cdot x^2 + ... + 0\cdot x^{t-1} + a_0x^t + a_1x^{t+1} + a_2x^{t+2} + ...$
$= x^t(a_0 + a_1x + a_2x^2 + ...)$
$= x^tA(x)$

**Przesunięcie w lewo**

idea:
{$a_0, a_1, a_2, ...$} $\to$ {$a_t, a_{t+1}, a_{t+2}, ...$}
przesuwamy o $t$ miejsc czyli tracimy $t$ pierwszych wyrazów

$A'(x) = a_t + a_{t+1}x + a_{t+2}x^2 + ...$
$= \frac{A(x) - (a_0 + a_1x + ... + a_{t-1}x^{t-1})}{x^t}$
$= \sum_{i = 0}^\infty a_{i+t}x^i$

**Różniczkowanie**

$A'(x) = (a_0 + a_1x + a_2x^2 + a_3x^3+ ...)'$
$= a_1 + 2a_2x + 3a_3x^2 + 4a_4x^3 + ...$
$=\sum_{i=0}^\infty (i+1)a_{i+1}x^i$

funkcja tworząca ciągu:
{$a_1, 2a_2, 3a_3, ...$}

**Całkowanie**

$\int_0^xA(t)dt = \int_0^x(a_0 + a_1t + a_2t^2 + a_3t^3 + ...)dt$
$= 0 + a_0x + \frac{a_1}{2}x^2 + \frac{a_2}{3}x^3 + \frac{a_2}{4}x^4 + ...$
$= \sum_{i=0}^\infty \frac{a_{i-1}}{i}x^i$

funkcja tworząca ciągu:
{$0, a_0, \frac{a_1}{2}, \frac{a_2}{3}, ...$}

**Operacje na zmiennej x**

$A(\alpha \cdot x) = a_0 + a_1 \alpha \cdot x + a_2 \alpha^2 \cdot x^2 + a_3 \alpha^3 \cdot x^3 + ...$

funkcja tworząca ciągu:
{$a_0, \alpha a_1, \alpha^2 a_2, ...$}

*przykład1:*
$A(x^2) = a_0 + a_1x^2 + a_2x^4 + a_3 x^6 + ...$
dostajemy:
{$a_0, 0, a_1, 0, a_2, 0, a_3, 0,...$}

*przykład2:*
$A(x^3) = a_0 + a_1x^3 + a_2x^6 + a_3 x^9 + ...$
dostajemy:
{$a_0, 0, 0, a_1, 0, 0, a_2, 0, 0, a_3, 0, 0,...$}

**Sumowanie**

$A(x)$ {$a_n$}
$B(x)$ {$b_n$}

$A(x) + B(x) = \sum_{i = 0}^\infty a_ix^i +\sum_{i = 0}^\infty b_ix^i = \sum_{i = 0}^\infty (a_i + b_i)x^i$

funkcja tworząca ciągu:
{$a_0 + b_0, a_1 + b_1, ...$}

**Mnożenie**

$A(x)$ {$a_n$}
$B(x)$ {$b_n$}

$A(x) \cdot B(x) = a_0(b_0 + b_1x + b_2x^2 + ...) + a_1(b_0 + b_1x + b_2x^2 + ...)x + a_2(b_0 + b_1x + b_2x^2 + ...)x^2 + ...$
$=a_0b_0 + (a_0b_1 + a_1b_0)x + (a_0b_2 + a_1b_1 + a_2b_0)x^2 + ...$
$=\sum_{k=0}^\infty[\sum_{i=0}^k a_ib_{k-i}]x^k$

jest funkcją tworzącą ciągu:
{$a_0b_0, a_1b_0 + a_0b_1, a_0b_2 + a_1b_1 + a_2b_0, ...$}

**Różnica**

$(1-x)A(x) = (1-x)a_0 + (1-x)a_1x + (1-x)a_2x^2 + ...$
$= a_0 -a_0x + a_1x - a_1x^2 + a_2x^2 - a_2x^3 + ...$
$= a_0 + (a_1 - a_0)x + (a_2 - a_1)x^2 + ...$
$= a_0 + \sum_{i=0}^\infty (a_i - a_{i-1}) x^i$

jest funkcją tworzącą ciągu:
{$a_0, a_1-a_0, a_2-a_1, ...$}

**Suma częściowa**

$\frac{A(x)}{(1-x)} = \sum_{i=0}^\infty [\sum_{k=0}^i a^k]x^i$

jest funkcją tworzącą ciągu:

{$a_0, a_0 + a_1, a_0 + a_1+a_2, ...$}
dowód: https://proofwiki.org/wiki/Generating_Function_for_Sequence_of_Partial_Sums_of_Series

**Kompozycja**

$A(B(x)) = a_0 + a_1(b_0 + b_1x + b_2x^2 + ...) + a_2(b_0 + b_1x + b_2x^2 + ...)^2 + a_3(b_0 + b_1x + b_2x^2 + ...)^3 + ...$
$= (a_0 + a_1b_0 + a_2b_0^2 + a_3b_0^3 + ...) + ...$

**Tabela przydatnych funkcji tworzących:**
![](https://i.imgur.com/UMvVrW4.png)

![](https://i.imgur.com/dppSNMy.png)



****
### Grafy
#### Definicje
**Graf** $G$ to para zbiorów $(V, E)$, gdzie $E = \{\{u,v\}: u, v \in V\}$. $V$ to zbiór wierzchołów, $E$ to zbiór krawędzi.

Graf $G$ jest **prosty** jeżeli nie zawiera pętli ani krawędzi równoległych.

Krawędź $e$ jest **incydentna** do wierzchołka $v$, jeżeli jednym z jej końców jest $v$. Najwyższy stopień wierzchołka w $G$ oznaczamy jako $\Delta(G)$.

**Stopień** wierzchołka $v$, oznaczany jako $deg(v)$ równy jest liczbie krawędzi incydentnych do $v$.

$\sum_{v \in V} deg(v) = 2|E|$

**Marszruta** o długości $k$ to ciąg $\{v_0, v_1, \dots, v_k\}$ taki, że $\{v_i, v_{i+1}\} \in E$ dla $0 \leq i \lt k$

**Droga** to marszruta, w której krawędzie się nie powtarzają.

**Ścieżka** to marszruta, w której wierzchołki się nie powtzarzają.

**Cykl** to ścieżka, w której pierwszy i ostatni wierzchołek jest taki sam.

Graf $G=(V,E)$ jest **acykliczny**, jeśli nie zawiera żadnego cyklu.

Graf $G=(V,E)$ jest **spójny** jeżeli dla dowolnych wierzchołków $u, v \in V$ istnieje ścieżka pomiędzy nimi.

**Podgrafem** grafu $G=(V,E)$ jest dowolny graf $H=(V',E')$ taki, że $V' \subseteq V$ oraz $E' \subseteq E$.

Podgraf $H$ jest **właściwy**, jeśli $G \neq H$.

**Spójna składowa** grafu $G$ to dowolny podgraf spójny $H=(V_0,E_0)$ grafu $G$, który jest maksymalny ze względu na zawieranie tzn. taki, że nie istnieje podgraf spójny $H_0$, którego podgrafem właściwym jest $H$.

**Most** to krawędź, której usunięcie zwiększy liczbę spójnych składowych grafu.

Graf $G=(V,E)$ jest **dwudzielny** wtedy i tylko wtedy, gdy istnieje podział zbioru wierzchołków $V$ na zbiory $A$ i $B$ taki, że $\forall_{e \in E}$ jeden koniec $e$ należy do $A$, a drugi do $B$.

**Las** to acykliczny graf.

**Drzewo** to acykliczny graf spójny.

**Liść** to wierzchołek drzewa, którego stopień wynosi 1.

Niech $G=(V,E)$ będzie grafem spójnym. **Drzewo rozpinające** grafu $G$ to podgraf $T=(V,E_0)$, który jest drzewem. $T$ zawiera wszystkie wierzchołki $G$.

Niech $G=(V,E)$ będzie grafem niekoniecznie spójnym. **Las rozpinający** grafu $G$ to podgraf $F=(V,E_0)$, który jest lasem, którego liczba spójnych skłądowych jest taka sama jak liczba spójnych składowych $G$.

**Minimalne drzewo rozpinające** (MST) grafu $G$ to drzewo rozpinające $G$ o minimalnej wadze.

Niech $G=(V,E)$ będzie grafem spójnym. **Skojarzenie** grafu $G$ to dowolny podzbiór krawędzi $M \subseteq E$ taki, że żadne dwie krawędzie z $M$ nie mają wspólnego końca.

Ścieżka $P$ w grafie $G$ jest **alternująca** (względem $M$) jeśli krawędzie na $P$ na przemian należą i nie należą do $M$.

Ścieżka $P$ w grafie $G$ jest **powiększająca** (względem $M$), jeśli jest alternująca (wzgl. $M$) i jej końce są nieskojarzone (w $M$).

**Cykl alternujący** $C$ w grafie $G$ (względem $M$) to taki cykl, którego krawędzie na przemian należą i nie należą do $M$.

**Droga Eulera** $G$ to droga, która zawiera każdą krawędź $e \in E$.

**Cykl Eulera** grafu $G$ to droga zamknięta (wierzchołek startowy jest taki sam jak końcowy, wierzchołki mogą się powtarzać), która zawiera każdą krawędź $e \in E$.

**Ścieżka Hamiltona** $G$ to ścieżka (wierzchołki się nie powtarzają), która zawiera każdy wierzchołek $v \in V$.

**Cykl Hamiltona** grafu $G$ to cykl (wierzchołki się nie powtarzają), który zawiera każdy wierzchołek $v \in V$.

**Liczba chromatyczna** ($\chi(G)$) $G$ to najmniejsza liczba kolorów, jaką można pokolorować graf $G$.

Graf $G$ jest **planarny**, gdy da się go narysować na płaszczyźnie w taki sposób, by żadne dwie krawędzie się nie przecinały.

#### Lematy i twierdzenia 
Jeżeli dla $G=(V,E),\ |V|=n$ zachodzi:
 - $G$ jest spójny i acykliczny
 - $G$ jest spójny i $|E|=n-1$
 - $G$ jest acykliczny i $|E|=n-1$
 - $\forall_{u,v \in V}$ istnieje dokładnie jedna ścieżka pomiędzy $u$ i $v$

To $G$ jest drzewem. Powyższe stwierdzenia są równoważne.

Graf jest dwudzielny wtedy i tylko wtedy, gdy nie zawiera cyklu o nieparzystej dlugości.

Każda zamknięta marszruta o nieparzystej długości zawiera cykl nieparzystej długości.

Niech $G$ będzie grafem prostym, w którym każdy wierzchołek ma stopień przynajmniej $k$. Wówczas G zawiera scieżkę o długości $k$. Jeśli $k \geq 2$, to $G$ zawiera cykl o długości przynajmniej $k+1$.

Skojarzenie $M$ grafu $G$ jest największe wtety i tylko wtedy, gdy $G$ nie zawiera ścieżki powiększającej względem $M$.

Graf dwudzielny $G=(A \cup B, E)$ zawiera skojarzenie doskonałe wtedy i tylko wtedy, gdy spełniony jest w nim warunek Halla: dla każdego $A' \subseteq A$ zachodzi $|N(A')| \geq |A'|$ oraz dla każdego $B' \subseteq B$ zachodzi $|N(B')| \geq |B'|$, gdzie $N(W)$ oznacza zbiór sąsiadów $W$.

Spójny graf $G$ posiada drogę Eulera wtw, gdy zawiera $0$ lub $2$ wierzchołki o stopniu nieparzystym. Spójny graf $G$ posiada cykl Eulera wtw, gdy wszystkie jego wierzchołki mają stopień parzysty.

Twierdzenie Diraca:
Jeśli $G=(V,E)$ jest grafem prostym o co najmniej trzech wierzchołkach i minimalnym stopniu wierzchołka $deg(v) \geq \frac{|V|}{2}$, to $G$ zawiera cykl Hamiltona.

Twierdzenie Ore’a:
Jeśli $G=(V,E)$ jest grafem prostym o co najmniej trzech wierzchołkach i takim, że dla każdych dwóch wierzchołków $u$ i $v$ niepołączonych krawędzią zachodzi $deg(u) + deg(v ) \geq |V|$, to $G$ zawiera cykl Hamiltona.

Wzór Eulera:
Niech $G$ będzie spójnym grafem planarnym (niekoniecznie prostym) o $n$ wierzchołkach, $m$ krawędziach i $f$ ścianach. Wówczas $n−m+f=2$.

Niech $G$ będzie prostym grafem planarnym o $n \geq 3$ wierzchołkach. Wówczas liczba krawędzi $m$ tego grafu nie przekracza $3n − 6$. Jeśli dodatkowo, $G$ nie zawiera żadnego trójkąta, to $m \leq 2n-4$.

Twierdzenie Heawooda:
Każdy graf planarny jest $5$-kolorowalny.

$\chi(G) \leq \Delta(G)+1$. Ponadto jeżeli G nie jest kliką ani nieparzystym cyklem, to $\chi(G) \leq \Delta(G)$

****
### Przydatne algorytmy

#### BFS
![](https://i.imgur.com/wo4kjhu.png)

#### DFS
![](https://i.imgur.com/XuU5rjt.png)

#### Badanie spójności grafu
![](https://i.imgur.com/bTZfbvy.png)

#### Euklides
![](https://i.imgur.com/8uqZaPO.png)

#### Algorytm Dijkstry
![](https://i.imgur.com/FCM2nT9.png)
![](https://i.imgur.com/d51Irzo.png)


****
### Przydatne linki 
kurs dyskretnej:
https://www.cs.sfu.ca/~ggbaker/zju/math/
generating functions:
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/readings/MIT6_042JF10_chap12.pdf
http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/LRGF.html
https://aofa.cs.princeton.edu/30gf/
https://www.adamponting.com/some-basic-sequences-generating-functions-and-closed-forms/
algorytmy:
https://eduinf.waw.pl/inf/alg/001_search/index.php