Является ли машина Тьюринга на произвольном (конечном) алфавите эквивалентной машине на {0, 1}?

Краткий контекст:

Я пытаюсь понять, почему существует универсальная машина Тьюринга на ленте с алфавитом { 0 , 1 } . Я думаю, я вижу, что 3 Ленточная машина Тьюринга может представлять собой универсальную машину Тьюринга с помощью ленты. 1 для ввода, соответствующего машине Тьюринга для моделирования, запишите на ленту 2 соответствующий буферу, содержащему текущее состояние, и лента 3 являющийся фактическим вычислением на входе.

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

Теперь, добавляя в свой алфавит дополнительные возможные символы, я вижу, как можно смоделировать многоленточную машину Тьюринга с помощью одноленточной машины Тьюринга с большим алфавитом (что-то вроде: добавьте разделитель '#', чтобы отделить ленты и символы 0 ˙ , 1 ˙ , Б ˙ для представления текущей позиции на каждой ленте). Однако мне непонятно, как это возможно сделать на ленте, где разрешен только алфавит. { 0 , 1 } .

Мой вопрос:

Учитывая машину Тьюринга Т на некотором (конечном) алфавите Σ { 0 , 1 } который вычисляет частичную функцию Н Н (используя двоичное представление), существует ли машина Тьюринга Т только по алфавиту { 0 , 1 } который вычисляет ту же частичную функцию?

(Тогда это отвечает на последнюю часть моего мыслительного процесса выше.)

Спасибо! Я знал, что не был уверен в правильных названиях вещей - я отредактирую вопрос.
Да, вы можете кодировать символы Σ как строки 0 песок 1 s фиксированной длины бревно 2 | Σ | и определить Т от Т для работы с этими двоичными фрагментами. Т нужно больше состояний, чем Т запомнить Т состояние и выяснить, какой символ он отсканировал... и другие подробности. Но это может быть сделано.
О, хорошо (спасибо и отредактируйте), я надеялся, что это будет ваш ответ. Некоторые люди... не такие, лол. Всегда пожалуйста.

Ответы (1)

Конечно, машина Тьюринга с алфавитом возможна. { 0 , 1 } для моделирования машины Тьюринга с любым конечным алфавитом. Идея состоит в том, что если больший алфавит имеет размер меньше, чем 2 к то можно разделить ленту на "куски" размером к и используйте каждый из этих фрагментов для кодирования одного символа из большего алфавита. Это требует большего количества состояний в новой машине, потому что для распознавания одного символа из большего алфавита требуется последовательность состояний. к состояния в новой машине.

Это немного аналогично использованию UTF-32 для хранения строк произвольных символов Unicode в языке программирования, который поддерживает только 8-битные символы.