図の交差するエッジの数を減らす方法は?


10

ダイアグラムエディターの作業をしています。ダイアグラムは、コネクター(エッジ)で接続された2D形状(ノード)を表示します。

ノードを選択して、それらを「解きほぐす」操作を追加したいと思います。可能であれば、交差するエッジの数を減らすためにノードを再配置します(また、エッジをベンドポイントで描画する必要がある場合は問題ありません)。 。

したがって、(トポロジ)グラフの埋め込みとそのノードのサブセットを前提として、交差するエッジの数を最小限に抑えるために、それらのノードのみの埋め込み(そのトポロジ)を変更するグラフアルゴリズムが必要です。

頂点グラフについて読んだりCabelloとMohar(2013)を閲覧したりすると、この問題はNP困難であると思います。そのため、任意のパラメーター値に対して既知の多項式の時間複雑性を持つパラメーター化されたアルゴリズム(たとえば、交差するエッジの数)に満足します。これは実現可能に思えますが、自分でそのようなアルゴリズムを思いつくのは簡単ではありません。

質問:

  • そのようなアルゴリズムはどこにありますか?
  • 存在しますか?
  • 既存のソフトウェアでは?
  • そのような手術での重要な実務経験はありますか?(理論的には見た目が良いものは実際にはそれほど良くないかもしれませんし、逆もまた同様です。)

(私はこの質問をするのに最適な場所がわかりません:ここ、StackOverflow、またはMathOverflowで?)


1
StackOverflowにはこの質問の方が適していると思いますが、同じような質問があると、満足のいく答えが得られないことに気づきました。理論的な終わりに役立つはずの回答をフォローアップしますが、質問をそこに移行するのが最善の場合があります。
mdxn 2013年

ここでは、非常に詳細な作業が行われています。complang.tuwien.ac.at
cd

ありがとう!それだけでなく、それは明らかに問題の非常に読みやすいプレゼンテーションであり、いくつかのよく知られたアプローチの調査です。
reinierpost

回答:


9

NP-hard

質問で提起された問題は、実際には上記よりも難しく、より複雑です。特定のサイズと形状のグラフノードを検討する一方で、結果のサイズ(領域)も制限します。さらに、審美性の未定の概念が望まれます。明らかに、これにはヒューリスティックが必要です。これは、一般的なケースでは絶対最小値を使用しません。このようなアプリケーションで遭遇するノードの数は、平均的なケースではおそらくそれほど多くありません。グラフの最小エッジクロスバージョンを描画することは、サイズが小さい場合に実行可能です。

リソース:
特に次のリソースについては、次のリソースに興味がある可能性があります。

他にもたくさんのリソースがあります。これらはあなたが始めるのに役立つはずです。

追加の考えと観察:

ノードの形状とサイズに関する問題を回避するためのアイデアです。グラフ(無限に小さいノード)を前提に、エッジを邪魔にならないように「押したり」または曲げたりしながら各ノードを展開します(たとえば、スプラインを使用して近接性に制限を適用します)。あなたはそれを邪魔する他のエッジとノードでこれを行う必要があり、それは連鎖反応を開始する可能性があります。平衡を効率的に計算する方法(分子構造など)を調べます。ノードの形状を目的のサイズにできない場合は、図全体をスケーリングします。

ユーザーはランダム化されたアルゴリズムの結果を楽しむかもしれません。彼らは彼らが彼らが好きなものを手に入れるまであなたの機能を複数回使用することができました。この場合、冗長な計算を避けてください(交差数を再度計算する必要はありません)。


美学の議論を避けるために、質問にトポロジーを追加しました。それは重要ですが、基本的な問題にそれほど影響を与えるとは思いません。ノードのトポロジー(つまり、どのノードが他のどのノードに囲まれているか)を調整した、別のステップで対処できると思います。
reinierpost 2013年

15年以上前にGraphvizを最初に使用しました。あらゆる種類のグラフで、週に1回程度使用します。私はその結果にそれほど感銘を受けていません。そして、それをはるかに上手にするのは難しいことを理解しています。
reinierpost 2013年

私はしばしばgraphviz.orgにアクセスし、それらが参照するいくつかの論文を読みました。しかし、私はこの特定の質問に対する答えをまだ満たしていません。また、文学に精通することは私の仕事の説明には含まれていません。それが私がここでそれを求めている理由です。
reinierpost 2013年

参考文献をありがとうございました-これはまだ現在の研究であることに気づきました。
reinierpost 2013年

私が最初に試みるのは、シャビーア氏のアイデアに大まかに基づいた簡単な(したがって必ずしも有用ではない)アルゴリズムです。再度、感謝します。
reinierpost 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.