Hangi diller tek sayaçlı makineler tarafından tanınır?


15

İki veya daha fazla sayacı olan sayaç makinelerinin tipik olarak hesaplama teorisi derslerinde Turing makinelerine eşdeğer olduğu gösterilmiştir. Ancak, hangi dillerin tek sayaçlı bir makine tarafından tanınabileceğine dair resmi bir analiz görmedim. Bu diller bağlamdan bağımsız dillerle eşdeğer midir (belki de PDA'larla ilgili bazı akıllı yapılarla) veya tamamen farklı bir dil sınıfı mıdır?


2
Jean Berstel'in yazdığı bu kitap: books.google.co.uk/books/about/… , tek sayaçlı diller ve bağlamsız dillerin diğer alt kümeleri hakkında oldukça derinlere iniyor, ancak aslında çok zor oluyor bir kopyasını bul.
Sam Jones

1
@SamJones Gerçekten de Jean Berstel'in yazdığı Transductions ve Context-Languages adlı ünlü kitap baskısı tükendi. Yazar, kitabın en önemli bölümlerinin elektronik bir versiyonunu sunmuştur. www-igm.univ-mlv.fr/~berstel/LivreTransductions/…
Hendrik Ocak

Yanıtlar:


11

Bir sayaç otomata, yığında yalnızca bir simgeye izin verilen aşağı itmeli bir otomata (artı sabit alt sembol). Bir sayaç otomata tarafından tanınan diller, bağlamdan bağımsız dillerin uygun bir alt kümesini oluşturur.

Örneğin, bir 1-karşı otomata dili tanıyabilir düzenli değildir, ancak dil tanıyamaz { bir n- B m bir metre B n }{anbn}{anbmambn} bağlam serbest olduğu ve 2-sayacı ile kabul edilebilir otomata da.

K-DCA, deterministik bir k-karşı otomatıysa ve k-NCA belirsiz bir ise k-sayacı otomata ise, aşağıdaki uygun kapanımlara sahibiz:

DFA (normal diller) 1-DCA 2-DCA

1-DCA 1-NCA

geçişlere izin vermiyorsak ( gerçek zamanlı geçiş ) k-k için k-DCA k'-DCA.ϵ

Yalnızca tamamlama için: bağlama özel olan ancak sayaç otomatları (k 2 ile k-DCA ) (örneğin, { w w R } ) tarafından algılanamayan diller ve içeriğe bağlı olmayan sayaç otomatları tarafından tanınan diller ( örnek { a n b n c n } ). Bir sayaç otomatı (özellikle iki sayaç bir otomatı), yalnızca girişi ve çıkışı uygun şekilde kodlanmışsa Tamamlanabilir ( ayrıntılar için Wikipedia girişine bakın).{wwR}{anbncn}


k2

(1) hayır "bağlamsız değil" demek istiyorum (sadece ak> 1 sayaç makinesi tarafından tanınabilecek uygun şekilde kodlanmış bir içeriğe duyarlı dil seçin) (2) haklısınız, hiyerarşi gerçek zamanlı DCA'yı ifade eder (düzelttim cevap)
Vor

Her iki yönde de sınırsız sayaçlar arasında farklılıklar olduğunu hatırlıyorum ve öyle ki "alttan yukarıya" sıfır?
Raphael

7

Sayaç otomataları eski resmi dil geçmişinde, ABD ve Fransız ekipleri (Ginsberg, Greibach, ..., Nivat, Berstel, ...) tarafından AFA ve AFL teorisi (otomata ve dillerin soyut aileleri) bağlamında çok çalışıldı.

Sayaç otomataları tipik olarak, doğal bir sayıdan (veya birden fazla sayacınız varsa birkaç taneden oluşan) harici bellekle donatılmış sonlu durum otomataları olarak tanımlanır. Bu sayı artırılabilir, azaltılabilir ve (genellikle) sıfır için test edilebilir. Bir hesaplama sıfır ile başlar ve yalnızca sayaç sonunda sıfır, boş boş yığın kabulü ile karşılaştırılabilir olduğunda kabul edilir.

Böyle bir makinede bu tür en az iki sayaç varsa, deterministik durumda bile bir Turing makinesine eşdeğerdir. Bu gerçeğin kanıtı Minsky'ye aittir ve bağladığınız wikipedia makalesinde bulunabilir. Model elbette aynı wikipedia sayfasında belirtilen kayıt makinesi ile ilgilidir. Bu makalede wikipedia makalesinde bahsedilen kodlama problemleri önemli değildir, çünkü bu sayfadaki wikipedia sadece sayaçları alırken, bir giriş bandı ile otomatik verileri (sonuçta bir girdi dizesini okumak zorundayız) düşünüyoruz.

Bu sayaç otomatı, sadece bir yığın sembolüne ve bir yığın tabanına (asla hareket ettirilmez) sahip özel bir pda türü olarak görülebilir . Bu, otomatın sayacın / yığının sıfır olup olmadığını test etmesini ve buna göre hareket etmesini sağlar.

Aslında üç çeşit var karşı otomata vardır. Bu yüzden sonuçları akıllıca birleştirin ya da çelişkilerle sonuçlanırsınız (geçmişte olduğu gibi). Her üç tür de (kesinlikle) tek sayaç için bağlamdan bağımsız dillere dahil edilmiştir.

Yukarıdaki tür bir tamsayıyı (veya önemli olmayan doğal bir sayıyı) saklar ve içeriğini sıfırdan test edebilir. Kör sayıcı otomatik verileri bir tamsayı saklar ancak sıfır için test yapamaz. Gerçi bunlar sıfırın altında sayılabilir. Kısmen kör sayıcı otomata sıfır test edemez, ancak doğal bir sayı kaydeder. Makine sıfırın altına inmeye çalışırsa, kabul etmeden durur. Bu Petri ağlarını modellemek için doğal bir depolama türüdür. Ayrıca, özel alt işaretleyici olmayan tek bir yığın sembolü ile PDA ile de ilgilidir (ve dolayısıyla sıfır için test sorunu: sadece son yığın elemanını patlattığımızda sıkışırız). Bazen sıfatçı sayaç modelleri tarafından tanımlanan ailelerin isimleri OCL, ROCL ve 1-BLIND olabilir.

(Dc)*D={w{bir,b}*|#bir(w)=#b(w)}birbc

İlgili araştırmanın bir örneği olarak, Latteux etal, “Tek Sayaç Dilleri Ailesi Bölüm Altında Kapalıdır” (aslında ROCL ile ilgilidir) önemsiz bir makaleye sahiptir.

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.