rozwiązanie zadania 4.3
This commit is contained in:
parent
3ec86d1de8
commit
ac0fb9a145
10
macros.tex
10
macros.tex
@ -24,6 +24,12 @@
|
|||||||
\let\oldthetask\thetask
|
\let\oldthetask\thetask
|
||||||
\let\oldthesubtask\thesubtask
|
\let\oldthesubtask\thesubtask
|
||||||
|
|
||||||
|
\renewcommand\leq\leqslant
|
||||||
|
\renewcommand\geq\geqslant
|
||||||
|
|
||||||
|
\let\oldemptyset\emptyset
|
||||||
|
\renewcommand\emptyset\varnothing
|
||||||
|
|
||||||
\renewcommand{\thesection}{\arabic{section}}
|
\renewcommand{\thesection}{\arabic{section}}
|
||||||
\renewcommand{\thesubtask}{\alph{subtask}}
|
\renewcommand{\thesubtask}{\alph{subtask}}
|
||||||
\renewcommand{\thetask}{\thesection.\oldthetask}
|
\renewcommand{\thetask}{\thesection.\oldthetask}
|
||||||
@ -60,6 +66,7 @@
|
|||||||
|
|
||||||
\newcommand{\NP}{\texttt{NP}\xspace}
|
\newcommand{\NP}{\texttt{NP}\xspace}
|
||||||
\newcommand{\NPC}{\texttt{NPC}\xspace}
|
\newcommand{\NPC}{\texttt{NPC}\xspace}
|
||||||
|
\newcommand{\NPH}{\texttt{NPH}\xspace}
|
||||||
\newcommand{\NPI}{\texttt{NPI}\xspace}
|
\newcommand{\NPI}{\texttt{NPI}\xspace}
|
||||||
\renewcommand{\P}{\texttt{P}\xspace}
|
\renewcommand{\P}{\texttt{P}\xspace}
|
||||||
|
|
||||||
@ -86,6 +93,3 @@
|
|||||||
\floatstyle{plain}
|
\floatstyle{plain}
|
||||||
\newfloat{program}{thp}{lop}
|
\newfloat{program}{thp}{lop}
|
||||||
\floatname{program}{Program}
|
\floatname{program}{Program}
|
||||||
|
|
||||||
\renewcommand\leq\leqslant
|
|
||||||
\renewcommand\geq\geqslant
|
|
||||||
|
@ -343,24 +343,24 @@ Co za tym idzie, z definicji przybliżalności wynika, że:
|
|||||||
|
|
||||||
ponieważ wiemy, że liczba krawędzi w grafie jest zawsze liczbą naturalną ($N_\text{opt} \in \mathbb{N}$ oraz $N \in \mathbb{N}$),
|
ponieważ wiemy, że liczba krawędzi w grafie jest zawsze liczbą naturalną ($N_\text{opt} \in \mathbb{N}$ oraz $N \in \mathbb{N}$),
|
||||||
wystarczy że w nierówności \ref{eqn:2013:fptas} będzie spełniony warunek
|
wystarczy że w nierówności \ref{eqn:2013:fptas} będzie spełniony warunek
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\label{eqn:2013:fptas-condition}
|
\label{eqn:2013:fptas-condition}
|
||||||
N\varepsilon < 1
|
N\varepsilon < 1
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
A uzyskamy
|
A uzyskamy
|
||||||
|
|
||||||
\begin{equation*}
|
\begin{equation*}
|
||||||
N \leq N_\text{opt} \leq N + N\varepsilon \Rightarrow N \leq N_\text{opt} \leq N
|
N \leq N_\text{opt} \leq N + N\varepsilon \Rightarrow N \leq N_\text{opt} \leq N
|
||||||
\end{equation*}
|
\end{equation*}
|
||||||
\begin{equation*}
|
\begin{equation*}
|
||||||
N_\text{opt} = N
|
N_\text{opt} = N
|
||||||
\end{equation*}
|
\end{equation*}
|
||||||
|
|
||||||
czyli algorytm zwróci nam odpowiedź dokładną.
|
czyli algorytm zwróci nam odpowiedź dokładną.
|
||||||
|
|
||||||
Należy więc udowodnić że dla każdych danych wejściowych jesteśmy w stanie znaleźć dostatecznie mały $\varepsilon$, który spowoduje że nasza odpowiedź będzie dokładna. Aby tego dokonać ograniczmy przybliżoną odpowiedź algorytmu z dołu. Oczywistym jest, że w grafie o $m$ krawędziach nie będzie grafu o ilości krawędzi $N$ większej niż $m$, a już na pewno większej niż $m+1$:
|
Należy więc udowodnić że dla każdych danych wejściowych jesteśmy w stanie znaleźć dostatecznie mały $\varepsilon$,
|
||||||
|
który spowoduje że nasza odpowiedź będzie dokładna. Aby tego dokonać ograniczmy przybliżoną odpowiedź algorytmu z
|
||||||
|
dołu. Oczywistym jest, że w grafie o $m$ krawędziach nie będzie grafu o ilości krawędzi $N$ większej niż $m$, a już
|
||||||
|
na pewno większej niż $m+1$:
|
||||||
\begin{equation*}
|
\begin{equation*}
|
||||||
N < m + 1
|
N < m + 1
|
||||||
\end{equation*}
|
\end{equation*}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
%! TEX root = main.tex
|
%! TEX root = ../main.tex
|
||||||
|
|
||||||
\section{25.01.2018 kolokwium \#2}
|
\section{25.01.2018 kolokwium \#2}
|
||||||
\task Rozważ problem wyznaczania wartości indeksu chromatycznego $n$-wierzchołkowego grafu $G$, czyli $\chi'(G)$.
|
\task Rozważ problem wyznaczania wartości indeksu chromatycznego $n$-wierzchołkowego grafu $G$, czyli $\chi'(G)$.
|
||||||
@ -128,15 +128,48 @@ Uzasadnij prawdziwość lub fałszywość następujących twierdzeń dotyczącyc
|
|||||||
\begin{table}[H]
|
\begin{table}[H]
|
||||||
\centering
|
\centering
|
||||||
\begin{tabular}{rl|c|c}
|
\begin{tabular}{rl|c|c}
|
||||||
& klasa & Weryfikowalne & Rozwiązywalne \\\hline
|
& klasa & Weryfikowalne \dag & Rozwiązywalne \dag \\\hline
|
||||||
\subtask & \P & & \\
|
\subtask & \P & & \\
|
||||||
\subtask & \NP & & \\
|
\subtask & \NP & & \\
|
||||||
\subtask & \NPC & & \\
|
\subtask & \NPC & & \\
|
||||||
\subtask & \NP-trudne & & \\
|
\subtask & \NP-trudne & & \\
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
\noindent\dag\ w czasie wielomianowym
|
||||||
\note{W niektórych wypadkach więcej niż jedna odpowiedź jest poprawna}
|
\note{W niektórych wypadkach więcej niż jedna odpowiedź jest poprawna}
|
||||||
|
|
||||||
|
\begin{solution}
|
||||||
|
Z definicji, problemy klasy \P da się rozwiązać w czasie wielomianowym - a ponieważ da się je rozwiązać to również
|
||||||
|
da sie sprawdzić poprawnosć rozwiązania (wystarczy rozwiązać i porównać) w czasie wielomianowym.
|
||||||
|
|
||||||
|
Wiadomo, że wszystkie problemy z klasy \NP są weryfikowalne w czasie wielomianowym - nie wiemy natomiast czy
|
||||||
|
problemy te możemy w czasie wielomianowym rozwiązać. Jednak należy pamiętać, że klasa $\P \subseteq \NP$ - zatem w
|
||||||
|
klasie \NP z pewnością są też problemy, które możemy rozwiązać w czasie wielomianowym.
|
||||||
|
|
||||||
|
Ponieważ $\NPC \subseteq \NP$ to na pewno ich rozwiązania da się zweryfikować w czasie wielomianowym. Gdybyśmy wiedzieli
|
||||||
|
jednak, że jakiegoś problemu \NPC nie da się rozwiązać w czasie wielomianowym to znaczyłoby to, że $\P \neq \NP$,
|
||||||
|
podobnie gdybyśmy wiedzieli, że któryś problem \NPC da się rozwiązać w czasie wielomianowym to na pewno prawdą
|
||||||
|
byłoby, że $\P = \NP$. A że nie wiemy czy $\P = \NP$ tak też nie wiemy nic na temat rozwiązywalności problemów \NPC
|
||||||
|
w czasie wielomianowym.
|
||||||
|
|
||||||
|
Problemy \NP-trudne to problemy conajmniej tak trudne jak najtrudniejsze problemy w klasie \NP, zatem w pewnym
|
||||||
|
sensie prawdą jest, że $\NPC = \NP \cap \NPH$. Stąd wynika, że w klasie \NPH na pewno są problemy, które da się
|
||||||
|
zweryfikować w czasie wielomianowym, o których rozwiązaniu nic nie wiadomo. Ponieważ jednak są to propblemy
|
||||||
|
\textit{conajmniej} tak trudne to klasa ta zawiera też problemy niealgorytmiczne, których nie da się ani rozwiązać
|
||||||
|
ani zweryfikować w czasie rzeczywistym.
|
||||||
|
|
||||||
|
\begin{table}[H]
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{rl|c|c}
|
||||||
|
& klasa & Weryfikowalne \dag & Rozwiązywalne \dag \\\hline
|
||||||
|
\subtask & \P & \textbf{TAK} & \textbf{TAK} \\
|
||||||
|
\subtask & \NP & \textbf{TAK} & \textbf{TAK}, \textbf{NW} \\
|
||||||
|
\subtask & \NPC & \textbf{TAK} & \textbf{NW} \\
|
||||||
|
\subtask & \NP-trudne & \textbf{TAK}, \textbf{NIE} & \textbf{NW}, \textbf{NIE} \\
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
\end{solution}
|
||||||
|
|
||||||
\task Algorytm \textit{Largest First} (\problem{LF}) dla kolorowania wierzchołków grafu maluje je zachłannie
|
\task Algorytm \textit{Largest First} (\problem{LF}) dla kolorowania wierzchołków grafu maluje je zachłannie
|
||||||
poczynając od wierzchołka o najwyższym stopniu i kończąc na weierzchołku o najniższym stopniu.
|
poczynając od wierzchołka o najwyższym stopniu i kończąc na weierzchołku o najniższym stopniu.
|
||||||
\subtask Oszacuj złożoność obliczeniową algorytmu \problem{LF} jako funnkcję $n$ za pomocą symbolu $\Theta$
|
\subtask Oszacuj złożoność obliczeniową algorytmu \problem{LF} jako funnkcję $n$ za pomocą symbolu $\Theta$
|
||||||
@ -146,11 +179,10 @@ poczynając od wierzchołka o najwyższym stopniu i kończąc na weierzchołku o
|
|||||||
\subtask Udowodnij, że \problem{LF} jest $k$-bezwzględnie aproksymacyjny i $l$-wzzględnie aproksymacyjny w odniesieniu
|
\subtask Udowodnij, że \problem{LF} jest $k$-bezwzględnie aproksymacyjny i $l$-wzzględnie aproksymacyjny w odniesieniu
|
||||||
do grafów kubicznych tj. ustal wartości k i l
|
do grafów kubicznych tj. ustal wartości k i l
|
||||||
|
|
||||||
\task \textit{Kolorowanie Kosztowe} (\problem{KK}) polega na tym, że kolory mają swoje koszty
|
\task \textit{Kolorowanie Kosztowe} (\problem{KK}) polega na tym, że kolory mają swoje koszty $c_1 \leq c_2 \leq \ldots
|
||||||
$c_1 \leq c_2 \leq \ldots \leq c_n$ i za każdym razem, gdy kolorujemy kolejny wierzchołek, przydzielamy mu koszt tego
|
\leq c_n$ i za każdym razem, gdy kolorujemy kolejny wierzchołek, przydzielamy mu koszt tego koloru. Problem polaga na
|
||||||
koloru. Problem polaga na tym, by tak pokolrowoać graf aby sumaryczny koszt kolorowania $\text{skk}(G)$ wszystkich
|
tym, by tak pokolrowoać graf aby sumaryczny koszt kolorowania $\text{skk}(G)$ wszystkich wierzchołków był jak
|
||||||
wierzchołków był jak najmniejszy. Udowodnij, że nawet jeżeli $c_1 = c_2 = \ldots = c_k \leq c_{k+1}$ to problem ten
|
najmniejszy. Udowodnij, że nawet jeżeli $c_1 = c_2 = \ldots = c_k \leq c_{k+1}$ to problem ten jest \NP-trudny.
|
||||||
jest \NP-trudny.
|
|
||||||
|
|
||||||
\begin{solution}
|
\begin{solution}
|
||||||
Aby udowodnić, że problem jest \NP-trudny musimy udowodnić, że jego wersja decyzyjna jest \NPC. W wypadku tego
|
Aby udowodnić, że problem jest \NP-trudny musimy udowodnić, że jego wersja decyzyjna jest \NPC. W wypadku tego
|
||||||
@ -177,7 +209,7 @@ jest \NP-trudny.
|
|||||||
poniesiemy będzie na pewno większy niż $n$. Zatem graf da się pokolorować kosztem $n$ tylko kiedy graf da się
|
poniesiemy będzie na pewno większy niż $n$. Zatem graf da się pokolorować kosztem $n$ tylko kiedy graf da się
|
||||||
pokolorować $k$ kolorami, gdzie koszt każdego koloru wynosi $1$. Nasza $\alpha$-redukcja będzie zatem następująca:
|
pokolorować $k$ kolorami, gdzie koszt każdego koloru wynosi $1$. Nasza $\alpha$-redukcja będzie zatem następująca:
|
||||||
\begin{equation*}
|
\begin{equation*}
|
||||||
G, k \rightarrow \underset{G}{G}, \underset{c}{n}, \underset{c_k}{1}, \underset{k}{k}, \underset{c_{k+1}}{2}, \underset{c_{k+1}}{2}, \ldots
|
G, k \rightarrow \underset{G}{G}, \underset{c}{n}, \underset{c_k}{1}, \underset{k}{k}, \underset{c_{k+1}}{2}, \underset{c_{k+2}}{2}, \ldots
|
||||||
\end{equation*}
|
\end{equation*}
|
||||||
\end{solution}
|
\end{solution}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user