Sind Boolesche Funktionen Turing abgeschlossen?

9

Eine Boolesche Funktion ist eine Funktion .f::{0,1}}n{0,1}}

Die boolesche Basis ist bekanntermaßen Turing-vollständig, da jede Sequenz umgedreht oder unverändert gelassen werden kann. Gleiches gilt für Gates.s { 0 , 1 } X O R.(,)s{0,1}}X.ÖR.

In diesem Sinne können wir mit einer anfänglichen Maschinenkonfiguration so dass und es mit aufeinanderfolgenden Werten :b i{ 0 , 1 } X O R v ib=(b1,,bn)bich{0,1}}X.ÖR.vich

bv1v2v3

Jeder Zustand würde eine Permutation eines Elements in . Dieser Prozess ahmt effektiv eine Turing-Maschine nach und setzt voraus, dass es einen Generator für die Werte .b v ivichbvich

Können wir also sagen, dass Boolesche Funktionen Turing abgeschlossen sind?

user13675
quelle
1
Wie könnte diese Maschinerie in einer Endlosschleife stecken bleiben?
Guildenstern
Ich denke, die Sache ist, dass der Boolesche Schaltungsformalismus zwar isomorph zum Turing-Formalismus ist, Ihnen aber nicht sagt, wie man ein solches Programm erstellt oder generiert ... Sie müssen nur die Werte "kennen" ...vich
user13675

Antworten:

8

Informell ist eine (Programmier-) Sprache Turing vollständig, wenn jede berechenbare Funktion eine Darstellung hat. Eine allgemeine berechenbare Funktion akzeptiert eine Eingabe beliebiger Größe. Boolesche Funktionen akzeptieren dagegen eine Eingabe fester Größe. Daher Booleschen Funktionen auch nicht qualifizieren als potenziell Turing-vollständig.

Der relevante Begriff der Vollständigkeit ist hier eine vollständige Grundlage von Konnektiven. Eine Reihe von Konnektiven ( -ary-Funktionen für Boolesche Werte für beliebiges ) ist vollständig, wenn jede Boolesche Funktion für (für beliebiges ) mithilfe der Konnektiva dargestellt werden kann. Die folgenden Sätze sind vollständig: die de Morgan-Basis und die Basis . Im Gegensatz dazu ist nicht vollständig: Es kann nur lineare Funktionen ausdrücken.kkx1,,xnn1{¬,,}}{¬,}}{¬,}}

Yuval Filmus
quelle
Wäre ihr Gegenstück, die Booleschen Schaltkreise, vollständig? Ich vermute, dass dies der Fall ist, seit Cook (in seinem Beweis der NP-Vollständigkeit von 3SAT) gezeigt hat, wie Turing-Maschinen und Boolesche Schaltkreise gleichwertig sind.
user13675
@ user13675 Nein, es ist genau das gleiche Problem. Jede anhaltende Turing-Maschine mit kann für jede Eingangsgröße in eine äquivalente Boolesche Schaltung oder Formel umgewandelt werden, für jede Größe benötigen Sie jedoch eine andere.
Yuval Filmus
5

Genau genommen, wie YF geantwortet hat, können endliche Schaltkreise nicht vollständig sein.

Erwähnenswert ist jedoch ein Hinweis auf diese Frage (und vielleicht auch das, wonach Sie suchen), ein eng verwandtes Konzept, das theoretisch weit verbreitet ist und bei dem Schaltkreise verwendet werden, um Funktionen auf eine Weise zu berechnen, die stärker ist als Turing complete.

nC.n

vzn
quelle