コメントには、いくつかの「正確な」提案が含まれています(継続分数、線形分数変換など)。典型的な問題は、数式への答えを計算することはできますが、等式が決定できないことが多いことです。
ただし、代数的数値にのみ関心がある場合は、運がいいです。実際の閉体の理論は完全であり、o最小であり、決定可能です。これは1948年にタルスキによって証明されました。
しかし、落とし穴があります。Tarskiのアルゴリズムは、複雑なクラスNONELEMENTARYに含まれているため、使用しないでください。これは、非現実的なアルゴリズムが取得できるのと同じくらい非現実的です。複雑さをDEXPにまで下げる最近の方法がありますが、これは現在私たちが知っている最良の方法です。
SATが含まれているため、問題はNP困難であることに注意してください。しかし、それがNPにあることは知られていない(または信じられていない)。
編集これについてもう少し説明しようと思います。
これらすべてを理解するためのフレームワークは、Satisfiability Modulo Theories(略してSMT)として知られる決定問題です。基本的に、私たちは古典的な論理の上に構築された理論のSATを解決したいと考えています。
したがって、最初に、等価性テストを含む1次の古典的ロジックから始めます。含める関数記号とその公理は、理論が決定可能かどうかを決定します。
SMTフレームワークには、興味深い理論がたくさんあります。たとえば、プログラムが正しいことを証明するのに役立つデータ構造の理論(リスト、バイナリツリーなど)とユークリッド幾何学の理論があります。しかし、私たちの目的のために、さまざまな種類の数の理論を検討しています。
プレスブルガー算術は、加算を伴う自然数の理論です。この理論は決定可能です。
ペアノ演算は、加算と乗算を伴う自然数の理論です。ゲーデルによって有名に証明されたように、この理論は決定可能ではありません。
タルスキ演算は、すべてのフィールド演算(加算、減算、乗算、除算)を伴う実数の理論です。興味深いことに、この理論は決定可能です。これは当時、非常に直観に反する結果でした。これは自然数の「スーパーセット」であるため、「より難しい」と考えるかもしれませんが、そうではありません。たとえば、有理数の線形計画法と整数の線形計画法を比較してください。
満足度があなたが必要とするすべてであることは明らかではないかもしれませんが、それはそうです。たとえば、2の正の平方根が3の実際の立方根と等しいかどうかをテストする場合、これを充足可能性の問題として表すことができます。
∃ X 。X > 0 ∧ X2- 2 = 0 ∧ X3− 3 = 0
eバツ
罪{ xπ| 罪x = 0 }罪
eバツe私はx
Alfred Tarski(1948)、初等代数と幾何学のための決定方法。