Özel durumlar için DFA kesişimi için verimli algoritmalar ile ilgileniyorum. Yani, kesişen DFA'lar belirli bir yapıya uyduklarında ve / veya sınırlı alfabe üzerinde çalıştıklarında. Bu tür durumlarda algoritmaları bulabileceğim bir kaynak var mı?
Soruyu fazla genişletmemek için, aşağıdaki yapı özellikle ilgi çekicidir: kesişen tüm DFA'lar ikili alfabede (0 | 1) çalışırlar, ayrıca umursamayan sembolleri de kullanabilirler. Dahası, sadece iki geçişi olan en fazla K özel durumu dışında tüm eyaletlerin sadece bir geçişi vardır (ve bu geçişler her zaman 0 veya 1'dir, ancak umursamayız). K pratik amaçlar için 10'dan küçük bir tamsayıdır. Ayrıca, tek bir kabul etme durumları vardır. Ek olarak, kesişimin HER ZAMAN "şerit" biçiminde bir DFA olduğu, yani aşağıdaki görüntüdeki gibi bir dal olmadığı bilinmektedir:
DÜZENLEME: Belki de giriş DFA'larındaki kısıtlamanın açıklaması çok açık değildir. Bu paragrafta onu geliştirmeye çalışacağım. Giriş T DFA'larınız var. Bu DFA'ların her biri yalnızca ikili alfabe ile çalışır. Her birinin en fazla N durumu vardır. Her DFA için durumlarının her biri aşağıdakilerden biridir:
1) kabul eden durum (sadece bir tanesidir ve bundan başka bir duruma geçiş yoktur)
2) aynı hedef duruma iki geçiş (0 ve 1) olan bir eyalet (eyaletlerin çoğunluğu bu türdendir)
3) farklı hedef durumlara (en fazla bu tür K ) iki geçiş (0 ve 1) olan bir durum
Her bir giriş DFA'sında yalnızca bir kabul durumunun ve (3) tipinde en fazla K durumunun olması garanti edilir . Ayrıca, daha az boyutta, (yukarıda tarif edildiği gibi) giriş DFAs kesişimi DFA bir "şerit" olduğu garanti edilir N .
EDIT2: Yorumlarda DW tarafından istendiği gibi bazı ek kısıtlamalar:
- Giriş DFA'ları DAG'lardır.
- Giriş DFA'ları, yorumlardaki DW tanımını izleyerek "düzlenir". Yani her duruma, her geçişin u tamsayısından v tamsayısına v olacak şekilde farklı tamsayılar atayabilirsiniz , böylece u + 1 = v .
- Her bir DFA girişi için kabul edilebilir durum sayısı K'yı geçmez .
Herhangi bir fikir? Teşekkürler.
a DFA in form of "strip", i.e., no branches
? Birinin sizin durumunuzdaki standart algoritmadan daha iyi yapabileceğine inanmak için özel bir nedeniniz var mı?