گرامر ماتریسی

یک گرامر ماتریسی (انگلیسی:Matrix grammar), یک گرامر منظم است که در آن به جای قانون‌های تکی، قانون‌ها در دنباله‌های متناهی باهم گروه شده‌اند. یک قانون نمی‌تواند به صورت مجزا اعمال شود، بلکه هر قانون به صورت دنباله‌ای از قانون‌ها اعمال می‌شود. به عنوان مثال برای اعمال یک قانون چندین بار باید بازنویسی انجام شود، به این صورت که ابتدا قانون اول انجام می‌شود سپس قانون دوم و به همین ترتیب تا آخرین قانون پیش می‌رود. این دنباله از قانون‌ها در یک ماتریس نمایش داده می‌شود.

گرامر ماتریسی گسترشی از گرامر بدون محتوا است.

تعریف دقیق 
یک گرامر ماتریسی یک پنج‌تایی مرتب  به صورت زیر است:

 

که دارای خاصیت‌های زیر می‌باشد:
  مجموعه همه ناپایانه‌ها است.
  مجموعه همه پایانه‌ها است.
  سمبل شروعی است که تمام متن از آن حاصل می‌شود و باید در [مجموعه] N حضور داشته باشد.
  یک مجموعه از دنباله‌های متناهی از قوانین زبان بدون محتوا است.
  یک زیرمجموعه از قوانینی است که در ماتریس‌ها وجود دارند.

خصیصه‌ها 
فرض کنید  مجموعه زبان‌هایی باشد که با گرامر ماتریسی تولید می‌شود و  مجموعه زبان‌هایی باشد که با گرامر ماتریسی بدون  تولید می‌شود. 

خصیصه های زیر وجود دارد:
 به طور کلی،  زیر مجموعه‌ای از  است.
 همه زبان‌های موجود در  می‌توانند با یک گرامر حساس به محتوا تولید شوند.
 همه‌ی زبان‌های بدون محتوا در  هستند.
  نسبت به اجتماع، اشتراک و به دنبال هم چسباندن برای زبان‌های منظم بسته است.
 هر زبانی که با گرامر ماتریسی تولید می‌شود که فقط یک پایانه دارد، منظم است.

مثال 
گرامر  را در نظر بگیرید که در آن M مجموعه ماتریس‌های زیر است:

[S → XY], [X → aXb, Y → cY], [X → ab, Y → c]

این ماتریس‌ها که شامل قوانین زبان بدون محتوا می‌شوند، زبان زیر را تولید می‌کنند:

این مثال از  اقتباس شده است.

مسئله حل‌نشده 
دوتا مسئله در زمینه این‌گونه گرامرها همچنان به صورت حل‌نشده باقی مانده است.
 آیا زبانی وجود دارد که در  باشد اما در  نباشد؟
 آیا  شامل همه‌ی زبان‌های غیرحساس به محتوا می‌شود؟

منابع 

 Simple Matrix Languages OSCAR H. IBARm

پانویس 

زبان‌های صوری