Ich lese gerade ein Buch über Algorithmen und Komplexität. Im Moment lese ich über berechenbare und nicht berechenbare Funktionen und mein Buch besagt, dass es viel mehr Funktionen gibt, die nicht berechenbar sind als berechenbar. Tatsächlich heißt es, dass die Mehrheit nicht berechenbar ist. In gewissem Sinne kann ich das intuitiv akzeptieren, aber das Buch gibt weder einen formalen Beweis noch geht es ausführlich auf das Thema ein.
Ich wollte nur einen Beweis sehen / jemanden hier näher darauf eingehen lassen / genauer verstehen, warum es so viel mehr nicht berechenbare Funktionen als berechenbare gibt.
Antworten:
Es gibt unzählige berechenbare Funktionen:
Jede berechenbare Funktion hat mindestens einen Algorithmus. Jeder Algorithmus hat eine endliche Beschreibung unter Verwendung von Symbolen aus einer endlichen Menge, z. B. endliche binäre Zeichenfolgen unter Verwendung der Symbole{0,1} . Die Anzahl der mit bezeichneten endlichen Binärfolgen {0,1}∗ ist zählbar (dh die gleiche Anzahl wie die Anzahl der natürlichen Zahlen N ).
Daher kann es sein höchstens abzählbar viele berechenbare Funktionen geben. Es gibt mindestens zählbar viele berechenbare Funktionen, da für jedes die konstante Funktion f ( x ) = c berechenbar ist.c∈{0,1}∗ f(x)=c
Mit anderen Worten, es besteht eine Korrespondenz zwischen:
Andererseits gibt es unzählige Funktionen über Zeichenfolgen (oder natürlichen Zahlen). Eine Funktion (oder f : { 0 , 1 } ∗ → {f:N→N ) weist einen Wert für jeden Eingang. Jeder dieser Werte kann unabhängig von anderen gewählt werden. Es sind also N N = 2 N Funktionen möglich. Die Anzahl der Funktionen über natürlichen Zahlen entspricht der Anzahl der reellen Zahlen.f:{0,1}∗→{0,1}∗ NN=2N
Da nur zählbar viele Funktionen berechenbar sind, sind die meisten von ihnen nicht berechenbar. In der Tat ist die Zahl der unberechenbaren Funktionen auch .2N
Wenn Sie sich dies intuitiv vorstellen möchten, denken Sie an natürliche und reelle Zahlen oder an endliche Binärzeichenfolgen und unendliche Binärzeichenfolgen. Es gibt weit mehr reelle Zahlen und unendliche binäre Zeichenfolgen als natürliche Zahlen und endliche Zeichenfolgen. Mit anderen Worten (für einen Beweis dieser Tatsache siehe Cantors diagonales Argument und Kardinalarithmetik ).N<2N
quelle
Hier ist eine "explizite" Konstruktion von unzähligen nicht berechenbaren Booleschen Funktionen. Sei eine feste nicht berechenbare Boolesche Funktion, die charakteristische Funktion des Halteproblems. Betrachten Sie die Menge der Funktionen F = { f : N → { 0 , 1 } : ∀ x ∈ N , f ( 2 x ) = K ( x ) } . Jedes f ∈ F ist nicht berechenbar und F ist unzählbar.K
Es gibt also viele nicht berechenbare Funktionen, da wir "unendlich viele" Freiheitsgrade haben - tatsächliche Unendlichkeit statt "potentielle" Unendlichkeit wie im berechenbaren Fall.
quelle