Чувствительные к контексту языки - это как раз те языки, которые могут распознаваться машиной Тьюринга с использованием линейного пространства и недетерминизма. Вы можете смоделировать такую машину Тьюринга, используя экспоненциальное время, чтобы вы могли распознать любой такой язык в экспоненциальном времени. Обратите внимание, что проблема распознавания некоторых контекстно-зависимых языков является -завершенной, что означает, что мы почти уверены, что вы не сможете добиться большего успеха, чем экспоненциальное время.пSпA CЕ
Сравнивая это тип 0 языков, это означает , что вы можете по крайней мере сказать что - то о том , как долго это берет , чтобы признать язык. Язык типа 0 может даже не быть разрешимым: язык всех машин Тьюринга, которые останавливаются, является языком типа 0, но поскольку распознавание этого языка является именно проблемой остановки, его нельзя решить.
Контекстно-зависимые грамматики не очень полезны на практике. Контекстуально свободные грамматики интуитивно работать, но в качестве примеров на Википедии показывает , контекстуально чувствительные грамматики очень быстро стать довольно грязно. Программы , использующие полиномиальное пространство намного более легко разработаны (и в -полноты гарантирует существование некоторой эквивалентной CSG , который только полиномиально больше пространства использования вашего алгоритма).пSпA CЕ
Причина их существования состоит в том, что они образуют очень естественное расширение контекстно-свободных грамматик (вы позволяете контексту определять, какие произведения допустимы). Это, вероятно, вдохновило Хомского определить их и назвать их языками типа 1. Помните, что это определение было сделано до того, как компьютеры стали такими же быстрыми, какими они являются сегодня: оно больше интересует теоретиков формального языка, чем программистов.
Неограниченные грамматики становятся еще более странными: больше не существует понятия «расширения» нетерминала и замены его производством, возможно, в зависимости от контекста. Вы также можете свободно изменять контекст. Это делает неограниченные грамматики еще менее интуитивно понятными для работы: программы эквивалентны и намного более интуитивны.