Смотрите в конце этого поста некоторые пояснения к определению (ям) автоматов с минимальной кучей.
Можно представить себе использование различных структур данных для хранения информации для использования конечными автоматами. Например, автоматы с отложенным запуском хранят информацию в стеке, а машины Тьюринга используют ленту. Было показано, что конечные автоматы, использующие очереди, и те, которые используют два нескольких стека или ленты, по мощности эквивалентны машинам Тьюринга.
Представьте себе машину с минимальной кучей. Он работает точно так же, как автомат с понижением частоты, со следующими исключениями:
- Вместо того, чтобы смотреть на последнюю вещь, которую вы добавили в кучу, вы можете посмотреть только на самый маленький элемент (с порядком, определенным для каждой машины) в настоящее время в куче.
- Вместо того, чтобы удалить последнее, что вы добавили в кучу, вы можете удалить только один из самых маленьких элементов (с порядком, определенным для каждой машины), который в настоящее время находится в куче.
- Вместо того, чтобы добавлять элемент в верхнюю часть кучи, вы можете добавить только элемент в кучу, причем его положение определяется в соответствии с другими элементами в куче (с порядком, определенным для каждой машины).
Эта машина может принимать все обычные языки, просто не используя кучу. Он также может принять язык , добавив «S в кучу, и удаление « » из кучи, когда он читает « ». Он может принимать множество других контекстно-свободных языков. Однако он не может принять, например, (указано без доказательства). РЕДАКТИРОВАТЬ: или это может? Я не думаю, что это возможно, но я был удивлен прежде, и я уверен, что буду продолжать удивляться, когда мои предположения будут продолжать делать из меня ... ну.
Может ли он принимать какие-либо контекстно-зависимые или тьюрингово-полные языки?
В целом, какие исследования, если таковые имеются, проводились в этом направлении? Какие результаты есть, если таковые имеются? Меня также интересуют другие разновидности экзотических конечных автоматов, возможно, те, которые используют другие структуры данных для хранения, или различные виды ограничений доступа (например, как LBA являются ограниченными TM). Рекомендации приветствуются. Я заранее прошу прощения, если этот вопрос демонстрирует невежество.
Формальное определение:
Я привожу некоторые более подробные определения автоматов минимальной кучи, чтобы прояснить дальнейшее обсуждение вопросов, которые ссылаются на этот материал.
Мы определяем недетерминированный автомат мини-кучи типа 1 как 7-ряд где ...
- - конечное непустое множество состояний;
- - начальное состояние;
- - множество принимающих состояний;
- - это конечный непустой входной алфавит;
- gamma ∈ Г ш ( & gamma ) ∈ N ш ( & gamma 1 ) = ш ( & gamma 2 ) - это конечный непустой входной алфавит, в котором вес символа , таков, что ;
- - это специальный символ в нижней части кучи;
- является функция перехода.
Функция перехода работает, предполагая изначально пустую кучу, состоящую только из . Функция перехода может добавить в кучу произвольный набор (конечный, но, возможно, пустой или с повторениями) элементов . В качестве альтернативы, функция перехода может удалить экземпляр элемента с наименьшим весом из всех элементов, остающихся в куче (т. Е. Элемент в верхней части кучи). Функция перехода может использовать только самый верхний (т. Е. Минимальный вес) экземпляр символа при определении любого данного перехода.γ 1 , & gamma ; 2 , . , , , γ k ∈ Γ γ w ( γ )
Далее, определите детерминированный автомат минимальной кучи типа 1 как недетерминированный автомат минимальной кучи типа 1, который удовлетворяет следующему свойству: для всех строк таких что и , .| х | = n σ ∈ Σ | δ n + 1 ( q 0 , x σ y , Z 0 ) | ≤ 1
Определите также недетерминированный автомат минимальной кучи типа 2 точно так же, как недетерминированный автомат минимальной кучи типа 1, за исключением следующих изменений:
- gamma ∈ Г ш ( & gamma ) ∈ N ш ( & gamma 1 ) = ш ( & gamma 2 ) & gamma 1 = & gamma 2 - это конечный непустой входной алфавит, где вес символа , таков, что не обязательно подразумевает ; другими словами, разные символы кучи могут иметь одинаковый вес.
- Когда в кучу добавляются экземпляры различных символов кучи с одинаковым весом, их относительный порядок сохраняется в соответствии со стековым порядком «последний пришел - первым вышел» (LIFO).
Спасибо Рафаэлю за то, что он указал на это более естественное определение, которое охватывает (и расширяет) языки без контекста.
Некоторые результаты, продемонстрированные до сих пор:
- Автоматы min-heap типа 1 распознают набор языков, которые не являются ни подмножеством, ни надмножеством языков без контекста. [ 1 , 2 ]
- Автоматы min-heap типа 2, по их определению, распознают набор языков, которые представляют собой надлежащий надмножество языков без контекста, а также надлежащий надмножество языков, принимаемых автоматами min-heap типа 1.
- Языки, принимаемые автоматами с минимальной кучей типа 1, кажутся замкнутыми под объединением, конкатенацией и звездой Клини, но не под дополнением [ 1 ], пересечением или различием;
- Языки, принимаемые недетерминированными автоматами минимальной кучи типа 1, представляются надлежащим набором языков, принимаемых детерминированными автоматами минимальной кучи типа 1.
Там может быть несколько других результатов, которые я пропустил. Больше результатов (возможно) на пути.
Последующие вопросы
- Закрытие при развороте? -- Открыто
- Закрытие при дополнении? - нет!
- Увеличивает ли недетерминизм власть? -- Да?
- Является ли для типа 2? -- Открыто
- Увеличивает ли куча мощность для типа 1? - для (?)
- Добавляет ли стек увеличение мощности для типа 1? -- Открыто