تشومسكي الشكل الطبيعي
في نظرية اللغة الرسمية ، يقال إن القواعد النحوية الخالية من السياق ، G ، تكون في شكل تشومسكي الطبيعي (الذي وصفه نعوم تشومسكي لأول مرة ) [ 1 ] إذا كانت جميع قواعد الإنتاج الخاصة بها على الشكل التالي: [ 2 ] [ 3 ]
- أ → ب ج ، أو
- أ → أ ، أو
- S → ε,
حيث A و B و C رموز غير طرفية ، والحرف a رمز طرفي (رمز يمثل قيمة ثابتة)، و S رمز البداية، وε يرمز إلى السلسلة الفارغة . كذلك، لا يمكن أن يكون B أو C رمز البداية ، ولا يمكن أن تظهر قاعدة الإنتاج الثالثة إلا إذا كان ε ينتمي إلى L ( G )، وهي اللغة التي تنتجها قواعد اللغة الخالية من السياق G. [ 4 ] : 92-93، 106
كل قواعد اللغة في شكل تشومسكي الطبيعي خالية من السياق، وعلى العكس من ذلك، يمكن تحويل كل قواعد اللغة الخالية من السياق إلى قواعد مكافئة [ ملاحظة 1 ] تكون في شكل تشومسكي الطبيعي ويكون حجمها لا يزيد عن مربع حجم قواعد اللغة الأصلية.
تحويل القواعد النحوية إلى الشكل الطبيعي لتشومسكي
لتحويل قواعد اللغة إلى صيغة تشومسكي المعيارية، تُطبَّق سلسلة من التحويلات البسيطة بترتيب معين؛ وهذا موضح في معظم كتب نظرية الأوتوماتا . [ 4 ] : 87-94 [ 5 ] [ 6 ] [ 7 ] يتبع العرض هنا هوبكروفت وأولمان (1979)، ولكنه مُعدَّل لاستخدام أسماء التحويلات من لانج وليس (2009). [ 8 ] [ ملاحظة 2 ] يُحدِّد كلٌّ من التحويلات التالية إحدى الخصائص المطلوبة لصيغة تشومسكي المعيارية.
ابدأ: قم بإزالة رمز البداية من الجوانب اليمنى
أدخل رمز بداية جديدًا S 0 ، وقاعدة جديدة
- S 0 → S ,
حيث S هو رمز البداية السابق. هذا لا يغير اللغة الناتجة عن القواعد النحوية، ولن يظهر S 0 على الجانب الأيمن لأي قاعدة.
المصطلح: إلغاء القواعد المتعلقة بالمحطات الطرفية غير الفردية
لإلغاء كل قاعدة
- أ → س 1 ... أ ... س ن
إذا لم يكن الرمز النهائي a هو الرمز الوحيد على الجانب الأيمن، فقم بإدخال رمز غير نهائي جديد Na لكل رمز نهائي من هذا القبيل، وقاعدة جديدة .
- N a → a .
غيّر كل قاعدة
- أ → س 1 ... أ ... س ن
ل
- A → X 1 ... N a ... X n .
إذا ظهرت عدة رموز طرفية على الجانب الأيمن، فاستبدل كل منها في آنٍ واحد بالرمز غير الطرفي المرتبط بها. هذا لا يُغيّر اللغة الناتجة عن القواعد النحوية. [ 4 ] : 92
BIN: تخلص من الجوانب اليمنى التي تحتوي على أكثر من طرفين غير نهائيين
استبدل كل قاعدة
- أ → س 1 س 2 ... س ن
مع أكثر من رمزين غير طرفيين X1 ، ...، Xn وفقًا للقواعد
- أ → س 1 أ 1 ،
- A 1 → X 2 A 2 ,
- ... ،
- A n -2 → X n -1 X n ,
حيث تمثل A i رموزًا غير طرفية جديدة. ومرة أخرى، هذا لا يغير اللغة الناتجة عن القواعد النحوية. [ 4 ] : 93
حذف: إزالة قواعد إبسيلون
قاعدة إبسيلون هي قاعدة على الشكل التالي:
- A → ε,
حيث A ليس S 0 ، رمز بداية القواعد النحوية.
لإلغاء جميع القواعد من هذا الشكل، حدد أولاً مجموعة جميع الرموز غير الطرفية التي تشتق ε. يطلق هوبكروفت وأولمان (1979) على هذه الرموز غير الطرفية اسم الرموز القابلة للإلغاء ، ويحسبونها على النحو التالي:
- إذا كانت القاعدة A → ε موجودة، فإن A قابلة للإلغاء.
- إذا كانت القاعدة A → X 1 ... X n موجودة، وكان كل X i قابلاً للإلغاء، فإن A قابل للإلغاء أيضًا.
احصل على قواعد نحوية وسيطة عن طريق استبدال كل قاعدة
- أ → س 1 ... س ن
في جميع الإصدارات مع حذف بعض الرموز القابلة للإلغاء X i . بحذف كل قاعدة إبسيلون في هذه القواعد، ما لم يكن جانبها الأيسر هو رمز البداية، نحصل على القواعد المُحوَّلة. [ 4 ] : 90
على سبيل المثال، في القواعد النحوية التالية، مع رمز البداية S 0 ،
- S 0 → AbB | C
- ب → أأ | أج
- ج → ب | ج
- A → a | ε
الرمز غير الطرفي A ، وبالتالي B أيضاً ، قابل للإلغاء، بينما C و S 0 ليسا كذلك . ومن ثم نحصل على القواعد النحوية الوسيطة التالية: [ ملاحظة 3 ]
- S 0 → A b B | A b
B|Ab B |AbB| C - ب → أأ |
أأ| أأ |أεأ| أ ج |أج - ج → ب | ج
- A → a | ε
في هذه القواعد النحوية، تم تضمين جميع قواعد إبسيلون في موقع الاستدعاء. [ ملاحظة 4 ] في الخطوة التالية، يمكن حذفها، مما ينتج عنه القواعد النحوية التالية:
- S 0 → AbB | Ab | bB | b | C
- ب → أأ | أ | أج | ج
- ج → ب | ج
- أ → أ
تنتج هذه القواعد نفس لغة المثال النحوي الأصلي، أي. { ab , aba , abaa , abab , abac , abb , abc , b , ba , baa , bab , bac , bb , bc , c } ، ولكن لا يوجد لديه قواعد ε.
الوحدة: إلغاء قواعد الوحدة
قاعدة الوحدة هي قاعدة من الشكل
- أ → ب ،
حيث A و B رموز غير طرفية. لإزالتها، لكل قاعدة
- ب → س 1 ... س ن ،
حيث X1 ... Xn عبارة عن سلسلة من الرموز غير الطرفية والطرفية، قاعدة الجمع
- أ → س 1 ... س ن
إلا إذا كانت هذه قاعدة وحدة تمت إزالتها بالفعل (أو يجري إزالتها). يُمكن تخطي الرمز غير الطرفي B في القواعد النحوية الناتجة لأن B عنصر من عناصر الإغلاق الوحدوي للرمز غير الطرفي A. [ 9 ]
ترتيب التحولات
| يحافظ التحويل X دائمًا على ( Y ) وقد يدمر ( N ) نتيجة Y : | |||||
Y X | يبدأ | شرط | صندوق | دل | وحدة |
|---|---|---|---|---|---|
| يبدأ | |||||
| شرط | |||||
| صندوق | |||||
| دل | |||||
| وحدة | ( Y ) * | ||||
| * يحتفظ الأمر UNIT بنتيجة الأمر DEL إذا تم استدعاء الأمر START من قبل. | |||||
عند اختيار ترتيب تطبيق التحويلات المذكورة أعلاه، يجب مراعاة أن بعض التحويلات قد تُبطل نتائج تحويلات أخرى. على سبيل المثال، سيعيد التحويل START تطبيق قاعدة الوحدة إذا طُبِّق بعد التحويل UNIT . يوضح الجدول الترتيبات المسموح بها.
علاوة على ذلك، يعتمد تضخم حجم القواعد النحوية في أسوأ الحالات [ ملاحظة 5 ] على ترتيب التحويل. باستخدام | G | للدلالة على حجم القواعد النحوية الأصلية G ، قد يتراوح تضخم الحجم في أسوأ الحالات من | G | ² إلى 2/2 |G| ، وذلك اعتمادًا على خوارزمية التحويل المستخدمة. [ 8 ] : 7 يعتمد تضخم حجم القواعد النحوية على الترتيب بين DEL و BIN . قد يكون التضخم أُسّيًا عند تنفيذ DEL أولًا، ولكنه خطي في غير ذلك. يمكن أن يتسبب UNIT في تضخم تربيعي في حجم القواعد النحوية. [ 8 ] : 5 يؤدي الترتيبان START ، TERM ، BIN ، DEL ، UNIT و START ، BIN ، DEL ، UNIT ، TERM إلى أقل تضخم (أي تربيعي).
مثال

تصف القواعد النحوية التالية، التي تبدأ بالرمز Expr ، نسخةً مبسطةً من مجموعة جميع التعبيرات الحسابية الصحيحة نحويًا في لغات البرمجة مثل C أو Algol60 . يُعتبر كل من العدد والمتغير رمزين نهائيين هنا للتبسيط، حيث لا يأخذ المحلل النحوي عادةً بنيتهما الداخلية في الاعتبار عند معالجة المترجم . كان الرمز النهائي "^" يُشير إلى الأس في Algol60.
تعبير → مصطلح | مصطلح Expr AddOp | مصطلح AddOp شرط → عامل | عامل التشغيل المتعدد للمصطلح عامل → أساسي | العامل ^ الأساسي أساسي → رقم متغير | ( Expr ) إضافة عملية → + | − مولوب → * | /
في خطوة "البدء" من خوارزمية التحويل المذكورة أعلاه ، تُضاف قاعدة واحدة فقط S 0 → Expr إلى القواعد النحوية. بعد خطوة "الإنهاء"، تصبح القواعد النحوية على النحو التالي:
S 0 → تعبير تعبير → مصطلح | مصطلح Expr AddOp | مصطلح AddOp شرط → عامل | عامل التشغيل المتعدد للمصطلح عامل → أساسي | عامل قوة أساسي أساسي → رقم متغير | فتح | إغلاق إضافة عملية → + | − مولوب → * | / باو أوب → ^ يفتح → ( يغلق → )
بعد الخطوة "BIN"، يتم الحصول على القواعد النحوية التالية:
S 0 → تعبير تعبير → مصطلح | Expr AddOp_Term | مصطلح AddOp شرط → عامل | Term MulOp_Factor عامل → أساسي | عامل PowOp_Primary أساسي → رقم متغير | فتح Expr_Close إضافة عملية → + | − مولوب → * | / باو أوب → ^ يفتح → ( يغلق → ) AddOp_Term → مصطلح AddOp عامل التشغيل المتعدد → عامل الضرب PowOp_Primary → باو أوب الأساسي Expr_Close → سعر الإغلاق المتوقع
بما أنه لا توجد قواعد إبسيلون، فإن الخطوة "DEL" لا تُغير القواعد النحوية. بعد الخطوة "UNIT"، نحصل على القواعد النحوية التالية، وهي في صيغة تشومسكي المعيارية:
S 0 → رقم متغير | فتح Expr_Close | عامل PowOp_Primary | Term MulOp_Factor | Expr AddOp_Term | مصطلح AddOp تعبير → رقم متغير | فتح Expr_Close | عامل PowOp_Primary | Term MulOp_Factor | Expr AddOp_Term | مصطلح AddOp شرط → رقم متغير | فتح Expr_Close | عامل PowOp_Primary | Term MulOp_Factor عامل → رقم متغير | فتح Expr_Close | عامل PowOp_Primary أساسي → رقم متغير | فتح Expr_Close إضافة عملية → + | − مولوب → * | / باو أوب → ^ يفتح → ( يغلق → ) AddOp_Term → مصطلح AddOp عامل التشغيل المتعدد → عامل الضرب PowOp_Primary → باو أوب الأساسي Expr_Close → سعر الإغلاق المتوقع
تتضمن N a المُدخلة في خطوة "TERM" كلاً من PowOp و Open و Close . أما A i المُدخلة في خطوة "BIN" فهي AddOp_Term و MulOp_Factor و PowOp_Primary و Expr_Close .
تعريف بديل
نموذج تشومسكي المختصر
طريقة أخرى [ 4 ] : 92 [ 10 ] لتعريف الشكل الطبيعي لتشومسكي هي:
تكون القواعد النحوية الرسمية في شكل تشومسكي المختزل إذا كانت جميع قواعد الإنتاج الخاصة بها على الشكل التالي:
- أو
- ،
أين،وهي رموز غير طرفية، وهو رمز طرفي . عند استخدام هذا التعريف،أوقد يكون رمز البداية. فقط القواعد النحوية الخالية من السياق التي لا تولد سلسلة فارغة يمكن تحويلها إلى شكل تشومسكي المختزل.
فلويد الشكل الطبيعي
في رسالة اقترح فيها مصطلح " صيغة باكوس-ناور " (BNF)، ألمح دونالد إي. كنوث إلى أن "صيغة باكوس-ناور التي تتخذ فيها جميع التعريفات مثل هذه الصيغة يمكن القول إنها في "صيغة فلويد العادية"".
- ::=\,\langle B\rangle \mid \langle C\rangle } أو
- ::=\,\langle B\rangle \langle C\rangle } أو
- ::=\,a} ,
أين،وهي رموز غير طرفية، ويُعدّ رمزًا نهائيًا، لأن روبرت دبليو فلويد وجد في عام 1961 أنه يمكن تحويل أي صيغة BNF إلى الصيغة المذكورة أعلاه. [ 11 ] لكنه سحب هذا المصطلح، "لأنه لا شك أن العديد من الأشخاص قد استخدموا هذه الحقيقة البسيطة بشكل مستقل في أعمالهم، وهذه النقطة ليست سوى أمر ثانوي بالنسبة للاعتبارات الرئيسية لملاحظة فلويد." [ 12 ] في حين أن ملاحظة فلويد تستشهد بمقال تشومسكي الأصلي لعام 1959، فإن رسالة كنوت لا تفعل ذلك.
طلب
إلى جانب أهميتها النظرية، يُستخدم تحويل CNF في بعض الخوارزميات كخطوة معالجة مسبقة، على سبيل المثال، خوارزمية CYK ، وهي تحليل نحوي من الأسفل إلى الأعلى لقواعد اللغة الخالية من السياق، ومتغيرها الاحتمالي CKY. [ 13 ]
انظر أيضاً
- شكل باكوس-ناور
- خوارزمية CYK
- الشكل الطبيعي لغريباخ
- الشكل الطبيعي لكورودا
- معضلة الضخ للغات الخالية من السياق - يعتمد برهانها على الشكل الطبيعي لتشومسكي
ملحوظات
- ↑ أي، اللغة التي تنتج نفس اللغة
- ↑ على سبيل المثال، قام هوبكروفت وأولمان (1979) بدمج TERM و BIN في تحويل واحد.
- يشير الرمز ↑ إلى الاحتفاظ بالرمز N وحذفه كرمز غير طرفيبواسطة N و
Nعلى التوالي - ↑ إذا كانت القواعد النحوية تحتوي على قاعدة S 0 → ε، فلا يمكن "تضمينها" لأنها لا تحتوي على "مواقع استدعاء". لذلك لا يمكن حذفها في الخطوة التالية.
- ↑ أي الطول المكتوب، مقاسًا بالرموز
مراجع
- ↑ تشومسكي، نعوم (1959). "حول بعض الخصائص الشكلية للقواعد النحوية". المعلومات والتحكم . 2 (2): 137-167 . doi : 10.1016/S0019-9958(59)90362-6 .هنا: القسم 6، ص 152 وما بعدها.
- ↑ دانتوني، لوريس. "الصفحة 7، المحاضرة 9: خوارزميات التحليل من الأسفل إلى الأعلى" (ملف PDF) . CS536-S21 مقدمة في لغات البرمجة والمترجمات . جامعة ويسكونسن-ماديسون. مؤرشف (ملف PDF) من الأصل بتاريخ 19 يوليو 2021.
- ↑ سيبسر، مايكل (2006). مقدمة في نظرية الحوسبة ( الطبعة الثانية). بوسطن: تومسون كورس تكنولوجي. التعريف 2.8. ISBN 0-534-95097-3. OCLC 58544333 .
- 1 2 3 4 5 6 هوبكروفت، جون إي.؛ أولمان، جيفري د. (1979). مقدمة في نظرية الأوتوماتا واللغات والحوسبة . ريدينغ، ماساتشوستس: دار نشر أديسون-ويسلي. ISBN 978-0-201-02988-8.
- ↑ هوبكروفت، جون إي.؛ موتاني، راجيف؛ أولمان، جيفري د. (2006). مقدمة في نظرية الأوتوماتا واللغات والحوسبة ( الطبعة الثالثة). أديسون-ويسلي. ISBN 978-0-321-45536-9.القسم 7.1.5، صفحة 272
- ↑ ريتش، إيلين (2007). "11.8 الأشكال الطبيعية". الأوتوماتا، والحوسبة، والتعقيد: النظرية والتطبيقات (ملف PDF) (الطبعة الأولى ). برنتيس هول. ص 169. ISBN 978-0132288064.
{{cite book}}: CS1 maint: deprecated archiveal service ( link ) - ^ فيجنر، إنجو (1993). النظرية المعلوماتية - خوارزمية Einführung . Leitfäden und Mongraphien der Informatik (باللغة الألمانية). شتوتغارت: بي جي تيوبنر. رقم ISBN 978-3-519-02123-0.القسم 6.2 "Die Chomsky-Normalform for kontextfreie Grammatken"، ص. 149-152
- 1 2 3 لانج، مارتن؛ ليس، هانز (2009). "هل نستخدم صيغة CNF أم لا ؟ نسخة فعالة وجذابة من خوارزمية CYK" (ملف PDF) . مجلة Informatica Didactica . 8. مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 19-07-2011.
- ↑ أليسون، تشارلز د. (2022). أسس الحوسبة: مقدمة مبسطة للأتمتة واللغات الرسمية . فريش سورسز، ص 176. ISBN 9780578944173.
- ↑ هوبكروفت وآخرون (2006)
- ↑ فلويد، روبرت و. (1961). "ملاحظة حول الاستقراء الرياضي في قواعد بنية العبارة" (ملف PDF) . المعلومات والتحكم . 4 (4): 353-358 . doi : 10.1016/S0019-9958(61)80052-1 . مؤرشف (ملف PDF) من الأصل بتاريخ 2021-03-05.هنا: صفحة 354
- ↑ كنوت، دونالد إي. (ديسمبر 1964). "صيغة باكوس العادية مقابل صيغة باكوس العادية" . اتصالات رابطة آلات الحوسبة . 7 (12): 735-736 . doi : 10.1145/355588.365140 . S2CID 47537431 .
- ↑ جورافسكي، دانيال؛ مارتن، جيمس هـ. (2008). معالجة الكلام واللغة ( الطبعة الثانية). بيرسون برنتيس هول. ص 465. ISBN 978-0-13-187321-6.
للمزيد من القراءة
- كول، ريتشارد. تحويل قواعد اللغة الخالية من السياق إلى صيغة تشومسكي العادية (CNF) ، 17 أكتوبر 2007. (ملف PDF) - يستخدم الترتيب TERM، BIN، START، DEL، UNIT.
- جون مارتن (2003). مقدمة في اللغات ونظرية الحوسبة . ماكجرو هيل. ISBN 978-0-07-232200-2.(الصفحات 237-240 من القسم 6.6: الأشكال المبسطة والأشكال العادية.)
- مايكل سيبسر (1997). مقدمة في نظرية الحوسبة . دار نشر PWS. رقم ISBN 978-0-534-94728-6.(الصفحات 98-101 من القسم 2.1: القواعد الخالية من السياق. الصفحة 156.)
- تشارلز د. أليسون (2021) (20 أغسطس 2021). أسس الحوسبة: مقدمة مبسطة للغة الرسمية . دار نشر فريش سورسز. رقم ISBN 9780578944173.
{{cite book}}: CS1 maint: أسماء رقمية: قائمة المؤلفين ( رابط ) (الصفحات 171-183 من القسم 7.1: نموذج تشومسكي الطبيعي) - سيبسر، مايكل. مقدمة في نظرية الحوسبة، الطبعة الثانية.
- ألكسندر ميدونا (6 ديسمبر 2012). الأوتوماتا واللغات: النظرية والتطبيقات . سبرينغر ساينس آند بيزنس ميديا. ISBN 978-1-4471-0501-5.
- اللغات الرسمية
- نعوم تشومسكي
