Я только недавно начал читать некоторые статьи по CS, и одной из первых была статья Тьюринга «О вычислимых числах», и там он приводит пример конфигурации машины для печати последовательности 010101. Я понимаю, как это должно работать, но я изо всех сил пытаюсь понять, почему в этих операциях есть два движения R:
m-config | symbol | operations | final m-config
| None | P0 | b
b | 0 | R, R, P1 | b
| 1 | R, R, P0 | b
Если я начну проходить через это, то вот пара первых шагов:
Шаг 1: P0
Результат:
0
Шаг 1: Р, Р, П1
0 1
Шаг 2: R, R, P0
0 1 0
Шаг 3: Р, Р, 1 изн.
0 1 0 1
Так что в основном это работает просто отлично, но в документе четко указано, что эта машина должна печатать 010101
без каких-либо пробелов на ленте. Но поскольку после печати мы всегда двигаемся два раза вправо, это означает, что мы всегда оставляем на ленте один пустой квадрат. Может кто-нибудь помочь мне понять, что я делаю неправильно?