گرامر ماتریسی
یک گرامر ماتریسی (انگلیسی:Matrix grammar), یک گرامر منظم است که در آن به جای قانونهای تکی، قانونها در دنبالههای متناهی باهم گروه شدهاند. یک قانون نمیتواند به صورت مجزا اعمال شود، بلکه هر قانون به صورت دنبالهای از قانونها اعمال میشود. به عنوان مثال برای اعمال یک قانون چندین بار باید بازنویسی انجام شود، به این صورت که ابتدا قانون اول انجام میشود سپس قانون دوم و به همین ترتیب تا آخرین قانون پیش میرود. این دنباله از قانونها در یک ماتریس نمایش داده میشود.
گرامر ماتریسی گسترشی از گرامر بدون محتوا است.
تعریف دقیق
یک گرامر ماتریسی یک پنجتایی مرتب به صورت زیر است:
که دارای خاصیتهای زیر میباشد:
- مجموعه همه ناپایانهها است.
- مجموعه همه پایانهها است.
- سمبل شروعی است که تمام متن از آن حاصل میشود و باید در [مجموعه] N حضور داشته باشد.
- یک مجموعه از دنبالههای متناهی از قوانین زبان بدون محتوا است.
- یک زیرمجموعه از قوانینی است که در ماتریسها وجود دارند.
خصیصهها
فرض کنید
خصیصه های زیر وجود دارد:
- به طور کلی، زیر مجموعهای ازاست.
- همه زبانهای موجود در میتوانند با یک گرامر حساس به محتوا تولید شوند.
- همهی زبانهای بدون محتوا در هستند.
- نسبت به اجتماع، اشتراک و به دنبال هم چسباندن برای زبانهای منظم بسته است.
- هر زبانی که با گرامر ماتریسی تولید میشود که فقط یک پایانه دارد، منظم است.
مثال
گرامر
[S → XY], [X → aXb, Y → cY], [X → ab, Y → c]
این ماتریسها که شامل قوانین زبان بدون محتوا میشوند، زبان زیر را تولید میکنند:
این مثال از اقتباس شده است.
مسئله حلنشده
دوتا مسئله در زمینه اینگونه گرامرها همچنان به صورت حلنشده باقی مانده است.
- آیا زبانی وجود دارد که در باشد اما درنباشد؟
- آیا شامل همهی زبانهای غیرحساس به محتوا میشود؟
منابع
پانویس
- ↑ https://en.wikipedia.org/wiki/Matrix_grammar
- ↑ http://theo.cs.ovgu.de/lehre/lehre11w/modelle_bio/langbio11-folien4.pdf
- ↑ Ábrahám, S. Some questions of language theory. International Conference on Computational Linguistic, 1965. pp 1–11.
- ↑ Gheorghe Păun, Membrane Computing: An Introduction, Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2002. pp 30–32