Jenis topologi minimal secara linguistik dari DAG berlabel

13

Pertimbangkan masalah di mana kita diberikan sebagai input grafik asiklik langsung G=(V,E) , fungsi pelabelan λ dari V ke beberapa set L dengan urutan total <L (misalnya, bilangan bulat), dan di mana kita diminta untuk hitung jenis topologi terkecil G dari segi λ . Lebih tepatnya, semacam topologi dari G adalah penghitungan V sebagai v=v1,,vn, sehingga untuk semua , setiap kali ada jalur dari v i ke v j di G , maka kita harus memiliki i < j . The label dari seperti semacam topologi adalah urutan elemen dari S diperoleh sebagai l = λ ( v 1 ) , ... , λ ( v n ) . Urutan leksikografis pada sekuens semacam itu (yang semuanya memiliki panjang | V | ) didefinisikan sebagai l < LEXijvivjGi<jSl=λ(v1),,λ(vn)|V| IFF ada beberapa posisisayasehingga l i < L l ' i dan l j = l ' j untuk semuaj<i. Perhatikan fakta bahwa setiap label dalamSdapat ditetapkan ke banyak simpul dalamV(jika tidak masalahnya masalahnya sepele).l<LEXlili<Llilj=ljj<iSV

Masalah ini dapat dinyatakan dalam varian komputasi ("hitung jenis topologi minimal leksikografis") atau dalam varian keputusan ("apakah kata input ini jenis topologi minimal?"). Pertanyaan saya adalah, apa kompleksitas masalah ini ? Apakah di PTIME (atau di FP, untuk varian perhitungan) atau apakah NP-hard? Jika masalah umum NP-hard, saya juga tertarik tentang versi di mana himpunan dari label mungkin diperbaiki sebelumnya (yaitu, hanya ada jumlah label yang mungkin konstan).S

Catatan:

Berikut adalah contoh kecil dunia nyata untuk memotivasi masalah. Kita bisa melihat DAG sebagai tugas mewakili suatu proyek (dengan hubungan ketergantungan di antara mereka) dan label adalah bilangan bulat yang mewakili jumlah hari yang dibutuhkan setiap tugas. Untuk menyelesaikan proyek, saya akan membutuhkan total waktu yang sama tidak peduli urutan yang saya pilih untuk tugas-tugas tersebut. Namun, saya ingin mengesankan atasan saya, dan untuk melakukan ini saya ingin menyelesaikan banyak tugas secepat mungkin (dengan cara serakah, bahkan jika itu berarti sangat lambat pada akhirnya karena tugas yang lebih sulit tetap). Memilih urutan minimal leksikografis mengoptimalkan kriteria berikut: Saya ingin memilih pesanan sedemikian rupa sehingga tidak ada pesanan lain o dan beberapa hari n setelahoon hari saya akan menyelesaikan lebih banyak tugas dengan pesanan o daripada dengan pesanan o (yaitu, jika bos saya melihat waktu n , saya memberikan kesan yang lebih baik dengan o ), tetapi untuk semua m < n saya telah menyelesaikan tugas yang tidak kurang dengan memesan o daripada dengan memesan o .noonom<noo

Untuk memberikan beberapa wawasan tentang masalah: Saya sudah tahu dari jawaban sebelumnya bahwa masalah terkait berikut ini sulit: "adakah jenis topologi yang mencapai urutan berikut"? Namun, fakta di sini bahwa saya menginginkan urutan yang minimal untuk tatanan leksikografis ini tampaknya banyak membatasi tatanan topologi yang mungkin mencapainya (khususnya pengurangan jawaban-jawaban lain itu tampaknya tidak lagi berfungsi). Secara intuitif, ada jauh lebih sedikit situasi di mana kita punya pilihan untuk membuat.

Perhatikan bahwa tampaknya ada pengulangan menarik masalah dalam hal set cover (ketika membatasi masalah ke DAG yang bipartit, yaitu, memiliki tinggi dua): diberi satu set set, sebutkan dengan urutan yang meminimalkan urutan leksikografis | S 1 | , | S 2S 1 | , | S 3( S 1S 2 ) | , ... , | S n(S1,,Sn|S1||S2S1||S3(S1S2)|. Masalahnya juga dapat diulangi pada grafik yang tidak terarah (semakin memperluas area terhubung dari grafik mengikuti urutan yang meminimalkan urutan leksikografis dari label yang terbuka). Namun, karena fakta bahwa urutanmemilikimenjadi serakah setiap saat dengan definisi dari urutan leksikografis, saya tidak bisa mendapatkan pengurangan (misalnya, pohon Steiner) bekerja.|Sn(S1Sn1)|

Terima kasih sebelumnya atas ide Anda!

a3nm
sumber

Jawaban:

12

Dengan beberapa salinan dari label yang sama diizinkan, masalahnya adalah NP-hard, melalui pengurangan dari klik-klik dalam grafik. Diberikan grafik di mana Anda ingin menemukan k -clique, buat DAG dengan simpul sumber untuk setiap simpul G , simpul wastafel untuk setiap tepi G , dan tepi terarah x y setiap kali x adalah simpul G yang membentuk titik akhir dari tepi y . Berikan simpul G nilai label 1 dan tepi G nilai label 0 .GkGGxyxGyG1G0

Kemudian, ada -clique di G jika dan hanya jika urutan leksikografis pertama topologi membentuk urutan k 1 's dan ( kkGk 1 0's, dengani-10' s mengikutiith1. Misalnya klik enam-titik akan diwakili oleh urutan110100100010000100000. Ini adalah urutan terkecil secara leksikografis yang mungkin dapat memulai urutan topologi dari DAG berlabel yang diberikan oleh konstruksi ini (mengganti salah satu dari1dengan0akan memberikan urutan dengan lebih banyak tepi daripada yang dapat ditemukan dalam grafik sederhana dengan itu banyak simpul) dan itu hanya bisa menjadi awal dari pemesanan topologi ketikaGberisi klik yang diinginkan.(k2) 0i1 0i111010010001000010000010G

David Eppstein
sumber
Oh, saya belum memikirkan klik. Itu pengurangan yang bagus, terima kasih banyak! Jadi ini menunjukkan bahwa masalah perhitungan NP-hard, bahkan dengan alfabet label tetap ). Ini juga menyiratkan bahwa masalah keputusan "adalah urutan terkecil secara leksikografis kurang dari yang satu ini" adalah NP-hard juga (Anda dapat menggunakannya untuk menghitung minimum dengan pencarian biner). Satu-satunya pertanyaan tambahan yang saya lihat adalah apakah masalahnya "apakah urutan input yang tepat ini minimal" adalah NP-hard juga. (Dengan itu, Anda tidak dapat menguji dengan mudah jika kata minimal dimulai dengan awalan.) Apakah Anda punya ide untuk itu? {0,1}
a3nm
1
Kecurigaan saya adalah bahwa masalahnya "apakah urutan yang tepat ini dapat dicapai" adalah lengkap-NP, tetapi saya tidak memiliki pengurangan di tangan. "Apakah urutan yang tepat ini yang minimal" harus berada pada tingkat kedua dari hierarki polinomial, karena ia memerlukan kombinasi kuantifikasi eksistensial (dapat dicapai) dan kuantifikasi universal (semua urutan dapat dicapai, setidaknya sama besar).
David Eppstein
Sebenarnya saya sudah tahu bahwa pengujian apakah urutan yang tepat dapat dicapai adalah NP-hard (pada alfabet dengan 3 label) dengan pengurangan dari 3-partisi unary oleh Marzio de Biasi sketsa di sini: cstheory.stackexchange.com/a/19415 . Tapi saya pikir itu tidak memberitahu status masalah "apakah ini urutan minimal yang dapat dicapai": ketika bertanya tentang apakah urutan tertentu dapat dicapai, secara umum itu akan memiliki sedikit peluang untuk menjadi minimal dalam beberapa urutan leksikografis. Either way, apa yang ditunjukkan pengurangan Anda masih sangat menarik, terima kasih lagi! :)
a3nm
2

Menurut referensi ini (1), masalah urutan topologi leksikografis pertama adalah NLOG-lengkap.

You may want to take a more thorough look at the article to ensure that it covers the case(s) that you're interested in. In particular, based on the technical report version (pdf) of that article, it appears that they're treating the lexicographic ordering of the vertices as strict (e.g.: in your notation, λ(u)λ(v) for uv), but I'm not sure if this affects the applicability of the result.

  1. Shoudai, Takayoshi. "The lexicographically first topological order problem is NLOG-complete." Information processing letters 33.3 (1989): 121-124.
mhum
sumber
4
NLOG-complete adalah subset dari polinomial-time, dan (per kalimat "Pay attention" pada paragraf pertama dari masalah) membuat label dari vertex berbeda membuat masalah mudah dipecahkan dengan algoritma serakah polinomial-time greedy. Pertanyaan sebenarnya adalah apa yang terjadi ketika label tidak berbeda.
David Eppstein
Itu poin yang adil. Sekarang jelas dari jawaban Anda bahwa pengulangan label membuat masalah lebih sulit daripada kasus label unik.
mhum