Menghitung jenis topologi DAG berlabel titik

11

Mari menjadi grafik asiklik diarahkan , dan membiarkan λ menjadi fungsi pelabelan memetakan setiap titik v V untuk label λ ( v ) di beberapa alfabet yang terbatas L . Menulis n : = | V | , Sebuah semacam topologi dari G adalah bijection σ dari { 1 , ... , n } ke V (yaitu, pemesananG=(V,E)λvVλ(v)Ln:=|V|Gσ{1,,n}V secara berurutan) sehingga setiap kali ( v , v ' ) E maka σ - 1 ( v ) < σ - 1 ( v ' ) (yaitu, jika ada tepi dari v ke v ' kemudian v terjadi sebelum v ' dalam urutan). Thelabeldari σ adalah kata σ ( 1 ) σ ( n ) di LV(v,v)Eσ1(v)<σ1(v)vvvvσσ(1)σ(n) .Ln

Diberikan , saya ingin menyebutkan label jenis topologi G secara efisien. Apa kompleksitas penghitungan label jenis topologi? Tentu saja, karena ada banyak secara eksponensial, saya ingin mempelajari kompleksitas sebagai fungsi dari ukuran output, atau dalam hal keterlambatan. Secara khusus, dapatkah pencacahan dilakukan dengan penundaan polinomial? (atau bahkan penundaan konstan?)(G,λ)G

Dalam kasus di mana semua simpul membawa label yang berbeda (atau, ekuivalen, simpul adalah { 1 , ... , n } dilabelkan sendiri), saya tahu bahwa label dapat disebutkan dalam waktu diamortisasi konstan, dengan hasil ini pada penghitungan ekstensi linear poset (yang merupakan hal yang sama dengan menghitung jenis topologi DAG). Namun, ketika simpul diberi label secara sewenang-wenang, bisa jadi itu kasus bahwa sejumlah besar jenis topologi memiliki label yang sama, sehingga Anda tidak bisa hanya menghitung jenis topologi G dan menghitung label mereka untuk mendapatkan cara yang efisien untuk menyebutkan label. . Dalam terminologi poset, berlabel DAG ( G ,G{1,,n}G dapat dilihat sebagaiposetberlabel, dan saya tidak dapat menemukan hasil enumerasi tentang itu.(G,λ)

Saya sudah tahu kekerasan dari beberapa masalah terkait berkat jawaban atas pertanyaan saya yang lain di sini. Secara khusus, saya tahu bahwa menemukan label minimal leksikografis adalah NP-hard . Saya juga tahu bahwa memutuskan apakah label yang diberikan dapat dicapai dengan semacam topologi adalah NP-keras (dari kekerasan masalah ini : diberi label calon urutan , meminta semacam topologi G di mana setiap titik harus terjadi pada posisi di mana label yang tepat terjadi pada ssGs). Namun, saya tidak berpikir bahwa semua ini menyiratkan kekerasan untuk pencacahan, karena Anda dapat menghitung dalam urutan apa pun yang Anda suka (tidak harus leksikografis), dan algoritma pencacahan tidak dapat digunakan untuk memutuskan secara efisien apakah label dapat dicapai, bahkan dengan penundaan konstan (karena mungkin ada banyak urutan secara eksponensial untuk disebutkan terlebih dahulu).

ssvVi{1,,n}siλ(v)viGvi, yang jelas dapat dilakukan di PTIME. Tetapi saat Anda menampilkan lebih banyak label, saya tidak yakin bagaimana cara menggeneralisasi pendekatan ini.

a3nm
sumber

Jawaban:

-1

vuu

v1,v2,...,vkuvivju

v1,...,vkO(n2)O~(n)

sbzk
sumber
Terima kasih atas jawaban anda! Namun, saya tidak mengerti mengapa tweak yang Anda sarankan pada paragraf pertama akan cukup untuk memastikan bahwa label pengurutan topologi yang berbeda dihasilkan setelah banyak langkah secara polinomi. Misalnya, jika semua elemen memiliki label yang sama, maka hanya ada satu label pengurutan topologi untuk disebutkan, tetapi saya tidak yakin saya melihat mengapa algoritma Anda akan melihatnya dan berhenti cukup cepat? (Poin lain: Anda mengatakan "tetangga", tetapi grafiknya adalah DAG; maksud Anda "anak"?)
a3nm
Tweak dalam para pertama adalah untuk menghasilkan semua kemungkinan pemesanan terlepas dari label. Untuk membatasi urutan dalam kasus label yang sama, penting untuk menghindari memilih simpul dari label yang sama jika mereka tampaknya sama terhubung ke grafik yang belum dikunjungi yang tersisa. Oleh karena itu, mereka akan membuat grafik yang tidak dikunjungi isomorfik menghasilkan urutan topologi yang sama.
sbzk
O(n2)
Terima kasih untuk penjelasannya. Namun, saya mencari polinomial terikat pada kompleksitas yang berlaku untuk semua kasus, bukan untuk heuristik tanpa jaminan teoritis! :)
a3nm