Почему линейные ограниченные автоматы не так популярны, как другие автоматы?

9

По моему опыту, контекстно-зависимые языки и линейно-ограниченные автоматы часто пропускаются или зацикливаются на курсах теории вычислимости, и даже не учтены в некоторых заметных учебниках, хотя конечным автоматам и автоматам с выталкивающими функциями уделяется много внимания. Конечно, должна быть веская причина, почему LBA уделяется меньше внимания, чем их коллегам?

goric
источник
Смотрите вопрос: устарела ли иерархия Хомского?
Каве
Не могли бы вы рассказать, как связан связанный вопрос, Каве? (Поскольку я не думаю, что его тон здесь полезен, но отдельные ответы могут быть)
Рафаэль
2
@Raphael: Ответы на вопрос, на который ссылается Каве, объясняют, почему контекстно-зависимые языки не считаются такими важными, как были раньше: короче, есть и другие, более интересные модели для рассмотрения. (подробнее)
Цуёси Ито
2
(продолжение) Та же самая причина относится к «линейным ограниченным автоматам». Забавно, что я никогда не слышал об этом имени. Для меня они просто O (n) -пространственные детерминированные / недетерминированные машины Тьюринга, и я не могу понять, почему мы должны выделять O (n) -пространственные (вместо полиномиального пространства или O (log n) -пространства или чего-либо еще), хотя, должно быть, была историческая причина. Кроме того, ни класс DSPACE (O (n)), ни NSPACE (O (n)) не закрыты при вызовах подпрограмм .
Цуёси Ито
1
Цуёши, моя интерпретация вопроса в том, что ФА, КПК и остальная часть Иерархии Хомского (по твоим / ответным рассуждениям одинаково скучны) преподаются, а ЛБА - нет.
Рафаэль

Ответы:

13

С помощью «соответствующих» модификаций мы можем превратить эти классы в классы сложности; Конечные автоматы вNC1, CFL в LogCFL и LBA в PSPACE.

Теперь должно быть совершенно ясно, почему нас интересуют первые два больше, чем LBA. Первые два естественно вписываются в обычное определение возможных вычислений. Но PSPACE нет.

V Vinay
источник
1
превращение LBA в PSPACE звучит почти как линейное пространство - это все, что вам нужно для захвата PSPACE, что явно не может быть правдой. Так в чем моя ошибка в мышлении?
Суреш Венкат
2
@Suresh: есть следующие соединения. Класс задач, которые (NC1-) сводимы к обычным языкам, - это NC1, класс задач (log-space-), сводимых к CFL, - LogCFL, а класс задач (NC1- или log-space-) сводимых к LBA. это PSPACE. Я не уверен, можем ли мы использовать одно и то же понятие сводимости во всех этих трех случаях.
Цуёси Ито
Содержит полную проблему для другого класса (даже под AC0сокращения), кажется, не является хорошей причиной для того, чтобы класс был интересным.
Каве
3

Ну, спроси своего профессора, почему он это сделал. Я могу только догадываться.

Они не так интересны, как полные модели Тьюринга и КПК, потому что они лишены бесполезности * они, конечно, делятся своим языковым эквивалентом: не настолько мощным, насколько это возможно, но уже очень трудноразрешимым.

Другая причина может заключаться в том, что о них известно не так много (догадываясь здесь), но это может привести к проблеме куриного яйца.

Непонятная погода NLBA=DLBA, так что это может создать проблемы для дидактики. Кроме того, типичные доказательства (например, принятый язык, эквивалентность модели) намного сложнее, чем для других моделей.

(*) умышленное преувеличение

Рафаэль
источник
2

Похоже, что не только CSG, но и CFG ... сегодня не в моде. Я думаю, что в наши дни автоматы и PDA обычно рассматриваются в курсах по теории вычислимости / сложности (если они вообще есть), и там они включены не ради самих себя, а для представления машин Тьюринга.

Грамматики, вероятно, интересны для теории компилятора, но не настолько, чтобы вычислимость / сложность включались в вводный курс для студентов. Есть слишком много тем, которые хотелось бы охватить, но курс на один семестр слишком короток, и мы должны выбрать, и многие из этих тем, которые мы не можем охватить из-за временных ограничений, намного интереснее, чем LBA.

Кава
источник
1
Я желаю, чтобы вы были универсально правдой! Вступительный класс по TCS, преподаваемый в моем университете, является наполовину автоматом / CFL. Я изучаю этот класс, и ученики, кажется, совсем не заинтересованы. Это может быть еще одна причина, почему CFL / CSL больше не представлены: есть темы, которые являются более захватывающими.
Микаэль Кадилхак
1
Ну, теория CS - это не только сложность. В частности, CFG, а также соответствующие модели автоматов очень важны (по крайней мере, как основы) во многих отраслях CS. Вводный курс должен подготовить вас для всех отраслей. Извините, но этот ответ пахнет невежеством. Кроме того, это не отвечает на вопрос.
Рафаэль
@ Рафаэль, я говорю о курсах теории вычислимости / сложности, в которых теория автоматов рассматривается в университетах, которые я знаю сейчас. Никто ничего не говорил о курсах теории вообще. Я думаю, что вы должны внимательно прочитать сообщения, прежде чем обвинять других в невежестве. Мой пост действительно отвечает на вопрос: почему LBA не рассматривается на курсах теории вычислимости / сложности? Это и есть причина, и именно поэтому в учебниках по теории вычислимости и сложности не так много говорится о LBA, нравится вам это или нет.
Каве
Таким образом, вы лично относитесь к личным причинам каждого автора и лектора во всем мире? Да, верно. В любом случае, обратите внимание, что слово «сложность» вообще не встречается в опубликованном вопросе. Также обратите внимание, что с помощью комментария выше и редактирования вы не ответили на вопрос. Факт, нравится тебе это или нет.
Рафаэль
1
@ Рафаэль, ты все еще не читаешь внимательно и продолжаешь толковать то, что я пишу, так, как ты предпочитаешь, мне кажется, что ты просто хочешь поспорить, я думаю, что моя точка зрения достаточно ясна, поэтому не стесняйся думать так, как тебе нравится. :)
Каве
2

Регулярные выражения и CFG используются на практике для анализа кода (то есть языков программирования). Причина в том, что существуют очень эффективные алгоритмы их анализа. С другой стороны, LBA слишком мощные, чтобы использовать их в этом контексте.

Историческое происхождение теории автоматов является предметом построения компилятора. По причине, упомянутой выше, только обычные языки и CFG полезны для построения компиляторов (несмотря на тот факт, что атрибутивные грамматики на самом деле не являются CFG и что алгоритмы синтаксического анализа CFG на самом деле не анализируют весь класс CFG). LBA, возможно, был изобретен Хомским как некоторый промежуточный уровень сложности между мирским и «английским». Так что, возможно, самое подходящее место для их обучения - курсы лингвистики, а не курсы информатики!

Юваль Фильмус
источник
Поскольку LBA эквивалентны вполне естественному классу контекстно-зависимых грамматик, я не думаю, что они были изобретены просто для удовольствия. ;)
Рафаэль
@ Рафаэль: Юваль не подразумевал этого вообще.
reinierpost