入力が単項符号化されると、強くNP困難または完全な問題の複雑さが変わりますか?


12

入力がバイナリエンコードではなく単項の場合、強力なNPハードまたはNP完全問題(たとえば、ここで定義)の難易度は変わりますか?

強いNP困難問題の入力が単項符号化される場合、どのような違いが生じますか?例えば、弱いNP完全ナップザック問題を取り上げると、バイナリエンコードの場合はNP完全ですが、単項エンコードの場合は動的プログラミングによって多項式時間で解くことができます。多分、それは多項式時間階層のより高いレベルの硬度にいくつかの意味を持っていますか?

強く...という概念は、他の複雑度クラス、たとえば多項式時間階層の上位クラスにも当てはまりますか?

以前、stackoverflow.comでこの質問をしましたが、ここでより適切であることが指摘されました。


cstheory.stackexchange.comでこの質問をもっとよくする必要がありますか?私はそれが存在することを知りませんでした。ここのアワーは、私が望んでいた方向には行かない。
user2145167

なぜ彼らはしませんか?彼らは(私が知る限り)正しいので、あなたの質問はあなたが尋ねたいものではないのでしょうか?その上、理論的コンピューターサイエンス研究レベルの TCSの質問のためのものですが、これは確かにそうではありません。
ラファエル

回答:


4

単項でエンコードされた問題サイズは、サイズNと、バイナリの場合はlog Nです。かかる時間である場合はF N 、これはF サイズ最初の場合とでF 2 サイズ第二の場合です。したがって、最初のケースでは多項式であるアルゴリズムは、おそらく2番目のケースでは指数関数になります。問題のエンコードにより、アルゴリズムの複雑さが根本的に変わります。NNログNFNFサイズF2サイズ


3

番号。

入力のエンコードを変更すると、問題の正式な定義が変更されます。つまり、それは別の問題です。元の問題の複雑さは変わりません。同じ理由で、空の異なる光を指しても月の質量は変わりません。


2
PP1

2

簡単な答えは、入力が単項符号化されている場合、それは長くなるということです。それは指数関数的に長くなります。現在、入力のサイズが多項式時間機能するアルゴリズムは、入力自体が元の問題より指数関数的に長いため、問題を解決するのに「十分な時間」を持っています。


1

JeffEの回答で指摘された定式化の問題を過去を見て、答えはイエスです。

ナップザックの問題を検討してください。これは持っている擬似多項式入力でエンコードされた数の多項式によって境界ランタイムを有するものであるアルゴリズムを、。単項エンコーディングでは値が長さに対応するため、これは単項バージョンの多項式時間アルゴリズムです。

実際、弱いNP完全問題はすべてこのカテゴリに分類されます。


副次的な質問ですが、私は理解していません-どうすれば単項式で何かを「エンコード」できますか?なんらかの区切り文字は必要ありませんか?
user541686 14

@Mehrdadはい、いいえ。はい; 通常、区切り記号はこの意味ではカウントされません。入力とテープアルファベットも参照してください。ここでは、入力アルファベットのサイズのみを考慮します。番号; 原則として、タプルと数えられる数字のセットをエンコードするには1つの数字で十分なので、分離記号は必要ありません。これは、このようなマシンで「作業」するのには明らかに有用ではありませんが、分離(およびその他の制御)シンボルを無視することは正当化されます。
ラファエル

うーん...あなたの「ノー」の部分を理解しているかわかりません。末尾に区切り記号がない場合、数字の末尾をどのように知るのでしょうか?私には少し循環論理のように思えます:セパレータを無視している場合、事実上「入力に指数関数的に多くのスペースを占有させると、入力サイズに比例して指数アルゴリズムの実行時間が変わりますか? ?」その答えは些細なことです...定義により。セパレータを考慮に入れると、冗長ビットが人為的に追加されるため、エンコードはそれほど変わりません。
user541686 14

@Mehrdadさて、私は複数の数字を互いに分離することだけを考えていました。いずれにせよ、エンドマーカーまたはそれぞれが必要です。チューリングマシン上の「空の」シンボル。取り除くことはできません。残りは1つの数値にエンコードできます(明らかにランタイムペナルティがあります)。
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.