Контекстно-чутливі мови - це саме ті мови, які можна розпізнати машиною Тьюрінга за допомогою лінійного простору та недетермінізму. Ви можете імітувати таку машину Тьюрінга за допомогою експоненціального часу, тому ви можете розпізнати будь-яку таку мову за експоненціальним часом. Зауважте, що проблема розпізнавання деяких чутливих до контексту мов - це -повне, а це означає, що ми майже впевнені, що ви не можете зробити краще, ніж експоненційний час.ПSПА СЕ
Порівнюючи це з мовами 0 типу, це означає, що ви можете хоча б щось сказати про те, скільки часу потрібно для розпізнавання мови. Мова типу 0 може бути навіть не вирішуваною: мова всіх машин Тьюрінга, які зупиняють, є мовою типу 0, але оскільки розпізнавання цієї мови є саме проблемою зупинки, її не можна вирішити.
Контекстно-чутливі граматики не дуже корисні на практиці. Контекстуально вільні граматики інтуїтивно працювати, але в якості прикладів на Вікіпедії показує , контекстуально чутливі граматики дуже швидко стати досить брудно. Програми, що використовують поліноміальний простір, набагато легше розробляються (а -комплектність гарантує існування деякого еквівалентного CSG, який лише в поліномійному розмірі перевищує використання місця у вашому алгоритмі).ПSПА СЕ
Причиною їх існування є те, що вони утворюють цілком природне продовження безконтекстних граматик (ви дозволяєте контексту визначати, які постановки є дійсними). Це, мабуть, надихнуло Хомського визначити їх та назвати їх мовами типу 1. Пам'ятайте, що це визначення було зроблене до того, як комп'ютери стали такими ж швидкими, як і сьогодні: це цікавить теоретиків формальної мови, ніж для програмістів.
Не обмежені граматики стають ще більш дивними: більше не існує поняття "розширення" нетерміналу та заміни його виробництвом, можливо, залежно від контексту. Вам також можна вільно змінювати контекст. Це робить необмежені граматики ще менш інтуїтивними для роботи: програми є рівнозначними та набагато більш інтуїтивними.