İki kelimenin bir dilde araya girip girmediğini kontrol etmenin karmaşıklığı


9

Bazı alfabe sabit bir dil için , INTERLEAVING adını verdiğim şu sorunu ele alalım :LAL

  • Giriş: iki kelimeu,vA
  • Çıktı: de ve araya eklenmesi olup olmadığı .uvL

Burada, ve kelimelerinin bir araya getirilmesi , göreli sıralarını korurken ve harflerini alarak sezgisel olarak elde edilebilen bir kelimesidir . Biçimsel olarak, bir araya girme olan ve iki ayrık sekanslarının, eşittir bir içine bölümü eğer eşit olan ve diğer . Örneğin, "bheleloll", "merhaba" ve "çan" ın serpiştirilmesidir.uvwuvwuvuv

Karmaşıklığı nedir dili bağlı olarak sorunu -INTERLEAVING ? LLÖzellikle:

  • Eğer düzenlidir, o zaman o sınıf NL olmak gösterileri iki dizeleri üzerinde dinamik bir algoritma ile sorunu çözebilir. Bazı normal diller için NL zor mu? Bununla birlikte, bazı normal diller için sorun açıkça L'dir (deterministik günlük alanı). Sorunun L olduğu dillerin karakterizasyonu var mı?L
  • Eğer düzenli olmadığında, sorun NL hala polinom çevrimiçi deterministik uzay karmaşıklığı (bkz sahiptir buraya bu kavramı ya yönelik önceki sorum ). Bununla birlikte, bu, örneğin tüm bağlamsız dilleri kapsamaz; yine de, bazı diğerlerinin (örneğin, palindromlar) NL olduğu gösterilebilir (örneğin, başlangıçtan ve sondan aynı anda dinamik bir algoritma yapılarak). harmanlama sorunu NP-zor olan bağlamsız bir dil var mı ?LLL

Yanıtlar:


6

kelimesi ve iki tamsayı için , ile alt kelimesini / . Ayrıca ın boş kelimeyi göstermesine izin verdik .w=w1wi,j1ijw(i,j)wiwi+1wjww(0,0)

  • Let ve göz altında iki kelime.u=u1umv=v1vn
  • Bağlamdan bağımsız dil nin Chomsky normal biçiminde bağlamsız bir dilbilgisi ile belirtildiğini varsayın .L

Bir durum tarafından belirtildiği dinamik bir program oluşturun[i,j,r,s,A]

  • iki tamsayı , veyai,j1ijmi=j=0
  • iki tamsayı , veyar,s1rsnr=s=0
  • bağlamsız gramerde terminal olmayan sembolüA

Her durum için, bağlamsız gramerde, terminal olmayan ile başlayan ve ve kelimelerinin biraz araya sokulmasıyla biten türev olup olmadığına karar verin . Durumlar doğru sırayla ele alınırsa, bu karar kolayca verilebilir (daha uzun alt kelimelerden önce kısa alt kelimeler).Au(i,j)w(r,s)

Sonuçta, bunun için bir polinom zaman algoritması verir herhangi bağlam serbest dil -interleaving sorunu .LL


Teşekkürler! Aslında, bu en.wikipedia.org/wiki/CYK_algorithm varyantının , sorunun bağlamsız diller için P'de olduğunu göstermeye çalışacağını fark etmemiştim . Bununla birlikte, sorunun bu algoritmayı kullanarak NL'de nasıl gösterileceğini görmüyoruz: her bir tahminin logaritmik olduğu (yani, konumların konumlarının logaritmik olduğu) dize). Bunun hakkında bir fikrin var mı?
a3nm

2
@ a3nm Boş sözcüğün bir CFL'ye ait olup olmadığı zaten P-zordur.
Sylvain

@Sylvain: Tamam P-zor, ama CFL'nin bir fonksiyonu olarak. :) Benim sorunumda dil (veya bunun için bir CFL) sabit olduğunu ve giriş sadece iki dize olduğunu unutmayın, bu yüzden bu argümanın geçerli olduğunu düşünmüyorum.
a3nm

2
@ a3nm Üzgünüm, dilin düzeltildiğini gerçekten de özlemiştim. O zaman doğal aday LogCFL-sertliği olacaktır.
Sylvain

@Sylvain: Doğru, teşekkürler! Gerçekten de sabit bir CFL dili (yani, Greibach'ın en sert dili) için bile problemin LogCFL-sert olduğunu tahmin ediyorum, bu yüzden özellikle problemimin LogCFL-hard olduğu CFL dilleri var (ikinci dizenin boş olduğu örnekleri alın ). Tersine Gamow'un algoritmasının LogCFL (?) İçinde olduğunu hayal ediyorum. Yine de, bu, sorunumun bunun daha kolay olduğu dilleri ve nasıl kategorilere ayrılabileceğini
merak ediyor
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.