Belirsiz bağlamsız gramerlerin (CFG'ler) asimptotik yoğunluğu


9

Belirsiz CFG'lerin tüm CFG'lere oranı nedir ?

Her iki küme de sayıca sonsuz olduğu için oran iyi tanımlanmamıştır. Ama asimtotik yoğunluk ne olacak :

limn# ambiguous CFG of size<n# CFG of size<n

burada terminal ve terminal olmayan semboller sabit sayılabilir bir kümeden gelir.

Bir dilbilgisinin boyutu, dilbilgileri için makul boyutta bir kavramdır;

  1. üretim kurallarındaki değişkenlerin ve terminallerin toplam oluşum sayısı veya
  2. değişkenin toplam tekrarlama sayısı veya
  3. toplam üretim kuralları sayısı veya
  4. farklı değişkenlerin sayısı.

(Boyut tanımının yanıtı etkilemeyeceğini varsayıyorum.)


3
Bir yana, literatürde aşağıdaki CFG boyutu kavramları dikkate alınmıştır: Dilbilgisi boyutu kavramlarına gelince, literatürde aşağıdakiler ortaya çıkmıştır. (1) Dilbilgisindeki tüm prodüksiyonların her iki tarafında değişkenlerin ve terminallerin toplam tekrarlama sayısı. (2) Dilbilgisindeki tüm prodüksiyonların her iki tarafında değişken olayların sayısı. (3) Dilbilgisindeki yapım sayısı. (4) Dilbilgisindeki farklı değişkenlerin sayısı.
Martin Berger

1
Örneğin bakınız: S. Ginsburg, N. Lynch, Bağlamdan Bağımsız Dilbilgisi Formlarında Boyut Karmaşıklığı. J. Gruska, Bağlamdan bağımsız gramerlerin boyutunda. J. Gruska, Bağlamdan Bağımsız Dilbilgisi ve Dillerin Karmaşıklığı ve Belirsizliği. A. Kelemenova, Normal Form Gramerlerinin Karmaşıklığı.
Martin Berger

1
@Martin, eğer biri dikkatli olmazsa, belirli bir boyutta sonsuz sayıda sözdizimsel olarak farklı dilbilgisi olabilir ve oran anlamlı olmayacaktır. Güvenli yol, bazı gramer kodlamasının bit uzunluğunu saymaktır.
Kaveh

1
Muhtemelen asimptotik yoğunluğu ilgili miktarların logaritmalarının oranı olarak tanımlamak istersiniz, çünkü her iki miktar da muhtemelen farklı bazlarla üsteldir.
mobius hamur tatlısı

1
@MartinBerger Aynı şeyden bahsettiğimizi varsayarak, yani lÖgdensbenty=lÖg(#unbirmbbenguÖusCFG,s)/lÖg(#CFG,s), bu açıkça yoğunluğu etkileyecektir. Belirsiz CFG'lerin sayısının1.5n ve CFG sayısı 2n, sonra günlük yoğunluğu lÖg1.52asimtotik yoğunluk 0 iken, asimtotik yoğunluğun 0 ya da 1 olacağından eminim, ancak asimptotik log yoğunluğunun ilginç bir sayı olması muhtemeldir.
mobius hamur tatlısı

Yanıtlar:


4

Soru kesin kodlamaya bağlıdır. Bununla birlikte, birçok makul kodlamada, uzunluk sonsuza doğru eğilim gösterdiğinden, üretim kurallarının sayısıSa (başlangıç ​​sembolünün uygun bir yorumu için S ve terminal a) yüksek olasılıkla birden fazla olacak; burada tam anlamıyla aynı terminali kastediyoruma. Bunu belirsizlik olarak ele alırsak, "çoğu" dilbilgisinin belirsiz olmasını beklerim. Kurallar gibi benzer durumları da çözebilirizSS ve Sa her biri en az bir kez görünür.

Bu genel hipotezin, uzunluk sonsuzluğa eğilimli olduğundan her (sabit) akla gelebilecek kuralın yüksek olasılıkla ortaya çıkması gerektiğini varsayarsak, "çoğu" gramerlerin Σ belirsiz bir şekilde.

Örnek olarak, dilbilgisi için aşağıdaki kodlamayı ele alalım. Σ={0,1}. Dilbilgisi alfabesi sembollerden oluşur{0,1,;,.}. Terminal olmayanlar en az 2 uzunluklu ikili dizgilerle endekslenir. Kurallar noktalarla ayrılır. Her kural, noktalı virgülle ayrılmış ikili dizelerden oluşan bir dizidir. İlk ikili dize, sol taraftaki terminal değildir ve geri kalanı (varsa) sağ tarafı oluşturur; ilk ikili dize terminal olmayansa (ör.ϵ, 0,1), daha sonra başlangıç ​​terminali olmadığı varsayılır. Başlangıç ​​terminali her zaman 00'dır.

Bu kodlama altında, her dize {0,1,;,.}bazı gramerleri açıklar. Rastgele bir dilbilgisi yüksek olasılıkla,.00;00. ve .00;0.ve özellikle belirsiz olacaktır.


Evet, aşağıdaki gibi kuralları dikkate alıyorum SS ve Sa(bir kereden fazla görünüyor) bir dilbilgisi olarak geçerli. Gerçekten, bu bir gramer önemsiz kılar. Şerefe.
user18064

Ancak, boyut (CFG) arttıkça, terminallerin ve terminal olmayanların sayısının tipik olarak arttığı da değil, bu yüzden onları temsil etmek için daha fazla bite ihtiyacımız var, dolayısıyla bireysel kuralları temsil etmek için daha fazla bite ihtiyacımız var. Dolayısıyla, önemsiz nedenlerden dolayı belirsiz olan CFG'lerin sayısı da (örneğin, bağlanan boyuta sadece bir kural sığar) artar.
Martin Berger

@Martin Kodlamaya bağlıdır. Belki de, örneğin alfabe boyutu dilbilgisi boyutuyla büyüyorsa, talebinizi destekleyen bir kodlama yapabilirsiniz. Kodlamam sabit bir alfabe boyutu kullanıyor, bu nedenle bu efekt gerçekleşmiyor.
Yuval Filmus

@MartinBerger Bu, dilbilgisi boyutunu artırdıkça terminal ve terminal olmayan sembollerin sayısını arttırmak için geçerli bir noktadır. Programlama dilleri gibi kullanım durumları için bu mantıklıdır.
user18064

@ user18064 Programlama dilleri genellikle sabit boyutlu bir alfabe, çoğu durumda bir ASCII alt kümesi kullanır. Sınırsız alfabe boyutuna sahip herhangi bir pratik dilin farkında değilim, ancak biri kolayca tanımlayabilir.
Yuval Filmus
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.