Pのどの問題について、結果を見つけるよりも結果を確認する方が簡単ですか?


52

NP完全問題の(検索バージョン)の場合、検証は多項式時間で実行できるため、解決策の検証は明らかに見つけるよりも明らかに簡単です。

ではP検証高速化ソリューションを見つけることよりもときに、それは明らかにいないようですので、しかし、解決策はまた、多項式時間で見つけることができます。実際、さまざまな問題はこの観点とは異なる振る舞いをしているようです。いくつかの例:

  1. 3SUM:入力番号が与えられ、それらの合計が0になる3を見つけます。私が知る限り、既知の最速のアルゴリズムは 時間で実行され、この順序は最適であると推測されます。一方、解決策の検証ははるかに高速です。必要なのは、見つかった3つの数値が実際に合計して0になることを確認するだけだからです。O n 2 o 1 nO(n2o(1))

  2. すべてのペアの最短経路: エッジの重み付きのグラフが与えられた場合、最短経路距離行列を計算します。そのような行列が与えられたら、それを再計算するよりも、それが実際に正しい距離行列であることをより速くチェックできますか?私の推測では、答えはおそらく「はい」ですが、3SUMほど明白ではありません

  3. 線形計画。クレームされた最適なソリューションが提供されている場合、補助情報も提供されている場合、最適なソリューションを再計算するよりも簡単に確認できます(最適なデュアルソリューション)。一方、主解のみが利用可能な場合、実際にLPを解くよりも、より速くチェックできるかどうかは明確ではありません。

質問:この主題について何が知られていますか?つまり、解を見つけるよりもPの問題の解を検証する方が簡単なのはいつですか?


7
多くの例は、いくつかのパラメータを修正したときにPに陥るNP完全問題に由来すると思います。たとえば、グラフに固定サイズクリークが含まれているかどうかを確認します。検証には線形時間がかかりますが、P = NPでない限り、検索問題(多項式)の複雑さは依存します。k kkkk
Marzio De Biasi

16
整数のリストが比較でソートされていることを確認できますが、ソートされていないリストをソートするには比較が必要です。、N - 1 Θ N ログN nn1Θ(nlogn)
トーマス

7
意思決定の問題について、yesとnoの両方のインスタンスを簡単に検証できるようにしたいですか?3SUMでは、yesインスタンスを一定時間で簡単に検証できますが、noインスタンスを簡単に検証できるかどうかはわかりません。または、行列乗算のような非ブール出力がある問題の線に沿ってもっと考えていますか?(行列の乗算は、ランダム化されたアルゴリズムを許可する場合の希望の例です。)
ロビンコタリ

3
「一方で、解決策の検証ははるかに高速です。必要なのは、見つかった3つの数値が実際に合計して0になることを確認するだけだからです。」-また、見つかった3つの数値が実際に入力の一部であることも確認する必要があります。
hvd

3
検証が容易ではないとわかっている問題はありますか?
ラファエル

回答:


24

グラフGとツリーTが与えられると、TがGの最小全域木であることを線形時間で検証できることが知られています。しかし、MSTを計算する決定論的な線形時間アルゴリズムはまだありません。もちろん、ギャップは小さい(1対)が、まだそこにある:))α(n)


4
予想される線形時間で実行されるランダム化されたアルゴリズム(Karger-Klein-Tarjanアルゴリズム)があることを追加するのが妥当かもしれません。
サショニコロフ

2
:また、誰でもリンクを望んでいる場合には、これは私が知っ最も単純な線形時間MST検証アルゴリズムであるwebhome.cs.uvic.ca/~val/Publications/Algorithmica-MSTverif.ps
サショニコロフ

20

この紙検証するためのアルゴリズムが存在することを示して両方速い内には最大流量、3SUM、及びAPSPを含む3つの問題のためにYESとNOインスタンス、多項式因子溶液自体を計算するための既知の境界よりは。

問題のクラスがあります。つまり、実行時間を改善する問題はSETH-hardです。そのインスタンスのNOインスタンスを検証する実行時間は、ソリューションの計算時間よりも大幅に速いとは考えられません。強力な指数時間仮説は失敗します。


18

一部の問題では、違いはないようです。特に、Vassilevska Williams&Williamsは次のことを示しています。

  • ブール行列乗算の場合、行列積を計算し、行列積のサブキュービック相当を検証します。つまり、両方ともサブキュービック時間アルゴリズムを持っているか、どちらも持っていません。

  • 「拡張(最小、+)構造」に対する行列積の計算と検証にも同じことが言えます(定義については論文を参照してください。ただし、これには多くの自然な問題が含まれます)。

(もちろん、これらの問題にはすべてサブキュービックアルゴリズムがあり、計算と検証の間に多項式の差がある可能性がありますが、これらの問題については3次の差はありえません。実際、それらはすべて本質的に立方時間を必要とします。


2
一方、十分に大きいフィールドでの行列乗算には、検証用の2次時間ランダム化アルゴリズムがありますが、積を計算するための最速の実行時間はn ^ ome​​gaです。
Thatchaphol

2
@Thatchaphol:はい、多くの人がomega = 2を信じていますが...また、ブール行列乗算(つまり、ブールおよび/または半環上の行列乗算の計算)は、フィールド。
ジョシュアグロチョフ

16
  • 値が配列に存在するかどうかを判断するには時間がかかります (または配列がソートされている場合は)。Ω(n)Ω(logn)

    配列の特定の位置に特定の値が含まれていることを検証することは、時間です。O(1)

  • (比較モデルでの)並べ替えには時間がかかるが、配列またはリストが並べ替えられていることを検証することは時間です。Ω(nlogn)O(n)


2
同様:重複する要素があるかどうかの判断は、比較モデルではですが、もちろん検証できます。Ω(nlogn)O(1)
-SamM

@SamM:検証済みですか?あなたは正確に何を与えられていますか?あなたは不公平な比較をしているように感じます。O(n)
Mehrdad

@Mehrdadの良い点; (インデックスではなく)値が与えられた場合、検証するのはです。これがより良い見方だという良い議論を見ることができます。Θ(n)
SamM

10

多くの例は、1つ以上のパラメーター修正したときにPに陥るNP完全問題に由来すると考えています

たとえば、グラフにサイズクリークが含まれているかどうかのチェックは、が入力の一部である場合はNP完全であり、が固定されている場合は多項式時間で解くことができます。kkk

固定場合、検証には線形時間がかかりますが、でない限り、検索問題(多項式)の複雑さは(依存します。kP=NPkΩ(nk))

その他の例:長さハミルトニアンパスの検索、有界ツリー幅グラフの色付け...k


9

素数判定:AKSの最良の既知の変異体は、時間的に素数を決定するように見える素数の古典的なプラット証明書が素数が非決定的な時間で決定することができる意味し、一方、。ON3O~(n6)O~(n3)


補完(複合性)はさらに簡単に目撃できます!
ヨナタンN

3

Abboudらによる論文。SODA 2016に最近受け入れられたことは、強力な指数時間仮説が偽でない限り、サブツリー同型は時間で解決できないことを示しています。もちろん、線形時間で同型を検証できます。O(n2ϵ)

換言すれば、SETHは私たちの自然問題与えると発見及び検証の間のギャップを。 Ω N 1 - εPΩ(n1ϵ)

特に、アルゴリズムは、ルート化された一定次数のツリーで知られています(Abboud et al。の下限の結果は依然として適用されます)。したがって、SETHの下では、ほぼ線形の検索と検証のギャップは、この問題に対して本質的にタイトです。O(n2/logn)

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