Çevrimsel kaydırma (aynı zamanda dönme veya konjugasyon bir dil) L
Normal diller için kapanma bu formda " Normal operatörlerin çevrim operatörü altında kapalı olduğunu kanıtlayın " şeklinde ele alınmaktadır .
Çevrimsel kaydırma (aynı zamanda dönme veya konjugasyon bir dil) L
Normal diller için kapanma bu formda " Normal operatörlerin çevrim operatörü altında kapalı olduğunu kanıtlayın " şeklinde ele alınmaktadır .
Yanıtlar:
Aşağı açılan otomatik verileri kullanmayı deneyebilirsiniz. Orijinal dil için bir aşağı açılan otomat verildiğinde, döngüsel kayma için bir tane oluşturuyoruz. Yeni otomat tekabül eden, iki aşamada faaliyet y
Düzenleme: İşte daha fazla ayrıntı. Bize alfabe Σ , durum Q kümesi, kabul durum F kümesi, terminal olmayan Γ , başlangıç durum q 0 ve bir dizi izin verilen geçiş içeren bir PDA verildiğini varsayalım . Her bir kabul edilebilir bir geçiş formda olan ( q , bir , bir , q ' , α ) , yani bu zaman durumu olarak q , okunması üzerine bir ∈ A (ya da bir = £ değenni üst ise, bir serbest geçiş var ki bu durumda,) yığın yığını A ∈
Yeni PDA, her A ∈ Γ için yeni bir terminal olmayan A ′'ya sahiptir . Her iki durum için q , q ′ ∈ Q ve A ∈ Γ ∪ { ϵ } için iki durum vardır ( q , q ′ , 1 ) , ( q , q ′ , 2 , A ) . Başlangıç durumları (gerçek başlangıç durumu aralarında ϵ- geçişleri aracılığıyla belirleyici olmayan bir şekilde seçilir ) (
Her geçiş için ( q , a , A , q ′ , α ) geçişler vardır ( ( q , q ″ , 1 ) , a , B ′ , ( q ′ , q ″ , 1 ) , B ′ A ′ α ) , burada B ∈ Γ ∪ { ϵ } ve ϵ ′ =
Her geçiş için ( q , a , ϵ , q ′ , α ) geçişler vardır ( ( q , q ″ , 2 , A ) , a , B ′ , ( q ′ , q ″ , 2 , A ) , B ′ α ) , burada A ∈ Γ ∪ { ϵ } . Her geçiş için
(Kaçırdığım birkaç geçiş olabilir ve atladığım bazı ayrıntılar biraz dağınık.)
Hatırlayın , x y'nin orijinal PDA tarafından kabul edildiği bir y x kelimesini kabul etmeye çalışıyoruz . Bir durum ( q , q ′ , 1 ) , 1. aşamada, q durumunda olduğumuz ve orijinal PDA'nın x okuduktan sonra q ′ durumunda olduğu anlamına gelir . Bir durum ( q , q ′ , 2 , A ) benzerdir, burada A , son açılan A ′'ya karşılık gelir . 1. aşamada, A ′
İşte basit bir örnek. Bir otomat düşünün x n y n iter A her biri için , x , ve çıkar A her biri için y . Yeni otomat iki biçimdeki kelimeleri kabul eder: y k x n y n - k ve x k y n x n - k . Birinci formdaki kelimeler için, 1. aşama k zamanlarını A ′ itmek , 2. aşama k zamanlarını A ′ itmek, n
Burada, her bir parantez türünün hemen torunları farklı bir türe ait olması gereken çeşitli türlerdeki ("()", "[]", "<>") dengeli parantezlerin dili için daha karmaşık bir örnek verilmiştir. Örneğin, "([] <>)" tamam, ancak "()" yanlış. Her bir "(" biz itmek için A üstü yığın değilse bir her biri için, ")," pop A . Benzer şekilde B , C , "[]" ve "<>" ile ilişkilidir. Burada ">) ([()] <". Biz tüketmek ">)", itme kelimeyi kabul nasıl C ' A ' , ve geçiş aşaması 2. Biz tüketmek "(" için A ′ haşhaş ve yığın A'nın hatırlanması . "[()]" Tüketiyoruz, itiyoruz ve patlıyoruz
Greibach normal formunu düşünün . Eğer tek değişiklik yapımları gereken bir kaydırılmış bir dil inşa etmek S → alfa A 1 ... A n için S → A 1 ... A n a ve yeni bir terminal dışı eklemek S ' gibi davranacağını o S için kullanılan durumda bazı bazı üretim başvurulan S .
Eski Hopcroft ve Ullman klasik Otomata Teorisine Giriş (1979) ' u kontrol etmek iyi bir fikirdi . Çevrim altındaki kapatma Egzersiz 6.4c'dir ve S ** olarak işaretlenmiştir. Çift yıldız, kitaptaki en zor sorunlardan biri olduğu anlamına gelir. Neyse ki S, bir çözümle seçilen sorunlardan biri olduğunu gösteriyor.
Çözüm aşağıdaki gibidir. Chomsky normal formda bir CFG alın. Herhangi bir derivasyon ağacını düşünün ve temel olarak ters çevirin. Orijinal ağaçta S = X 1 , X 2 , … , X n yolunu düşünün . Solda ağacın x 1 , x 2 , … , x n sağına katkıları vardır y 1 , y 2 , … , y n , yani türetilen dize x 1 x 2 … x n'ye eşittiry n … y 2 y 1 . (Aslında yol sola devam ettiğinde dilbilgisi CNF olduğundan, katkı sağda olacak ve karşılık gelen x i boş olacak vb.)
Ağaç baş aşağı bir yol vardır S ' , X n , ... X 2 , X 1 katkılarıyla y n , ... , y 2 y 1 sola ve x n , ... , x 2 x 1 sağa, yani sonuç y n … y 2 y 1 x 1 x 2 … x n için bir türevdir . Gereğince, gerektiği gibi.
Yapının tüm detayları kitapta verilmiştir.
Bunun Yuval tarafından (kabul edilen) çözümü nasıl hatırlattığına dikkat edin. Patlatılan yerine itilen terminaller yığın üzerinde ters sıradadır. Ağaçta baş aşağıya oldukça benzer.