Главная » Просмотр файлов » В.И. Игошин - Задачи и упражнения по математической логике и теории алгоритмов - 2007

В.И. Игошин - Задачи и упражнения по математической логике и теории алгоритмов - 2007 (1019105), страница 48

Файл №1019105 В.И. Игошин - Задачи и упражнения по математической логике и теории алгоритмов - 2007 (В.И. Игошин - Задачи и упражнения по математической логике и теории алгоритмов - 2007) 48 страницаВ.И. Игошин - Задачи и упражнения по математической логике и теории алгоритмов - 2007 (1019105) страница 482017-07-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 48)

Это обеспечивается командами: д,г -+ да! (для ! = О, 1, 2, ..., 9). Запишите все команды построенной машины Тьюринга в таблицу и примените ее к конкретным массивам палочек: 1, й, 9. 12.18, а. Используя программу счетчика, вычитающего единицу из десятичной записи натурального числа (задача 12.17), составьте программу машины Тьюринга, которая бы по десятичной записи числа и выписывала бы на ленту и палочек (шифратор). 12Л9. На ленте записаны два числа в двоичной системе счисления, разделенные звездочкой: 1011*101. Определите, какую операцию проделает с ними машина Тьюринга, начиная из стандартного положения (крайняя правая ячейка, состояние д,), если ее программа задается таблицей 12.20.

Вопрос, аналогичный вопросу из предыдущей задачи„ для ленты: 1101~1001 и для машины Тьюринга с программой: д,1 -+ д,ОЛ, 9,0 -+ д,Л, 9~1 -+ д,ОЛ, 9зО -+ 9зЛ* Чз1 -+ 94Л, д~е -+ -+ г)~Л, у~1 -+ д,ОЛ, д,ар -+ да. 12.21. На ленту подряд вписаны два конечных набора единиц, разделенные звездочкой. Составьте программу машины Тьюринга, которая выписывала бы подряд (без разделения звездочкой) столько единиц, сколько их в обоих наборах (сложение единиц). Указание. См. задачу 12.4. 12.22. На ленту подряд вписаны два конечных набора из т и л единиц, разделенные звездочкой.

Причем в левом наборе единиц не меньше, чем в правом (и > л). Составьте программу машины Тьюринга, которая в левом наборе оставляла бы ровно столько единиц, на сколько единиц в левом наборе больше, чем в правом, а все остальные единицы стирала бы (вычитание единиц). Р е ш е н и е. В задаче 12.5 рассматривалась машина Тьюринга, которая выполняла эту операцию для л < 2 и любого и > л. Если программу этой машины слегка модифицировать, то она будет решать данную задачу. Необходимо ввести еще одно дополнительное состояние д, и следующие команды, связанные с ним: д,а, -+ д,а,П, д, *-+ д4*П. Команду 9,1-+ 94аоП заменить на команду 4,1 — ~ д,ааП.

232 Применим новую машину к слову 111114111 и сравним ее работу на этом слове с работой на этом слове машины из задачи 12.5: 11111*11Ч11 1111141Ч21ао 11111Ч2411ао 1111Ч31*11ао ~ 1111аоЧ5*11ао ~ 1111ао*Ч411ао 1111а0*11Ч4ао =' 1111ао*1Ч11ао ~ ~ 1111аооЧ21аоао ~ 1111аоЧ2'1аоао ~ П11Чзао'1аоао ~ 111Ч21ао41аоао ~ 1 1 1 аОЧ5а04 1аоао 1 1 1 аоаОЧ5" 1аоао 1 1 1 аоаооЧ41 аоао О 04 Ч4аоао 1 аоаО*Ч|1аоао 111аоаОЧ24аоаоао ~ 111аоЧзао*аоаоао 111Ч2аоаооаоаоао =' 11421аоаооаоаоао 11аоЧ5аоао*аоаоао 11аоаоаоЧ54аоаоао 11аоаоаооЧ4аоаоао =' 11аоаоаоЧ54аоаоао ~ 11аоаоаоЧоаоаоаоао. Дополнительное состояние Ч5 предназначено для того, чтобы отличать положение машины между левым массивом единиц и звездочкой от ее положения правее звездочки.

Примените данную машину ко всем словам из задачи 12.5 и убедитесь, что машина выполняет требуемое вычитание. 12.23. Два конечных набора из т и и единиц записаны на ленту подряд. Машина в начальном положении обозревает крайнюю правую единицу левого набора. Постройте программу машины Тьюринга, которая выдавала бы набор единиц из НОД(т, и) штук, а остальные единицы стирала бы.

Ре ш е н и е. Проанализируем работу машины Тьюринга из задачи 12.6 и покажем, что она решает поставленную задачу, реализуя алгоритм Евклида для нахождения наибольшего общего делителя двух натуральных чисел л2 и и. Придадим алгоритму Евклида следующее алгоритмическое описание: 1) обозревайте два числа и и л, а затем переходите к следующему указанию; 2) сравните обозреваемые числа: «2 = и или «2 ( л, или 2л > л и переходите к следующему указанию; 3) если и = и, то л2 — искомый результат и процесс вычисления следует остановить; если и ~ л, то переходите к следующему указанию; 4) если первое обозреваемое число меньше второго, переставьте их местами и продолжайте обозревать, переходите к следующему указанию; 5) вычитайте второе из обозреваемых чисел из первого и обозревайте два числа: вычитаемое и разность, а затем переходите к указанию 2.

Описание работы данной машины Тьюринга будем сопровождать иллюстрацией применительно к случаю и = 4, л = 6 (задача 12.6, в). Начальная конфигурация имеет вид: 111Ч,1111111. Программа состоит из чередующихся циклов сравнения (в них участвуют лишь состояния Ч„Ч,) и циклов вычитания (в них участвуют лишь состояния Ч„Ч4). Буквы а и р внешнего алфавита будут играть роль неких пометок, которые будут делаться для запо- 233 минания тех или иных обстоятельств, возникающих в процессе работы.

На первом цикле сравнения машина помечает (заменяет) последовательно единицы левого числа и буквами а, а единицы правого числа и буквами )3. При этом машина'ставит одну а, идет вправо и ставит одну К возвращается влево, ставит а, снова идет вправо, ставит 13, и т.д.

Через 37 шагов создается следующая конфигурация: ааааЩЗД4411. Затем в состоянии д, головка машины устремится влево, пройдет массивы Д и а и досппнет пустой ячейки (45-й шаг): д,ааааааЩ3ф11. Первый цикл сравнения завершен. В результате него машина обозревает пустую ячейку в состоянии д, и для нее это означает, что и ( и. Теперь начинается цикл вычитания. В состоянии д, головкадвижется вправо, стирая все подряд буквы а (заменяя их на аа) и заменяя все р на 1, пока не обнаружит первую единицу (54-й шаг): ааааааа,а,11119411.

Затем головка передвинется на одну ячейку влево„и машина перейдет в состояние д, (55-й шаг): а0ааа,а,а,1114~111. Первый цикл вычитания завершен. В результате него машина оказалась в начальном состоянии, но уже для чисел и, = т = 4 и л, = л — т = 2, т.е. вычисление НОД(4, 6) сводится к вычислению НОД(4, 2): НОД(4, б) = НОД(4, 2). Далее оба цикла прокручиваются второй раз. На втором цикле сравнения машина пометит (заменит) буквами а три единицы левого числа и, пометит (заменит) буквами ~3 две единицы правого числа л — гл и в состоянии д, выйдет на правую пустую ячейку (75-й шаг): ааа0а0а0а01аааЩ3д~аа. Второй цикл завершен.

В результате него машина обозревает пустую ячейку в состоянии дь и для нее это означает, что т > и — ль Теперь начинается второй цикл вычитания. В состоянии д~ головка движется влево, стирая все подряд буквы Д (заменяя их на аа) и заменяя все а на 1, пока не обнаружит первую единицу (81-й шаг): ааа0ааа,аале,1111а0а,а0. Затем головка передвинется на одну ячейку вправо и машина перейдет в состояние д, (82-й шаг): аааааааааа14~111а0аааа.

Второй цикл вычитания завершен. В результате него машина оказалась в начальном состоянии, но уже для чисел т~ = т, — и, = 2 и и, = и, = 2, т.е. вычисление НОД(4, 2) сведено к вычислению НОД(2, 2): НОД(4, 2) = НОД(2, 2). Этот процесс повторения циклов сравнения и вычитания происходит до тех пор, пока задача не будет сведена к случаю двух равных между собой чисел (в нашем примере это уже достигнуто). Тогда начинается заключительный цикл сравнения, который должен привести к результативному завершению процесса. После замены двух левых единиц буквами а и двух правых единиц буквами р третий цикл сравнения завершается следукяцей конфигурацией (97-й шаг): а,ааа0а0аад4ааЩ)ц~а0аа.

Наконец, головка машины, находящейся в состоянии (4, движется вправо, стирая подряд все а (заменяя их на 234 а«) и заменяя все О на 1. В этом же состоянии д« машина выходит на пустую ячейку (100-й шаг): ааааа»а»а«а»а»11д«а»а«а«. Для нее это означает, что т2 = п2 и оставшееся число единиц (и,) и есть искомый результат. После этого машина выполняет заключительный шаг (101-й шаг): а»а»а»аоаааоао1до1а,а,а». Восстановите все пропущенные шаги в работе машины. 12.24. Постройте машину Тьюринга, осуществляющую перевод слова 001"10 в слово 01"00, где 1" = 1...1 (х единиц). Причем в начальном положении машина должна находиться в состоянии д, и обозревать правую ячейку, эту же ячейку она должна обозревать и в момент остановки.

(Эта машина называется «перепое пуля» и обозначается А.) Р е ш е н и е. Приводим программу машины. Рядом с командами изображаем конфигурации, получающиеся в результате выполнения соответствующих команд: Начальное положение д 0 -+ д П дО-+ д,1 дз дз дз дл д«1 -«д,О д,О -+ д,Л дг1 -» д6Л д,Π— д О до Проанализируйте работу машины.

12.25. Постройте машину Тьюринга, перерабатывающую слово 01" (в слове х единиц) в это же слово 0 1"0 из стандартного начального положения, причем в момент остановки должна обозреваться крайняя левая ячейка. (Эта машина называется «левый сдвиг» и обозначается Б .) 235 12.26. Условие аналогично условию предыдущей задачи, но в начальном положении должна обозреваться крайняя левая ячейка, а конечное положение стандартно. (Эта машина называется «правый сдвиг» и обозначается Б'.) У к а з а н и е. Программа этой машины получается из программы машины Б заменой символа Л символом П. 12.27. Постройте машину Тьюринга (называемую «транспозиция» и обозначаемую В), которая перерабатывает слово 01"01'0 в слово 01»01"О, причем в начальном и конечном положении обозревается ячейка, содержащая О, между двумя наборами единиц. 12.28.

Характеристики

Тип файла
DJVU-файл
Размер
4,29 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6552
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее