Подтвердить что ты не робот

Самая короткая битовая строка, бесконечное повторение которой после разворота

Марвин Мински задал мне следующий вопрос во время моего устного экзамена:

При прохождении ant он печатает двоичное число (например, 101) каждый раз, когда требуется шаг. Какова минимальная длина в цифрах, двоичное число может быть для него возможным указать, в каком направлении движется ant, не глядя на начало или конец строки? ant указывает вам двоичный номер.

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

Пример: двоичное число ant равно 011, и, следовательно, ant оставляет след, который выглядит так: 011011011011011011. Опять же, нет способа узнать, в каком направлении перемещается ant, не глядя на концы строки.

Каков ответ на этот вопрос? Обратите внимание, что ответ не может быть просто примером двоичного числа, которое работает. Ответ должен включать доказательство того, что ни одно двоичное число длины меньше n-1 не будет работать, где n - это длина примерного двоичного числа, которое работает. Доказательство из исчерпывающего перечисления в порядке, но неприятное.:)

4b9b3361

Ответ 1

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

Ответ здесь 3 (например, A; B; C или #; &; @), так как 2 не работает. Поэтому, когда у вас есть шаблон, подобный ABC, становится ясно, в каком направлении идет ant.

Либо... CABCABCABCABCAB... (слева направо) Или... CBACBACBACBACBA... (справа налево)

Теперь, сколько двоичных цифр нам нужно написать шаблон из 3 символов в Ternary (base-3)?

Две двоичные цифры позволяют вам написать одну четвертичную (базовую) цифру, которая является первой базой выше или равной 3.

Таким образом: (2 цифры на символ), умноженное на (3 символа) = 6 двоичных цифр.

Ответ 2

ChssPly76 имеет правильный ответ (IMHO) в комментариях выше.

6 цифр, пример 100110.