Köşe etiketli bir DAG'ın topolojik çeşitlerini numaralandırma


11

Let bir olmak yönlendirilmiş asiklik grafik ve izin her köşe koyan bir etiketleme fonksiyonu bir etiket için sonlu bir alfabe içinde . YazmaBir topolojik sıralama arasında bir eşleşme olduğu dan üzere (yani, bir sipariş bir dizi olarak) bu şekilde her o (ör. ye bir kenar varsaλ v V λ ( v ) L n : = | V | G σ { 1 , , n } V V ( v , v ) E σ - 1 ( v ) < σ - 1 ( v ) v v G=(V,E)λvVλ(v)Ln:=|V|Gσ{1,,n}VV(v,v)Eσ1(v)<σ1(v)vvsonra dizide önce gerçekleşir ). Etiket içinde kelime içinde .v vvσ ( 1 ) σ ( n ) L nσσ(1)σ(n)Ln

verildiğinde , topolojik türlerinin etiketlerini verimli bir şekilde numaralandırmak istiyorum . Topolojik çeşitlerin etiketlerini numaralandırmanın karmaşıklığı nedir? Tabii ki, üstel olarak çok sayıda olabileceğinden, karmaşıklığın çıktı boyutunun bir fonksiyonu olarak veya gecikme açısından çalışmak istiyorum. Özellikle numaralandırma polinom gecikmesi ile yapılabilir mi? (hatta sürekli gecikme?)G(G,λ)G

Her köşe durumunda farklı etiketler taşıyan (ya da eşdeğer şekilde, noktalar vardır kendileri tarafından etiketlenmiştir), bir sabit zaman itfa bu etiketler ile numaralandırılan biliyorum Bu sonuç ile Posetlerin doğrusal uzantılarını numaralandırmak (bir DAG'ın topolojik çeşitlerini numaralandırmakla aynı şeydir). Bununla birlikte, köşeler keyfi olarak etiketlendiğinde, çok sayıda topolojik türün aynı etikete sahip olması söz konusu olabilir, bu nedenle sadece topolojik türlerini numaralandıramaz ve etiketleri numaralandırmak için etkili bir yol elde etmek için etiketlerini hesaplayamazsınız. . Poset terminolojisinde, etiketli DAG etiketli olarak görülebilir{ 1 , , n }G{1,,n}( G , λ )G(G,λ) ve bunlarla ilgili numaralandırma sonuçları bulamadım.

Buradaki diğer sorularımın cevapları sayesinde ilgili sorunların sertliğini zaten biliyorum. Özellikle, sözlükbilimsel olarak en az etiketi bulmanın NP zor olduğunu biliyorum . Ayrıca, belirli bir etiket topolojik çeşit sağlanabilir olup olmadığının saptanması sertlik (NP-zor olduğunu biliyoruz , bu soruna : aday etiket dizisi verilen , topolojik tür sormak G her köşe bir pozisyonda gerçekleşmelidir burada doğru etiket ssGs). Bununla birlikte, istediğiniz herhangi bir sırayla numaralandırılabildiğinizden (zorunlu olarak sözlükbilimsel olarak) numaralandırma için sertlik anlamına geldiğini düşünmüyorum ve bir etiketleme algoritmasının bir etiketin ulaşılabilir olup olmadığına etkili bir şekilde karar vermek için kullanılamayacağı, hatta sabit gecikmeli olarak (ilk önce numaralandırılması için üstel olarak birçok sekans olabileceğinden).

İlk etiketi numaralandırmanın açık bir şekilde kolay olduğunu unutmayın (sadece herhangi bir topolojik sıralama alın). Saymak başka daha etiketi s , bazı eleman olduğunu empoze ederek devam edebilirsiniz v ait V bazı pozisyonunda sayılan alır i { 1 , ... , n } nerede ler i ( v ) : Her denemek v ve i ve çek G'nin v'nin i konumunda olduğu topolojik bir türü varsassvVi{1,,n}siλ(v)viGvi, PTIME'de açıkça yapılabilir. Ancak daha fazla etiket çıkardıkça, bu yaklaşımı nasıl genelleştireceğinizden emin değilim.

Yanıtlar:


-1

Topolojik sıralamayı hesaplamanın en basit yollarından biri, verilen DAG üzerinde bir Derinlik İlk Araması yapmaktır. Geçerli tepe u'nun açıklanmamış komşularından geçilecek bir sonraki tepe noktası seçilme esnekliğinden yararlanarak farklı topolojik düzenler oluşturulabilir . Çünkü, olası tüm çapraz geçişleri (ve dolayısıyla topolojik düzenekleri) sıralayan yinelemeli bir prosedür olduğundan, umulmamış u komşularınızın çaprazlandığı farklı düzenleri seçerek basit olacaktır .vuu

Şimdi, benzer etiketlerden dolayı aynı geçişi tekrarlamayı sınırlamak için, görülmemiş komşular of u benzer etiketlere sahip. Düşünün iki tepe noktaları v i ve v j geçişi ulaştığında aynı ziyaret edilmemiş komşularımız var u . Şüphesiz, her ikisinden birini seçmek aynı DFS ağacını oluşturur ve böylece bunlardan herhangi biri önlenebilir.v1,v2,...,vkuvivju

Şimdi, bütün komşularını karşılaştıran bir yükü yol açacak O ( n, 2 ) toplam zaman, ama daha verimli bir şekilde gerçekleştirilebilir ~ O ( n ) , uygun veri yapılarını kullanarak.v1,...,vkO(n2)O~(n)


Cevabınız için teşekkürler! Ancak, ilk paragrafta önerdiğiniz ince ayarın polinom olarak birçok adımdan sonra farklı bir topolojik sıralama etiketi üretilmesini sağlamak için neden yeterli olduğunu anlamıyorum. Örneğin, tüm elemanlar aynı etikete sahipse, numaralandırmak için sadece bir topolojik sıralama etiketi vardır, ancak algoritmanızın neden fark edeceğini ve yeterince hızlı bir şekilde sonlanacağını anlayamıyorum? (Başka bir nokta: "komşu" diyorsunuz, ancak grafik bir DAG; "çocuk" mu demek istediniz?)
a3nm

İlk paragraftaki değişiklik, etiketlerden bağımsız olarak olası tüm siparişleri oluşturmaktır. Benzer etiketler söz konusu olduğunda sıralamaları sınırlamak için, aynı etiketlerin köşe noktalarını seçilmemiş kalan grafiğe benzer şekilde bağlanmış gibi görmekten kaçınmak önemlidir. Dolayısıyla, aynı topolojik düzeni yaratan izomorfik, ziyaret edilmemiş bir grafik oluşturacaklardır.
sbzk

Tüm etiketlerin aynı olduğu durumda önemsiz bir durumdur, aksi takdirde tek bir farklı etiket bile birçok farklı sıralamaya yol açabilir. Hesaplamayı en aza indirmenin bir yolu, izomorfik, görünmeyen grafikleri işlemekten kaçınmaktır. Şimdi bir yükünü garanti etmeyebileceğini kabul ediyorum , ama belki de iyi bir buluşsal yöntem verebilir. O(n2)
sbzk

Açıklama için teşekkürler. Bununla birlikte, teorik garantileri olmayan bir sezgisel tarama için değil, tüm durumlar için geçerli olan karmaşıklığa bağlı bir polinom arıyorum! :)
a3nm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.