定理によって簡単になった、見苦しいアルゴリズムの問​​題


28

次の現象が発生する良い例を探しています:(1)アルゴリズムの問​​題は、定義から動作し、標準の結果のみを使用してそれを解決したい場合、困難に見えます。(2)一方、(それほど標準的ではない)定理を知っていれば簡単になります。

これの目標は、理論分野以外の人(ソフトウェアエンジニア、コンピューターエンジニアなど)であっても、より多くの定理を学ぶことが役立つことを生徒に説明することです。以下に例を示します。

質問:整数与えられた場合、頂点接続性がk、エッジ接続性がl、最小次数がdであるようなn頂点グラフが存在しますか?n,k,l,dnkld

パラメーターが指定された数値と正確に等しいことを必要とすることに注意してください。それらは単なる境界ではありません。これをゼロから解決したい場合は、かなり難しく見えるかもしれません。一方、次の定理に精通している場合(B. Bollobasの極値グラフ理論を参照)、状況はまったく異なります。

定理:レッツ整数です。次の条件のいずれかが満たされている場合にのみ、頂点接続性k、エッジ接続性l、および最小次数 dのn頂点グラフが存在します。n,k,l,dnkld

  • 0kld<n/2
  • 12d+2nkl=d<n1
  • k=l=d=n1.

これらの条件は非常に簡単にチェックでき、入力パラメーター間の単純な不等式であるため、存在の質問に簡単に答えることができます。さらに、定理の証明は建設的であり、建設の問題も解決します。一方、この結果は十分に標準的なものではないため、誰もがそれについて知っていることを期待できます。

(それほど標準ではない)定理を知っているとタスクが大幅に簡素化されるという、この精神でさらに例を提供できますか?


1
あなたの質問を完全に理解しているかどうかはわかりません。あなたが与える例は、Bollobasがアルゴリズムを与えた(これは特性化を意味する)自明でない問題です。あなたの例で、私の印象はどんなことですので、非自明なアルゴリズムが...答えになります
ブルーノ

3
素数性とAKS定理。
ラミン

@Bruno:私が言いたいのは、定理を知っていればアルゴリズムの仕事がずっと簡単になるということです。定理はあまり知られていないので、聞いたことがないかもしれません。提示された例は、ここで定理が役立つだけでなく、実際に問題を解決するという意味で完全ではありません。私が本当に探しているのは、定理が役立つ場合、いくつかの便利なショートカットを提供するが、それ自体では問題を完全に解決しない場合です。
アンドラスファラゴ

3
コミュニティwiki?
ジョシュアグロチョウ14

1
ロバートソン–シーモアの定理、また、決定論的に素数を見つけることを容易にする推測。
カベ

回答:


31

乗算表で与えられる単純な群の同型を決定します。これを多項式時間で実行できるという事実は、すべての有限単純グループが最大2つの要素で生成できるという事実に直接由来し、現在その事実の唯一の既知の証明は有限単純グループの分類(おそらく最大の定理-著者、論文、およびページの観点から-これまでに実証済み)。


3
これは素晴らしい例です!ところで、この答えに対するコメントは、ある意味でこの定理は分類と同じくらい難しいと主張しています:mathoverflow.net/a/59216/35733
Sasho Nikolov

32

私が正しくあなたの質問を理解していれば、グラフ場合、標準的な例は、決定されるだろういることを確認するに相当:オイラー回路があるGが接続されており、すべての頂点でも学位を取得しています。GG


20

今日の午後、私は「本当の」ストリング理論であるストリング学を読んでいました

問題:x m = y nのような正の整数m nがある場合、yがアルファベット上の2つの文字列である場合。xym,nxm=yn

定理:そこ正の整数であるその結果のx M = Y N及び場合だけのx Y = yのXm,nxm=ynxy=yx


9

すべてのℝまたは特定の間隔で、実多項式の(異なる)実根の数を見つける。Sturmの定理は、少数の要件を満たす多項式のシーケンスを使用して、実係数を持つ多項式の実根の数をカウントできることを示しています。

そして、あなたがしなければならないのは、そのようなシーケンスを構築することです(これはそれほど難しくありませんが、いくつかのエッジケースと非分離多項式のケースの処理が必要です)、そしてボブはあなたのおじです。

驚くべきことに、この結果が非常に古い(1829)にもかかわらず、この結果について知っている人はほとんどいません。多くのコンピューター代数システムで使用されていますが、私が尋ねた私の大学のすべての数学教授は、Sturmの定理をまったく知らなかったか、名前だけでそれを知っていて、多項式の根と関係があると考えています。

ほとんどの人は、本当の根を正確に数えるようなものがこれほど簡単であり、根を見つけるのがはるかに難しいこと考えると、近似を必要としないと言うと非常に驚いています。(次数が5以上の多項式の場合、根に対する「適切な」式さえ存在しないことを思い出してください)


9

定理:すべての平面グラフには、最大5次の頂点があります。

問題:u v O 1 時間のエッジであるかどうかを確認できる平面グラフの表現を設計します。O(n)(u,v)O(1)

次数が最大5の頂点を削除し、キーとしてリストに追加し、値としてその近傍に追加できます。残りのグラフも平面であり、次数が最大5の頂点があります。したがって、消費されるスペースは最大です。uvの隣接リストにあるかどうかを確認できます。そうでない場合、vuの隣接リストにあるかどうかを確認できます。これには最大10ステップが必要です。5nuvvu10


5
もう少し細心の注意を払って、各頂点に格納されているリストのサイズを3に減らし、隣接関係をチェックするステップ数を6に減らすことができます。参照:隣接行列の低次数と圧縮を伴う平面方向。M.クロバックとD.エップシュタイン。理論。比較 科学 86(2):243–266、1991。ics.uci.edu /
デビッドエップスタイン

7

少なくとも難易度の非対称性に関する限り、このカテゴリの子は次の問題だと思います。

平面グラフ与えられた場合、G 4 は着色可能ですか?GG

四色定理にアルゴリズムを簡略化しますreturn true


6

実(多変量)多項式が実多項式の二乗和として表現できるかどうかは、半正定値計画への簡約によって解決できます。SDPおよびSDPを効率的に解決できることを知る必要があります。p


5

別の例:無向グラフが与えられた場合、すべてのエッジがばらばらになっている最小カットがありますか?もしそうなら、それを見つけてください。

一見すると、これは難しいように見えるかもしれません。ただし、無向頂点グラフが最大で持つことができる結果を知っていれば、簡単になります。n最小カットを持つことができ、それらがすべて多項式時間でリストできる。n(n1)/2

これは、最小カットよりも大きいがほぼ一定の係数で、ほぼ最小のカットに拡張できます。それらの数はまだ多項式によって制限されています。

(私は参考文献を検索しませんでした。私の記憶は、これらの結果はD. Kargerによるものです。)


4

問題:有限語に対するMSO(単項2次論理)式の充足可能性。

定理: MSOは、有限語上の有限オートマトンに相当します。

上記は、無限の単語、有限の木、無限の木に持ち上げることができます。


4

もう少し複雑な例:非負の行列因数分解、非負のランクが一定の場合。

言う私はあなたのA行列与えるが非負存在することを約束と共にU M 、M × KV MのKは× NようにA = U V。問題は、Aのそのような因数分解を見つけることです。AMm×nUMm×kVMk×nA=UVA

数行の初等線形代数を使用すると、変数の多項式不等式システムを解く問題を減らすことができます。ここで、rは因数分解する行列の非負のランクです。O(r2)r

Renegarのアルゴリズムをハンマーとして使用すると、これを時間で解くことができるため、UVを回復できます。これは、時間m n o r )で NMFを解くのがETH困難であるため、最適性からそれほど遠くありません。(mn)O(r2)UV(mn)o(r)


4

デシショナルディフィーヘルマン

(g,ga,gb,gc)gGgc=gab

離散対数問題の難易度の標準的な仮定の下では、この問題も難しいように思われるかもしれません。

e(g,gc)=?e(ga,gb)

e:G×GGT

これについての詳細は、決定的diffie-hellman問題、Boneh'98またはPairingsのGoogleルックアップを参照してください。


3

(自明)有限ゲームにおけるナッシュ均衡の存在、キュービックグラフにおける偶数のハミルトニアンパス、さまざまなタイプの固定小数点、半順序での適切にバランスの取れた比較、および他の多くのPPAD問題。


ナッシュ均衡の存在-とPPADを特徴存在の他の証拠の多くは- ...アルゴリズム的解決がこれらの問題のいずれかが任意の容易にするようには見えません
ジョシュアGrochow

1
私はこれらの問題の決定版について言及していました。
ヨナタンN 14年

2

((V,E),s,t)EEst(V,E)E

st(V,E)st


1
LPが簡単だとわかっていれば、流れは簡単だと言えます。したがって、2つの大きな定理(poly timeのLPとmaxflow-mincut)により、最小カットを計算できます。
チャンドラチェクリ14

@ChandraChekuri、私の個人的な感覚は、それが質問にまったく当てはまらないということです。LPがポリタイムで解けるという定理は、実際に最小カットのアルゴリズムを構築するのに役立ちません。実際のLPアルゴリズムが必要です。
マックス14

あんまり。特定のグラフで最小カット値を効率的に見つけることができれば、そのようなアルゴリズムを使用して実際のカット自体を見つけることができます。
チャンドラチェクリ14

2

別の例を次に示します。無向の単純なグラフが与えられた場合、2つの頂点分離回路があるかどうかを判断します。

23

3K5K3,n3

グラフが定理で許可されているグラフの1つであるかどうかを確認するのは簡単なので、決定問題の多項式時間アルゴリズムを提供します。

注:(1)定理の証明は簡単ではありません。(2)2つの互いに素な回路が存在すると判断した後、関連する検索問題を解決する方法、つまり実際にそのような回路を見つける方法はあまり明確ではないようです。定理はそれに直接アドバイスを与えません。


1

それほど複雑でない例:いくつかの問題に対する貪欲なアルゴリズムが最適であることを示す定理のような特性があります。欲張りなアルゴリズムによって、最小のスパニングツリーが未経験者にとってそれほど明白ではないことがわかります。概念的には、グラフ内で最短経路を見つけるためのダイクストラのアルゴリズムに似ています。実際、どちらの場合も、関連する「定理」はアルゴリズムとほぼ同じです。


たとえば、MSTのcutプロパティのステートメントを含め、貪欲なMSTアルゴリズムのクラス全体の正確さを暗示する場合、これはより良い答えになると思います。
サショニコロフ

ウィキペディアにリストされているMSTカットプロパティ 多分あなたはそこでカバーされていない他の一般化を参照することができます。ところで、質問者は、サービス提供の例を求め思い出す「これらの外側の理論フィールド」(あまりにも部外者のために前進させることができる与えられた他の素敵な例を)
vzn

TeTeABeEAB

1

他のフィボナッチ数の積であるフィボナッチ数列を見つけます。たとえば、フィボナッチ数8は8 = 2 * 2 * 2であるためシーケンスにあり、2は8に等しくないフィボナッチ数です。フィボナッチ数144は144 = 3 * 3 * 2 *であるためシーケンスにあります。 2 * 2 * 2、および2と3は両方とも144に等しくないフィボナッチ数です。

カーマイケルの定理は、8と144がこのシーケンスの唯一の項であることを意味します。

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