نظریه زبان‌ها

(تغییرمسیر از زبان‌های صوری)

زبان فرمالیسم |زبان قراردادی |زبان صوری

ویرایش

در منطق، ریاضیات، علوم کامپیوتر و زبان‌شناسی، نظریهٔ زبان‌ها به مطالعهٔ زبان‌های قراردادی و دسته‌بندی آنها می‌پردازد. در نظریهٔ زبان‌ها تنها جنبه‌های نحوی زبان‌ها (یعنی الگوهای ساختاری درونی آنها) تجرید و انتزاع می‌شود و به معنای جملات و ... اهمیتی نمی‌دهیم (مثلاً جملهٔ «رنگ آسمان قرمز است» ممکن است در یک زبان قراردادی جملهٔ مورد قبولی باشد).

نظریهٔ زبان‌ها به عنوان راهی برای درک قوانین نحوی زبان‌های طبیعی از زبان‌شناسی سرچشمه گرفت و نوام چامسکی در پیشرفت آن نقش مؤثری داشت. در علوم کامپیوتر، زبان‌های قراردادی به عنوان مبنایی برای تعریف دستور زبان‌های برنامه‌نویسی استفاده می‌شوند. در نظریهٔ پیچیدگی محاسباتی، مسائل تصمیم معمولاً به عنوان زبان‌های قراردادی تعریف می‌شوند و کلاس‌های پیچیدگی به عنوان مجموعه‌ای از زبان‌های قراردادی تعریف می‌شوند که می‌توانند توسط ماشین‌های تجزیه‌گر تجزیه شوند. در منطق، فرمالیسم ریاضی و مبانی ریاضی، از زبان‌های قراردادی برای تعریف دقیق نحو ماشین های مجازی همچون نظریهٔ مجموعه‌ها استفاده می‌شود.[۱]

یک زبان قراردادی (به انگلیسی: formal language) شامل کلماتی است متشکل از حروف یک الفبا که بر اساس قوانینی به صورت خوش‌ساخت شکل بگیرند.[۲]

در علوم کامپیوتر و ریاضیات که معمولاً با زبان‌های طبیعی سروکار ندارند، صفت «قراردادی» حذف می شود.[۳] مفهوم گرامر قراردادی شباهت بیشتری به تصور انسانی از یک زبان دارد. زبانی که با قواعد نحوی محدود شده باشد.

تعاریف پایه

ویرایش

الفبای قراردادی مجموعهٔ حروفی (مثل الف، ب، پ و ...) به نام نماد است که با قرارگیری آنها در کنار هم (الحاقشان) کلماتی به نام رشته پدید می‌آیند. هر کلمهٔ قراردادی از به هم پیوستن حروف این الفبا به دست می‌آید. مثلاً کلمهٔ «آب» (با حروف آ + ب) به زبان فارسی تعلق دارد ولی در عربی معنا ندارد (با این وجود الفبای آنها یکسان است). گاهی کلماتی که به یک زبان قراردادی خاص تعلق دارند جمله یا فرمول‌های خوش‌فرم نامیده می شوند.[۱]

زبان قراردادی | صوری

ویرایش

هر مجموعه‌ای از رشته‌ها (یا کلمات) از یک الفبای خاص   را یک زبان قراردادی   در   (یا بر روی  ) می‌نامیم. به عبارتی دیگر   است.[۱]

با این تعریف مجموعهٔ تهی نیز یک زبان (زبان تهی بر روی هر   دلخواه) محسوب می‌شود. در یک زبان لزومی ندارد که از همهٔ حروف الفبا استفاده شود.[۲]

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

اعمال روی زبان‌ها

ویرایش

ماهیت زبان‌ها مجموعه است؛ در نتیجه اعمال مجموعه‌ها (تفاضل، اجتماع، اشتراک و تفاضل متقارن) روی آنها نیز تعریف می‌شود:[۱]

  • کاردینالیتی (تعداد اعضای) اکثر زبان‌ها بی‌نهایت است.
  • متمم یک زبان   روی الفبای   برابر است با  .

همچنین اعمال روی رشته‌ها و الفبا نیز روی زبان‌ها قابل تعمیم است:[۱]

  • الحاق  [۳] مجموعهٔ تمام رشته‌های حاصل از الحاق اعضای این دو است:  
  • توان   با   بار الحاق   در خودش به دست می‌آید:  همچنین   تعریف می‌کنیم. توجه کنید که  .[۲]
  • معکوس   مجموعهٔ معکوس تمام رشته‌های زبان مذکور است:  
  • بستار کلین   به صورت   تعریف می‌کنیم.
  • همچنین بستار مثبت   را به این شکل تعریف می‌کنیم:  

توصیف زبان‌ها

ویرایش

برای تولید یا توصیف یک زبان از گرامر قراردادی، اتوماتا، عبارات باقاعده (به انگلیسی: regex) یا مدل‌های محاسباتی استفاده می‌شود.[۲]

مسئلهٔ تصمیم معادل عضویت در یک زبان قراردادی است. مجموعهٔ همهٔ رشته‌هایی که یک اتوماتا می‌پذیرد (یا یک گرامر تولید می‌کند یا با یک عبارت باقاعده تطابق دارند) یک زبان است. همچنین پذیرش یک رشته توسط یک ماشین معادل عضویت آن در زبان مذکور است. بنابراین نظریه زبان‌ها بسیار با نظریهٔ ماشین‌ها مرتبط است و همچنین یک حوزه کاربردی اصلی در نظریه رایانش‌پذیری و نظریهٔ پیچیدگی محاسباتی است.[۲]

زبان‌های قراردادی را می‌توان به کمک وراثت چامسکی بر اساس قدرت مولد (گرامر) آنها یا پیچیدگی اتوماتای تصمیم آنها طبقه‌بندی کرد.

جستارهای وابسته

ویرایش

منابع

ویرایش
  1. ۱٫۰ ۱٫۱ ۱٫۲ ۱٫۳ ۱٫۴ An Introduction to Formal Languages and Automata (Sixth Edition). به کوشش Peter Linz.
  2. ۲٫۰ ۲٫۱ ۲٫۲ ۲٫۳ ۲٫۴ Introduction to Automata Theory, Languages, and Computation (Third Edition). به کوشش John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman.
  3. ۳٫۰ ۳٫۱ Introduction to the Theory of Computation (Third Edition). به کوشش Michael Sipser.
  • Sudkamp, T. A. , An Introduction to the Theory of Computer Science, Languages and Machines, 3rd ed. , Pearson Education, Inc. , 2006. ISBN 0-321-32221-5 [۱]

الگو:زبان‌ها و دستور زبان‌های قراردادی