MPA (многопробельный автомат) - это 2DFA (двусторонний детерминированный конечный автомат), который может использовать произвольное количество камешков (на самом деле самое большее камешков на заданном входе - вход записывается на ленту между двумя концами -маркер как ). Во время вычисления MPA может обнаружить, есть ли у символа под головой камешек, и затем он может положить камешек (убрать камешек), если нет камешка (камешек).w # w #
σ k > 0 - гомоморфизм, где - символ, а .
Для любого детерминированного контекстно-зависимого языка нетрудно показать, что существует такой, что может быть распознан MPA. Итак, в общих чертах, мы можем сказать, чтоk > 0 h k ( L )
любая «проблема», разрешимая с помощью линейно-пространственного DTM (детерминированной машины Тьюринга), может быть разрешена с помощью MPA.
Это также верно для любого языка в ? Могут ли МОР решить все детерминированные контекстно-зависимые языки?
весэто длина .
i t h w 1 ≤ i ≤ | ш | - это символ , где,
.
источник
Ответы:
Возможно, вы можете построить язык в DPSACE (n), который не может быть распознан MPA с используя аргумент диагонализации (возможно, идея похожа на ту, что была в ответе Бена, но я не стал в нее разбираться):k=1
Предположим, что по алфавиту вы кодируете MPA, используя список переходов:Σ={0,1}
где - текущее состояние, - текущий символ, - состояние гальки, - новое состояние, - новое состояние гальки, - направление движения, - маркер конца).a p s ′ p ′ L | R #s a p s′ p′ L|R #
Машина Тьюринга на входе может проверить, является ли она действительным описанием и смоделировать его на входе течение шагов, используя ячейки, растягивая входные данные таким образом:х М Р х х 4 | х | 6 | х | + журнал | х |M x MPAx x 4|x| 6|x|+log|x|
Где:
Если останавливается за шага, то TM выдает противоположное (если не останавливает выдает 0).MPAx 4|x| M M
При достаточно больших , то этапы моделирования больше , чемкоторая превышает длину полного описания конфигурации ; таким образом, если не останавливается за шага, то мы уверены, что он будет зацикливаться вечно.x>x0 4|x| 2|x|+2|x|log|x| MPAx MPAx 4|x|
Предположим, что существует который определяет тот же язык из , затем он всегда останавливается, и вы можете создать «больший» который решает тот же язык, с (просто добавьте dum состояния).MPAy L M MPAy′ y′>x0
По построению имеем что является противоречием.MPAy′(y′)=1−M(y′)=1−MPAy′(y′)
источник
Контрпример: проблема остановки для MPA разрешима в линейном пространстве: если MPA имеет N состояний, нам нужно | k | +2 бита пространства для хранения местоположений гальки, log N битов для хранения текущего состояния и бит для хранения счетчика; если счетчик циклически повторяется, имитируемая машина никогда не остановится. Это линейно по | k | (игнорируя пространство O (N \ log N), необходимое для описания машины), по мере необходимости.log(N(|k|+2))+|k|+2
Поскольку этот язык разрешим в линейном пространстве, он также может быть выражен как DCSL.
источник