Kuadratik uzayda DFA kesişimi?


25

İki (en az) DFA'nın n durumuyla kesişimi, O (n 2 ) zaman ve boşluk kullanılarak hesaplanabilir . Bu, genel olarak optimaldir, çünkü elde edilen (minimum) DFA, n 2 durumuna sahip olabilir . Bununla birlikte, elde edilen minimal DFA z durumları varsa, z = O (n) olduğu takdirde , bazı sabit eps> 0 için n 2-eps uzayda hesaplanabilir mi? DFA'ların asiklik olduğu özel durum için bile böyle bir sonuçla ilgilenebilirim.


3
Um ... eğer iki n durumlu DFA asiklik ise, o zaman her biri sadece en fazla n uzunluğa sahip olan sınırlı bir sözcük grubunu kabul eder; bu durumda kesişimleri sadece n durumları olacak olan etiketli iki geçiş grafiğinin kesişimidir. Doğrusal zaman ve uzayda hesaplanabilir. Yoksa bir şey mi kaçırıyorum?
Joshua Grocho,

4
Evet, asiklik DFA'lar yalnızca sınırlı bir kelime grubunu kabul eder. Ancak kesişimi n ^ 2 olan asiklik DFA örnekleri vardır. Örneğin, AABC formunun dizelerini kabul eden bir DFA'yı (burada ABC uzunluk k dizeleridir) ve ABCC formunun dizelerini kabul eden bir DFA'yı düşünün.
Rasmus Pagh

1
retagging: cs.cc bir arxiv tanımıdır, bu nedenle verilen etiketlerin cs.cc ön ekine ihtiyacı yoktur.
Suresh Venkat

Yanıtlar:


15

Cevap, otomatın boyutunda herhangi bir şart olmaksızın evet şeklindedir . K ( sabit olduğu k) DFA'lar için bile O(log2n) uzayda hesaplanabilir .kk

Let ( I [ k ] ) olduğu k DFA'ler. Biz, bu verilen göstermektedir bir 1 , ... , bir k , en az DFA tanıyan bilgisayar L ( A 1 ) L ( A k ) yapılabilir OAi=(Qi,Σi,δi,zi,Fi)i[k])kA1,,AkL(A1)L(Ak) boşluk. İlk önce bazı teknik sonuçları kanıtlıyoruz.O(log2n)

Tanım 1 : Let , sonra iki durum olmak q r IFF w Σ * , q . w F r . w Fq,rqrwΣq.wFr.wF

Şimdi klasik kartezyen ürün konstrüksiyonu tarafından verilen otomasyonunu değerlendiriyoruz . Let q = ( q, 1 , ... , k k ) ve r = ( r, 1 , ... , r, k ) durumları olabilir A .Aq=(q1,,qk)r=(r1,,rk)A

Lemması 1 : karar vermek NL bulunmaktadır.qr

İspat (eskiz): Test eşitsizliğinin NL cinsinden olduğunu ve NL = coNL kullandığını gösteriyoruz. Bir kelime (o zaman bir harf) sanırım q . w son bir durumdur ve r . w değil. Bu işlem ile elde edilebilir q i . W , r i . i [ k ] için log alanında w ve q'nun final olduğu gerçeğini kullanarak iff q iF iwΣq.wr.wqi.w,ri.wi[k]q . O gösterilebilir q r, bir varlığını ima ağırlık poli-boyutta.qiFii[k]qrw

Lemma 2 : erişilebilir olup olmadığına karar vermek NL’dedir .q

Korumalı (eskiz) da tahmin (poli-boyutunda) yollar için q i ( i [ k ] ).ziqii[k]

Tanım 2 : durumlarını sözlük sırasına göre düşünün . S ( 1 ) ' i ilk erişilebilir durum olarak tanımlayın ve s ( i ) s ( i - 1 ) ' in ardından gelen herhangi bir önceki duruma eşdeğer olmayan ilk erişilebilir durumu tanımlayın. Bu tanımlar c ( k ) özel olarak i , örneğin bu q s ( i ) .As(1)s(i)s(i1)c(q)iqs(i)

Lemma 3 : O ( log 2 n ) uzayda hesaplanabilir .s(i)O(log2n)

İspat (taslak): Tanım 2 bir algoritma verir. Devletler üzerinde yineleme yapmak için sayaçlarını kullanıyoruz . Let j 0 ve q mevcut durum olabilir. Her durumda, q erişilebilir olup olmadığını doğrulamak için lemma 2'yi kullanırız . Öyleyse, önceki her durum için döngü kurarız ve herhangi birinin q ile eşdeğer olduğunu doğrularız . Eğer yoksa, j = i olursa, j'yi ve q değerini arttırırız . Aksi takdirde, q'ları s ( j ) olarak saklıyoruz ve devam ediyoruz. Sadece sabit sayıda sayacı sakladığımızdan ve testlerimiz NL'de yapılabilir.kj0qqqjqj=iqs(j) , bu ispatı tamamlar.NLDSPACE(log2n)

Corollary 1 : O ( log 2 n ) uzayda hesaplanabilir .c(q)O(log2n)

Teorem : minimize edilmesi O ( log 2 n ) uzayda yapılabilir.AO(log2n)

Kanıt (eskiz): büyük olması I bu şekilde ler ( I ) tanımlandığı gibidir (sınıfları yani. sayısı ). Biz otomat çıkış bir algoritma elde A ' = ( Q ' , Σ , Í ' , z ' , F ' )1m|Q0||Q1|is(i)A=(Q,Σ,δ,z,F)

  • ;Q={s(i):i[m]}
  • ;F={qQ:qiFii[k]}
  • burada q = ( z 0 , , z k ) .z=s(c(q))q=(z0,,zk)

Şimdi nasıl hesaplanacağını gösteriyoruz . Her i [ m ] için , bir Σ , q s ( i ) hesaplayın . a ve geçişi ( s ( i ) , a , s ( c ( q ) ) ) verin . Lemma 3 ve corollary 1 ile bu algoritma O ( log 2 n ) uzayda çalışır. A kontrol edilebilirδi[m],aΣqs(i).a(s(i),a,s(c(q)))O(log2n)Aminimal ve .L(A)=L(A)


3
Güzel algoritma! İşte bu algoritmaya bakmak için biraz farklı bir yol. Çekirdek durumu en aza indirilmesi olmasıdır herhangi bir belirli DFA polinom zaman ve yapılabilir alanı. Bundan sonra, (dolayısıyla polinom zaman ve logaritmik alan kavĢaktaki temsil eden bazı DFA imali kolay olan , O ( log 2 N ) alan), ve polinom zamanda ve hesaplanabilir iki fonksiyonu olarak kullanarak O ( log 2 N ) boşluk (iki logaritmik-uzay azaltımını oluşturmaya benzer şekilde), tüm algoritmayı polinom ve O zamanlarında verir.O(log2n)O(log2n)O(log2n) boşluk. O(log2n)
Tsuyoshi Ito

2
Ben sadece bu cevabı gördüm ... Algoritmanın neden polytime ve uzayda aynı anda çalıştığını anlamadım . Evet K L P D G P bir Cı- e [ log 2 n ] , fakat eğer bilinmemektedir K L T I S P [ n O ( 1 ) , log 2 n ] - olduğu, biz polytime'da çalışan bir algoritma elde edersek, içinde çalışan başka bir algoritma alabiliriz.O(log2n)NLPDSPACE[log2n]NLTISP[nO(1),log2n] boşluk, fakatpolytime ve N ( log 2 n ) uzayında N L problemlerinitek bir algoritmaylanasıl çözeceğimi bilmiyorum. O(log2n)NLO(log2n)
Ryan Williams,

Haklısın, ben de bilmiyorum. Bunu uzun zaman önce yayınladım, bu yüzden neden bu şekilde yazdığımdan emin değilim, ama belki de "polinom zamanı veya O (log² n)" demek istedim. Düzenleyeceğim çünkü yanıltıcı. Teşekkür ederim!
Michael Blondin,

14

Dick Lipton ve meslektaşları yakın zamanda bu problem üzerinde çalıştı ve Lipton bu konuda blog yazdı:

http://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/

DFA'nın kesişme noktasının boş dili tanımlayıp tanımlamadığını belirlemek için çok özel bir durumda bile O (n ^ 2) 'den daha iyi yapmanın açık olduğu anlaşılmaktadır.
Rapor, kavşaktaki sadece 2 DFA'yı değil, aynı zamanda daha büyük sayıları içeren çok daha gelişmiş bir algoritma işleminden kaynaklanacak karmaşıklık sonuçları vermektedir.


1
ve alt sınırlar ne olacak?
Marcos Villagra

1
Sadece soruları açıklığa kavuşturmak için: Bağlı alanı geliştirmek için O (n ^ 2) zaman (veya belki n ^ O (1) zaman) harcamaktan mutluyum.
Rasmus Pagh

13

Size k DFA'lar verilirse (k girişin bir parçasıdır) ve kesişimlerinin boş olup olmadığını bilmek istiyorsanız, bu sorun genel olarak PSPACE-tamamlayıcısıdır:

Dexter Kozen: Doğal Proof Sistemleri için Düşük Sınırlar FOCS 1977: 254-266

Belki bu kanıtı (ve Lipton ve ortak yazarlarının benzer yapıları) dikkatlice incelerseniz, sabit k için bile daha düşük bir sınır alan bulabilirsiniz.


Bu işaretçi için teşekkürler. Bunun, girdi dışında, ihtiyaç duyulan ek boşluğa bağlı n ^ Omega (1) boşluğuna yol açabileceğini tahmin ediyorum. Fakat muhtemelen süper-lineer bir uzay alt sınırına yol açabilir mi?
Rasmus Pagh

1
@ user124864 Verilen DFA ile n her devletler, ürün otomat olacak n k devletler. Şimdi, boyutunu küçültmek için yapabileceğiniz iki püf noktası var. İlki, ürün grafiğinin erişilebilir bileşenini düşünmenizdir. İkincisi, DFA ürününü en aza indirebilirsiniz. Günün sonunda, bu ürün otomatının hangi dili tanıdığını bulmak zor. knnk
Michael Wehar

1
@user124864 Even just trying to determine if the product DFA recognizes a non-empty language is hard. This is the intersection non-emptiness problem. By hard, I mean that it is XNL complete in a strong sense.
Michael Wehar

1
@user124864 If you can solve it in less than nk time, then we get faster algorithms for PSPACE complete problems. It is not solvable in o(1)klog(n) non-deterministic binary space. It's not known if we can solve it in less than k2log2(n) deterministic binary space. It's not known if we can solve it in simultaneous deterministic polynomial time and f(k)log2(n) binary space for any function f (doing so would improve Savitch's theorem).
Michael Wehar

1
@user124864 Note: we have both of the following. (1) Beating nk time deterministically implies faster deterministic algorithms for PSPACE complete problems and (2) beating nk time non-deterministically implies faster non-deterministic algorithms for PSPACE complete problems.
Michael Wehar

7

Given two automata A, B accepting finite languages (acyclic automata), the state complexity of L(A)L(B) is in Θ(|A||B|) (1). This result also holds for unary DFAs (not necessarily acyclic) (2). However, you seem to be talking about the space required to compute the intersection of two automata. I don't see how the classic construction using the Cartesian product uses O(n2) space. All you need is a constant number of counters of logarithmic size. When you compute the transition function for the new state (q,r) you only have to scan the input without looking to any previously generated data.

Perhaps you want to output the minimal automaton? If this is the case, then I have no clue whether it can be achieved. The state complexity of the intersection for finite languages doesn't seem encouraging. However, unary DFAs have the same state complexity and I think it can be achieved with such automata. By using results from (2), you can get the exact size of the automaton recognizing the intersection. This size is described by the length of the tail and the cycle, thus the transition function can be easily computed with very few space since the structure is entirely described by those two sizes. Then, all you have to do is to generate the set of final states. Let n be the number of states in the resulting automaton, then for all 1in, state i is a final state iff ai is accepted by both A and B. This test can be carried with few space.


1
Yes, I am interested in the minimal automaton, or at least an automaton of similar size. Thanks for the pointers to unary DFAs. However, this does not seem to help much for the general case.
Rasmus Pagh
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.