最も正式な意味では、入力のサイズは、アルゴリズムのチューリングマシンの実装を参照して測定され、入力のエンコードに必要なアルファベット記号の数です。
これはもちろんかなり抽象的であり、実際に作業することは非常に困難であり、少なくとも非常に迷惑です-デリミタなどを指定する方法を検討する必要があります。 a プロキシ入力の大きさの測定-より便利でアクセスできますが、それは我々の分析で任意の数学の問題が発生することはありません何か。
「abcde」の例を使用すると、通常、入力に使用するアルファベットが小さいため、文字のプロキシ測定を使用しても、チューリングマシン上でも、気になる場合は、 「abcde」を、定数cに対して最大5 × cの長さのエンコード形式に変換する入力エンコードを指定します55×c c。定数によるこの展開は、通常、定数因子を破棄するため、漸近解析では違いを生じません。
別のケースでは、頂点の数で入力グラフのサイズを測定することがよくあります。明らかに、任意の大きなグラフを指定したい場合、エンコードされた入力のサイズは単純にnではありません-たとえば、エッジはどうなりましたか?私たちが知っていることは、我々はグラフを表す妥当な符号化方式を使用できることであるN = C ⋅ N 2ログNビット。これは定数よりも少し拡張されていますが、興味深いケースの多くでは、多項式の粒度でしか処理しておらず、多項式は多くの方法でうまく構成されています-特に例実行時間がO (p (nnN= C ⋅ N2ログnため、入力の正式な測定値に戻ると、まだ多項式時間です。ここで、 pは多項式であり、 O (p (n ))= O (p ''(N ))のような多項式 p ′があることがわかりますO (p (n ))pp′O (p (n ))= O (p′(N))
これが落ちる可能性があるのは、数字を操作しているときです。マグニチュード数値はn = O (log m )ビットでエンコードできるため、実行時間がO (m )の場合、これはO (2 n) -実際の入力サイズの指数-マグニチュードになりますM私たちが会員について話をしたい場合、入力サイズのためのプロキシの悪い選択P(たとえば、あなたがStrongly-に来たときにN Pの -completeとWeakly- N Pmn = O (logm )O (m )O (2n)mPNPNP-完了、これを覚えておいてください)。一方、決定可能性のみに関心があった場合、それは十分なプロキシ手段になります。
したがって、入力サイズのプロキシメジャーを選択するための規定されたルールはありませんが、要件は、入力サイズと比較したプロキシサイズの拡大または縮小が、証明しようとしているものと互換性があることです。経験則として、定数係数の変化はほとんど問題になりません。小さな多項式係数は通常は問題なく、ほとんどの基本理論で機能します。大きな多項式係数は理論上はまだ有効かもしれませんが、実際には厄介な驚きです。そして、通常、指数関数的な量の変化はあまりにも極端です。