وراثت چامسکی

**وراثت چامسکی** یا **سلسله‌مراتب چامسکی** یا **سلسله‌مراتب چامسکی-شوتزنبرگر**  در زمینه‌های علوم کامپیوتر و زبان‌شناسی، به خصوص در زمینهٔ زبان‌های صوری، یک سلسله مراتب نگهدارندهٔ کلاس‌های دستور زبان صوری است. سلسله‌مراتب گرامرها توسط نوآم چامسکی در سال ۱۹۵۶ توصیف شده است. در نام گذاری این سلسله مراتب، از اسم مارسل-پل شوتزنبرگر  نیز به پاس نقش اساسی وی در توسعهٔ نظریهٔ زبان‌های رسمی (زبان صوری)، استفاده شده است. سلسله‌مراتب چامسکی در اصل امکان درک و بکارگیری مدل علوم کامپیوتر را فراهم می‌کند. این مدل به برنامه‌نویس‌ها اجازه می‌دهد که اهداف زبان‌شناسی مفهوم‌دار را به صورت سیستماتیک به انجام برسانند.

## دستور زبان‌های رسمی (صوری)
:*مقالهٔ اصلی: [[دستور زبان صوری]]*

دستور زبانی رسمی از این نوع، از یک مجموعه‌ای متناهی از قواعد تولید تشکیل شده است (*سمت چپ* \rightarrow \, *سمت راست*) که هر سمت آن، خود شامل رشته‌ای از نمادهای زیر می‌باشد:
* مجموعه‌ای متناهی از نمادهای ناپایانه (که نشان‌دهندهٔ این است که هنوز برخی از قواعد تولید را می‌توان اعمال نمود)
* مجموعه‌ای متناهی از نمادهای پایانه (که نشان‌دهندهٔ این است که هیچ قاعدهٔ تولیدی را نمی‌توان اعمال نمود)
* یک نماد آغازین (یک نماد ناپایانهٔ متمایز)

گرامر رسمی یک زبان رسمی را تعریف (یا تولید) می‌کند، که مجموعه‌ای (معمولاً متناهی) از رشته‌هایی با طول متناهی از نمادها هستند، که ممکن است با اعمال قواعد تولید به رشته‌ای دیگر از نمادها که از ابتدا فقط حاوی نماد آغازین بوده‌اند، ساخته شوند. یک قاعده می‌تواند با جایگزین کردن یک رخداد از نمادها در سمت چپ قاعده با رخدادی که در سمت راست ظاهر می‌شود، به رشته‌ای از نمادها اعمال شود. رشته‌ای از کاربردهای قاعده را «اشتقاق» می‌خوانند. چنین گرامری زبان رسمی را تعریف می‌کند: همهٔ واژه‌هایی که تنها از نمادهای پایانه‌ای تشکیل شده باشند که با اشتقاقی از نماد آغازین، قابل دسترسی باشند.
ناپایانهها معمولاً با حروف بزرگ، پایانه‌ها با حروف کوچک، و نماد آغازین با S نمایش داده می‌شوند، مثلاً گرامری با پایانه‌های \{a,b\} ، ناپایانه‌های \{S,A,B\}، قواعد تولید:

: S \rightarrow \, ABS
: S \rightarrow \, &epsilon; (where &epsilon; is the empty string)
: BA \rightarrow \, AB
: BS \rightarrow \, b
: Bb \rightarrow \, bb
: Ab \rightarrow \, ab
: Aa \rightarrow \, aa

و نماد آغازین S، زبان همهٔ واژه‌هایی با شکل  a^n b^n  را تعریف می‌کند (یعنی n نسخه از a و به دنبال آن n کپی از b). مورد بعدی گرامر ساده‌تری است که زبان مشابهی را تعریف می‌کند: پایانه‌های \{a,b\}، ناپایانهٔ \{S\}، نماد آغازین S ، قواعد تولید

: S \rightarrow \, aSb
: S \rightarrow \, &epsilon;

به عنوان مثالی دیگر، گرامری برای یک زیرمجموعهٔ سرگرمی از زبان انگلیسی، به صورت زیر داده شده است:
پایانه‌های \{ generate, hate, great, green, ideas, linguists \} ، ناپایانه‌های \{\textit{SENTENCE}, \textit{NOUNPHRASE}, \textit{VERBPHRASE}, \textit{NOUN}, \textit{VERB}, \textit{ADJ} \} ، قواعد تولید
: \textit{SENTENCE} \rightarrow \, \textit{NOUNPHRASE} \; \textit{VERBPHRASE}
: \textit{NOUNPHRASE} \rightarrow \, \textit{ADJ} \; \textit{NOUNPHRASE}
: \textit{NOUNPHRASE} \rightarrow \, \textit{NOUN}
: \textit{VERBPHRASE} \rightarrow \, \textit{VERB} \;  \textit{NOUNPHRASE}
: \textit{VERBPHRASE} \rightarrow \, \textit{VERB}
: \textit{NOUN} \rightarrow \, \textit{ideas}
: \textit{NOUN} \rightarrow \, \textit{linguists}
: \textit{VERB} \rightarrow \, \textit{generate}
: \textit{VERB} \rightarrow \, \textit{hate}
: \textit{ADJ} \rightarrow \, \textit{great}
: \textit{ADJ} \rightarrow \, \textit{green}

و نماد آغازین \textit{SENTENCE} . مثالی از اشتقاق این است:

: *SENTENCE* \rightarrow *NOUNPHRASE VERBPHRASE* \rightarrow *ADJ NOUNPHRASE VERBPHRASE* \rightarrow *ADJ NOUN VERBPHRASE* \rightarrow *ADJ NOUN VERB NOUNPHRASE* \rightarrow *ADJ NOUN VERB ADJ NOUNPHRASE* \rightarrow *ADJ NOUN VERB ADJ ADJ NOUNPHRASE* \rightarrow *ADJ NOUN VERB ADJ ADJ NOUN* \rightarrow *great NOUN VERB ADJ ADJ NOUN* \rightarrow *great linguists VERB ADJ ADJ NOUN* \rightarrow *great linguists generate ADJ ADJ NOUN* \rightarrow *great linguists generate great ADJ NOUN* \rightarrow *great linguists generate great green NOUN* \rightarrow *great linguists generate great green ideas*.

سایر رشته‌هایی که می‌توانند از این گرامر مشتق شوند "ideas hate greate linguists" و "ideas generate" هستند. این جملات بی‌معنی هستند، اما از لحاظ ساختاری صحیحند. جمله‌ای که از لحاظ ساختاری نادرست باشد، مثل "ideas ideas great hate"، نمی‌تواند از گرامر مشتق شود. به عنوان مثالی مشابه، “Colorless green ideas sleep furiously” از چامسکی در سال ۱۹۵۷ را ببینید؛ برای یافتن مثال‌های زبانی طبیعی‌تر و مسائل گرامرهای رسمی در این زمینه، بخش‌های گرامر ساختار عبارت و قواعد ساختار عبارت را ببینید.

## وراثت
سلسه مراتب چامسکی شامل سطح‌های زیر است؛
* گرامر نوع صفر (گرامر نامحدود) شامل تمام گرامرهای رسمی است. آن‌ها تمامی زبان‌هایی که به عنوان ماشین تورینگ شناخته می‌شوند را تولید می‌کنند. این زبان‌ها همچنین به عنوان زبان شمارش پذیر بازگشتی هم شناخته شده‌اند. لازم است ذکر شود که با زبان بازگشتی که با تورینگ ماشین همیشه ایستا تشخیص داده می‌شود، متفاوت است.
* گرامر نوع اول (گرامر حساس به متن) گرامر حساس به متن را تولید می‌کند. این گرامرها قوانینی به صورت \alpha A\beta \rightarrow \alpha\gamma\beta با A غیر پایانه و \alpha، \beta و \gamma رشته‌ای از پایانه‌ها یا\و غیر پایانه‌ها است. رشته‌های \alpha و \beta ممکن است تهی باشند ولی \gamma نمی‌تواند تهی باشد. قانون S \rightarrow \epsilon مجاز است اگر S S در سمت راست هیچ‌کدام از قوانین ظاهر نشود. زبانهای توصیف شده با این گرامر، دقیقاً زبانهایی هستند که بعنوان آتاماتای خطی کران‌دار شناخته می‌شوند(ماشین تورینگ غیر قطعی ای که نوار آن به وسیله زمان ثابت طول ورودی آن کران دار است)
* گرامر نوع دوم(گرامر مستقل از متن) گرامر مستقل از متن را تولید می‌کند. اینها با قوانینی به فرم A \rightarrow \gamma با A غیر پایانه و \gamma رشته‌ای از پایانه‌ها یا\و غیر پایانه‌ها است. این زبانها همان‌هایی هستند که به عنوان اتوماتون پشته‌ای غیرقطعی شناخته می‌شوند. گرامر مستقل از متن - یا ترجیحاًٰ زیر مجموعه زبان مستقل از متن قطعی - پایه تئوری برای ساخت عبارتی بیشتر زبان‌های برنامه‌نویسی است، اگرچه گرامر آن‌ها شامل تبدیل نام به آدرس حساس به متن بر طبق اعلام‌ها و طرح نهایی است. اغلب یک زیر مجموعه از گرامرها برای راحت تجزیه کردن استفاده می‌شود، مانند یک تجزیه‌کنندهٔ ال‌ال.
* گرامر نوع سوم (دستور زبان منظم) گرامر منظم را تولید می‌کند. چنین گرامری قوانین محدود به یک غیر پایانه در سمت چپ و یک ترمینال در سمت راست دارد، احتمالاً به دنبال یک غیر پایانه (راست منظم). متناوباً، سمت راست گرامر می‌تواند شامل یک پایانه باشد، احتمالاً قبل از یک غیر پایانه (چپ منظم)؛ این همان زبان را تولید می‌کند - اگر چه، اگر قوانین چپ و قوانین راست به طور منظم با هم ترکیب شوند، زبان نیازی ندارد منظم باشد. قانون S \rightarrow \epsilon مجاز است اگر S در سمت راست هیچ‌کدام از قوانین ظاهر نشود. زبانهای توصیف شده با این گرامر، دقیقاً زبانهایی هستند که بعنوان ماشین حالات متناهی تصمیم‌گیری می‌شوند. علاوه بر این، این خانواده از زبان‌های رسمی را می‌توان به وسیله عبارت باقاعده به دست آورد.

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

هر زبان به طور منظم مستقل از متن است، هر زبان مستقل از متن (شامل رشته تهی نباشد) حساس به متن است، هر زبان حساس به متن بازگشتی است و هر زبان بازگشتی به صورت بازگشتی شمارش پذیر است. این شمول‌ها مناسب همه هستند، به این معنی که زبان‌های شمارش پذیر بازگشتی ای وجود دارند که حساس به متن نیستند، زبان‌های حساس به متن ای که مستقل از متن نیست و زبان‌های مستقل از متن که منظم نیست.

## خلاصه
جدول زیر خلاصه هر یک از چهار نوع چامسکی از گرامرها، کلاسی که آن زبان تولید می‌کند، نوع اتوماتی که تشخیص می‌دهد و شکل قوانینی که دارد است.

## منابع

* 
* 
* https://web.archive.org/web/20080317131322/http://coral.lili.uni-bielefeld.de/Classes/Winter97/IntroCompPhon/compphon/node66.html
* http://www.staff.ncl.ac.uk/hermann.moisl/ell236/lecture5.htm
* Chomsky hierarchy. (2008, June 18). In Wikipedia, The Free Encyclopedia. Retrieved 18:30, July 3, 2008, from http://en.wikipedia.org/w/index.php?title=Chomsky_hierarchy&oldid=220223801
* 
* 
* 

## پیوند به بیرون
* http://www.dlsi.ua.es/~mlf/nnafmc/pbook/node46.html
* http://dingo.sbs.arizona.edu/~langendoen/LING501/LING501chomskyhierarchy.htm
* https://web.archive.org/web/20080329070526/http://www.augustana.ab.ca/~mohrj/courses/common/csc370/lecture_notes/chomsky.html

رده:دستور زایشی
رده:زبان‌های صوری
رده:علوم رایانه در ۱۹۵۶ (میلادی)
رده:ویکی‌سازی رباتیک