Cara menemukan simpul pada jalur sederhana antara dua simpul yang diberikan dalam grafik terarah

8

Diberikan grafik terarah dan dua simpul S dan T yang berbeda, adakah algoritma waktu polinomial yang menemukan setiap simpul yang berada pada setidaknya satu jalur sederhana dari S ke T?

Tidak sulit untuk menemukan semua simpul yang merupakan penerus S dan pendahulu T tetapi ini hanya superset dari himpunan di atas. Misalnya, perhatikan grafik berikut: S -> a; a -> b; b -> c; b-> T; c -> a

Sementara a, b dan c semuanya adalah penerus S dan pendahulu T, tidak ada jalur sederhana dari S ke T melalui c (karena setiap jalur dari S ke T melalui c berisi dua kali a dan b).

Masalah terkait erat adalah sebagai berikut: Diberikan grafik diarahkan dan tiga simpul yang berbeda S dan T dan I, apakah ada algoritma waktu polinomial untuk memutuskan apakah ada jalur sederhana dari S ke T melalui I.

Algoritma polinomial-waktu untuk masalah yang terakhir ini dapat digunakan untuk membangun algoritme polinomial ke yang sebelumnya karena kita dapat menerapkannya secara sukses dengan mengganti I dengan setiap node dalam grafik (atau lebih efisien untuk setiap node yang keduanya merupakan penerus dari S dan pendahulu T).

Henri
sumber

Jawaban:

3

Terima kasih atas jawaban anda Seperti yang ditunjukkan master foo , masalah kedua - diberikan grafik terarah dan tiga simpul berbedas,t dan saya, putuskan apakah ada jalur sederhana dari s untuk t melalui saya - memang NP-lengkap.

Dari kertas The Directed Subgraph Homeomorphism Problem oleh Steven Fortune, John E. Hopcroft dan James Wyllie, jelas bahwa grafik polassayat adalah salah satu yang masalah homeomorfisme subgraph yang diarahkan tetap adalah selesai-NP karena merupakan pohon kedalaman dua.

Berikut adalah beberapa definisi dari makalah ini:

Masalah homeomorfisma subgraph adalah untuk menentukan: jika grafik pola p adalah homeomorfik ke subgraf dari grafik input G. Homeomorfisme memetakan node P ke node G dan lengkungan P ke jalur sederhana di G. Grafik P dan G adalah baik diarahkan atau keduanya tidak diarahkan. Jalur di G yang sesuai dengan busur di P harus berpasangan simpul-berpasangan. Pemetaan node dalam P ke node di G dapat ditentukan atau dibiarkan sewenang-wenang. Masalah ini dapat dilihat sebagai masalah pencarian jalur umum. Misalnya, jika grafik pola terdiri dari dua busur disjoint dan pemetaan simpul diberikan, maka masalahnya setara dengan menemukan pasangan jalur disjoint antara simpul yang ditentukan dalam grafik input.

Pada dasarnya, hanya grafik pola yang merupakan pohon dengan kedalaman satu dan grafik baliknya (dengan kemungkinan loop lengkung pada root) dapat diselesaikan dalam waktu polinomial.

Misalkan C adalah kumpulan dari semua grafik berarah dengan simpul yang dikenal yang disebut root yang memiliki properti bahwa root adalah kepala dari setiap busur atau root adalah ekor dari setiap busur. Perhatikan bahwa root mungkin merupakan kepala dan ekor dari beberapa busur dan dengan demikian loop pada root diperbolehkan. Secara ekuivalen, grafik berada dalam C jika, ketika semua loop pada root dihapus dan beberapa busur di antara pasang node digabungkan menjadi satu busur, grafik yang dihasilkan adalah pohon tinggi paling banyak satu.

[...]

Selanjutnya kita menunjukkan bahwa untuk setiap pola P tidak dalam C masalah homeomorfisme subgraph tetap dengan pola P adalah NP-lengkap.

Saya belum membaca buktinya jadi saya akan berhenti di sini.

Ada juga koneksi yang dekat dari masalah yang baru saja saya sebutkan dan masalah dua jalur terpisah seperti yang ditunjukkan oleh salah satu kolega saya. Masalah dua jalur dijsoint adalah:

Diberikan grafik terarah dan empat simpul berbeda s1,t1,s2,t2, putuskan apakah ada dua simpul berpasangan yang memisahkan jalur sederhana dari s1 untuk t2 dan dari s2 untuk t2.

Masalah untuk grafik terarah ini dikenal sebagai NP-complete. Namun, ada transformasi sederhana dari masalah dua jalur terpisah kessayatmasalah. Untuk melakukan itu, kita perlu menambahkan satu simpul tambahansaya dan dua tepi ekstra t1saya dan sayas2.

Jika ada algoritma polinomial untuk menyelesaikan ssayat masalah, kita bisa menggunakannya untuk memecahkan dua masalah jalur terpisah dalam waktu polinomial dengan transformasi sederhana di atas dan dengan demikian memecahkan ssayat masalah.

Henri
sumber
Ya itu 2 masalah jalur terpisah, jadi ini NP-hard pada digraph umum, tapi Anda bisa menyelesaikannya dalam DAG, Planar Digraphs, ..., akhirnya jawaban Anda benar mengapa Anda tidak menjadikannya sebagai jawaban yang diterima.
-1

Ini adalah masalah NP-hard.

@article{DBLP:journals/tcs/FortuneHW80,
  author    = {Steven Fortune and
               John E. Hopcroft and
               James Wyllie},
  title     = {The Directed Subgraph Homeomorphism Problem},
  journal   = {Theor. Comput. Sci.},
  volume    = {10},
  year      = {1980},
  pages     = {111-121},
  ee        = {http://dx.doi.org/10.1016/0304-3975(80)90009-2},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}
master foo
sumber
2
Sama sekali tidak jelas dari melihat bagian abstrak dan pengantar dari artikel ini bagaimana hal ini berkaitan dengan pertanyaan ini. Bisakah Anda jelaskan?
Niel de Beaudrap