Иерархия Хомского (–Schützenberger) используется в учебниках теоретической информатики, но она, очевидно, охватывает только очень небольшую часть формальных языков (REG, CFL, CSL, RE) по сравнению с полной диаграммой зоопарка сложности . Играет ли иерархия какую-либо роль в текущих исследованиях? Я нашел только небольшие ссылки на Хомского здесь, на cstheory.stackexchange, а в Сложностном зоопарке имена Хомский и Шютценбергер вообще не упоминаются.
Является ли текущее исследование более сфокусированным на других средствах описания, кроме формальных грамматик? Я искал практические методы для описания формальных языков с различной выразительностью, и наткнулся на растущий контекстно-зависимый язык (GCSL) и визуально выпадающие языки (VPL), которые лежат между классическими языками Хомского. Не следует ли обновить иерархию Хомского, чтобы включить их? Или нет смысла выбирать определенную иерархию из полного набора классов сложности? Насколько я понимаю, я пытался выбрать только те языки, которые могут вписаться в пробелы иерархии Хомского:
REG (= Chomsky 3) ⊊ VPL ⊊ DCFL ⊊ CFL (= Chomsky 2) ⊊ GCSL Ch CSL (= Chomsky 1) ⊊ R ⊊ RE
Я до сих пор не понимаю, где «мягко контекстно-зависимые языки» и «индексированные языки» подходят (где-то между CFL и CSL), хотя кажется, что они имеют практическое значение для обработки естественного языка (но, может быть, что-то, имеющее практическое значение, менее интересно в теоретических исследованиях ;-). Кроме того, вы могли бы упомянуть GCSL ⊂ P ⊂ NP ⊂ PSPACE и CSL ⊊ PSPACE ⊊ R, чтобы показать отношение к известным классам P и NP.
Я нашел на GCSL и VPL:
- Роберт Макнотон: вставка в иерархию Хомского? В кн .: Драгоценности - это навсегда, Материалы по теоретической информатике в честь Арто Саломаа. С. 204-212, 1999
- http://en.wikipedia.org/wiki/Nested_word#References (VPL)
Я также был бы рад, если бы вы знали более свежий учебник по формальным грамматикам, который также имеет дело с VPL, DCLF, GCSL и индексированными грамматиками, предпочтительно с указателями для практических приложений.
Ответы:
Из того, что я видел в сообществе Natural Language Processing, формальные грамматики а-ля Chomsky больше не используются. Они (тоже) считают, что Хомская Иерархия устарела в модельном языке.
Его место заняли такие вещи, как правило переписывания (алгоритм Ларса), модели зависимостей (Дэн Кляйн), грамматика подстановки деревьев (модель DOP), грамматики двоичных объектов (Алекс Кларк).
источник
Короче говоря: да.
В частности: Хомский был одним из первых, кто формализовал иерархию, связывающую языки, грамматику и автоматы. Это понимание по-прежнему очень актуально и преподается во всех вводных курсах по теории автоматов. Тем не менее, конкретная иерархия, предложенная Хомским, и названия элементов иерархии уже не имеют значения. С тех пор мы изобрели многочисленные формализмы, которые находятся между уровнями иерархии Хомского, над ней или под ней. И имена, использованные Хомским, не особенно интересны, то есть они не основаны на интересном показателе сложности или чем-то еще, они просто числа. Должны ли языки, чувствительные к контексту, быть Тип-1.5 или Тип-1.7 или Тип-1.3? Какая разница. «Слегка чувствительный к контексту» - это гораздо более информативное имя.
Сложность зоопарка немного отличается, потому что он полон всевозможных условных эквивалентностей и тому подобное. Более современная иерархия для теории автоматов не была бы линейной (например, сравните CFG с PEG), но она все еще имела бы хорошо известную топологию. Чтобы получить представление о современной теории автоматов, вы должны взглянуть на работу над библиотеками комбинатора синтаксического анализатора и некоторые вещи по унификации и теории типов (хотя оба они разветвляются далеко).
источник
Если что-то в TCS устарело, именно эта иерархия включения крошечного подмножества классов сложности оказалась известной / интересной в 1956 году.
Покойся с миром, Хомская Иерархия, и пусть ты больше не будешь преследовать учебную программу по теории старшекурсников.
источник
Если вы рассматриваете иерархию Хомского с «современными» именами (т. Е. REG, LIN, CFL, CSL, RE или DFA / NFA, PDA, LBA, TM), я скажу: нет, она не устарела!
Причина 0 : Это все еще правильно в том смысле, что его определения и результаты не противоречат новым знаниям.
Причина 1 : Эти классы / модели вычислений все еще являются первыми, кого вы учите, потому что они просты и хорошо изучены. Попробуйте научить LR автомата старшекурснику, не покрывая сначала DFA / DPDA.
Причина 2 : занятия по-прежнему являются первыми / основными ориентирами для новых изобретений (я просмотрел статью о мульти-CFG, в которой, конечно же, говорилось: больше, чем CFG, меньше, чем CSG). Это может быть отчасти потому , что они учат первым, но и потому , что они являются простыми и хорошо изучены.
Анти-причина 3 : результаты не устарели только потому, что были найдены новые классы / модели. Они сохраняют свою ценность как основы области, несмотря на то, что они не используются активно на исследовательской границе.
источник
Я думаю, что это зависит от модели расчета. Если вы считаете конечным / pushdown / и т.д. автоматами как моделью вычислений, тогда иерархия Хомского становится важной (см., например, книгу Сипсера). С другой стороны, он играет небольшую роль в модели вычислений Тьюринга.
Следующая иллюстрация может быть полезной:
Редактировать: Формальные языки играют важную роль в разработке компьютерных языков (таких как Java) и компиляторов, а также в обработке естественного языка (NLP).
источник