DFA'dan normal ifadeye geçmek için bilinen algoritmalar


28

Bir DFA başlamak için bir “daha ​​iyi” (hangi anlamda açıklayacağım) algoritması olup olmadığını merak ediyordum, öyle ki normal bir ifadeyi r ( L ( A ) = L ( r )) olacaktı . Hopcroft ve Ullman (1979) tarafından kitap. Orada, setleri R k i j devlet itibaren DFA almak dizeleri kümelerini temsil etmek için kullanılır q i için q j herhangi devlete geçmeden daha yüksek sayılı k . Bu inşaat, açık ve net olmasına rağmen, oldukça tekniktir.ArL(A)=L(r)Rijkqiqjk

Cebirsel otomata teorisi hakkında bir monografi yazıyorum ve izleyicimi çok fazla teknik ayrıntıyla (en azından göstermek istediğim sonuçlarla ilgisi olmayan ayrıntılarla değil) dikkatini dağıtmak istemiyorum. DFA ile normal ifadeler arasındaki eşdeğerliğin kanıtı için kanıt. Kayıt için, normal ifadeden DFA'ya gitmek için Glushkov otomata kullanıyorum. Tanımlamadığım geçişlerden daha sezgisel gözüküyordu (yine de onlara ihtiyacım yok).ε

DFA'dan normal bir ifadeye giden başka hangi algoritmalar vardır? Verimlilik üzerindeki basitliğe değer veriyorum (bu benim için “daha ​​iyi”), ancak bu bir gereklilik değil.

Yardımınız için şimdiden teşekkürler!


1
Bu farklı bir algoritma değil, ama algoritması kullanılarak, cebirsel olarak eksprese edilebilir k uygun cebir normal ifadelerin matrisin inci gücü. Belki bunu daha zarif / özlü bulacaksınız. Bir referans arıyorum. Rijkk
Maksimum

1
bu anahtar sözcükleri arayarak matris çarpımı cinsinden tanıtımı bulabilir böylece algoritma, temel olarak tüm-çift-en kısa yol sorunu için Floyd-Warshall algoritmasının bir varyantı. Rijk
Jan Johannsen

2
Aynı fikirdeyim Temelde Floyd-Warshall algoritmasıdır. Ayrıca standart dinamik programlama teknikleri kullanılarak da elde edilebilir (Floyd-Warshall'ın yapabildiği gibi).
david,

Daha önce böyle bir soruyu cevapladığımdan eminim ama bulamıyorum.
Raphael

@Max bir referans bulabilir misiniz? Matris temsili ile ilgileniyorum, aslında cebirciler için daha çekici olmalı.
Janoma

Yanıtlar:


17

İki yapı daha: Brzozowski-McCluskey, devlet elemesi [1] ve Gaussian elemesi, Arden'in Lemma'sını kullanan bir denklem sisteminde. Bunların en iyi kaynağı muhtemelen Jacques Sakarovitch'in kitabıdır [2].

[1] J. Brzozowski, E. McCluskey Jr., Ardışık devre durum diyagramları için Signal fl grafik çizimleri, Elektronik Bilgisayarlarda IEEE İşlemleri EC-12 (1963) 67-76.

[2] J. Sakarovitch, Otomat Teorisinin Elemanları. Cambridge University Press, 2009.


2
Arden'in Lemma'sini kullanarak denklem çözme yaklaşımını açıklamak en kolay ve en kolay yol olarak görüyorum, bu yüzden bunu bir giriş teorisi dersinde sunuyorum.
Jan Johannsen

Bir denklem sisteminin yöntemi kulağa mükemmel geliyor. Maalesef üniversitemin kütüphanesinde bahsettiğiniz kitap yok (Sakarovitch), ama başka bir yere bakacağım.
Janoma

4
Yapıların karşılaştırılması, Sakarovitch'in "Dil, İfade ve (küçük) Otomat" adlı makalesinde de yer almaktadır, CIAA 2005, LNCS 3845, Springer (2006) 15-30. Bkz. İnfres.enst.fr/~jsaka/PUB/Files/LESA.pdf
Hermann Gruber

2
Ayrıca, durumların işlendiği sıralamanın ortaya çıkan normal ifadenin boyutunu da büyük ölçüde etkileyebileceğini unutmayın. Bu her zaman doğrudur: Arden'in lemması, McNaughton-Yamada, durumların kaldırılması veya başka bir varyasyonla yapsanız. İyi bir eleme siparişi seçmek için birkaç basit buluşsal yöntem mevcuttur.
Hermann Gruber,

15

Kozen'in "Automata & Computability" kitabı, bu Floyd-Warshall algoritmasının zarif bir genellemesinden bahsediyor. Cebircilere hitap etmekten bahsettiğinden, onu faydalı bulabilirsin. Bu metnin 58-59. Sayfasında bulacaksınız. (Google kitapların bir önizlemesi olduğunu düşünüyorum.)

2×2

[abcd]=[(a+bdc)(a+bdc)bd(d+cab)ca(d+cab)]

i,jij

n×na,b,c,dm×mm×(nm)(nm)×m(nm)×(nm)2×22×2

nTfF(T)s,fsT

m=1Rijk

Kleene cebir yapılarının matrisler üzerine bir başka türetilmesi, Kleene Cebirleri için bir Tamlık Teoremi ve Kozen'in Düzenli Olaylar Cebiri'nde görülmektedir.


12

Şimdiye kadar gördüğüm en güzel prosedür Sylvain tarafından belirtilen prosedür. Özellikle, diğerlerinden daha özlü ifadeler ürettiği görülmektedir.

Geçtiğimiz yaz öğrencilere yönelik yöntemi açıklayan bu belgeyi yazdım . Doğrudan belirli bir dersle ilgilidir; Sözü edilen referans normal ifadelerin tipik tanımıdır. Arden'in Lemması'nın bir kanıtı bulunur; yöntemin doğruluğu için bir tane eksik. Derste öğrendiğim gibi, ne yazık ki referansım yok.


Ben de bu kanıtı tercih ederim. Bunu zarif ve açıklaması kolay buluyorum. Arden'in Lemması bile zor değil. Bunun dokümanıma ekleyeceğim yöntem olacağını düşünüyorum.
Janoma

+
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.