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

Упражнения

1) Составить функциональную схему для МТ, вычисляющую функцию в десятичной системе счисления, и выписать соответствующие конфигурации для и .

2) Составить функциональную схему для МТ, вычисляющей функцию для чисел n, заданных в двоичной системе счисления, и выписать соответствующие конфигурации для n =101, 110 и 111.

3) Реализовать на МТ алгоритм вычисления функции , где n – числа десятичной системы счисления, и выписать конфигурации для n = = 48 и n =297.

4) Построить функциональную схему для МТ, которая осуществляет циклический сдвиг слова, состоящего из любого количества букв внешнего алфавита . Под циклическим сдвигом понимается преобразование слова в новое слово , причем в общем случае местоположение букв в слове может быть произвольным, а каждая буква в слове может встречаться многократно. Например: для приведенного двухбуквенного алфавита слово может быть таким:

По построенной функциональной схеме записать все конфигурации для слов и до получения их циклического сдвига.

5) Построить функциональную схему для МТ, определяющей значение функции

где − целые числа.

Примечание. Функция иногда называется знаковой (от лат. signature − буква, знак), поскольку она принимает всего два значения (0 и 1), то их можно соответственно обозначить “+” и “−”. Так именно принято в информатике и вычислительной технике.

Тогда любое слово (в данном случае число) можно представлять состоящим из комбинаций всего лишь двух символов: 0 и, например, * (звездочка, которая символизирует любое число ). При этом нуль будем обозначать одним разрядом, а все числа в виде: *00*0, *000** и т.д.

Учитывая примечание, в качестве проверки правильности работы МТ, привести все конфигурации для слов: 0; *; *0; *0*0.

4.5. Понятие о нормальных алгоритмах Маркова

Очень близкой по своей сущности к идеологии МТ, уточняющей понятие алгоритма, является идеология нормальных алгоритмов Маркова. Она отличается от идеологии МТ лишь тем, что в явном виде не оперирует машинными механизмами. Здесь, так же как и в МТ, задается алфавит , который является областью определения некоторого алгоритма U, а также некоторое множество подстановок Р и порядок их применения. Алгоритм Маркова переводит одно слово Q, заданное в виде конечной последовательности букв алфавита А, в новое слово S, состоящее из букв того же алфавита. Говорят, что некоторый алгоритм U применим к слову Q, если оно содержится в области определения алгоритма U, и подстановки выполняются в той же области определения.

Рассмотрим пример задания алгоритма по Маркову. Возьмем алфавит русского языка и будем использовать следующие подстановки:

1. 2. 3. 4.

5. 6. 7. 8. .

Пусть порядок их применения будет таким:

1) проверить возможность подстановок в порядке возрастания их номеров, и если подстановка возможна, т.е. левая буква подстановки обнаружена в исходном слове, то произвести подстановку, заменив левую букву на правую;

2) если в примененной подстановке имеется символ “!”, то преобразования прекращаются, а если нет, то текущее состояние становится исходным и весь процесс начинается заново;

3) если ни одна подстановка неприменима, то процесс преобразования завершен.

Тогда, например, слово “слон” преобразуется в слово “муха”

“СЛОН”→“СУОН”→“МУОН”→“МУХН”→“МУХА”.