bir DFA için minimum NFA hesaplanması


17

Yıllar önce, bir DFA'dan (deterministik) minimal NFA'nın (belirsiz olmayan sonlu otomatiğin) hesaplanmasının, on yıllardır bilinen ve verimli bir algoritma. Kimse bir algoritma buldu mu?Ö(nlgn)

Hızlı bir araştırma bana kesinlikle zor bir sorun olduğunu kanıtlayan bu makaleyi verdi. Görünüşe göre hiçbir algoritma verilmiyor.

[1] Minimal NFA problemleri zor / Tao Jiang ve B. Ravikumar

Bir DFA-> NFA minimizasyon algoritması yakından ilişkili olacak CS.SE sitesinde aşağıdaki soru ile bu sorunu hatırlattı. Aşağıdaki soru bana araştırma seviyesi gibi geliyor. TCS'ye geçmeyi önerdim ve istatistiksel / ampirik bir saldırı öneren bir cevap yazdım.

[2] Bir NFA'nın eşdeğer DFA'nın maksimum boyutta olması için koşullar nelerdir?


4
Alıntı yaptığınız kağıt PSPACE tamlığını gösteriyor. Özellikle, sorun hemen bir algoritma öneren PSPACE'de. Ne tür algoritmalar arıyorsunuz? Pratik ve / veya buluşsal olanlar? Çalışma süresinin üssünde en iyi bilinen sınırlar? Başka bir şey?
Joshua Grochow

8
Aslında o kadar sıra dışı değil. Problemin PSPACE-tamamlanmış olduğu bilinmeden önce, verimli algoritmalar geliştirmeye yönelik tüm girişimler başarısız oldu, bu yüzden çok az şey yayınlandı. Sorunun PSPACE-complete olduğu bilindikten sonra, kimse etkili algoritmalar geliştirmeye çalışmadı, çünkü başarısız olacaklarını biliyorlardı, daha az yayınlandı.
Jeffε

4
(1) “On yıllardır bilinen ve verimli bir O (n lg n) algoritması ile iyi araştırılmış olan yönün tersi” ne anlama geliyor? N durumlu bir NFA için minimum DFA n boyutunda üssel olabilir, bu nedenle bazı önemsiz olmayan çıkış kodlaması gerektirir. (2) Belirli bir normal dil için “en az NFA” diye bir şey yoktur. Bunu minimal DFA'nın varlığıyla karşılaştırın.
Tsuyoshi Ito

1
JEFFE iyi bir noktanız var ama eminim ki sadece olası tüm çözümleri numaralandırmanın yanı sıra sorun yapısından yararlanan sofistike algoritmalara sahip birçok Pspace tam problemi var, doğru mu? İtiraf et, kafamın üstünde düşünemiyorum. belki yapabilirsiniz? Sanırım burada pozlanması gereken ilginç bir soru daha var.
Mart'ta vzn

3
@vzn: dil için iki izomorfik olmayan 2 durumlu NFA var bir+
Mart'ta Mikero

Yanıtlar:


25

Bu gerçekten inatçı ve iyi çalışılmış bir sorundur. Olumlu sonuçlar ile ilgili olarak, Kameda ve Weiner tarafından kesin bir algoritma, Polák tarafından sezgisel bir yaklaşım ve Geldenhuys ve ark. akla gelmek. Ancak diğer olası yaklaşımları dışlayan çok daha olumsuz sonuçlar var gibi görünmektedir (örneğin, yaklaşık algoritmalar, özel durumlar, daha az güçlü NFA modelleri, ...) Bazı referanslar için aşağıya bakın.

T. Kameda ve P. Weiner. Belirsiz sonlu otomatanın durumunun en aza indirilmesi. Bilgisayarlarda IEEE İşlemleri, C-19 (7): 617-627, 1970.

A. Malcher. Sonlu otomataları minimuma indirmek hesaplama açısından zor. Teorik Bilgisayar Bilimi 327: 375-390, 2004.

L. Polák. Evrensel otomasyon kullanılarak NFA'nın minimalleştirilmesi. Uluslararası Bilgisayar Bilimi Temelleri Dergisi, 16 (5): 999-1010, 2005.

G. Gramlich ve G. Schnitger. NFA'ları ve Düzenli İfadeleri En Aza İndirme.Bilgisayar Biliminin Teorik Yönleri Sempozyumu (STACS 2005), LNCS 3404, s. 399-411.

H. Gruber ve M. Holzer. P <> NP varsayımıyla belirsiz olmayan durumun ve geçiş karmaşıklığının yakınlığı. Dil Teorisindeki Gelişmeler (DLT 2007), LNCS 4588, s. 205-216.

H. Gruber ve M. Holzer. Sonlu ve tekli diller için NFA minimizasyonunun hesaplama karmaşıklığı. Dil ve Otomat Teorisi ve Uygulamaları (LATA 2007), s. 261-272.

H. Björklund ve W. Martens. NFA minimizasyonu için izlenebilirlik sınırı. Uluslararası Otomata, Diller ve Programlama Kolokyumu (ICALP 2008), LNCS 5126, s.27-38.

Geldenhuys, B. van der Merwe, L. van Zijl: SAT Çözücüler ile Belirsiz Sonlu Otomata'nın Azaltılması. Sonlu Hal Yöntemleri ve Doğal Dil İşleme (FSMNLP 2009), LNCS 6062, 81–92.

EDIT (8 Haziran 2015)

Güncelleme: Aşağıdaki makale, rastgele olmayan otomata ilişkin deneylerin yanı sıra belirsiz olmayan Büchi otomatlarının boyutunu azaltmak için sezgisel bir algoritma sunmaktadır. Sonuçta belirttikleri gibi, yöntemleri NFA'lar için de geçerlidir: "Yöntemlerimizi Büchi otomatları bağlamında sunarken, çoğu önemsiz bir şekilde sonlu kelimeler üzerinden daha basit bir otomata geçiriyor."

Richard Mayr, Lorenzo Clemente. Gelişmiş Otomata Minimizasyonu. POPL 2013. Genişletilmiş Teknik Rapor EDI-INF-RR-1414.

Komut satırı aracı Reduce v1.2 , belirli bir NFA'yı azaltmak için "-finite" seçeneğiyle çağrılabilir. Uygulama açık kaynaklıdır ve GNU Genel Kamu Lisansı altında yayınlanmaktadır.


3
Bu tekmeleme olaylarından herhangi birinin açık kaynaklı uygulamaları olup olmadığını biliyor musunuz?
jmite

Merhaba Hermann, tüm bilgi için çok teşekkür ederim! Bir NFA verildiğinde, en küçük eşdeğer NFA'yı bulmak zor. Ancak, aşağıdakiler hakkında: Bir DFA verildiğinde, en küçük eşdeğer NFA'yı bulun. Bu zor mu? Ne kadar zor?
Michael Wehar

Üzgünüm, şimdi görüyorum! Listelenen ilk makale bunu ele almaktadır: springerlink.com/content/y61724u571v487x5 Ayrıca, listelediğiniz başka bir makale bunu sonlu normal diller için ele almaktadır: hermann-gruber.com/data/lata07-final.pdf Bunu benim için açıklığa kavuşturduğunuz için teşekkür ederiz! :)
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.