framalex
An online notebook
Эквивалентность машин Тьюринга с разным количеством лент
28 августа, 2012
Posted by на Теорема 2. Определим МТ с одной лентой как МТ, имеющую единственную ленту, использующуюся в качестве входной, рабочей и выходной. Для каждой и time-constuctable , если f вычислима за МТ с k лентами, тогда она вычислима и МТ с одной лентой за время .
Идея проста. МТ кодирует k лент машины М на одной ленте, используя позиции чтобы кодировать первую ленту, чтобы кодировать вторую ленту и т.д. Для каждого символа a из алфавита M, будет содержать символы a и . При декодировании каждой ленты ровно один символ «надчеркнутым», показывая, что соответствующая считывающая головка МТ М установлена на эту позицию. не будет менять первые n+1 позиций на ленте (где находятся входные данные), а начнет с шагов для копирования входных данных на оставшуюся часть ленты, кодируя их по ходу этого таким образом.
Для эмуляции одного шага M, МТ делает два прогона рабочей ленты. Сначала она проматывает ленту слева направо и записывает в регистр состояния k символов, отмеченные надчеркиванием. Затем использует функцию перехода M, чтобы определить новое состояние, символы и нправление движения считывающих головок и проматывает ленты справа налево, чтобы обновить содержимое ленты. Очевидно, получает тот же результат, что и M. Также, так как при размере входа n M никогда не занимает больше чем позиций на любой из лент, то и никогда не будет использовать больше, чем своей рабочей ленты, что означает, что на каждые шагов машины M, машина выполняет не больше (проматывание ленты вперед и назад требует шагов и дополнительные шаги могут потребоваться для обновления положений считывающих головок).