抗誘導体のチェックの決定可能性?


9

レッツ・私は2つの機能があるとFG、私はかどうかを決定するに興味があります

F(x)=G(x)dx.

私の関数が基本関数(多項式、指数関数、対数、三角関数)で構成されているとしましょう。たとえば、テイラー級数ではありません。

この問題は決定可能ですか?そうでない場合、それは半決定可能ですか?

(私は計算能力についてクラスを教えているので私は尋ねています、そして学生はTMがあなたに積分が現在知られていない関数を統合するのを助けることができるかどうか尋ねました。積分が実際に積分がわからない関数ではなく、上記の基本関数の組み合わせとして表現できない関数が適切に機能しますが、積分をチェックする一般的な問題が決定可能かどうかを考えさせられました。)


あなたは象徴的な差別化について尋ねているようです。あなたは見てかかることがありますen.wikipedia.org/wiki/Symbolic_computationen.wikipedia.org/wiki/Computer_algebra_systemを。どのクラスの関数を許可するかは、私にはわかりません。どのような構成を許可しますか?例:F(x)=sin(cos(ex))+log(2x3+3)許可?再帰的な定義を使用して、気になる関数のクラスを形式化することをお勧めします。チェーンルールを使用するとどうなるかを確認して、すべてのケースを処理する再帰アルゴリズムを取得できるかどうかを確認しましたか?
DW

3
微分は簡単なので、式が完全にゼロかどうかを判断できるかどうかを本当に質問しています。これはおそらく、情報を見つけやすい問題です。F
Yuval Filmus

回答:


8

あなたの質問への短い答えは「いいえ」です。Richardsonの定理とその後の拡張では、基本的に三角関数を含めるとすぐに、かどうかしたがってf x = g x かどうかを決定する問題は、f x g x = 0)は解けません。f(x)=0f(x)=g(x)f(x)g(x)=0

これについて興味深いのは、実閉領域の 1次理論が決定可能であることです。直感的に、三角関数を追加する理由は、あなたが経由整数構築することができるので、一次システムの決定不能であることができる、および整数の理論は決定不能です。{xR:sin(πx)=0}

を使用した実閉領域の理論が決定可能かどうかは、かなり有名な公開問題です。ex

さらに興味深いことに、これは、定数問題を「解決」するオラクル(つまり、かどうかを通知するオラクル)がある場合、有限項での基本関数の統合は決定可能であり、実用的なアルゴリズムは知られています。したがって、G x )が与えられると、F x )を見つけるか、有限条件でGの基本積分がないことがわかります。f(x)=0G(x)F(x)G


6

あなたの問題は次の簡単な質問を減らすようです:

関数のクラスに2つの関数がある場合、すべてのxに対してF x = G x がありますか?(言い換えれば、どこでも同じ価値がありますか?)F,GF(x)=G(x)x

このクラスの関数では、これが決定可能かどうかはわかりません。もしそうなら、あなたの問題も決定可能でなければなりません。


問題の一般的なアプローチは、を記号的に区別してF x を取得し、すべてのxに対してF x = G x があるかどうかを確認します。F(x)F(x)F(x)=G(x)x

したがって、重要なステップは象徴的な差別化です。それをより詳細に行う方法を考えてみましょう。許容される関数のクラスを再帰的に定義できます。

F(x)::=c|x|ex|log(x)|sin(x)|cos(x)|tan(x)|F1(x)+F2(x)|F1(x)×F2(x)|F1(x)/F2(x)|F1(F2(x))

ここで、は定数の範囲であり、は関数の範囲です。cF,F1,F2

次に、微積分の標準規則(たとえば、連鎖規則など)を使用して、このクラスの関数を記号的に区別するための再帰アルゴリズムを考案することができます。特に、上記のすべてのケースを処理でき、導関数がこのクラス内の関数として記号的に表現できることを再帰的に示します。例えば:

  • もし、。F(x)=cF(x)=0

  • もし、。F(x)=xF(x)=1

  • もし、。F(x)=exF(x)=ex

  • 場合は、。F(x)=log(x)F(x)=1/x

  • もし、。F(x)=sin(x)F(x)=cos(x)

  • もし、。F(x)=tan(x)F(x)=1+(tan(x))2

  • もし、。F(x)=F1(x)+F2(x)F(x)=F1(x)+F2(x)

  • もし、。F(x)=F1(x)×F2(x)F(x)=F1(x)F2(x)+F1(x)F2(x)

  • もし、(連鎖ルール)。F(x)=F1(F2(x))F(x)=F1(F2(x))F2(x)

等々。場合はそれぞれのケースで、、許容関数のクラスであり、そのようにある、あなたが再帰的にするために、シンボリック表現をうまくできる -これは、次のように知られている象徴的分化F(x)F(x)F(x)

最後に、すべてのことに変わりはかどうかをチェックすることである全てに対して。それが私の回答の冒頭で述べた問題です。F(x)=G(x)x


2つの関数がまったく同じかどうかを確認する簡単な方法があり、実際にはかなりうまくいくと思います。繰り返しのランダム値選択:アルゴリズムは、このされ、そしてかどうかをチェックの値を保持し。ランダムに選択された多くのが等しい場合、「それらはまったく等しい」と出力されます。もし発見した場合は対象の、出力"彼らは異なっています"。F x = G x x x x F x G x xF(x)=G(x)xxxF(x)G(x)

これが機能する保証はありませんが、多くのクラスの関数では、この手順の出力は高い確率で正しくなります。特に、我々は上のいくつかの分布があると確率変数で表されるといくつかのようにすべて当てはまるクラス。さらに、許容できる関数のクラスが(クラスがそうであるように)減算で閉じられているとします。次に、上記の手順のラウンドは、最大で確率で誤った答えをます。X ε > 0 のPr [ F X = 0 ] ε FのR 1 - ε RxXϵ>0Pr[F(X)=0]ϵFr(1ϵ)r

また、多項式の等価性テストのランダム化された手順がある場合、問題は決定可能です。

そのような結果が特定のクラスの関数に当てはまるかどうかを尋ねる必要があります。上記のステートメントはおそらく成立しません。ただし、運が良ければ、次のようなことを証明できるかもしれません。

すべて、実数、つまり確率変数と定数分布を見つけることができますこのようなクラスにあり、「サイズ」が最大でであるすべての関数を保持します。X S ε S > 0 のPr [ F Xが= 0 ] F SをsNXsϵs>0Pr[F(X)=0]Fs

これが真の場合、多項式の等価性テスト用のランダム化されたアルゴリズムが存在することになるため、問題は特定できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.