Главная » Просмотр файлов » 1610906280-c80d8404f2eaa01776b47d41b0f18e85

1610906280-c80d8404f2eaa01776b47d41b0f18e85 (824375), страница 9

Файл №824375 1610906280-c80d8404f2eaa01776b47d41b0f18e85 (Когабаев Лекции) 9 страница1610906280-c80d8404f2eaa01776b47d41b0f18e85 (824375) страница 92021-01-17СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Однако неисключены ситуации, в которых машина работает бесконечно, т. е. не останавливается.Для наших дальнейших рассуждений будет удобно расширить язык машин Шёнфилда и ввести дополнительные команды, отличные от команд типа INC i и DEC i, n.Чтобы вычислительные возможности исходных машин не изменились, мы будем добавлять только те команды, которые допускают реализацию в виде программы, использующей только команды типа INC i и DEC i, n. Любую дополнительную команду,обладающую таким свойством, будем называть макросом.Таким образом, любой макрос получается по следующему принципу: если P —обычная программа, то ей сопоставляется оператор P ∗ , который называется макросом и который может исполняться как отдельная команда. Программы, содержащиемакросы, будем называть макропрограммами.Исполнение макроса P ∗ , находящегося в макропрограмме в строке под номеромm, происходит следующим образом:1) Если в счетчике команд находится m, то в машину (в качестве подпрограммы)вызывается программа P .2) P исполняется с теми данными в регистрах, которые там содержались в данныймомент.3) Если работа программы P закончилась, то в счетчик команд заносится m + 1и исполнение макроса на этом заканчивается.

Если же P работает бесконечно,то макропрограмма также не останавливается.Любой макрос может использовать конечный набор параметров, каждый из которых является номером некоторого регистра (эти номера обычно присутствуют вимени макроса). Макросы не могут использовать в качестве своих параметров номера строк программы.36Глава III.

Формализации понятия вычислимой функцииПример. Исполнение последовательной пары команд 0 : INC 0 и 1 : DEC 0, n простозаносит n в счетчик команд, при этом содержимые регистров не меняются. Однакомы не можем сопоставить этой короткой программе макрос, использующий параметрn, поскольку n здесь является номером строки.Пример. Программа с простейшим циклом 0 : DEC i, 0 обнуляет содержимое i-горегистра. Обозначим макрос, соответствующий этой программе, через ZERO i.Пример.

Пусть i, j, k — фиксированные натуральные числа такие, что i 6= k и j 6= k.Обозначим через [i] → [j], (k) макрос, который копирует содержимое i-го регистра вj-й регистр, используя k-й регистр как вспомогательный. Содержимое i-го регистране изменяется. Программа, реализующая данный макрос при i 6= j, имеет следующийвид:0:1:2:3:4:5:6:7:8:9:10 :DEC j, 0DEC k, 1INC 0DEC 0, 6INC jINC kDEC i, 4INC 0DEC 0, 10INC iDEC k, 9При i = j можно взять любую программу, которая ничего не меняет, например0:1:INC 0DEC 0, 2Определение. Макропрограммы P и Q называются эквивалентными, если запуски машин Шёнфилда с этими макропрограммами на одних и тех же начальныхсодержимых регистров либо приведут к остановке обеих машин с одинаковыми содержимыми всех регистров, либо обе машины никогда не остановятся.Следующая теорема показывает, что введение макросов не расширяет класс алгоритмических задач, которые допускают решение на машинах Шёнфилда.

Такимобразом, макросы — это лишь удобный инструмент для сокращения текстов программ.Теорема 15 (об элиминации макросов). Любая макропрограмма эквивалентна программе, не содержащей макросы.Доказательство. Опишем, как следует преобразовать произвольную макропрограмму Q в эквивалентную ей макропрограмму Q0 , содержащую на один макрос меньше,чем в Q.

Повторяя эту процедуру необходимое число раз, мы в конце концов получимпрограмму без макросов, эквивалентную исходной.Пусть P ∗ — некоторый макрос в Q. Чтобы получить искомую макропрограммуQ0 , заменим вхождение P ∗ на список команд P , которые реализуют данный макрос,при этом необходимо проделать следующее:§ 10. Машины Шёнфилда37а) заново перенумеровать все команды полученной макропрограммы, начиная сномера 0;б) если DEC i, n — старая команда из Q или P , n — номер существующей командыC из Q или P соответственно, то заменить ее на DEC i, m, где m — новый номеркоманды C;в) если DEC i, n — старая команда из Q, n — номер несуществующей в Q команды,то заменить ее на DEC i, m, где m больше, чем число команд новой макропрограммы;г) если DEC i, n — старая команда из P , n — номер несуществующей в P команды,то заменить ее на DEC i, m, где m — номер команды, следующей после спискакоманд P в новой макропрограмме.Пример.

Обозначим через ADD [1] TO [0], (3) макрос, при исполнении которого содержимое 1-го регистра прибавляется к содержимому 0-го регистра. При этом содержимое 1-го регистра сохраняется, а 3-й регистр используется как вспомогательный.Программа, реализующая данный макрос, имеет следующий вид:0:1:2:3:4:5:6:7:8:9:DEC 3, 0INC 0DEC 0, 5INC 0INC 3DEC 1, 3INC 0DEC 0, 9INC 1DEC 3, 8Запишем теперь с помощью введенного макроса макропрограмму, перемножающую содержимые 1-го и 2-го регистров и записывающую полученное произведение в0-й регистр:0:1:2:3:4:DEC 0, 0INC 0DEC 0, 4ADD [1] TO [0], (3)DEC 2, 3Если применить к данной макропрограмме процедуру преобразования, описанную в доказательстве теоремы об элиминации макросов, то получим эквивалентнуюей программу без макросов:38Глава III.

Формализации понятия вычислимой функции0:1:2:3:4:5:6:7:8:9:10 :11 :12 :13 :DEC 0, 0INC 0DEC 0, 13DEC 3, 3INC 0DEC 0, 8INC 0INC 3DEC 1, 6INC 0DEC 0, 12INC 1DEC 3, 11DEC 2, 3Определение. k-местная частичная функция f : M ⊆ ω k −→ ω называется вычислимой на машине Шёнфилда, если существует машина Шёнфилда с программой Pтакая, что для любых x1 , . . . , xk ∈ ω выполняется:а) если f (x1 , .

. . , xk ) определено, то после запуска машины с начальными значениями x1 , . . . , xk в регистрах 1, . . . , k соответственно и с нулями в остальныхрегистрах машина после конечного числа шагов останавливается, и после остановки в 0-ом регистре находится f (x1 , . . . , xk );б) если f (x1 , . . . , xk ) не определено, то после запуска машины с начальными значениями x1 , .

. . , xk в регистрах 1, . . . , k соответственно и с нулями в остальныхрегистрах машина никогда не останавливается и работает бесконечно.Замечание. Если в определении выше f — нульместная функция, то входные данные x1 , . . . , xk отсутствуют, а результат вычислений по программе P не зависит отначальных содержимых регистров.Определение. Пусть f — k-местная частичная функция, вычислимая на машинеШёнфилда с программой P .

Обозначим черезf ([i1 ], . . . , [ik ]) → [j], sмакрос, который вычисляет значение функции f от содержимых регистров с номерами i1 , . . . , ik , записывает его в j-й регистр и при этом не изменяет содержимоевсех регистров до s-го включительно, кроме j-го регистра. Если упомянутое значение функции не определено, то исполнение данного макроса приводит к бесконечнойработе программы.Нам необходимо построить макропрограмму, реализующую введенный выше макрос f ([i1 ], . .

. , [ik ]) → [j], s. Обозначим, как обычно, через P ∗ макрос, соответствующий программе P . Пусть m — произвольное число, превосходящее числа i1 , . . . , ik , j, sи номера всех регистров, входящих в программу P . Отсюда, в частности, следует,что результат исполнения макроса P ∗ не зависит от содержимых регистров, номеракоторых больше, чем m−1. Тогда искомая макропрограмма имеет вид (номера строкопущены):§ 11.

Частично рекурсивные функции[0] → [m + 1], (m)···[m − 1] → [m + m], (m)[m + 1 + i1 ] → [1], (m)···[m + 1 + ik ] → [k], (m)ZERO 0ZERO k + 1···ZERO m − 1P∗[m + 2] → [1], (m)···[m + m] → [m − 1], (m)[0] → [j], (m)[m + 1] → [0], (m)39сохраняем содержимое регистров с 0-годо (m − 1)-го в регистрах с номерами отm + 1 до 2mподготавливаем входные данные дляисполнения макроса P ∗вычисляем необходимое значение функции fвосстанавливаем содержимые регистров сномерами от 1 до m − 1заносим результат вычислений в j-й регистресли j 6= 0, то восстанавливаемсодержимое 0-го регистра (если j = 0, тоэта срока не включается в программу!)В дальнейшем мы будем опускать параметр s, поскольку его всегда можно заранеевыбрать достаточно большим, чтобы не влиять на работу внешней макропрограммы.§ 11.Частично рекурсивные функцииВ этом параграфе мы рассмотрим другой подход к формализации понятия вычислимой функции.

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

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

Список файлов лекций

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