İkinci dereceden bir sürede normal dillerin kesişim boşluğuna karar verilmesi


23

Let NFA'ler tarafından verilen iki normal diller olmak girdi olarak.M 1 , M 2L1,L2M1,M2

olup olmadığını kontrol etmek istediğimizi varsayalım . Bu açıkça , ürün otomasyonunu hesaplayan ikinci dereceden bir algoritma ile yapılabilir , ancak daha verimli bir şey olup olmadığını merak ediyordum.M 1 , M 2L1L2M1,M2

olup olmadığına karar vermek için bir algoritması var mı ? Bilinen en hızlı algoritma nedir?L 1L 2o(n2)L1L2


5
Herhangi birinin iyi fikirleri varsa lütfen bana bildirin, ancak şu anda açık bir sorun. Bu problemi lineer sürede çözebiliyorsanız, temelde yalnızca n bellek biti kullanarak deterministik olmayan bir makine tarafından çözülebilen herhangi bir problem deterministik olarak sürede çözülebilir . 2n2
Michael Wehar,

6
Sanırım hala ikinci dereceden herkes için açık. Biraz daha bilgi: rjlipton.wordpress.com/2009/08/17/…
Michael Wehar,

4
Mesela (Michael'ın yorumuna dayanarak), güçlü üstel zaman hipotezi, üstelin 2 olması gerektiği anlamına geliyor. Bunun üstel zaman üstel zaman hipotezinden de izleyebileceğini düşünüyorum ...
Ryan Williams

4
RB: Eğer boyut iki DFAs boşluğuna için test edebilirsiniz farz zamanında n 1 + ε ile ε < 1 . Şimdi n boyutunda k DFA'nız varsa , ilk k / 2 DFA'nın ve kalan k / 2 DFA'nın ürününü oluşturabilirsiniz. Ardından, zaman içindeki boşluğu test edin ( n k / 2 ) 1 + ε = n 1nn1+εε<1knk/2k/2daha iyidirnk. vzn: Bu ödüllü makale bu konuya yorum yapan @MichaelWehar tarafından yazılmıştır. Michael, belki vaktin varsa cevap verebilirsin! (nk/2)1+ε=n12k+ε2knk
Michael Blondin,

4
@RyanWilliams Merhaba Ryan, zayıf üssel zaman hipotezinin iki DFA için daha hızlı kavşaksızlığı çözemediğimizi ima ettiğini düşündüren nedir? Başka biri de bunu bana bir kez önerdi. :)
Michael Wehar

Yanıtlar:


22

Basit cevap : Bazı δ < 2 için zamanda çalışan daha etkili bir algoritma mevcutsa , güçlü üssel zaman hipotezi reddedilir.O(nδ)δ<2


Daha güçlü bir teoremi ispatlayacağız ve sonra basit cevap takip edecek.

Teoremi : Biz iki DFA kesişme olmayan boşluk sorunu çözebilir zaman, daha sonra bellek sadece n bit kullanılarak olmayan deterministik çözülebilir olan herhangi bir sorun, deterministik çözülebilir p O l y ( n ) 2 ( δ n / 2 ) süre.O(nδ)poly(n)2(δn/2)

Gerekçe : Kavşaksuzluğu iki DFA'nın zamanında çözebileceğimizi varsayalım . Deterministik olmayan bir Turing makinesine M salt okunur bir giriş bandı ve bir okuma / yazma ikili çalışma bandı verilmesini sağlayın. Girdi uzunluğu x olan bir n girelim. M'nin ikili çalışma bandı üzerindeki n bit belleğe daha fazla erişmediğini varsayalım.O(nδ)

X girişindeki M hesaplaması, sonlu bir yapılandırma listesiyle gösterilebilir. Her yapılandırma bir durum, giriş bandı üzerinde bir konum, çalışma bandı üzerinde bir konum ve çalışma bandını temsil eden en fazla n bit hafızadan oluşur.

Şimdi, çalışma bandının ikiye bölündüğünü düşünün. Başka bir deyişle, n bir sol bölüm var hücre ven'ninsağ kısmın2 hücre. Her bir konfigürasyon bir sol ve bir sağ parçaya bölünebilir. Sol parça, devlet Giriş bandı üzerindeki konumunu, çalışma bant üzerindeki pozisyonu ve oluşannn2Sol bölümden 2 bit. Sağ parçası, devlet Giriş bandı üzerindeki konumunu, çalışma bant üzerindeki pozisyonu ve oluşannn2Sağ bölümden 2 bit.n2

Şimdi, biz inşa bir DFA olan devletler sol parçaları ve DFA olan D 2 olan devletler doğru parçalarıdır. Alfabe karakterleri, hangi duruma gideceğinizi, kaset kafalarının nasıl hareket etmesi gerektiğini ve çalışma kasetinin aktif hücresinin nasıl manipüle edilmesi gerektiğini söyleyen talimatlardır.D1D2

Fikir olmasıdır ve D 2 giriş x üzerine M'nin bir hesaplama karşılık gelen bir talimat listesi olarak okunur ve bir araya geçerli ve kabul olduğundan emin olun. Hem D 1 hem de D 2 , teyp kafalarının nerede olduğu konusunda her zaman hemfikir olacaktır, çünkü bu bilgiler giriş karakterlerine dahil edilmiştir. Bu nedenle, olabilir D 1 iş bant pozisyonu sol parça halinde olan ve ne zaman talimat uygun olduğunu doğrulamak D 2 zaman sağ parça halinde olun.D1D2D1D2D1D2

Toplam olarak, en fazla vardır , her DFA ve en durumları p O l y ( n ) farklı alfabe karakterleri.poly(n)2n/2poly(n)

İlk bir varsayım olarak, iki DFA içinde kesişme olmayan boşluğu çözebilir aşağıdaki bir süre.poly(n)2(δn/2)

Bunu faydalı bulabilirsiniz: https://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/


k+O(log(n))O(nδ)poly(n)2(δk/2)

Yorumlar, düzeltmeler, öneriler ve sorular memnuniyetle karşılanmaktadır. :)


1
Ω(n2)

1
kk

1
(2k2)k

1
NSpace(2log(n))DTime(n)NSpace(2log(n))2log(n)deterministik olmayan alan İki yönlü okuma sadece giriş bandı ve iki yönlü okuma / yazma ikili çalışma bandı bulunan turing makineleri.
Michael Wehar
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.