Berechenbarkeit der Gleichheit auf Null für eine einfache Sprache

7

Angenommen, wir haben einen Baum, in dem Blätter mit einer Reihe von Zahlen und interne Knoten mit einer Reihe von Operationen .LO

Insbesondere kann oder und optional und / oder . kann eine beliebige Teilmenge von .LN,ZQπeO{+,,,/, ^}

Ist Gleichheit mit Null entscheidbar? Sind Vorzeichenvergleiche entscheidbar? Wenn ja, sind sie machbar?

"Ungültige" Operationen ( , , ...) erzeugen , und breitet sich wie üblich durch Berechnungen aus.0/000NaNNaN0NaN

Einige Kombinationen sind trivial: Wenn wir uns auf Feldoperationen beschränken und weder noch in einschließen, können wir einfach den resultierenden Bruch berechnen und damit fertig werden. Oder wenn wir uns auf und , können wir das Polynom berechnen und die Koeffizienten überprüfen. Andererseits machen Kräfte (und damit te Wurzeln) und und die Dinge erheblich schwieriger.πeLZ{π}{+,,}nπe

Das Problem "Gleichheit mit Null" ist ein Beispiel für das konstante Problem .

miniBill
quelle

Antworten:

4

Wenn Sie die Operatoren (dh Sie haben den Energieoperator nicht eingeschlossen), sind wahrscheinlich alle Ihre Probleme entscheidbar.{+,,×,/}

Gleichheit mit Null testen

Betrachten wir zum Beispiel . Dann können Sie als formales Symbol behandeln, so dass jedes Blatt ein Polynom in (z. B. ist die Ganzzahl das konstante Polynom ; ist das Polynom von Grad 1). Jetzt können Sie den Baum als rationales Polynom über ausdrücken , wobei das formale Unbekannte ist.L=Z{π}πZ[π]55ππ+0Zπ

Angenommen, dieses Polynom ist . Testen Sie, ob das Nullpolynom ist (Grad ). Wenn es nicht das Nullpolynom ist, ist der Ausdruck ungleich Null. Wenn das Nullpolynom ist und nicht das Nullpolynom ist, ist der Ausdruck gleich Null. Die Richtigkeit dieses Verfahrens folgt aus der Tatsache , daß ist transzendentalen .p(π)/q(π)p(π)p(π)q(π)π

Wie komplex ist dieses Verfahren? Die Antwort hängt vom Rechenmodell ab. Nehmen wir an, dass jeder Operator eine konstante Zeit für die Auswertung benötigt (unabhängig von der Größe der Operanden). Dann hängt die Komplexität von der Größe der resultierenden Polynome ab. Der Grad des Polynoms kann exponentiell mit der Tiefe des Baums wachsen. Wenn Sie also das Polynom rekursiv erstellen und explizit (in Koeffizientenform) ausdrücken, ist die Laufzeit in der Tiefe des Baums höchstens exponentiell. Glücklicherweise wächst der Grad höchstens linear in der Anzahl der Blätter im Baum, so dass die Laufzeit eines deterministischen Algorithmus in der Größe des Baums linear ist.

Unter der Annahme einer einfachen Darstellung des Baums und eines vereinfachten Rechenmodells erhalten Sie daher einen linearen Zeitalgorithmus für Nulltests, wenn die Operatoren .{+,,×,/}

Diese Prozedur funktioniert nicht nur für , sondern auch für und .L=Z{π}N{π}Q{π}

Das gleiche Verfahren funktioniert auch für , wenn wir eine vernünftige Vermutung annehmen können: dass und algebraisch unabhängig sind. Es ist nicht bekannt, ob diese Vermutung richtig ist, aber es scheint wahrscheinlich. Wie auch immer, hier ist der Ansatz. Wir behandeln das Polynom als ein multivariates Polynom über zwei Unbekannte anstelle eines Unbekannten, aber angesichts der algebraischen Unabhängigkeit von und überträgt sich alles wie zuvor . Es funktioniert auch für und , wiederum unter der Annahme der Vermutung.L=Q{π,e}πeπ,eπeL=Z{π,e}L=N{π,e}

Wenn Sie Lust haben, können Sie randomisierte Algorithmen für die Prüfung der Polynomidentität verwenden. Wenn , ergeben sie Folgendes: Wählen Sie eine zufällige Primzahl und eine zufällige ganze Zahl ; Ersetzen Sie jede Instanz von durch . und prüfen Sie dann, ob der resultierende Ausdruck ergibt . (Wenn Sie sowohl als auch , wählen Sie zwei zufällige Ganzzahlen und .) Sie können diesen Test mehrmals wiederholen. Wenn diese Prozedur jemals etwas ungleich Null ergibt (moduloL=Z{π}rsπ{0,,r1}πsπ0modrπesπser), dann ist der ursprüngliche Ausdruck sicherlich nicht Null. Wenn Sie immer Null (Modulo ) erhalten, ist der ursprüngliche Ausdruck mit hoher Wahrscheinlichkeit gleich Null. Dies kann in einigen Rechenmodellen effizienter sein (z. B. wenn die Zeit zum Auswerten eines einzelnen Operators von der Größe der Operanden abhängt).r

Zeichenvergleich

Sie können das Vorzeichen des Ausdrucks auch mit ähnlichen Prozeduren finden (wiederum unter der Annahme, dass Sie den Operator ^ ausgeschlossen haben, und erneut unter der Annahme, dass und algebraisch unabhängig sind). Bewerten Sie den Ausdruck als rationales Polynom über . Angenommen, Sie haben festgestellt, dass und . Sie möchten wissen, ob oder nicht.πep(π,e)/q(π,e)Q[π,e]p(π,e)/q(π,e)0q(π,e)0p(π,e)/q(π,e)>0

Hier ist ein Ansatz. Man beachte, dass wenn . Daher können wir ein neues Polynom und dieses auf das Problem der Bewertung des Vorzeichens von reduzieren. . Grundsätzlich müssen wir das Vorzeichen eines rationalen Polynoms in und bewerten . Wir wissen, dass dies zu etwas ungleich Null führt.p(π,e)/q(π,e)>0p(π,e)q(π,e)>0r(π,e)=p(π,e)q(π,e)r(π,e)πe

Ein Ansatz besteht darin, und mit Genauigkeitsbits zu berechnen und dann entsprechend zu bewerten , wobei untere und obere Grenzen für . Wenn 0 in diesem Intervall enthalten ist, verdoppeln Sie , bis die Untergrenze streng positiv oder die Untergrenze streng negativ ist.πekr(π,e)r(π,e)k

Was ist die Komplexität dieses Ansatzes? Wennergibt einen Wert , dann denke ich, dass die Laufzeit in der Größe der Eingabe und in polynomisch sein wird .|r(π,e)|ϵlg1/ϵ

Es mag einen besseren Algorithmus geben, aber dies ist der beste, den ich derzeit finden kann.

Fazit

Das Mitnehmen ist, dass der Energieversorger (^) die eigentliche Schwierigkeitsquelle ist. Ohne den Netzbetreiber können alle Ihre Probleme ohne allzu große Schwierigkeiten gelöst werden (unter der Annahme einer vernünftigen Vermutung).

DW
quelle
1
Es ist nicht bekannt, dass und algebraisch unabhängig sind. πe
Yuval Filmus
Der Vorzeichenalgorithmus sieht interessant aus, danke! Wie Yuval sagte, wissen wir nichts über Unabhängigkeit
miniBill
4

Das ist eine ziemlich knifflige Frage! Wie Sie zu verstehen scheinen, ist das eigentliche Problem das Vorhandensein von . Es ist eng mit einer bekannten Vermutung verbunden: Schanuels Vermutung , die besagt, dass es im Wesentlichen keine nicht trivialen algebraischen Beziehungen zwischen und .^πe

Die (erwartete) positive Antwort auf diese Vermutung würde Ihnen ein Entscheidungsverfahren zum Vergleich mit :0

  • Reduzieren Sie den Ausdruck mit algebraischen Gleichungen (z. B. usw.)(xy)z=xyz
  • Trennen Sie die Begriffe mit Exponenten und die Begriffe ohne.
  • Überprüfen Sie, ob die Basis ( in ) der Terme mit Exponenten alle linear unabhängig sind.xxy
  • Der Term ist 0, wenn er trivial ist, dh durch algebraische Operationen auf 0 reduziert wird.

Eine verwandte Frage ist Tarskis Exponentialfunktionsproblem, das Variablen umfasst. Mit dem Lindemann-Wierstrass-Theorem ist es jedoch relativ einfach, konkrete Ausdrücke mit Exponenten auf Funktionen mit Variablen zu reduzieren .

Bearbeiten: Ich weiß jedoch nichts über die tatsächliche Komplexität des Problems. Beachten Sie, dass es stark von Ihrem Rechenmodell abhängt, z. B. ob arithmetische Operationen zeitlich konstant sind.

Edit 2: Ich habe einen entscheidenden Fehler gemacht: Es muss nicht die Basis in genommen werden, sondern , was viel schwieriger auf lineare Unabhängigkeit zu überprüfen ist.xxyyln(x)

Cody
quelle
Mein Rechenmodell ist ein echter Computer (natürlich mit unendlichem Speicher)
miniBill
Wie wäre es mit Sachen wie ? Wie würden Sie es reduzieren?(((pie)pi)+pie(1/2)
miniBill
1
Ich nehme an, Sie fragen nach dem Ausdruck (πe)π+πe1/2. In diesem Fall ist es bereits "reduziert". Alles was Sie überprüfen müssen, ist das(πe)ln(π), ln(π) und 1/2sind linear unabhängig und schließen daraus, dass der Ausdruck nicht Null ist, da ihre Exponentiale algebraisch unabhängig sein müssen.
Cody
Wie prüft man algorithmisch auf lineare Unabhängigkeit?
MiniBill
Hmmm. Ich bin mir eigentlich nicht sicher. Das ist ziemlich einfach zu zeigeneπ ist transzendent, wenn man die Vermutung annimmt, aber ich bin ratlos πln(πe). Ich werde meine Antwort bearbeiten.
Cody