# Fleißiger Biber

Fleißige Biber (auch englisch busy beaver) sind spezielle Turingmaschinen, die möglichst viele Einsen auf das Band schreiben und die nach einer endlichen Anzahl Rechenschritte den Halt-Zustand einnehmen (also anhalten). Die Radó-Funktion (auch Fleißiger-Biber-Funktion) gibt die maximale Anzahl der Einsen an, die ein fleißiger Biber mit einer gegebenen Anzahl von Zuständen schreiben kann. Beides wurde erstmals 1962 vom ungarischen Mathematiker Tibor Radó betrachtet.
Die Fleißiger-Biber-Funktion ist in der theoretischen Informatik ein Standardbeispiel für eine wohldefinierte, aber im Allgemeinen nicht berechenbare Funktion.

## Formelle Betrachtung
### Definition

Nach Radó ist ein fleißiger Biber eine Turingmaschine, die wie üblich $n$ Zustände und einen Halt-Zustand einnehmen kann. Im Gegensatz zur allgemeinen Definition einer Turingmaschine unterliegt er jedoch speziellen Regeln. So muss ein fleißiger Biber als Bewegungsschritt immer entweder nach links oder rechts auf dem Band gehen. Es gibt hier also keine Anweisung zum Verharren auf einem Feld. Ein fleißiger Biber erwartet auch keine leeren Felder, sondern nur welche, die bereits einen Wert aus dem ihm bekannten zweielementigen Alphabet $\{0,1\}$ enthalten. Das Band, auf das der fleißige Biber aufgesetzt wird, ist zuvor vollständig mit Nullen gefüllt. Ein fleißiger Biber muss nach einer endlichen Anzahl Schritte den Halt-Zustand einnehmen, darf also nicht in eine Endlosschleife geraten. Er muss nach dem Anhalten die maximale Anzahl $k_{n}$ von Einsen geschrieben haben, verglichen mit allen anderen Turingmaschinen mit ebenfalls $n$ Zuständen, die nach den gleichen Regeln arbeiten. Nur Turingmaschinen, die nicht halten, könnten mehr Einsen schreiben, wären dann aber keine fleißigen Biber.

### Fleißiger-Biber-Funktion

Über die maximale Anzahl $k_{n}$ von Einsen, die ein fleißiger Biber mit $n$ Zuständen schreibt, ist der Wert der Fleißiger-Biber-Funktion (auch Radó-Funktion) an der Stelle $n$ definiert: $\Sigma (n)=k_{n}$.

### Nicht lösbares Problem

Die Bestimmung der fleißigen Biber ist ein Problem, das nicht allgemein (für alle $n$) algorithmisch lösbar ist. So ist nicht generell entscheidbar, ob eine gegebene Turingmaschine mit $n$ Zuständen tatsächlich eine maximale Anzahl von Einsen auf das Band schreibt. Für einzelne Turingmaschinen geringer Komplexität ist das allerdings möglich. Also ist die Menge der Werte von $\Sigma (n)$ weder entscheidbar noch rekursiv aufzählbar, obwohl $\Sigma (n)$ wohldefiniert ist. Da auch das Komplement dieser Menge nicht rekursiv aufzählbar ist, wird diese Menge gerne als Beispiel für eine Sprache gewählt, die nicht in der ersten Stufe der arithmetischen Hierarchie liegt.
Wegen dieser Eigenschaften der Wertemenge ist die Funktion $\Sigma$ nicht berechenbar. Man kann außerdem zeigen, dass ihr asymptotisches Wachstum stärker ist als das jeder berechenbaren Funktion.

## Praktische Betrachtung

In der Praxis hat sich gezeigt, dass schon für $n>5$ eine Erkenntnis über den Wert $\Sigma (n)$ realistisch gesehen nicht mehr möglich zu sein scheint. Dazu müsste man für jede einzelne Turingmaschine mit $n$ Zuständen jeweils herausfinden, nach wie vielen Schritten sie hält, oder anderenfalls beweisen, dass sie das nicht tut. Für eine gegebene Anzahl $n$ von Zuständen (plus einem Haltezustand) gibt es bei einem Alphabet mit zwei Zeichen $(2\cdot 2\cdot (n+1))^{2n}$ verschiedene Turingmaschinen, denn für jeden der $n$ Eingangszustände muss jeweils für jedes der beiden möglichen gelesenen Symbole festgelegt werden, welches der beiden Symbole auf das Band geschrieben werden soll und in welche Richtung der Lesekopf bewegt werden soll und welchen der $n+1$ möglichen Zustände die Turingmaschine danach annehmen soll. Schon bei $n=5$ möglichen Eingangszuständen müssen somit $24^{10}$ verschiedene Turingmaschinen betrachtet werden. Für $n=6$ ist die aktuell bekannte Untergrenze von Schritten bereits weit größer als die Anzahl der Atome im beobachtbaren Universum, außerdem müssen für den Nachweis Collatz-ähnliche Probleme gelöst werden.
Der Bulgare Georgi Georgiev veröffentlichte 2003 eine Untersuchung, in der er fleißige Biber daraufhin analysierte, ob sie anhalten würden oder nicht. Für $n=5$ entzogen sich lediglich knapp über 40 fleißige Biber einem gesicherten Ergebnis, da sie aufgrund besonderer Verhaltensweisen nicht mit den von Georgiev angewandten Methoden abschließend zu analysieren waren. Von denen, die als terminierend (anhaltend) bestimmt wurden, schreibt keiner mehr als 4098 Einsen auf das Band.
In internationaler Zusammenarbeit via The Busy Beaver challenge wurden ab 2022 verbleibende Maschinen für $n=5$ mit irregulärem Verhalten untersucht und schließlich durch mxdys (Pseudonym) ein algorithmischer Beweis in Coq zusammengestellt, der den bereits 1989 von Jürgen Buntrock und Heiner Marxen gefundenen Rekordhalter für BB(5) final bestätigt hat.
    Zustände $n$Turing- maschinen$\Sigma (n)$$S\left(n\right)$JahrAutor(en) Quelle 164111962Radó 220.736461962Radó 316.777.2166211965Lin, Radó 42,56⋅10$^{10}$131071972Weimann, Casper, Fenzel 5≈ 6,34⋅10$^{13}$409847.176.8702024Kooperation 6≈ 2,32⋅10$^{17}$> 10↑↑15 = 10$^{10.·.·.·10}$ (Potenzturm mit 15 Zehnen)2022Pavel Kropitz 7≈ 1,18⋅10$^{21}$Wert kann nicht sinnvoll ausgedrückt werden

## Beispiele
### Fleißiger Biber mit 1 Zustand

    $M=(\{q_{0},q_{f}\},\{\},\{0,1\},\delta ,q_{0},0,\{q_{f}\})$
Die partielle Überführungsfunktion $\delta$ ist wie folgt definiert:
| aktueller Zustand | geles. Symbol | | schr. Symbol | neuer Zustand | Kopf- richtung |
| $q_{0}$ | 0 | → | 1 | $q_{f}$ | R |
$M$ durchläuft folgende Zustände, wobei die aktuelle Kopfposition fett gedruckt ist:
| Schritt | Zust. | Band |
| 1 | $q_{0}$ | 00 |
| hält | $q_{f}$ | 10 |

### Fleißiger Biber mit 2 Zuständen

$M=(\{q_{0},q_{1},q_{f}\},\{\},\{0,1\},\delta ,q_{0},0,\{q_{f}\})$
Die Überführungsfunktion $\delta$ ist wie folgt definiert:
| aktueller Zustand | geles. Symbol | | schr. Symbol | neuer Zustand | Kopf- richtung |
| $q_{0}$ | 0 | → | 1 | $q_{1}$ | R |
| $q_{0}$ | 1 | → | 1 | $q_{1}$ | L |
| $q_{1}$ | 0 | → | 1 | $q_{0}$ | L |
| $q_{1}$ | 1 | → | 1 | $q_{f}$ | R |
$M$ durchläuft folgende Zustände, wobei die aktuelle Kopfposition fett gedruckt ist:
| Schritt | Zust. | Band |
| 1 | $q_{0}$ | …0000000… |
| 2 | $q_{1}$ | …0001000… |
| 3 | $q_{0}$ | …0001100… |
| 4 | $q_{1}$ | …0001100… |
| 5 | $q_{0}$ | …0011100… |
| 6 | $q_{1}$ | …0111100… |
| hält | $q_{f}$ | …0111100… |

### Fleißiger Biber mit 3 Zuständen

$M=(\{q_{0},q_{1},q_{2},q_{f}\},\{\},\{0,1\},\delta ,q_{0},0,\{q_{f}\})$
Die Überführungsfunktion $\delta$ ist wie folgt definiert:
| aktueller Zustand | geles. Symbol | | schr. Symbol | neuer Zustand | Kopf- richtung |
| $q_{0}$ | 0 | → | 1 | $q_{1}$ | R |
| $q_{0}$ | 1 | → | 1 | $q_{f}$ | R |
| $q_{1}$ | 0 | → | 0 | $q_{2}$ | R |
| $q_{1}$ | 1 | → | 1 | $q_{1}$ | R |
| $q_{2}$ | 0 | → | 1 | $q_{2}$ | L |
| $q_{2}$ | 1 | → | 1 | $q_{0}$ | L |
$M$ durchläuft folgende Zustände, wobei die aktuelle Kopfposition fett gedruckt ist:
| Schritt | Zust. | Band |
| 1 | $q_{0}$ | 000000 |
| 2 | $q_{1}$ | 010000 |
| 3 | $q_{2}$ | 010000 |
| 4 | $q_{2}$ | 010100 |
| 5 | $q_{2}$ | 011100 |
| 6 | $q_{0}$ | 011100 |
| 7 | $q_{1}$ | 111100 |
| 8 | $q_{1}$ | 111100 |
| Schritt | Zust. | Band |
| 9 | $q_{1}$ | 111100 |
| 10 | $q_{1}$ | 111100 |
| 11 | $q_{2}$ | 111100 |
| 12 | $q_{2}$ | 111101 |
| 13 | $q_{2}$ | 111111 |
| 14 | $q_{0}$ | 111111 |
| hält | $q_{f}$ | 111111 |

## Die Funktion S

Radó definierte zusätzlich eine Funktion $S(n)$, deren Wert die maximale Anzahl an Schritten einer haltenden Turingmaschine mit zweielementigem Alphabet und $n$ Zuständen ist. Auch diese Funktion $S$ ist nicht berechenbar; wäre sie es, so wäre das Halteproblem mit leerem Eingabeband entscheidbar, denn eine Turingmaschine mit $n$ Zuständen, die mehr als $S(n)$ Schritte macht, hält nie.
Da in jedem Schritt maximal eine Eins geschrieben werden kann, gilt
    $S(n)\geq \Sigma (n)$.
Zwischen den Funktionen $\Sigma$ und $S$ besteht weiterhin die folgende Beziehung.
    $S(n)<\Sigma (3n+6)$.

## Zusammenhängende Kette von Einsen

Eine ebenfalls nicht berechenbare Funktion ergibt sich, wenn die zusätzliche Beschränkung eingeführt wird, dass alle Einsen eine zusammenhängende Kette bilden müssen.
Als Bezeichnung dafür hat sich $\sigma (n)$ eingebürgert.
1965 hat C. Dunham eine weitere Variante der Funktion des fleißigen Bibers angegeben. $D(n)$ ist definiert als die maximale Anzahl Einsen, die eine Turingmaschine mit zweielementigem Alphabet und $n$ Zuständen schreiben kann, wenn sie auf ein Band mit einem Block von $n$ Einsen angesetzt wird und dabei hält. Wäre diese Funktion berechenbar, so gäbe es auch eine Turingmaschine M mit zweielementigem Alphabet, die $n\mapsto D(n)+1$ berechnet. Diese Turingmaschine habe $m$ Zustände. Dann wäre $D(m)+1=M(m)\leq D(m)$, wobei das Gleichheitszeichen gerade die Definition von M ist, und das $\leq$-Zeichen daher rührt, dass M ja eine Maschine mit $m$ Zuständen ist und angesetzt auf $m$ (d. h. auf einen Block aus $m$ Einsen) hält und daher nach Definition von D die Ungleichung $M(m)\leq D(m)$ erfüllen muss. Dieser Widerspruch zeigt die Nicht-Berechenbarkeit von D.