Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Fleißiger Biber

Die Fleißiger-Biber-Funktion ist in der theoretischen Informatik ein Standardbeispiel für eine wohldefinierte, aber im Allgemeinen nicht berechenbare Funktion.

Inhalt5 Abschnitte
  1. 1. Grundidee und Definition
  2. 2. Funktionen und Zusammenhänge
  3. 3. Warum das Problem nicht allgemein lösbar ist
  4. 4. Praktische Suche und bekannte Werte
  5. 5. Beispiele kleiner Maschinen

Grundidee und Definition

Ein fleißiger Biber (englisch busy beaver) ist eine besondere Turingmaschine, die auf einem vollständig mit Nullen gefüllten Band arbeitet, möglichst viele Einsen schreibt und nach endlich vielen Rechenschritten anhält. Das Konzept und die zugehörige Funktion wurden 1962 von Tibor Radó betrachtet. In der theoretischen Informatik sind sie wichtige Beispiele dafür, dass eine Funktion eindeutig definiert sein kann, ohne allgemein berechenbar zu sein.

Ein fleißiger Biber besitzt n Arbeitszustände und zusätzlich einen Halt-Zustand. Sein Bandalphabet ist {0,1}. Bei jedem Schritt liest die Maschine ein Symbol, schreibt 0 oder 1, bewegt ihren Lese- und Schreibkopf genau ein Feld nach links oder rechts und wechselt in einen neuen Zustand. Das Verharren auf einem Feld ist nicht erlaubt. Die Maschine muss schließlich den Halt-Zustand erreichen; Maschinen mit Endlosschleifen zählen nicht.

Unter allen nach diesen Regeln arbeitenden und haltenden Maschinen mit n Zuständen ist ein fleißiger Biber eine Maschine, die die maximale Anzahl k_n von Einsen hinterlässt. Nicht haltende Maschinen könnten zwar noch mehr Einsen schreiben, erfüllen aber die Definition nicht.

Funktionen und Zusammenhänge

Die Fleißiger-Biber-Funktion oder Radó-Funktion gibt die größtmögliche Zahl geschriebener Einsen an:

Σ(n) = k_n.

Radó definierte außerdem S(n) als die maximale Schrittzahl einer haltenden Turingmaschine mit zweielementigem Alphabet und n Zuständen. Da in jedem Schritt höchstens eine Eins geschrieben werden kann, gilt S(n) ≥ Σ(n). Außerdem besteht die Beziehung S(n) < Σ(3n+6). Auch S ist nicht berechenbar: Könnte man S(n) bestimmen, ließe sich nach spätestens S(n) Schritten entscheiden, ob eine Maschine mit n Zuständen noch anhalten kann. Damit wäre das Halteproblem für ein leeres Eingabeband entscheidbar.

Die ebenfalls nicht berechenbare Funktion σ(n) entsteht durch die zusätzliche Forderung, dass alle geschriebenen Einsen eine zusammenhängende Kette bilden müssen.

C. Dunham definierte 1965 die Variante D(n): Sie bezeichnet die maximale Anzahl Einsen, die eine haltende Maschine mit zweielementigem Alphabet und n Zuständen erzeugt, wenn sie auf einem Band mit einem Anfangsblock aus n Einsen startet. D ist nicht berechenbar. Andernfalls könnte eine Maschine M mit m Zuständen die Funktion n ↦ D(n)+1 berechnen. Für n=m ergäbe sich der Widerspruch D(m)+1 = M(m) ≤ D(m).

Warum das Problem nicht allgemein lösbar ist

Es gibt keinen Algorithmus, der für jede Zustandszahl n die fleißigen Biber beziehungsweise Σ(n) bestimmt. Insbesondere lässt sich nicht allgemein entscheiden, ob eine gegebene Maschine anhält und dabei tatsächlich die größtmögliche Anzahl von Einsen schreibt. Für einzelne, hinreichend einfache Maschinen kann ein solcher Nachweis dennoch gelingen.

Die Wertemenge von Σ(n) ist weder entscheidbar noch rekursiv aufzählbar. Auch ihr Komplement ist nicht rekursiv aufzählbar. Deshalb dient sie als Beispiel für eine Sprache, die nicht in der ersten Stufe der arithmetischen Hierarchie liegt. Die Funktion Σ selbst ist nicht berechenbar; ihr asymptotisches Wachstum ist stärker als das jeder berechenbaren Funktion.

Praktische Suche und bekannte Werte

Die praktische Schwierigkeit wächst außerordentlich schnell. Bei n Zuständen und einem zusätzlichen Halt-Zustand gibt es für ein Alphabet aus zwei Zeichen

(2·2·(n+1))^(2n)

verschiedene Maschinen. Für jede Kombination aus Zustand und gelesenem Symbol müssen das zu schreibende Symbol, die Bewegungsrichtung und der nächste der n+1 möglichen Zustände festgelegt werden. Bereits bei n=5 sind 24^10 Maschinen zu berücksichtigen. Für jede einzelne müsste man ihre Haltezeit ermitteln oder beweisen, dass sie niemals anhält. Für n>5 scheint eine vollständige Bestimmung von Σ(n) praktisch nicht mehr realistisch. Bei n=6 ist die bekannte Untergrenze der Schrittzahl bereits weit größer als die Zahl der Atome im beobachtbaren Universum; für Nachweise treten zudem Collatz-ähnliche Probleme auf.

Gesicherte Werte sind:

  • n=1: Σ(1)=1 und S(1)=1, bestimmt 1962 von Radó.
  • n=2: Σ(2)=4 und S(2)=6, bestimmt 1962 von Radó.
  • n=3: Σ(3)=6 und S(3)=21, bestimmt 1965 von Lin und Radó.
  • n=4: Σ(4)=13 und S(4)=107, angegeben 1972 von Weimann, Casper und Fenzel.
  • n=5: Σ(5)=4098 und S(5)=47 176 870; der Wert wurde 2024 durch internationale Zusammenarbeit bestätigt.

Bei einem Wettbewerb der Gesellschaft für Informatik Anfang 1983 an der Universität Dortmund, heute TU Dortmund, wurden 133 eingesandte Programme auf einem Siemens-7.748-Computer geprüft. Die von Uwe Schult eingesandte Sieger-Maschine schrieb 501 Einsen und benötigte 134 467 Schritte. Georgi Georgiev berichtete 2003, dass sich für n=5 knapp über 40 Maschinen mit seinen Methoden nicht abschließend auf ihr Halteverhalten untersuchen ließen; unter den als haltend erkannten schrieb keine mehr als 4098 Einsen.

Ab 2022 untersuchte The Busy Beaver Challenge die verbleibenden irregulären Maschinen für n=5. Schließlich stellte mxdys einen algorithmischen Beweis in Rocq zusammen. Damit wurde der bereits 1989 von Jürgen Buntrock und Heiner Marxen gefundene Rekordhalter endgültig bestätigt.

Für größere Maschinen nennt der Artikel nur Untergrenzen: Für n=6 gilt 2025 eine Grenze von mehr als 2↑↑↑5, verbunden mit mxdys; für n=7 eine Grenze von mehr als 2↑^11 2↑^11 3, verbunden mit Pavel Kropitz. Die Pfeile bezeichnen die Pfeilschreibweise für extrem große Zahlen.

Beispiele kleiner Maschinen

Der fleißige Biber mit einem Zustand startet in q₀ auf einer Null. Er schreibt eine Eins und geht unmittelbar in den Halt-Zustand q_f. Damit erreicht er nach einem Schritt den Bandinhalt 10 und die Werte Σ(1)=1 sowie S(1)=1. Die Überführung für den gelesenen Wert 1 muss nicht definiert werden, weil dieser Fall während des Ablaufs nie eintritt.

Die angegebene Maschine mit zwei Zuständen q₀ und q₁ schreibt insgesamt vier Einsen und hält nach sechs Schritten. Ihr relevanter Bandabschnitt lautet am Ende …0111100…. Damit erreicht sie Σ(2)=4 und S(2)=6.

Die Beispielmaschine mit drei Zuständen q₀, q₁ und q₂ hält nach 14 Schritten mit sechs Einsen, dargestellt als Bandinhalt 111111. Der bekannte Maximalwert der Schrittzahl beträgt jedoch S(3)=21; eine Maschine, die die meisten Einsen schreibt, muss also nicht zugleich die größtmögliche Zahl von Schritten ausführen.

Die angegebene Maschine mit vier Zuständen erreicht nach 107 Schritten den Halt-Zustand. Ihr Band enthält dann „…10111111111111…“, also insgesamt 13 Einsen. Sie erreicht damit sowohl Σ(4)=13 als auch S(4)=107.

Für fünf Zustände gibt der Artikel außerdem die vollständige Überführungsfunktion des später bestätigten Rekordtyps mit den Arbeitszuständen q₀ bis q₄ und dem Halt-Zustand q_f an. Seine komplexe Folge von Schreib-, Bewegungs- und Zustandswechseln führt zum Rekord von 4098 Einsen nach 47 176 870 Schritten.

Weiterlesen

Turingmaschine Eine Turingmaschine ist ein mathematisches Modell der theoretischen Informatik, das eine abstrakte Maschine definiert. Bei diesem Rechnermodell werden nach … Theoretische Informatik Ihre Inhalte sind die Automatentheorie, die Theorie der formalen Sprachen, die Berechenbarkeits- und Komplexitätstheorie, aber auch die Logik und formale … Wohldefiniertheit Wohldefiniertheit bezeichnet in der Mathematik und Informatik die Eigenschaft eines Objekts, eindeutig definiert zu sein. Der Begriff findet vor allem dann … Alphabet (Informatik) Sie stellen das Zeicheninventar für Wörter zur Verfügung und bilden damit die Grundlage für formale Sprachen. Man muss unterscheiden zwischen dem Alphabet aus … Endlosschleife (Programmierung) Eine Endlosschleife ist in der Programmierung eine Schleife, die nach jeder Abarbeitung erneut abgearbeitet wird, falls die Ausführung nicht durch äußere … Funktion (Mathematik) In der Mathematik ist eine Funktion (lateinisch functio) oder Abbildung eine Beziehung (Relation) zwischen zwei Mengen, die jedem Element der einen Menge … Halteproblem Das Halteproblem beschreibt eine Frage aus der theoretischen Informatik. Wenn für eine Berechnung mehrere Rechenschritte nach festen Regeln durchgeführt … Komplement (Mengenlehre) In der Mengenlehre und anderen Teilgebieten der Mathematik sind zwei verschiedene Komplemente definiert: Das relative Komplement und das absolute Komplement. Zielmenge Die Definitionsmenge ( A {\displaystyle A} · Die Zielmenge ( B {\displaystyle B} · Die Bildmenge besteht aus den Elementen b, c, d. · Definitionsbereich ist ein … Collatz-Problem Darstellung im Dualsystem. Bearbeiten. Im Dualsystem kann besonders einfach zwischen einer geraden und einer ungeraden natürlichen Zahl unterschieden werden … On-Line Encyclopedia of Integer Sequences Die On-Line Encyclopedia of Integer Sequences (OEIS; deutsch Online-Enzyklopädie der Zahlenfolgen) ist eine englischsprachige Datenbank von Folgen ganzer …