Bir dilin sonlu görünümünü karşılayan minimal DFA


12

Diyelim ki bir dil , ancak hangi dizelerin aslında dilin bir parçası olduğunu bilmez. Hepsini bir dil sonlu bir görünüşüdür: dizeleri sonlu grubu dilde olduğu bilinmektedir, ve şeritler bir sonlu grubu bilinmektedir dilde olmamak.LΣALB(ΣL)

Örneğin, Diyelim ki ve . dilinde , çünkü ve ile uyumludur veya tamamen farklı dil.B = { b , bir bir B , bir a , bir B a } L = { bir 2 i + 1 b j | i , j N } A B LA={ab,aaab,aaaaabb}B={b,aab,aaaba}L={a2i+1bj | i,jN}ABL

Sorum şu: dizeleri kabul eden ve dizeleri en az veya neredeyse en az sayıda durumla reddeden bir DFA (deterministik sonlu otomata) oluşturmanın bilinen bir yolu var mı? Bu sorunun karmaşıklığı nedir? yaklaştırmada ne kadar iyidir ( nin oldukça düşük bir tanımlayıcı karmaşıklığa sahip olduğu ve ve büyük olduğu varsayıldığında )?B L L A BABLLAB

Math.stackexchange.com'daki orijinal soru. Orijinal soruya cevap bulamadan ve nerede arayacağına dair hiçbir fikrim yokken burada yeniden yayınlamaya karar verdim. Birisi beni bu alandaki araştırmalara yönlendirebilirse, çok takdir edilecektir.



2
Lev'in bağlantılı olduğum soruya iyi yazılmış cevabı zaten uyumsuzluğu kapsıyor.
Tsuyoshi Ito

6
Ayrıca orijinal cevabımdan
Lev Reyzin

1
“Sürümünüz” ile yanıtta belirtilen uygun olmayan sonuç Lev arasındaki farkı göremiyorum. Ayrıca, "sürümünüz" ile "diğer tarafa geçme" arasındaki bağlantıyı göremiyorum.
Tsuyoshi Ito

1
@TsuyoshiIto Aslında, Lev'in cevabı "versiyonum" a cevap veriyor gibi görünüyor! Yukarıdaki blog gönderisini okuyordum ve olmadı (en azından ben bulamadım). Ama Lev'in orijinal cevabı geldi. "Versiyonum" ve "diğer tarafa geçme" arasındaki bağlantıya gelince ... Böyle bir ve üretebilirsek , "versiyonum" cevabının her zaman negatif olmadığı anlamına gelir. Parekh ve Honavar'ın makalesi aslında bu fikri basit DFA'nın keyfi olarak yüksek olasılıkla öğrenilebilir olduğunu kanıtlamak için kullanıyor. Her durumda, bu soru nasıl ya da nasıl kapatılmalıdır? BAB
Francisco Mota

Yanıtlar:


5

Zaten pozitif ve negatif örneklerin sonlu bir takımı tatmin asgari DFA bulma, yorumlardan bildiği gibi olan -Zor. Ancak, tüm umutlar kaybolmaz, eğer öğrenme paradigmanızı biraz değiştirmeye istekli iseniz, P'ye geri dönebiliriz .NPP

Bir bilinmeyen bir DFA öğrenmeye çalışıyoruz varsayın bazı dil için minimal L W . Eğer izin verirseniz oracle üyelik sorguları ve aşağıdaki soruya cevap vererek öğretmen olarak hareket etmek: önerilen bir DFA Verilen G tanımadığı yapar L W ? Değilse, karşı bir örnek verebilir misiniz?WLWGLW

Oracle'ın erişimi varsa, normal diller arasında eşitliği test etmek kolay olduğundan, - çoklu zamanda karşılaştırabileceğini unutmayın . Karşı örnek oluşturmak da polinom zamanında yapılabilir.G WWGW

Bu çerçevede, öğrenebilirsiniz (Angluin en kullanarak polinom zamanda 1987 ; pdf ) algoritması (veya Schapire en arıtma bunun; bölüm 5.4.5 bakınız). Bu model hakkında daha fazla bilgi için, cstheory ve CS.SE hakkında iki soru var:W


0

Bana öyle geliyor ki, bu sorun için Myhill-Nerode eşdeğerinin bir ayrıntılandırmasını kullanabilirsiniz.

x Σ u x A v x B A B u vuvxΣuxAvxBABuv

Bu ilişkiyi ve unsurlarının önekleri üzerinde çalışmak yeterlidir . Bu, ihtiyacınız olan durumların sayısı konusunda daha düşük bir sınır verecektir. Size asgari otomatı oluşturmanın doğrudan bir yolunu verdiğinden emin değilim, ama en azından keşfetmenin bir yolu.BAB


-1

Bu sorunun soru sorucusu tarafından tam olarak ifade edilmemiş olabileceğini düşünüyorum. Anketör, görünüşe göre, bir tür mekanize indüksiyon kullanarak, yani örneklerde görünen paternleri tanıyarak, belirli sonlu kelime örneklerine dayanan sonsuz kelimeleri genelleştiren bir algoritma istemektedir.

Yorumlarda değinilen bazı CS teorisi araştırmalarına ek olarak, örneklerde FSM'ler oluşturmak için YSA'ları kullanarak bu alanda örneğin aşağıda daha bazı deneysel araştırmalar da bulunmaktadır. Sonuçta her zaman standart bir DFA minimizasyon algoritması çalıştırılabileceğini unutmayın. AT&T FSM kütüphanesi bu alanda çalışmak için iyidir.

Sorgulayan, örnek yapısını anlamaya ve daha spesifik referanslar almaya yardımcı olabilecek sorun alanı hakkında spesifik değildir. Ancak görülebilen bir örnek, FSM algoritmalarını kullanan oyunlarda AI algoritmalarıdır. FSM'lerin öğrenme algoritmaları kullanan örneklerden öğrenildiği bazı durumlar olduğundan şüpheleniyorum.

[1] Tekrarlayan sinir ağı olan büyük sonlu durum makinelerinin bir sınıfının öğrenilmesi C. Lee Giles, 1, BG Horne, T. Lin 1995

[2] Zeng ve Smyth 1993 tarafından kendini kümeleyen tekrarlayan ağlara sahip FSM'leri öğrenme

[3] AT&T FSM kütüphanesi


1
ikinci bağlantınız sadece bu soruya bağlanır. Nereye bağlantı kurması gerekiyor?
Artem Kaznatcheev

ayy, thx, sabit
vzn
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.