304
правки
Изменения
→Доказательство второго пункта
===Доказательство второго пункта===
Покажем, что невозможно вернуться к слову до генерации веткора из всех нулей, пока не переберем все <mathtex>2^n</mathtex> слов, где n — длина слованулей генерируются все остальные битовые вектора. Допустим, мы всё же получили слово вектор из всех нулей раньше, чем перебрали все словавектора. Тогда разобьём словарассмотрим множество векторов <tex>Z</tex>, которые не попали в код на две группы: кончающиеся на единицу были сгенерированы алгоритмом и кончающиеся оканчиваются на ноль. Пусть <tex>a_1 a_2 \cdots a_{n - 1} 0 \in Z</tex>. Докажем, что второй группы группы нет. Рассмотрим слово <tex>a_2 \cdots a_{abc..yzn - 1}0, не попавшее в код, где {abc\in Z</tex>..yz} — некоторая последовательность единиц и нулей. ЗаметимОт противного, что слово пусть вектор <tex>a_2 \cdots a_{bc..yz}00 также не в коде. Оно могло быть получено из слов n - 1{bc..yz}0 и 0</tex> был сгенерирован. Тогда ему предшествовал вектор <tex>b_1 a_2 \cdots a_{bc..yzn - 1}0</tex>. Так как по предположению <tex>b_1 \neq a_1</tex>, одно из которых есть рассматриваемое то в коде может быть только один вектор такого вида, а в таком случае алгоритм может сгенерировать только <tex>a_2 \cdots a_{abc..yzn - 1}01</tex>. Но Значит, если другое слово и встретилось в кодемножество <tex>Z</tex> непусто, то мы бы получили оно содержит вектор из него {bc<tex>n</tex> нулей.Но это противоречит тому, что вектор из <tex>n</tex> нулей был сгенерирован.yz}01Следовательно, следуя алгоритму (причем это слово точно встретится предположение не верно и все вектора с нулём в первый раз)последней позиции были сгенерированы. Таким образом, слово Пусть был сгенерирован вектор <tex>a_1 \cdots a_{bc..yzn - 1}00 точно не в коде0</tex>. Такую же цепочку рассуждений можно провести и для слова Ему предествовал некоторый вектор <tex>b_1 a_1 \cdots a_{c..yzn - 1}000, и так далее</tex>. На Так как алгоритм сначала пытается поместить в код вектор <tex>a_1 \cdots a_{n-ом 1} 1</tex>, то на этом шаге мы бы получили утверждение, что слова из вектор <tex>a_1 \cdots a_{n нулей тоже нет - 1} 1</tex> уже присутсовал в коде, и пришли бы к противоречию. ЗаметимПредыдущее рассуждение показывает, что исходя из третьего и четвертого шагов, все слова всякий вектор вида <tex>a_1 \cdots a_{abc..yz}n - 1 встречаются строго раньше {abc..yz}0</tex> был добавлен в код, а значит, которые точно записаны и вектор вида <tex>a_1 \cdots a_{n - 1} 1 </tex> также был добавлен в код. Таким образом, слов, не попавших все двоичные вектора присутсвуют в код, нетсгенерированном коде.