PAA/main.tex
2018-02-24 19:52:35 +01:00

152 lines
4.8 KiB
TeX

\documentclass[openany]{book}
\usepackage[T1]{fontenc}
\usepackage{polski}
\usepackage[utf8]{inputenc}
\usepackage[margin=1.25in]{geometry}
\usepackage{alltt}
\usepackage{titling}
\usepackage{pdfpages}
\usepackage{float}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{amstext}
\usepackage{tikz}
\usepackage{xspace}
\usepackage{enumerate}
\usepackage{lmodern}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{mathtools}
\usepackage{alphalph}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{wrapfig}
\usepackage[polish]{babel}
\usepackage{braket}
\usepackage{subcaption}
\usepackage{imakeidx}
%\usepackage{showidx}
%\usepackage[bookmarks]{hyperref}
\usepackage{pgfplots}
\makeindex
% opening
\title{Podstawy Analizy Algorytmów dla opornych}
\author{Kacper Donat}
\input{macros.tex}
\begin{document}
%\maketitle
%\tableofcontents
\chapter{Złożoności obliczeniowe}
\input{part-1/intro.tex}
\input{part-1/2018.tex}
\chapter{Problemy w informatyce}
\input{part-2/intro.tex}
\input{part-2/2013.tex}
\input{part-2/2011.tex}
\input{part-2/2018.tex}
\input{part-2/2018.bonus.tex}
\appendix
\input{npc.tex}
\twocolumn
\chapter{Przydatne wzory i twierdzenia}
\section{Sumy wyrażeń} \label{appendix:sum-formulas}
\begin{equation}\label{eqn:sum:1}
1 + 1 + 1 + \cdots = \sum_{i=1}^n 1 = n
\end{equation}
\begin{equation}\label{eqn:sum:i}
1 + 2 + 3 + \cdots = \sum_{i=1}^n i = \frac{n(n+1)}{2}
\end{equation}
\begin{equation}\label{eqn:sum:i2}
1 + 4 + 9 + \cdots = \sum_{i=1}^n i^2 = \frac{n(n+1)(2n+1)}{6}
\end{equation}
\begin{equation}\label{eqn:sum:i3}
1 + 8 + 27 + \cdots = \sum_{i=1}^n i^3 = \left(\frac{n(n+1)}{2}\right)^2
\end{equation}
\begin{equation}\label{eqn:sum:newton}
\sum_{i=0}^n {n \choose k} = 2^n
\end{equation}
\begin{equation}\label{eqn:sum:lower-bound}
\sum_{j=i}^{n} a_j = \sum_{j=1}^n a_j - \sum_{j=1}^{i-1} a_j
\end{equation}
np. dla sumy stałych:
\begin{align}
\sum_{j=i}^{n} 1 &= \sum_{j=1}^n 1 - \sum_{j=1}^{i-1} 1 = n - (i - 1) \nonumber \\
&= n - i + 1
\end{align}
\section{Wzory rekurencyjne}
\subsection{Dziel i zwyciężaj}
Dla funkcji postaci
\begin{equation*}
T(n) = aT\left(\frac{n}{b}\right) + d(n)
\end{equation*}
\noindent gdzie $d(n)$ jest funkcją multiplikatywną\footnote{tj. spełniającą zależność $f(a \cdot b) = f(a) \cdot f(b)$},
wiadomo, że:
\begin{equation} \label{eqn:recursive:divide}
T(n) = \begin{cases}
\Theta(n^{\log_b d(b)}) & d(b) > a \\
\Theta(n^{\log_b a}\log n) & a = d(b) \\
\Theta(n^{\log_b a}) & a > d(b) \\
\end{cases}
\end{equation}
\subsection{Jeden krok w tył}
Dla funkcji postaci
\begin{equation*}
T(n) = aT(n - 1) + d(n)
\end{equation*}
\noindent wiadomo, że:
\begin{equation} \label{eqn:recursive:1-step}
T(n) = \begin{cases}
\Theta(a^n) & d(n) = O(\frac{a^n}{n^\varepsilon}), \varepsilon > 1 \\
O(na^n) & d(n) = O(a^n) \\
O(nd(n)) & d(n) = \omega(a^n) \\
\end{cases}
\end{equation}
\section{Twierdzenia i własności}
\begin{description}
\item[tw. Vizinga] Każdy graf można pokolorować krawędziowo $\Delta$ bądź $\Delta + 1$ kolorami. Tj.
$\chi'(G) = \Delta$ lub $\chi'(G) = \Delta + 1$. \label{theorem:vizing}
\item[tw. Kuratowskiego] Graf $G$ jest planarny wtedy i tylko wtedy kiedy nie ma w nim podgrafu $K_5$ i $K_3,3$.
\begin{figure}[H]
\centering
\begin{subfigure}[c]{.5\linewidth}
\centering
\begin{tikzpicture}[scale=.7]
\input{gfx/k5.tex}
\end{tikzpicture}
\caption{$K_5$}
\end{subfigure}%
\begin{subfigure}[c]{.5\linewidth}
\centering
\begin{tikzpicture}[scale=.7]
\input{gfx/k3-3.tex}
\end{tikzpicture}
\caption{$K_{3,3}$}
\end{subfigure}%
\end{figure}
\label{theorem:kuratowski}
\item[tw. O 4 kolorach] Każdy graf planarny można pokolorować wierzchołkowo za pomocą $\leq 4$ kolorów. \label{theorem:4-colors}
\item[lemat o uściskach dłoni] Suma stopni wierzchołków w grafie zawsze jest liczbą parzystą. \label{theorem:handshake}
\item[Graf Eulerowski] Graf jest Eulerowski wtedy i tylko wtedy gdy wszystkie wierzchołki są stopnia parzystego. \label{theorem:euler}
\item[tw. Brooksa] Jeżeli graf jest pełny bądź jest cyklem nieparzystym to $\chi(G) = \Delta + 1$, w innym wypadku
$\chi(G) \leq \Delta$ \label{theorem:brooks}
\item Dla każdego grafu $G$ zachodzi $\chi(G) \leq \omega(G)$ gdzie $\omega(G)$ oznacza największą klikę w grafie.
\item Każdy graf dwudzielny da się pokolorować dwoma kolorami. Dodatkowo - każde drzewo jest grafem dwudzielnym.
\end{description}
\end{document}