آلة الضغط المدمجة

آلة الدفع المدمجة ( EPDA ) هي نموذج حسابي لتحليل اللغات المولدة بواسطة قواعد النحو المتجاورة الشجرية (TAGs). وهي تشبه آلة الدفع لتحليل قواعد النحو الخالية من السياق ، ولكن بدلاً من استخدام مكدس عادي لتخزين الرموز، تستخدم مكدسًا من المكدسات المتكررة لتخزين الرموز، مما يمنح قواعد النحو المتجاورة الشجرية قدرة توليدية تقع بين قواعد النحو الخالية من السياق وقواعد النحو الحساسة للسياق ، أو مجموعة فرعية من قواعد النحو الحساسة للسياق بشكل طفيف . يجب عدم الخلط بين آلات الدفع المدمجة وآلات المكدس المتداخلة التي تتمتع بقدرة حسابية أكبر.

التاريخ والتطبيقات

وُصفت قواعد البيانات المكانية المُحسَّنة (EPDAs) لأول مرة من قِبل ك. فيجاي شانكر في أطروحته للدكتوراه عام 1988. [ 1 ] ومنذ ذلك الحين، طُبِّقت هذه القواعد على أوصاف أكثر شمولاً لفئات القواعد النحوية الحساسة للسياق بشكل طفيف، ولعبت أدوارًا مهمة في تحسين التسلسل الهرمي لتشومسكي . وبذلك، يُمكن تعريف قواعد نحوية فرعية متنوعة، مثل القواعد النحوية الخطية المفهرسة . [ 2 ]

على الرغم من أن اللغات الطبيعية تُحلل تقليديًا باستخدام قواعد نحوية خالية من السياق (انظر القواعد النحوية التحويلية التوليدية واللغويات الحاسوبية )، إلا أن هذا النموذج لا يُجدي نفعًا مع اللغات ذات التبعيات المتقاطعة، مثل اللغة الهولندية، وهي حالات يُناسبها تحليل EPDA. يتوفر تحليل لغوي مفصل في كتاب جوشي وشابيس (1997). [ 3 ]

نظرية

آلة EPDA هي آلة حالة محدودة مزودة بمجموعة من المكدسات التي يمكن الوصول إليها من خلال المكدس المضمن . يحتوي كل مكدس على عناصر من أبجدية المكدس.Γ{\displaystyle \,\Gamma }وهكذا نُعرّف عنصرًا من عناصر المكدس بواسطةσأناΓ*{\displaystyle \,\sigma _{i}\in \Gamma ^{*}}، حيث يمثل النجم إغلاق كلين للأبجدية.

يمكن تعريف كل مجموعة من العناصر بدلالة مكوناتها، لذلك نرمز إلىج{\displaystyle \,j}المكدس رقم 1 في الآلة باستخدام رمز الخنجر المزدوج:Υج=σج={σج،ك،σج،ك-1،...،σج،1}{\displaystyle \,\Upsilon _{j}=\ddagger \sigma _{j}=\{\sigma _{j,k},\sigma _{j,k-1},\ldots ,\sigma _{j,1}\}}، أينσج،ك{\displaystyle \,\sigma _{j,k}}سيكون الرمز التالي الذي يمكن الوصول إليه في المكدس. المكدس المضمن لـم{\displaystyle \,m}وبالتالي يمكن الإشارة إلى المكدسات بواسطة{Υج}={σم،σم-1،...،σ1}(Γ+)*{\displaystyle \,\{\Upsilon _{j}\}=\{\ddagger \sigma _{m},\ddagger \sigma _{m-1},\ldots ,\ddagger \sigma _{1}\}\in (\ddagger \Gamma ^{+})^{*}}.

نُعرّف EPDA بواسطة المجموعة السباعية (مجموعة من 7 عناصر).

م=(سؤال،Σ،Γ،دلتا،q0،سؤالF،σ0){\displaystyle \,M=(Q,\Sigma ,\Gamma ,\delta ,q_{0},Q_{\textrm {F}},\sigma _{0})}أين
  • سؤال{\displaystyle \,Q}هي مجموعة محدودة من الحالات ؛
  • Σ{\displaystyle \,\Sigma }هي المجموعة المحدودة من أبجدية الإدخال ؛
  • Γ{\displaystyle \,\Gamma }هي الأبجدية ذات المكدس المحدود ؛
  • q0سؤال{\displaystyle \,q_{0}\in Q}هي حالة البداية ؛
  • سؤالFسؤال{\displaystyle \,Q_{\textrm {F}}\subseteq Q}هي مجموعة الحالات النهائية ؛
  • σ0Γ{\displaystyle \,\sigma _{0}\in \Gamma }هو رمز المكدس الأولي
  • دلتا:سؤال×Σ×ΓS{\displaystyle \,\delta :Q\times \Sigma \times \Gamma \rightarrow S}هي دالة الانتقال ، حيثS{\displaystyle \,S}هي مجموعات جزئية منتهية منسؤال×(Γ+)*×Γ*×(Γ+)*{\displaystyle \,Q\times (\ddagger \Gamma ^{+})^{*}\times \Gamma ^{*}\times (\ddagger \Gamma ^{+})^{*}}.

وبالتالي، تأخذ دالة الانتقال حالةً، والرمز التالي من سلسلة الإدخال، والرمز العلوي للمكدس الحالي، وتُنشئ الحالة التالية، والمكدسات التي سيتم دفعها وسحبها إلى المكدس المُضمّن ، ودفع وسحب المكدس الحالي، والمكدسات التي ستُعتبر المكدسات الحالية في الانتقال التالي. وبعبارة أخرى، يتم دفع المكدس المُضمّن وسحبه، ويمكن دفع المكدس الحالي مرة أخرى إلى المكدس المُضمّن ، ويتم دفع أي مكدسات أخرى مطلوبة فوقه، مع كون المكدس الأخير هو الذي تتم قراءته في التكرار التالي. لذلك، يمكن دفع المكدسات فوق المكدس الحالي أو تحته.

يتم تعريف التكوين المحدد بواسطة

ج(م)={q،Υم...Υ1،x1،x2}سؤال×(Γ+)*×Σ*×Σ*{\displaystyle \,C(M)=\{q,\Upsilon _{m}\ldots \Upsilon _{1},x_{1},x_{2}\}\in Q\times (\ddagger \Gamma ^{+})^{*}\times \Sigma ^{*}\times \Sigma ^{*}}

أينq{\displaystyle \,q}هذا هو الوضع الحالي،Υ{\displaystyle \,\Upsilon }s هي المكدسات في المكدس المضمن ، معΥم{\displaystyle \,\Upsilon _{m}}المكدس الحالي، وبالنسبة لسلسلة الإدخالx=x1x2Σ*{\displaystyle \,x=x_{1}x_{2}\in \Sigma ^{*}}،x1{\displaystyle \,x_{1}}هو جزء من السلسلة تمت معالجته بالفعل بواسطة الآلة وx2{\displaystyle \,x_{2}}هذا هو الجزء المراد معالجته، ورأسه هو الرمز المقروء حاليًا. لاحظ أن السلسلة الفارغةϵΣ{\displaystyle \,\epsilon \in \Sigma }يُعرَّف ضمنيًا على أنه رمز إنهاء، فإذا كانت الآلة في حالة نهائية عند قراءة السلسلة الفارغة، تُقبل سلسلة الإدخال بأكملها ، وإلا تُرفض . وتُعد هذه السلاسل المقبولة عناصر من عناصر اللغة.

ل(م)={x|{q0،Υ0،ϵ،x}م*{qF،Υم...Υ1،x،ϵ}}{\displaystyle \,L(M)=\left\{x|\{q_{0},\Upsilon _{0},\epsilon ,x\}\rightarrow _{M}^{*}\{q_{\textrm {F}},\Upsilon _{m}\ldots \Upsilon _{1},x,\epsilon \}\right\}}

أينqFسؤالF{\displaystyle \,q_{\textrm {F}}\in Q_{\textrm {F}}}وم*{\displaystyle \,\rightarrow _{M}^{*}}تحدد دالة الانتقال التي يتم تطبيقها عدة مرات حسب الحاجة لتحليل السلسلة.

يمكن أيضًا العثور على وصف غير رسمي لـ EPDA في Joshi, Schabes (1997), [ 3 ] القسم 7، ص  23-25.

تحليل EPDA من الرتبة k والتسلسل الهرمي لـ Weir

وضع ديفيد ج. وير تصنيفًا أكثر دقة للغات التي تتوافق مع فئة اللغات الحساسة للسياق بشكل طفيف. [ 4 ] استنادًا إلى عمل نبيل أ. خباز، [ 5 ] [ 6 ] يُعد تصنيف وير للغات التحكم تصنيفًا احتواءً لمجموعة قابلة للعد من فئات اللغات، حيث يُعرَّف المستوى 1 بأنه خالٍ من السياق، والمستوى 2 هو فئة قواعد النحو المتجاورة الشجرية والقواعد النحوية الثلاث الأخرى.

فيما يلي بعض خصائص لغات المستوى k في التسلسل الهرمي:

  • تُصنف اللغات من المستوى k بشكل صحيح ضمن فئة اللغة من المستوى ( k  +  1).
  • يمكن تحليل لغات المستوى k فييا(ن32ك-1){\displaystyle O(n^{3\cdot 2^{k-1}})}وقت
  • يحتوي المستوى k على اللغة{أ1ن...أ2كن|ن0}{\displaystyle \{a_{1}^{n}\dotso a_{2^{k}}^{n}|n\geq 0\}}لكن ليس{أ1ن...أ2ك+1ن|ن0}{\displaystyle \{a_{1}^{n}\dotso a_{2^{k+1}}^{n}|n\geq 0\}}
  • يحتوي المستوى k على اللغة{w2ك-1|w{أ،ب}*}{\displaystyle \{w^{2^{k-1}}|w\in \{a,b\}^{*}\}}لكن ليس{w2ك-1+1|w{أ،ب}*}{\displaystyle \{w^{2^{k-1}+1}|w\in \{a,b\}^{*}\}}

تتوافق هذه الخصائص بشكل جيد (على الأقل بالنسبة لـ k  >  1 الصغيرة) مع شروط اللغات الحساسة للسياق بشكل طفيف التي فرضها جوشي، ومع ازدياد قيمة k ، تصبح فئة اللغة، بمعنى ما، أقل حساسية للسياق بشكل طفيف.

انظر أيضاً

مراجع

  1. فيجاي شانكر، ك. (يناير 1988). "دراسة لقواعد النحو المجاورة للشجرة" . أطروحة دكتوراه . جامعة بنسلفانيا .
  2. وير، ديفيد ج. (1994). "الدفع الخطي المتكرر" (ملف PDF) . الذكاء الحسابي . 10 (4): 431-439 . doi : 10.1111/j.1467-8640.1994.tb00007.x . S2CID 205570628. تاريخ الاسترجاع: 20 أكتوبر 2012 . 
  3. 1 2 جوشي، أرافيند ك.؛ إيف شابيس (1997). "قواعد الربط الشجري" (ملف PDF) . دليل اللغات الرسمية . المجلد 3. سبرينغر. الصفحات 69-124 . doi : 10.1007/978-3-642-59126-6_2 . ISBN   978-3-642-63859-6أُرشف من النسخة الأصلية (PDF) بتاريخ 24-09-2015 . تم الاطلاع عليه بتاريخ 07-02-2014 .
  4. Weir, DJ (1992), "A engineering hierarchy beyond context-free languages", Theoretical Computer Science , 104 (2): 235– 261, doi : 10.1016/0304-3975(92)90124-X .
  5. نبيل أنطون خباز (1972). اللغات المعممة الخالية من السياق (دكتوراه). جامعة أيوا.
  6. نبيل أنطون خباز (1974). "التسلسل الهرمي الهندسي للغات". مجلة علوم الحاسوب والنظم 8 (2): 142-157 . doi : 10.1016/s0022-0000(74)80052-8 .

للمزيد من القراءة

  • لورا كالمير (2010). التحليل النحوي بما يتجاوز قواعد اللغة الخالية من السياق . سبرينغر ساينس آند بيزنس ميديا. ISBN 978-3-642-14846-0.