Одноленточные машины Тьюринга с защищенным от записи вводом распознают только обычные языки


12

Вот проблема:

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

Моя идея состоит в том, чтобы доказать, что этот конкретный TM эквивалентен DFA.

Использовать эту ТМ для симуляции DFA очень просто.

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

Для я не могу понять, как использовать этот DFA или NFA для имитации движения влево, потому что DFA читает только влево и не имеет стека или чего-либо для хранения.δ(q,a)=(q,a,L)

Должен ли я рассмотреть другой путь? Кто-нибудь может дать мне несколько советов? Благодарю.


2
Сначала вы должны быть осторожны с логикой / значением ваших предложений. Ваше название подразумевает, что вам нужно только доказать, что любой язык, распознаваемый машиной xxx Turing, является регулярным. Вам не нужно доказывать обратное: любой обычный язык распознается такой машиной (даже если это очевидно). Таким образом, ваш четвертый абзац "Использование ..." не имеет отношения к указанному вопросу. Затем, в пятом, вы используете «этот DFA», по-видимому, ссылаясь на DFA предыдущего абзаца, который больше не имеет никакого отношения к рассматриваемой проблеме. У вас есть ТМ, и вы должны найти DFA пока неизвестно.
Бабу

3
Подсказка: возможно, вы захотите найти понятие «пересекающиеся последовательности». Кроме того, вы можете попытаться доказать, что он эквивалентен NFA (с большим набором состояний). В качестве разминки представьте, что голова ТМ идет вправо на 10 шагов, затем влево на 3 шага, а затем всегда сразу с этого момента - можете ли вы создать NFA для имитации набора входов, которые могут быть распознаны такой ТМ вдоль такой головы движение?
DW

1
@babou Разрешение писать за пределами области ввода не дает все RE на мой взгляд. Это потому, что я не нашел способ построить функцию перехода, которая позволяет копировать ввод в пустую область за пределами исходной области ввода. Если это возможно обойтись без НИКОГДА записи в исходную область ввода, то очевидно, что можно работать с правой стороны ввода точно так же, как обычный TM, предоставляя нам все языки RE.
ИнформированоA

1
@ DW Я не понимаю, как "пересечение последовательностей" само по себе решит эту проблему. На самом деле, я не использовал их напрямую, а только через эквивалентность 2NFA и NFA, но эта эквивалентность является лишь частью доказательства. Кстати, так как вы, кажется, знаете проблему, вы знаете, откуда она взялась, поскольку я не могу найти ссылки в Интернете. Результат на самом деле меня удивил, и я удивляюсь, почему он никого не интересует.
Бабу

1
@DW Вы только что подумали, что это была перефразировка эквивалентности стандартного FSA и двухстороннего FSA, или вы знаете причину этой проблемы: TM, которые не пишут на своих входных данных . Мне интересно, почему никто не ответил на это через 9 месяцев, и почему это спросил, по-видимому, начинающий студент.
Бабу

Ответы:


11

Вступление

Я подумала, что в первоначальной формулировке вопроса может быть ошибка, и ОП уже не собирался задавать вопросы. Поэтому я предположил, что лента везде доступна только для чтения, и написал первое доказательство, основанное на этом предположении, мотивированное тем фактом, что ТМ обладает полной мощностью Тьюринга вне входной части ленты, если она может ее записать, что вызывает ложное вера в то, что он может распознать любой язык RE.

Однако это не так: ограничение записи на входной части ленты подразумевает, что из ввода может быть извлечена только конечная информация, ограниченная числом состояний на входе и выходе этой части ленты (в сочетании с сторона входа и выхода). Инструкцию A следует отметить за то, что она отметила в комментарии, что существует проблема с распознаванием любого языка RE, поскольку невозможно сделать копию ввода без НИКОГДА записи в исходную область ввода,

Поэтому я написал второе доказательство, в котором предполагается, что только входной раздел ленты предназначен только для чтения, а остальные разрешены только для чтения и записи.

Я держу здесь оба доказательства, так как первое действительно помогло мне найти решение, даже если нет необходимости понимать второе доказательство, оно более сложное и относится ко второму доказательству. Это можно пропустить. Однако более слабое доказательство имеет то преимущество, что оно конструктивно (для получения FSA, эквивалентного машине Тьюринга), в то время как более общий результат не является конструктивным.

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

Содержание:

  • Машины Тьюринга, которые не перезаписывают ввод, принимают только обычные языки. Это доказательство не является конструктивным.

  • Машины Тьюринга с лентами только для чтения принимают только обычные языки. Он может быть пропущен в соответствии с предыдущим доказательством, но он использует другой подход, который имеет преимущество в том, что он конструктивный.

Машины Тьюринга, которые не перезаписывают ввод, принимают только обычные языки

Напомним, что, хотя ТМ не перезаписывает свой ввод и, таким образом, читает только на своем входе, ТМ может читать и записывать на оставшейся части ленты . Доказательство основано на том факте, что наблюдаемое поведение ТМ на неизвестном входе может привести лишь к конечному числу различных случаев. Следовательно, хотя ТМ обладает полной мощью Тьюринга, просто полагаясь на остальную часть своей ленты, его информация на входе, которая может быть любой строкой в , является конечной, поэтому она может вычислять только на конечном числе различных случаев. Это дает другое представление о конечном характере обычных языков, поведенческом, а не структурном.Σ

Мы предполагаем, что ТМ принимает, когда входит в состояние принятия.

Доказательство.

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

Левый вход ограничен вычисления является IRC - который начинается на крайнем левом символе ввода. Правый вход ограничен вычисления является IRC - который начинается на крайний правый символ ввода.

Сначала мы докажем, что для вычислений с ограниченным вводом слева, которые начинаются в состоянии , следующие языки являются регулярными:p

  • язык входных строк, так что существует ограниченное вычисление входа слева, начиная с состояния , которое заканчивается в первой ячейке слева от крайнего левого входного символа в состоянии ; p qKLpLqpq

  • язык входных строк, так что существует ограниченное вычисление входа слева, начиная с состояния , которое заканчивается в первой ячейке справа от самого правого входного символа в состоянии ; p qKLpRqpq

  • язык входных строк, так что существует ограниченное левое вычисление ввода, начиная с состояния , которое достигает состояния принятия. pALpp

И аналогично, для вычислений с ограниченным правым вводом, начинающихся в состоянии , следующие одинаково определенные языки являются регулярными: , и .K R p L q K R p R q A R ppKRpLqKRpRqARp

Шесть доказательств основаны на том факте, что двухсторонние недетерминированные конечные автоматы (2NFA) распознают регулярные множества (см. Hopcroft + Ullman 1979, pp. 36-41, и execise 2.18, стр. 51). 2NFA работает как доступный только для чтения TM на ленте, ограниченной его вводом, начиная с самого левого символа и принимая, выходя за правый конец в состоянии принятия.

В каждом из 6 случаев доказательство выполняется путем создания 2NFA, который имитирует вычисления с ограниченным вводом, но с некоторыми дополнительными переходами, чтобы убедиться, что он может начинаться с самой левой ячейки и принимать язык, выходя из самого правого конца в принимающем государство. Для языков исходное принимающее состояние ТМ изменяется на состояния, приводящие к остановке неприемлемых вычислений. В двух случаях может потребоваться добавить дополнительную ячейку с новым защитным символом слева, чтобы обнаружить вычисления TM, которые будут заканчиваться на левом конце, чтобы заставить их завершаться на правом конце.K????

Эти языки определены для всех комбинаций состояний и оригинальной машины Тьюринга. Они представляют все, что можно наблюдать (следовательно, известно и вычислено) входных данных ТМ.pq

Если - количество состояний, то мы определяем языка и языков , следовательно, в общей сложности языков. На самом деле, некоторые из этих языков могут быть равны.k4k2K????2kA??4k2+2k

Это единственно возможные ограниченные по входу вычисления ТМ, начиная с одного конца ввода. Следовательно, вычисления, индуцируемые каждой входной строкой (вне входной секции ленты), характеризуются набором таких языков, к которым принадлежит или не принадлежит ввод, следовательно, пересечением каждого из этих языков или их дополнить в . Все эти пересечения являются конечными пересечениями г регулярными языками, или их дополнение , которые также являются регулярными, и поэтому регулярно.4k2+2kΣ4k2+2k

Как следствие, набор этих пересечений определяет разбиение of на не более регулярных языков ( самое большее, потому что некоторые исходные языки могут быть равными, а некоторые пересечения могут быть тоже). Все строки, принадлежащие к одному и тому же классу эквивалентности, могут работать точно так же, как видно из концов входных данных. Это подразумевает, что их нельзя различить для вычисления машины Тьюринга, если вы абстрагируете то, что происходит в области ввода только для чтения.PΣ24k2+2k

Если мы возьмем две строки и в одном и том же классе эквивалентности , то по индукции по количеству вводов в область ввода можно доказать, что для любого приемлемого вычисления ТМ для существует принимающий Вычисление TM для , идентичное везде вне области ввода. Следовательно, либо все строки класса эквивалентности принимаются, либо ни одна не принимается. Как следствие, язык , принимаемый ТМ является объединением классов эквивалентности . Следовательно, это конечное объединение регулярных языков, и, следовательно, это регулярный язык.uvPuvP

Чтобы быть очень полным, мы пропустили случай пустой входной строки. В этом случае у нас просто есть нормальная ТМ, которая может читать или писать где угодно. Если он достигает принимающего состояния, пустая строка находится на языке, иначе это не так. Но это мало влияет на тот факт, что признанный язык является регулярным.

Конечно, не может быть решено, есть ли класс эквивалентности в языке или нет (то же самое верно для пустой строки). Это неконструктивное доказательство.

QED

Машины Тьюринга с лентами только для чтения принимают только обычные языки

Это относится к предыдущему результату. Он сохранен, поскольку использует другой подход, возможно, менее элегантный, и помог мне найти предыдущее доказательство, поняв, что имеет значение. Но это вполне может быть пропущено читателями. Тем не менее, одним из преимуществ этого доказательства является то, что оно является конструктивным доказательством того, что FSA принимает язык. Эскиз подобного доказательства дан Хендриком Яном в его ответе на предыдущий подобный вопрос , который предполагает, что вся лента была только для чтения.

Я предполагаю, что пустой символ, который находится на неиспользованной части ленты, никогда не является частью ввода. Этот символ отмечен здесь . Предполагается, что ТМ принимает, когда достигает состояния принятия.

Первый шаг доказательства состоит в том, чтобы показать, что головке не нужно покидать область ввода ленты. Таким образом, мы анализируем, что происходит, когда голова сдвигается от самого правого входного символа. Анализ при съезде с самого левого идентичен.

Если учесть, что голова переместилась на первую пустую ячейку справа от входа, когда ТМ находится в состоянии , мы должны понять, что может произойти. На самом деле есть три случая, которые могут быть возможны одновременно, когда ТМ недетерминирован:q

  1. ТМ продолжает вычислять вечно, не возвращая голову на входную часть ленты;

  2. ТМ достигает (а) принятия или (б) остановки в неприемлемом состоянии;

  3. голова TM в конечном итоге возвращается в крайнюю правую ячейку входа, конечный элемент управления находится в состоянии .r

Таким образом, мы должны проанализировать поведение конечного элемента управления TM при вычислении на пустой полупленке, начиная с состояния в самой левой ячейке пустой полупленки, бесконечной вправо.q

Так как ТМ не пишет и читает только пустой символ , все, что может сделать конечный элемент управления, - это двигаться влево или вправо, а конфигурации различаются только по положению головы, то есть по целому числу. Лента может быть заменена счетчиком, начиная с , который увеличивается, когда головка движется вправо, и уменьшается, когда она движется влево, при условии, что мы рассматриваем только переходы, для которых на ленте требуется пустой символ. Если счетчик падает до , это соответствует случаю возврата головки на крайний правый входной символ.10

Первое замечание состоит в том, что мы можем игнорировать вычисления, которые не заканчиваются (случай 1) или которые заканчиваются отклонением (случай 2.b), поскольку завершение с принятием является единственным подходящим случаем для принятия строки. Таким образом, мы только хотим знать, может ли счетчик опуститься до и в каком состоянии, или может ли вычисление достичь состояния принятия.0

Мы представляем релевантную часть управления конечным состоянием с помощью ориентированного графа, где вершины - это состояния ТМ, а ребра - пустые переходы, с весом +1 или -1 в зависимости от того, должна ли голова двигаться право или лево.

Мы определяем набор состояний из которых можно принять принимающее состояние с положительным взвешенным путем.ARq

Мы также вычисляем множество всех пар состояний, так что существует путь веса от до , но ни один префикс этого пути не имеет отрицательного веса.ER(q,r)1qr

Затем мы изменяем контроль конечного состояния ТМ следующим образом (теперь игнорируем все переходы на пустом символе ):

Мы создаем новое принимающее состояние без переходов.qA

Для каждого перехода вы добавляете переход если (т.е. возможно принятие, если вы находитесь на самом правом символе).p,aR,qp,aR,qAqAR

Для каждого перехода и каждой пары вы добавляете фиктивный переход , где указывает, что голова не должна двигаться. Поскольку в большинстве автоматных формализаций это недопустимое движение, эти фиктивные состояния могут быть впоследствии устранены путем транзитивного замыкания.p,aR,q(q,r)ERp,aS,rS

Как только это будет завершено, мы приступим к удалению фиктивных переходов. Для каждого символа ленты мы строим множество , и мы рассматриваем транзитивное замыкание отношения, определенного . Затем для каждого перехода исходной TM и каждой пары мы добавляем новый переход . Тогда все фиктивные переходы могут быть удалены.F a = { ( p , r )  существует фиктивный переход  p , a S , r } F a F a r , a L , s ( p , r ) F a p , a L , сaFa={(p,r) there is a dummy transition p,aS,r}FaFar,aL,s(p,r)Fap,aL,s

Мы действуем аналогично для движений головы влево от входной части ленты, таким образом, меняя направление влево и вправо и меняя и в весах графика.- 1+11

Как только это будет сделано, мы полностью удалим все переходы в пустых ячейках, поскольку соответствующие вычисления закорочены новыми переходами. И теперь у нас есть новый TM с головкой, которая остается на входе все время, кроме случаев принятия с состоянием , и все еще распознает исходный язык.qA

Теперь нам нужно сделать несколько косметических изменений, чтобы заставить эту ТМ вести себя точно так же, как двусторонний NDA (принятие только при выходе из входа справа в выходное состояние). Тогда мы можем полагаться на известную эквивалентность между 2-NDA и FSA (см., Например, Hopcroft + Ullman 1979, стр. 40), чтобы получить доказательство правильности языка.

QED


0

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


Это не похоже на ответ. Кстати, приведенный выше комментарий от DW о «пересекающихся последовательностях» как раз о теме: они используются, чтобы показать, что 2DFA (2way det FA) распознает регулярные наборы. Здесь единственная проблема заключается в том, что ТМ может бродить по пустым частям ленты. Если вы можете предотвратить это, то у вас останется 2DFA или 2NFA. Я думаю, что вы можете уменьшить ТМ до другой ТМ, которая не блуждает на пустом месте, используя также «пересекающиеся последовательности».
Бабу
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.