Sei ein Grad- Polynom in Variablen über , wobei konstant ist (sagen wir 2 oder 3). Ich möchte die kleinste Formel finden , wobei „Formel“ und „Formel Größe“ sind in der offensichtlichen Weise definiert (z. B. die kleinste Formel für das Polynom ist ).d n F 2 d f x 1 x 2 + x 1 x 3 x 1 ( x 2 + x 3 )
Was ist die Komplexität dieses Problems - ist es NP-schwer? Hängt die Komplexität von ?
[Formal ist eine Formel (auch als "arithmetische Formel" bezeichnet) ein binärer Stammbaum, dessen Blätter entweder mit einer Eingabevariablen oder der Konstante 1 gekennzeichnet sind. Alle anderen Scheitelpunkte des Baums sind mit oder . Die Größe der Formel ist die Anzahl der verwendeten Blätter. Die Formel berechnet ein Polynom rekursiv: Eckpunkte berechnen die Summe ihrer Kinder über , Eckpunkte berechnen das Produkt. ]+ F 2 ×
quelle
Antworten:
Sie können das co-NP-Complete TAUTOLOGY-Problem (bei einer Booleschen Formel handelt es sich um eine Tautologie?) Auf das Problem der Minimierung der Formelgröße reduzieren (da eine Formel eine Tautologie ist, wenn sie TRUE entspricht). Darüber hinaus ist TAUTOLOGY for 3DNFs (analog zu SAT for 3CNFs) co-NP-Complete.
quelle
Nicht genau die Antwort, aber hoffentlich hilft:
Diese Frage sollte für d = 2 bereits NP-schwer sein, wenn Sie die Minimalformel für Polynome und nicht nur für eines kennen wollen. Der Beweis ist wie folgt: Es gibt eine Eins-zu-eins-Entsprechung zwischen n bi-linearen Formeln (Formeln vom Typ ∑ a i j x i y j ) und Tensor-3-Matrizen, dh Elementen in F n 2 ⊗ F n 2 ⊗ F n 2 . Dieser Tensorrang der Matrix ist genau die Multiplikationskomplexität von n bi-linearen Formeln.n ∑aijxiyj Fn2⊗Fn2⊗Fn2
Es ist bekannt, dass der Tensorrang ein NP-hartes Problem ist (wahrscheinlich ist der ungefähre Tensorrang auch NP-hart). Somit ist die Multiplikationskomplexität von n bi-linearen Formeln ein NP-hartes Problem3 n
quelle
Jede Antwort darauf hängt stark von dem Wortschatz ab, den Sie in der Antwort zulassen. Wenn Sie Ihre Antwort in derselben Sprache wie die Eingabe haben möchten (dh als Polynom), führt dies zu einer Reihe von Antworten, mit denen andere Poster zu kämpfen haben.
Aber wenn Sie Ihre erlauben Antwort Vokabular vergrößert werden, können wunderbare Dinge passieren. Sie können ein Beispiel in der symbolischen vs automatischen Unterscheidung sehen: In der symbolischen Unterscheidung erlaubt man nur 'Ausdrücke', die dazu neigen, ziemlich stark in die Luft zu jagen; Bei der automatischen Unterscheidung werden in der Antwort geradlinige Programme zugelassen (auch wenn die Eingabe ein Ausdruck war), was die Kontrolle der Ausdrucksschwellung erheblich erleichtert. Für univariate Polynome haben James Davenport und ich nachgedacht dass Sie zyklotomische Polynome auch als Teil Ihres Grundwortschatzes verwenden müssen (siehe die Hinweise, warum diese Polynome die einzige wirkliche Ursache für Explosionen zu sein scheinen, sowie die Artikel, die verschiedene Reduzierbarkeitsergebnisse zwischen Polynomproblemen zeigen und 3SAT).
Mit anderen Worten, wenn Sie es sich erlauben, Ihre Antwort ein wenig von der klassischen zu unterscheiden, können Sie möglicherweise nur eine andere Antwort erhalten, dh eine mit einer viel besseren Komplexität. Es hängt von Ihrer ursprünglichen Motivation ab, die Frage zu stellen, ob sie rein theoretisch oder anwendungsbezogen ist, um zu entscheiden, ob diese Variation des Wortschatzes für Sie akzeptabel ist. In der Situation, in der James und ich darüber nachgedacht haben (symbolische Berechnung), ist es vollkommen akzeptabel, das Vokabular so anzupassen, dass die Komplexität abnimmt (obwohl dies selten der Fall ist).
quelle
Die allgemeine Schaltkreis- / Formelminimierung ist sicherlich schwieriger als das Testen der Identität, da die minimale Formelgröße einer Identität einfach Null ist. Um wie viel schwieriger, ich habe keine definitive Antwort, aber vielleicht könnten die "Rekonstruktionsalgorithmen", die in arithmetischen Schaltungen / Formeln untersucht werden, etwas in diese Richtung sein.
quelle