PLANARITYの最も単純な多項式アルゴリズムとは何ですか?


28

グラフを平面に描画できるかどうかを多項式時間で決定するいくつかのアルゴリズムがあり、多くは線形の実行時間で行われます。しかし、クラスで簡単かつ迅速に説明でき、PLANARITYがPであることを示す非常に単純なアルゴリズムを見つけることができませんでした。ご存知ですか?

必要に応じて、クラトフスキーまたはファリーの定理を使用できますが、グラフのマイナー定理のような深いものは使用できません。また、実行時間を気にせず、単に多項式を求めます。

以下は、これまでの3つの最良のアルゴリズムであり、単純さ/詳細な理論が不要なトレードオフを示しています。

アルゴリズム1:我々はグラフが含まれているかどうかをチェックすることができることを使用してまたはK 3 3多項式時間でマイナーなように、私たちは深い理論を用いて、非常に単純なアルゴリズムを取得します。(この理論は、Saeedが指摘したように、すでにグラフの埋め込みを使用しているため、これは実際のアルゴリズム手法ではなく、グラフのマイナー定理を既に知っている/受け入れている学生に伝えるのは簡単なことです)K5K3,3

アルゴリズム2 [誰かの答えに基づく]:3連結グラフを処理するのに十分であることが容易にわかります。これらについては、顔を見つけて、トゥッテの春の定理を適用します。

アルゴリズム3 [Juhoが推奨]:Demoucron、MalgrangeおよびPertuiset(DMP)アルゴリズム。サイクルを描くと、残りのグラフのコンポーネントはフラグメントと呼ばれ、適切な方法でそれらを埋め込みます(その間、新しいフラグメントを作成します)。このアプローチは、他の定理を使用しません。


1
私は、最も単純な多項式時間アルゴリズムがDemoucron、Malgrange、およびPertuiset(DMP)アルゴリズムであることに同意すると思います。これは、通常教科書で扱うアルゴリズムです(たとえば、Gibbons 1985またはBondy&Murty 1976を参照)。平面性を決定するだけで十分ですか、またはアルゴリズムは平面埋め込みも出力する必要がありますか?IIRCのBoyer and Myrvold @joroのSODA'99論文では、特に時間の複雑さに関する詳細が省略されている可能性があります。
ジュホ14年

2
意思決定問題がIS PLANARであるだけの場合、多項式時間で存在をチェックできる2つの禁止された未成年者ではないでしょうか?
joro

2
@joro:はい、もちろんそれは簡単な解決策ですが、そのような強力な定理の使用は避けたいと思います。
domotorp

1
私が言及したアルゴリズムは、基本的にAuslander-Parterアルゴリズムでした。アルゴリズムの問​​題は、コンポーネントのグラフを2分割できると言ったときのパート7でした。元のアルゴリズムではできますが、コンポーネントのより正確な定義が必要だと言ったアルゴリズムでは、詳細に説明するのは私の熱心ではありませんでした。再帰部分は明らかに真実であり(手順7を実行できた場合は完了です)、その正確性に疑問を抱きます。答えを更新しませんでした。約2ページになると見たからです。これ以上短縮することはできず、単純に呼ぶのは良くありません。
サイード14年

3
3連結のケースに減らすことは概念的に簡単であり、どのような場合でも説明する必要があります。効率にあまり関心がなければ、3連結の場合に簡単に減らすことができます。すべての2ノードカットを確認します。
チャンドラチェクリ14年

回答:


6

アルゴリズムについて説明します。それが「簡単」であるかどうかは定かではなく、いくつかの証明はそれほど簡単ではありません。

Chandra Chekuriが述べたように、最初にグラフを3連結コンポーネントに分割します。

  1. グラフを接続されたコンポーネントに分割します。
  2. 各接続コンポーネントを2接続コンポーネントに分割します。これは、G ivが接続されているかどうかにかかわらず、各2接続コンポーネントG iの各頂点の多項式時間チェックで実行できます。vGiGiv
  3. 各2接続コンポーネントを3接続コンポーネントに分割します。これはG i{ v u }が接続されているかどうかにかかわらず、各2接続コンポーネントG iの 2つの異なる頂点の多項式時間チェックで実行できます。v,uGiGi{v,u}

グラフの3連結成分が平面であるかどうかのチェックに問題を減らしました。LET 3-連結成分を意味します。G

  1. Gの任意のサイクルを実行します。CG
  2. ピンは、頂点凸多角形の頂点として。他の頂点のそれぞれを、その近隣の重心に配置します。これは、各頂点の座標を伝える一次方程式系につながります。してみましょうDは、結果として描画すること。交差点がある場合があります。CD
  3. に交差点がなければ、終了です。D
  4. G - V C )の接続されたコンポーネントの頂点を取得します。制限D誘起サブグラフにG [ U V Cは平面であるべきです。それ以外の場合、GUGV(C)DG[UV(C)]Gは平面ではありません。任意顔取る図面にD誘起サブグラフに限定G [ U V C ]、およびlet Cが'規定サイクルであるFをGの場合FDG[UV(C)]CFG平面である場合、は顔の周期でなければなりません。(Cがハミルトニアンサイクルの場合、C はエッジを使用して構築する必要があります。)CCC
  5. CではなくC 'を使用して手順2を繰り返します。結果の図面が平面の場合、は平面になります。それ以外の場合、Gは平面ではありません。GG

備考:

  • Tutteのスプリング埋め込みが平面埋め込みを与えると主張するのは簡単ではありません。Edelsbrunner and Harer、Computational Topologyの本のプレゼンテーションは気に入りましたが、これは三角測量専用です。Colin de Verdiereは、春の埋め込みについてhttp://www.di.ens.fr/~colin/cours/algo-graphs-surfaces.pdfのセクション1.4 で説明しています。一般的なリファレンスは、Linial、Lovász、Wigdersonです:ラバーバンド、凸包埋、グラフ接続。Combinatorica 8(1):91-102(1988)。
  • 多項数の算術演算で線形連立方程式を解くのは、ガウス消去法を使用すると簡単です。多項式数のビットを使用してそれを解くのはそれほど簡単ではありません。

答えを編集して、ブリッジとオーバーラップグラフを使用しないようにしました。
誰か

すべての3接続コンポーネントを埋め込むことができると仮定します。次に、元のグラフについて何を推測できますか?その3連結グラフの使用には(せいぜい)1つの埋め込みがあり、おそらくここから終了できますが、このステップも実行する必要があります。
domotorp

最後に、ステップ4で、非平面図の面とは何ですか?これはまだ自然な方法で定義できると思います。そして最後に、「Else Gは平面的ではありません」というのは、実に重要なことです。
domotorp

制限G [ U V C ]DG[UV(C)]平面であるべきです。それ以外の場合、は平面ではありません。G
誰か14年

これに同意しますが、これがどのように役立つかわかりません。
domotorp

3

Boyer and Myrvoldのアルゴリズムは、最先端の平面性テストアルゴリズムと見なされています

カッティングエッジ: Boyer and Myrvoldによるエッジの追加によるO(n)平面性の簡略化

この本の章では、多くの平面性テストのアルゴリズムを調査します。うまくいけば、十分に簡単なアルゴリズムを見つけることができます。


平面性アルゴリズムの最先端には興味がありません。簡単に説明できるものが欲しいです。私は、本の中でデモクロン、マルグランジュ、ペルティセット(DMP)アルゴリズムよりも簡単なものも見つけることができませんでした。
domotorp 14年

0

HopcroftとTarjanの1974アルゴリズム{1}はどうですか?


{1} Hopcroft、John、およびRobert Tarjan。「効率的な平面性テスト。」Journal of the ACM(JACM)21.4(1974):549-568。


これは高速であり、単純なアルゴリズムではありません。
domotorp

0

LogSpaceの2つのアルゴリズム

  1. エリック・アレンダーとミーナ・マハジャン-平面性テストの複雑さ
  2. サミールダッタとゴータムプラクリヤ-平面性テストの再検討

2つ目は、1つ目よりもはるかに簡単です。


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