[TI] More on kolmogorov-complexity

This commit is contained in:
2025-09-29 13:20:09 +02:00
parent a9d532842f
commit 0a7b8bc75f
4 changed files with 19 additions and 9 deletions

2
latex

Submodule latex updated: 4a98d7d3af...6c75936b18

View File

@@ -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.

View File

@@ -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}