Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория алгоритмов.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2.19 Mб
Скачать

Вопросы для самоконтроля.

  1. Опишите особенности основных узлов машины Тьюринга: ленты, считывающей головки, печатающего устройства, лентопротяжного механизма.

  2. Почему внешний алфавит машины должен содержать, по меньшей мере, два символа?

  3. Почему при композиции машин внешние их алфавиты должны совпадать?

  4. Можно ли ленту машины считать конечной, но достаточно длинной, чтобы не затруднять вычисления?

  5. Какую функцию вычисляют композиции машин Т1Т4? Т1∙Т5∙Т1∙Т4∙Т2? Т1∙Т3∙Т1∙Т2?

Построить машины, вычисляющие функции y=(2x 1), y+x, f(x)= - целая часть от деления на х на 2.

  1. Введем следующее изменение в работу машины Тьюринга: результатом работы машины считается вся информация, оставшаяся на ленте после остановки машины. При этом положение считывающей головки не учитывается. Построить машины Тьюринга в измененном варианте для вычисления функций: x+1,x+y, ,xy.

§4. Сведение любого алгоритма к вычислению числовой функции. Геделевская нумерация объектов

4.1. Перевод из одного алфавита в другой (кодирование)

Рассмотрим для примера русский алфавит. Он содержит 33 буквы. Присоединим сюда же несколько знаков препинания: точку, запятую, вопросительный и восклицательный знаки и некоторые другие. Сопоставим теперь каждому символу полученного алфавита некоторое слово, составленное из двух символов: короткого и длинного радиосигнала, причем так, чтобы равным буквам соответствовали разные слова. Мы получим так называемую, азбуку Морзе – широко известный алфавит радистов.

Отделяя разные буквы пустым сигналом (т. Е. Пустым промежутком), получаем возможность перевода слов с русского алфавита на язык радиосигналов.

Возможны и переводы слов вначале на язык цифр, а далее - цифры на язык радиосигналов.

С переводом слов из одного алфавита в другой встречаемся и в математике, прежде всего с переводом чисел из одной системы счисления в другую. Например, натуральные числа в различных счислениях задаются по-разному:

  1. Современная позиционная десятичная запись чисел {1, 2, 5, 9, 10, 11, 20, …};

  2. Римская система {I,II,V,VI,IX,X,XI,XX,…};

  3. Славянская система { };

В настоящее время большинство электронно-вычислительных машин оперируют с числами в двоичной системе счисления. Алфавит этого счисления содержит две буквы 0 и 1. Запись чисел позиционная. Число 2n обозначается в виде . Для задания любого числа а, в этой системе необходимо разложить его в сумму степеней двойки. Например, 15 = 23 + +22+ 21 + 20. Следовательно, 15 = 1111. а число 25 имеет вид 11001, т. к. 25 = 1 24 + 1 23 + 0 22 + 0 21 + 1 20.

Множество натуральных чисел можно задать в виде слов однобуквенного алфавита {I}, как это делалось в §3.

Определение 4.1. Пусть М совокупность каких-то объектов, А конечный алфавит. Закодировать совокупность М в алфавите Аэто значит, задать однозначное отображение некоторого множество слов в алфавите А на множество М. Слово а в алфавите А, соответствующее объекту аМ называется кодом объекта и записывается как =(а).

В этом определении не требуется, чтобы была взаимно однозначным отображением. Поэтому в принципе один и то же объект из М может иметь несколько кодов при данном кодировании .

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