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

1626435695-d1df5d2e6d953ce7ad4b4ccb5f4f4e30 (844296), страница 15

Файл №844296 1626435695-d1df5d2e6d953ce7ad4b4ccb5f4f4e30 (Котов, Сабельфельд 1991 - Теория схем программ) 15 страница1626435695-d1df5d2e6d953ce7ad4b4ccb5f4f4e30 (844296) страница 152021-07-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Здесь воаможны дза исхода. Если в программе машнны Т есть команды, которые могут продолжить протокол, то управление передается на шестую, отвергающую группу команд. Если же таких команд нет, то автомат переходит в заключительное состояние и активизирует головку 1, которая обозревает символ ~. Автомат останавливается, допуская слово-протокол на ленте. Мы надеемся, что несмотря на неформальность доказательства и отсутствие деталей проведенные рассуждения убеждают в том, что построенный двухголовочный автомат допускает слово на своей ленте только в том случае, если оно является конечным протоколом работы машины Т над словом а. В любом другом случае слово на ленте отвергается (например, если оно является суффиксом бесконечного протокола неостанавлнвающейся машины Тьюринга, илн, наоборот, конечным протоколом, надстроенным «лишннмн» конфигурациями, или конечным протоколом другой машины Тьюринга, или протоколом работы машины Т над другим словом). Д 3 а д а и и е 3.4.

Постройте машину Тьюриига, которая преобразует деоичкме слова е «обретиые», т. е. »«мекает О ие $ и $ ие О. Постройте дзулголозочвый аетомлт, моделирующий работу атой машины иод словом $01. Т е о р е м а 3.9. Проблема пустоты двух«ело«очных автамато«не я«ляется частично разреши.иой. Д о к а э а т е л ь с т в о. Используем проблему зацикливания машин Тьюринга и метод сведения. Предположим, что проблема пустоты двухголовочных атоматов частично разрешима. Тогда оказывается частично разрешимой проблема азцикливания 64 машин Тъюринга.

Действительно, частичкый алгоритм распознавания зэтшкливапкя с~~дятел к следующим действиям. $. Для зэданкой машины Тьюринга Т и иачалыюго слова а строится двухголовочиый автомат А, моделирующий работу машины Т над словом а. 2. Если частичный алгоритм, выясняющий, пуст ли автомат А, обнаруживает, что Мл = О, то это значит, что машина Т зацикливается, работая иад словом а. Существование частичного алгоритма распознавания эадиклкваиия противоречит теореме $А, что н опровергает предположение о частичной разрешимости проблемы пустоты для двухголовочных автоматов.

( ) Т е о р е и а ЗЛО. Проблема эквивалентности двухсолоаочнмг амваматоа нс яаластсл частично разрешимой. Д о к а з а т е л ъ с т в о. Предположим противное. Тогда оказывается частично разрешимой проблема пустоты двухголовочных автоматов. Действительно, пусть А — произвольный фиксированный пустой дзухголовочный автомат (пример такого автомата легко построить). Частичный алгоритм распознавания пустоты проиавольного двухголовочного автомата очевиден: надо установить, эквивалентен ли этот автомат пустому автомату Ас. Получено противоречие только что доказанной теореме 3.9.

( ) Доказательство теоремы ЗЛО демонстрирует роль понятия пустоты при исследовании проблемы эквивалентности автоматов. Аналогичную роль это понятие играет и при изучении эквивалентности других объектов и формальных систем (схем программ, акеиоматик, грамматик формальных языков и т. п.).

Из неразрешимости проблемы пустоты немедленно следует неразрешвмоеть проблемы эквивалентности, так как пустоту можно рассматривать как частный случаи эквивалентности (например, эквивалентность фиксированному пустому автомату, пустой машине Тьюринга и т. д.). Если же проблема пустоты разрешима (частично разрешима), то проблема эквивалентности должна исследоватъся независимо, так как в общем случае из разрешнмоств (частичной разрешимостк) пустоты не следует разрешимость (частичная разрешимость) проблемы эквивалентности.

Например, проблема пустоты разрешима для многоленточных автоматов, но проблема нх эквивалентности открыта (для случая трех н более лент). Краткий обзор и кеммеитарни В етой главе приводится всего лишь несколько фактов из теории конечных автоматов н не включены сведения даже о тех автоматах, которые играют активную роль при изучении ие рассматриваемых в книге проблем теоретического программирования. В частности, не упоминалиеь магазинные н стековые автоматы, нрименяввшеся при решеиик ряда задач теории схем программ. З в.ккегез,в.к.сезель е а 6$ Мы спустили также изложение основ теории формальных яаыиов, тесно связанной как с теорией автоматов, так н со многими рааделами теоретического программирования. Однако для анакомства с основной проблематикой теории схем программ можно ограничиться приведенным минимумом сведений.

Читателям, желающим более подробно познакомиться с теорией автоматов и Формальных языков, будет полеана обзорная статья Ахоу и Ульмана 1801. Особое внимание в этой главе было уделено многолевточвым автоматам. Изложение в целом следует работе Берда ~8Я. Фактически наложение пп.

2 1 — 2.4 получено переносом доказанных в ~851 результатов для двухленточных схем Берда на я-ленточные схемы, а в и. 2.5 приводится результат из ~8Я о разрешимости эквивалентности двухленточных автоматов. Проблема эквивалентности я-ленточных автоматов для я > 3 является одной из наиболее вызывающих открытых проблем теоретического программирования, которая почти 80 лет не поддается усилиям математиков. Кинбер ~281 доказал разрешимость проблемы эквнвалентности в классе автоматов, совершающих ограниченное число переходов па все ленты, за исключением, быть может, двух. Другой разрешимый подкласс многоленточных автоматов, каждое состояние которых содержится не более чем в одно~ цикле, был выделен ,Льюисом 1И71.

ГЛАВА4 СТАНДАРТНЫЕ СХЕМЫ ПРОГРАММ Схема программы — центральное понятие современной теории программирования, основной инструмент исследования свойств и преобразований программ. После обсуждения методологических предпосылок возникновения этого понятая н неформального введения в основную проблематику схем программ определим класс так называемых стандартных схем. На базе стандартных схем будут введены основные понятия, связанные со схемами программ, главное иэ них — отношение функциональной эквивалентности схем. б 1. Схемы программ 1Л. Программы. Программа выступает как промежуточное звено при общении человека с вычислительной машиной, связывая поставленную задачу с процессом поиска ее решения на машине.

Понятие аадачн очень емко, и его трудно уточнить, не'обеднял, даже на интуитивном уровне, в силу большого разнообразия-целей, содержания н форм задач, которые сейчас решаются с помощью ЭВМ. Нам достаточно представлять задачу как функцию над множеством данных — объектов, кодирующнх заданную и искомую информацию. Будучи посредником между задачей и машиной, программа задает некоторую механическую процедуру решения задачи, являясь одним иэ способов задания алгоритма. Поэтому программа обладает всеми общими свойствами алгоритм мов: является конструктввным объектом; работает конечное время для тех наборов исходной информации, для которых вычисляемая функция определена; для программы характерны массовость (применимость ко множеству разных начальных данных) и однозначность.

Конструктивный характер программы проявляется в том, что она представляет собой конечный текст на некотором формализованном языке, который можно изучать и преобразовывать методамн формальной лингвистики. Синтаксическая сторона программы выходит на первый план в начальной стадии программирования: на этаке составления программы и в первых фазах трансляция. Соответственно в теоретическом программировании возникают такие задачи, как проблема распознавания синтаксической правильности программ, нахождение оценок сложности синЗз 67 таксического анализа, конструирование и исследование классов формальных языков, которые могут служить основой для разработки языков программирования с новыми синтаксическими свойствами и воэможностями, и т.

п. С другой стороны, программа определяет алгоритм решения задачи (алгоритм нахождения значений функции), генерируя последовательность действий машнны. Каждое иэ этих действий осуществляет некоторый швг преобразования данных и выаывается соответствующими синтаксическими конструкциями языка.

Каждая отдельная конструкция и нх совокупность несут определенную смысловую нагрузку. Смысл языковых конструкций н всей программы в целом — семантическая сторона программы. Основные проблемы как практического программирования, так н теории схем программ связаны с семантикой программ, с изучением и исполыюванием тех свойств и преобразований, которые сохраняют семантику и инвариантны к синтаксису программы.

Программа универсальна в том смысле, что любой алгоритм можно запрограммировать. Чтобы зто утверждение не было похоже на тезис, его можно переформулировать, используя формальное понятие вычнслимой функцни и фиксируя класс программ (т. е. язык программирования, семантика которого формализована). Ершов [13! построил в некотором смысле минимальный класс, содержащий программы нахождения значений любой вычислимой функции, заданной, например, машиной Тъюрингв. Этот класс включает программы, записанные на языке программирования, который можно назвать микро-Алголом. Язык включает только простые переменные, операторы присваивания, условные операторы и операторы перехода на метки. При этом правые части операторов присваивания могут содержать только арифметические выражения вида л+ 1, а логические выражения в условных операторах имеют вид отношения х = у, где х н у — простые переменные.

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

Следствием универсалъности является невозможность иостроения полезной теории программ, базирующейся на учете лишь их функциональной природы, так как в этой теории нетривиальные проблемы оказываются чтривиально иеразрешимымиэ. ВВ Кроме того, программы являются объектами более сложной структуры, чем традиционные системы описания алгоритмов.

Современные универсальные языки программирования предоставляют в распоряжение программиста богатый набор программных примитивов. Приведем список наиболее распространенных. А. Средства описания структур данных. 1. Константы. 2. Простые переменные. 3. Массивы. 4. Сложные структуры данных — списки, магазины, очереди и т.п. 5.

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

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

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

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