mirror of
https://github.com/janishutz/eth-summaries.git
synced 2025-11-25 10:34:23 +00:00
[TI] More on kolmogorov-complexity
This commit is contained in:
2
latex
2
latex
Submodule latex updated: 4a98d7d3af...6c75936b18
@@ -25,11 +25,11 @@ Ein Pascal-Programm in diesem Kurs ist zudem nicht zwingend ein Programm in der
|
|||||||
\end{lemma}
|
\end{lemma}
|
||||||
\inlineproof Für jedes $x \in \wordbool$ kann folgendes Programm $A_x$ verwendet werden:
|
\inlineproof Für jedes $x \in \wordbool$ kann folgendes Programm $A_x$ verwendet werden:
|
||||||
|
|
||||||
\begin{minted}{pascal}
|
\begin{code}{pascal}
|
||||||
A_x: begin
|
$A_x$: begin
|
||||||
write(x);
|
write(x);
|
||||||
end
|
end
|
||||||
\end{minted}
|
\end{code}
|
||||||
Alle Teile, ausser $x$ sind dabei von konstanter Länge, also ist die Länge der Bit-repräsentation des Programms ausschliesslich von der binären Länge des Wortes $x$ abhängig.
|
Alle Teile, ausser $x$ sind dabei von konstanter Länge, also ist die Länge der Bit-repräsentation des Programms ausschliesslich von der binären Länge des Wortes $x$ abhängig.
|
||||||
|
|
||||||
\proven
|
\proven
|
||||||
@@ -42,4 +42,14 @@ Deshalb haben diese Wörter auch (meist) eine kleinere Kolmogorov-Komplexität.
|
|||||||
\fancydef{$K(n)$ für $n \in \N$} Die \bi{Kolmogorov-Komplexität einer natürlichen Zahl $n$} ist $K(n) = K(\text{Bin}(n))$,
|
\fancydef{$K(n)$ für $n \in \N$} Die \bi{Kolmogorov-Komplexität einer natürlichen Zahl $n$} ist $K(n) = K(\text{Bin}(n))$,
|
||||||
wobei $\text{Bin}(x) = \ceil{\log_2(x + 1)}$ % TODO: Verify correctness here
|
wobei $\text{Bin}(x) = \ceil{\log_2(x + 1)}$ % TODO: Verify correctness here
|
||||||
|
|
||||||
\inlinelemma Für jede Zahl $n \in \N - \{ 0 \}$ existiert ein Wort $w_n \in (\alphabets{bool})^n$
|
\inlinelemma Für jede Zahl $n \in \N - \{ 0 \}$ existiert ein Wort $w_n \in (\alphabets{bool})^n$ so dass $K(w_n) \geq |w_n| = n$, oder in Worten, es existiert für jedes $n$ ein nicht komprimierbares Wort.
|
||||||
|
|
||||||
|
Eine wichtige Eigenschaft der Kolmogorov-Komplexität ist, dass sie nicht wirklich von der gewählten Programmiersprache abhängt.
|
||||||
|
Man kann also beliebig auch \texttt{C++}, \texttt{Swift}, \texttt{Python}, \texttt{Java} oder welche auch immer, ohne dass die Kolmogorov-Komplexität um mehr als eine Konstante wächst (auch wenn diese bei \texttt{Java} sehr gross ist):
|
||||||
|
|
||||||
|
\begin{theorem}[]{Unterschiedliche Programmiersprachen}
|
||||||
|
Für jede Programmiersprachen $A$ und $B$ existiert eine Konstante $c_{A,B}$, die nur von $A$ und $B$ abhängig ist, so dass für alle $x \in \wordbool$ gilt:
|
||||||
|
\begin{align*}
|
||||||
|
|K_A(x) - K_B(x)| \leq c_{A, B}
|
||||||
|
\end{align*}
|
||||||
|
\end{theorem}
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
\documentclass{article}
|
\documentclass{article}
|
||||||
|
|
||||||
\newcommand{\dir}{~/projects/latex}
|
\newcommand{\dir}{../../latex}
|
||||||
\input{\dir/include.tex}
|
\input{\dir/include.tex}
|
||||||
\load{full}
|
\load{full}
|
||||||
\setLang{de}
|
\setLang{de}
|
||||||
|
|||||||
Reference in New Issue
Block a user