ความหนาแน่นเชิงสัญลักษณ์ของไวยากรณ์ที่ไม่ชัดเจน (CFGs)


9

อัตราส่วนของอะไรคือสิ่งที่คลุมเครือ CFGs ทุกCFGs ?

เนื่องจากทั้งสองชุดมีจำนวนนับไม่ถ้วนอัตราส่วนจึงไม่ชัดเจน แต่สิ่งที่เกี่ยวกับความหนาแน่นของซีมโทติค :

Limn# CFG ที่ไม่ชัดเจนของขนาด<n# ขนาด CFG<n

ที่สัญลักษณ์เทอร์มินัลและไม่ใช่เทอร์มินัลมาจากชุดนับคงที่

ขนาดของไวยากรณ์คือขนาดที่เหมาะสมสำหรับไวยากรณ์เช่น

  1. จำนวนรวมของตัวแปรและเทอร์มินัลทั้งหมดในกฎการผลิตหรือ
  2. จำนวนทั้งหมดของการเกิดขึ้นของตัวแปรหรือ
  3. จำนวนกฎการผลิตทั้งหมดหรือ
  4. จำนวนตัวแปรที่แตกต่าง

(ฉันสมมติว่าคำจำกัดความของขนาดจะไม่ส่งผลกระทบต่อคำตอบ)


3
นอกเหนือจากความคิดของขนาด CFG ต่อไปนี้ได้รับการพิจารณาในวรรณคดี: ตามความคิดของขนาดไวยากรณ์ต่อไปนี้ได้ปรากฏในวรรณคดี (1) จำนวนการเกิดขึ้นของตัวแปรและเทอร์มินัลทั้งสองด้านของการผลิตทั้งหมดในไวยากรณ์ (2) จำนวนตัวแปรที่เกิดขึ้นทั้งสองด้านของการผลิตทั้งหมดในไวยากรณ์ (3) จำนวนการผลิตในไวยากรณ์ (4) จำนวนตัวแปรที่แตกต่างในไวยากรณ์
Martin Berger

1
ดูตัวอย่าง: S. Ginsburg, N. Lynch, ความซับซ้อนของขนาดในรูปแบบไวยากรณ์ที่ไม่มีบริบท J. Gruska เกี่ยวกับขนาดของไวยากรณ์ที่ไม่มีบริบท J. Gruska ความซับซ้อนและความไม่แน่นอนของไวยากรณ์และภาษาที่ปราศจากบริบท A. Kelemenova ความซับซ้อนของไวยากรณ์ฟอร์มปกติ
Martin Berger

1
@ มาร์ตินหากไม่ระวังก็สามารถมีไวยากรณ์ที่แตกต่างกันมากมายขนาดที่กำหนดและอัตราส่วนจะไม่สมเหตุสมผล วิธีที่ปลอดภัยคือการนับความยาวบิตของการเข้ารหัสไวยากรณ์คงที่
Kaveh

1
คุณอาจต้องการกำหนดความหนาแน่นของซีมโทติคเป็นอัตราส่วนของลอการิทึมของปริมาณที่เกี่ยวข้องเนื่องจากปริมาณทั้งสองนั้นเป็นเลขชี้กำลังอาจมีฐานต่างกัน
mobius dumpling

1
@MartinBerger สมมติว่าเรากำลังพูดถึงสิ่งเดียวกันนั่นคือการกำหนดสิ่งนี้จะส่งผลกระทบต่อความหนาแน่นอย่างชัดเจน สมมติว่าจำนวน CFG ที่ไม่คลุมเครือคือและจำนวน CFGs คือจากนั้นความหนาแน่นของบันทึกคือในขณะที่ความหนาแน่นของซีมโทติคคือ 0 ฉันค่อนข้างแน่ใจว่าความหนาแน่นของซีมโทติค อย่างใดอย่างหนึ่ง 0 หรือ 1 แต่ความหนาแน่นล็อก asymptotic น่าจะเป็นหมายเลขที่น่าสนใจ ล.โอก.dอีnsผมเสื้อY=ล.โอก.(#ยูnaม.ผมก.ยูโอยูsFGs)/ล.โอก.(#FGs)1.5n2nล.โอก.1.52
mobius dumpling

คำตอบ:


4

คำถามขึ้นอยู่กับการเข้ารหัสที่แน่นอน อย่างไรก็ตามดูเหมือนว่าในการเข้ารหัสที่สมเหตุสมผลจำนวนมากเนื่องจากความยาวมีแนวโน้มที่จะไม่มีที่สิ้นสุดจำนวนกฎการผลิต (สำหรับการตีความที่เหมาะสมของสัญลักษณ์เริ่มต้นและเทอร์มินัล ) จะมากกว่าหนึ่งด้วยความน่าจะเป็นสูง นี่ฉันแท้จริงหมายถึงเดียวกันขั้ว หากเราถือว่าสิ่งนี้เป็นความกำกวมฉันก็คาดว่าไวยากรณ์ส่วนใหญ่ "จะคลุมเครือ นอกจากนี้เรายังสามารถปรุงสถานการณ์ที่คล้ายกันเช่นกฎและแต่ละรายการที่ปรากฏอย่างน้อยหนึ่งครั้งSaSaaSSSa

สมมติว่าสมมติฐานนี้โดยทั่วไปว่ากฎที่เป็นไปได้ (คงที่) ทุกคนควรปรากฏขึ้นพร้อมกับความน่าจะเป็นสูงเมื่อความยาวมีแนวโน้มที่จะไม่มีที่สิ้นสุดเราพบว่า "ส่วนใหญ่" ไวยากรณ์สร้างในลักษณะที่ไม่ชัดเจนΣ* * * *

เป็นตัวอย่างให้พิจารณาต่อไปนี้สำหรับการเข้ารหัสไวยากรณ์มากกว่า\} ตัวอักษรไวยากรณ์ประกอบด้วยสัญลักษณ์\} ไม่ใช่เทอร์มินัลถูกทำดัชนีโดยสตริงไบนารี่ออฟไลน์ที่มีความยาวอย่างน้อย 2 กฎจะถูกคั่นด้วยการหยุดแบบเต็ม แต่ละกฎคือลำดับของสตริงไบนารีคั่นด้วยเครื่องหมายอัฒภาค สตริงไบนารีแรกคือไม่ใช่เทอร์มินัลทางด้านซ้ายและส่วนที่เหลือ (ถ้ามี) ประกอบด้วยด้านขวา ถ้าสตริงไบนารีแรกไม่ใช่ไม่ใช่เทอร์มินัล (นั่นคือ , 0,1) ดังนั้นจะถือว่าสันนิษฐานว่าไม่ใช่เทอร์มินัลเริ่มต้น การเริ่มต้นที่ไม่ใช่เทอร์มินัลคือ 00 เสมอΣ={0,1}{0,1,;,.}ε

ภายใต้การเข้ารหัสนี้ทุกสตริงในอธิบายถึงไวยากรณ์บางอย่าง ไวยากรณ์แบบสุ่มจะมีความน่าจะเป็นสูงประกอบด้วยสำเนาและ .และโดยเฉพาะจะคลุมเครือ{0,1,;,.}* * * *.00;00.00;0


ใช่ฉันจะพิจารณากฎเช่นและ (ปรากฏมากกว่าหนึ่งครั้ง) ในไวยากรณ์ที่ถูกต้อง อันที่จริงแล้วสิ่งนี้ทำให้ไวยากรณ์มีความคลุมเครือเล็กน้อย ไชโย SSSa
18064

แต่มันก็ไม่ได้เป็นเช่นนั้นเมื่อขนาด (CFG) เพิ่มขึ้นจำนวนเทอร์มินัลและไม่ใช่เทอร์มินัลจะเพิ่มขึ้นดังนั้นเราจึงต้องการบิตมากขึ้นเพื่อเป็นตัวแทนของพวกเขาดังนั้นเราจึงต้องการบิตมากกว่า ดังนั้นจำนวน CFGs ที่ไม่คลุมเครือด้วยเหตุผลเล็ก ๆ น้อย ๆ (เช่นมีเพียงกฎเดียวเท่านั้นที่พอดีกับขนาดที่ จำกัด ) ก็เพิ่มขึ้นเช่นกัน
Martin Berger

@ มาร์ตินมันขึ้นอยู่กับการเข้ารหัส บางทีคุณอาจมีการเข้ารหัสที่สนับสนุนการอ้างสิทธิ์ของคุณตัวอย่างเช่นหากขนาดตัวอักษรเติบโตขึ้นตามขนาดไวยากรณ์ การเข้ารหัสของฉันใช้ขนาดตัวอักษรคงที่ดังนั้นเอฟเฟกต์นี้จะไม่เกิดขึ้น
Yuval Filmus

@MartinBerger นั่นเป็นจุดที่ถูกต้องเกี่ยวกับการเพิ่มจำนวนของเทอร์มินัลและสัญลักษณ์ที่ไม่ใช่เทอร์มินัลในขณะที่เราเพิ่มขนาดไวยากรณ์ สำหรับกรณีการใช้งานเช่นภาษาโปรแกรมที่เหมาะสม
user18064

@ user18064 ภาษาการเขียนโปรแกรมมักจะใช้ตัวอักษรขนาดคงที่ซึ่งส่วนใหญ่เป็นชุดย่อยของ ASCII ฉันไม่ได้ตระหนักถึงภาษาที่ใช้งานได้จริงใด ๆ ที่มีขนาดตัวอักษรไม่ จำกัด แต่ก็สามารถระบุได้อย่างง่ายดาย
Yuval Filmus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.