Sorunun yorumlarında önerildiği gibi, soruyu (ne yazık ki kısmi), en azından sorunu kendim anladığım ölçüde vermeye çalışacağım (bu, hataları iyi bulabileceğiniz anlamına gelir ve bulursanız Aşağıdaki noktalardan birini daha kısa veya açık bir şekilde açıklamanın bir yolu, cevabı buna göre düzenlemekten çekinmeyin):
Birincisi, bir dilin çarpanlarına ayırmasını hesaplamak istiyorsak, aslında bir dilin evrensel otomasyonunu hesaplamak zorunda olmadığımızı unutmamak gerekir.
Yorumumda belirtilen makaleden regular, normal bir dilin sol ve sağ faktörleri arasında 1-1 bir yazışma vardır, yani, dilin sol faktörü göz önüne alındığında, karşılık gelen sağ faktör benzersiz olarak belirlenir ve tersi de geçerlidir. Daha doğrusu, aşağıdakilere sahibiz:
Let bir çarpanlara olmak . O zaman
yani herhangi bir sol faktör sağ bölümlerin kesişimidir ve herhangi bir sağ faktör sol bölümlerin kesişimidir. Bunun aksine, sol katsayılarının bir kesişme bir sağ faktördür ve sağ katsayılarının bir kesişme bir sol faktördür .L Y = ⋂ x ∈ X x - 1 L , X = ⋂ y ∈ Y L y - 1 , L L L L(X,Y)L
Y=⋂x∈Xx−1L,X=⋂y∈YLy−1,
LLLL
Normal bir dil için, yalnızca sınırlı bir sol ve sağ bölüm kümesi vardır ve bu nedenle veya sorunun bir dilin sol ve sağ bölümlerini hesaplamak ve sonra -stable kapanışlarını hesaplamak için azaldığını unutmayın. kesişme altında kapalı olan bölümlerin minimal üst kümesi. Bunlar daha sonra tam olarak doğru faktörler ve sol faktörlerdir ve daha sonra hangi çiftlerin alt kümeleri olduğunu görmek genellikle kolaydır .L∩L
Misal
Yukarıdaki noktaları göstermek için, sorudaki ilk örneği düşünün (ki bu da gazetede yanlış olduğunu düşünüyorum):
Let . Şimdi, sol quotients kümeleridir için olduğunu, bu kelimeler içinde ile öneki , yani . Ne zaman tat için ? Bu, yalnızca ve eğer ve , kelimelere artırılabiliyorsa geçerlidir. L x - 1 L x ∈ Σ ∗ u Σ ∗ x x u ∈ L y - 1 L = x - 1 L x , y x y LL=Σ∗abΣ∗Lx−1Lx∈Σ∗uΣ∗xxu∈Ly−1L=x−1Lx,yxyLtam olarak aynı soneklerle. Bu, daha tanıdık terimlere koymak için, Nerode eşdeğeri ve Nerode sınıfındaki kelimelere eklemek için gereken soneklerin tam olarak ilgili sol bölümler olduğu anlamına gelir.
İçin , bizim Nerode-denklik sınıfları olduğunu görüyoruzL
- a b aN1 kelime içermeyen grubu bir faktör olarak tanımlamış ve sona eren , aba
- b a bN2 , ile biten ve bir faktör olarak içermeyen sözcük kümesi ve bab
- a b N 3 = LN3 , bir faktör olarak içeren kelimeler kümesi , yani,abN3=L
Aşağıdaki kümelerle artırılabilirler (yani, ilgili sınıflardaki kelimelerin sol bölümleridir):
- x N 1 L a b L b Σ ∗ S 1 = L ∪ b Σ ∗S1=x−1L için de tüm kelimelerin oluşur (herhangi bir kelime ihtiva eden bir kelime ile takviye edilebilir bir faktör olarak tanımlamış ve bu nedenle de bir kelime olur ) ve , bu olanxN1LabLbΣ∗S1=L∪bΣ∗
- x N 2 S 2 = LS2=x−1L için de olan dil, kendisi, bir vexN2S2=L
- S3=x−1L için de tabii ki . Yani, üç doğru faktörü bulduk . As , onların -Kararlı kapatma trivially olan ve bu daha sonra tam olarak doğru faktörlerdir.xN3Σ∗LS2⊂S1⊂S3∩S1,S2,S3
Dolayısıyla, bizim çarpanlara grubu formda olan .FL(P1,S1),(P2,S2),(P3,S3)
Şimdi, sol faktörler , bu cevabın başındaki denklemleri kullanıyoruz:Pi
Pi=⋂x∈SiLx−1
.
İçin bu verimler için elde ederiz ve için elde ederiz . Bunu teftiş (resmi bir kanıt göstermek için çok tembel olmak için en popüler bahane) veya doğru bölümleri (tamamen olmasa da, sol bölümleri hesaplamak için oldukça benzer olan) açıkça hesaplayarak görebilirsiniz. Bizim çarpanlama böylece tarafından verilenP1L∪Σ∗aP2Σ∗P3LFL=u,v,w
- u=(P1,S1)=(Σ∗abΣ∗∪Σ∗a,Σ∗abΣ∗∪bΣ∗)
- v=(P2,S2)=(Σ∗,Σ∗abΣ∗) ve
- w=(P3,S3)=(Σ∗abΣ∗,Σ∗)
özet
Özetlemek gerekirse (basit bir prosedür talep ettiğiniz gibi):
- Bir dil ayrıştırmaları işlem için , ilk sol quotients hesaplamak .LL
- Kağıdın dilinde, minimal bir DFA oluşturarak, bunu yapabilirler için her devlet için o zaman ve içinde geleceğini hesaplamak (sol katsayısını, bir Nerode-denklik sınıfı olarak, gelen) içinde böylece her durum için dilin bir sol bölümünü elde eder.ALqAqA
- Bu şekilde elde edilen sol bölümlerin toplanması, genel olarak, doğru faktörlerin bir alt kümesini verir.SR
- Daha sonra herhangi bir alt kümesinin kesişimini oluşturarak ve bu şekilde elde edilen alt kümeleri ekleyerek pratikte yapılabilen -stable kapanmasını .∩SRSRSR
- Set , önceki adımdaki tüm birlikte, nin doğru faktörler kümesidir .SRL
- Sol faktörleri elde etmek için, nin doğru bölümlerini hesaplayabiliriz .L
- Bunlar için biçiminin kümeleridir . Şimdi, bunlar yine sadece son derece çoktur ve , ise ve eğer sadece , , yani tam olarak aynı dizeler dizisindeki kelimelere önek eklenebilirler. y ∈ Σ ∗ x ≠ y L y - 1 = L x - 1 u ∈ Σ ∗ u x ∈ L ⇔ u y ∈ LLy−1y∈Σ∗x≠yLy−1=Lx−1u∈Σ∗ux∈L⇔uy∈L
- hesaplamak için , durumlarını , geleceğinde yer düşünün . Bu devletlerin geçmişlerinin birliği bir doğru bölüm oluşturur. Tüm bu bölümleri bulun. q A x qLx−1qAxq
- Doğru faktörlere sahip olduğunuz kadar sol faktör bulduğunuzda işin bittiğini biliyorsunuz.
- Sol ve sağ faktörler bu çiftleri bulun öyle ki . Bu .X ⋅ Y ⊆ L F LX,YX⋅Y⊆LFL
- Lombardiya ve Sakarovitch'in Evrensel Otomatı ( Mantık ve Oyun Metinleri, Cilt 2: Mantık ve Otomata: Tarih ve Perspektifler , 2007)