Главная » Просмотр файлов » Алгоритмы - построение и анализ

Алгоритмы - построение и анализ (1021735), страница 231

Файл №1021735 Алгоритмы - построение и анализ (Алгоритмы - построение и анализ) 231 страницаАлгоритмы - построение и анализ (1021735) страница 2312017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Лемма 34.6. Задача о выполнимости схем является ХР-сложной. Доказаиельсемв. Пусть Ь вЂ” язык класса ХР. Опишем алгоритм Г с полиномиальным временем работы, вычисляющий функцию приведения г", которая отображает каждую бинарную строку х на схему С = 1 (х), такую что з Е Ь тогда и только тогда, когда С е С~кс~дт БАт. Поскольку Ь е ХР, должен существовать алгоритм А, верифицирующий язык Ь в течение полиномиального времени.

В алгоритме Г, который будет построен ниже, для вычисления функции приведения 1 будет использован алгоритм А с двумя входными параметрами. Пусть Т(п) — время работы алгоритма А в наихудшем случае для входной строки длиной и, а й > 1 — константа, такая что Т (п) = О (п~), и длина Глава 34. МР-полнота 1115 сертификата равна О (и"). (В действительности время работы алгоритма А выражается полиномиальной функцией от полного объема входных данных, в состав которых входит и входная строка, и сертификат, но так как длина сертификата полиномиальным образом зависит от длины и входной строки, время работы алгоритма полиномиально зависит от и.) Основная идея доказательства заключается в том, чтобы представить выполнение алгоритма А в виде последовательности конфигураций.

Как видно из рис. 34.9, каждую конфигурацию можно разбить на следующие части: программа алгоритма А, счетчик команд РС, регистры процессора, входные данные х, сертификат у и рабочая память. Начиная с исходной конфигурации со, каждая конфигурация с; с помощью комбинационной схемы М, аппаратно реализованной в компьютере, отображается на последующую конфигурацию с,+~. Выходное значение алгоритма А (О или 1) по завершении выполнения алгоритма А записывается в некоторую специально предназначенную для этого ячейку рабочего пространства. При этом предполагается, что после останова алгоритма А это значение не изменяется. Таким образом, если выполнение алгоритма состоит не более чем из Т (и) шагов, результат его работы хранится в определенном бите в ст1„).

Алгоритм приведения Г конструирует единую комбинационную схему, вычисляющую все конфигурации, которые получаются из заданной входной конфигурации. Идея заключается в том, чтобы "склеить" вместе все Т (и) копий схемы М. Выходные данные 1-й схемы, выдающей конфигурацию с;, подаются непосредственно на вход (г+ 1)-й схемы. Таким образом, эти конфигурации вместо того, чтобы в конце своей работы заносить выходное значение в один из регистров состояния, просто передают его по проводам, соединяющим копии схемы М. Теперь вспомним, что должен делать алгоритм приведения Е, время работы которого выражается полиномиальной функцией.

Для заданных входных данных х он должен вычислить схему С = г' (х), которая была бы выполнима тогда и только тогда, когда существует сертификат у, удовлетворяющий равенству А (х, у) = 1. Когда алгоритм Г получает входное значение х, он сначала вычисляет и = ~х~ и конструирует комбинационную схему С', состоящую из Т (и) копий схемы М. На вход схемы С' подается начальная конфигурация, соответствующая вычислению А (х, у), а выходом этой схемы является конфигурация ст1„). Схема С = г' (х), которую создает алгоритм Г, получается путем небольшой модификации схемы С'. Во-первых, входы схемы С', соответствующие программе алгоритма А, начальному значению счетчика команд, входной величине х и начальному состоянию памяти, соединяются проводами непосредственно с этими известными величинами.

Таким образом, оставшиеся входы схемы соответствуют сертификату у. Во-вторых, игнорируются все выходы схемы за исключением одного бита конфигурации сг(„), соответствующего выходному значению алгоритма А. Сконструированная таким образом схема С для любого входного параметра у Часть Ч11. Избранные темы 1116 с, т .;: я; ..; ~ РС 1 ьгсптстоь~проасссора ~ х 1,-у ь 1'Рабоаааа~амять яу. сс ~-,.с.,".',А:,',ь.;1, РС 1::,РсьвстРНлролассола~ . х. ~ у.'.'-,) Равоямьвиять со„,, 1ь с: А'-,-'...-'Д РС:Рссстрыогсмссорь~ х 1ь у„;-,ГРаЯа оьоять О,'~ аыхся Рис. 34.9. Последовательность конфигураций, полученных в ходе работы алгоритма А, иа вход которого поступила строка х и сертификат у длиной 0 (и") вычисляет величину С (у) = А (к, у).

Алгоритм приведения Г, на вход которого подается строка х, вычисляет описанную выше схему С и выдает ее. Осталось доказать два свойства. Во-первых, необходимо показать, что алгоритм Г правильно вычисляет функцию приведения у. Другими словами, необходимо показать, что схема С выполнима тогда и толью тогда, когда существует сертификат у, такой что А (я, у) = 1. Во-вторых, необходимо показать, что работа алгоритма г' завершается по истечении полиномиального времени.

Чтобы показать, что алгоритм г корректно вычисляет функцию приведения, предположим, что существует сертификат р длиной 0 (пь), таюй что А (:г, у) = = 1. Тогда при подаче битов сертификата у на вход схемы С на выходе этой схемы получим значение С (у) = А (х, у) = 1. Таким образом, если сертификат Глава 34. ИР-полнота 1117 существует, то схема С выполнима. С другой стороны, предположим, что схема С выполнима.

Тогда существует такое входное значение у, что С (у) = 1, откуда можно заключить, что А (т, у) = 1. Итак, алгоритм Г корректно вычисляет функцию приведения. Чтобы завершить набросок доказательства, осталось лишь показать, что время работы алгоритма Е выражается полиномиальной функцией от п = ~х~. Первое наблюдение, которое можно сделать, заключается в том, что количество битов, необходимое для представления конфигурации, полиномиально зависит от п. Объем программы самого алгоритма А фиксирован и не зависит от длины его входного параметра х. Длина входного параметра х равна и, а длина сертификата у— О (пь).

Поскольку работа алгоритма состоит не более чем из О (пь) шагов„объем необходимой ему рабочей памяти также выражается полиномиальной функцией от п. (Предполагается, что эта область памяти непрерывна; в упражнении 34.3-5 предлагается обобщить доказательство для случая„ когда ячейки, к которым обращается алгоритм А, разбросаны по памяти большего объема, причем разброс ячеек имеет свой вид для каждого входного параметра к.) Размер комбинационной схемы М, реализованной аппаратной частью компьютера, выражается полиномиальной функцией от длины конфигурации, которая в свою очередь является полиномиальной от величины О (п") и, следовательно, полиномиально зависит от и.

(В большей части такой схемы реализуется логика системы памяти.) Схема С состоит не более чем из 1 = О (и") копий М, поэтому ее размер полиномиально зависит от и. Схему С для входного параметра х можно составить в течение полиномиального времени при помощи алгоритма приведения К, поскольку каждый этап построения длится в течение полиномиального времени. Таким образом, язык С~нолт БАт не проще любого языка класса ХР, а поскольку он относится к классу ХР, он является ХР-полным. Теорема 34.7. Задача о выполнимости схем является ИР-полной. Доказатеиьсюиво.

Справедливость теоремы непосредственно следует из лемм 34.5 и 34.6, а также из определения ХР-полноты. М Упражнения 34.3-1. Убедитесь, что схема, изображенная на рис. 34.86, невыполнима. 34.3-2. Покажите, что отношение <р является транзитивным в отношении языков; другими словами, покажите, что из Е1 <р Ьз и Ьз <р Ьз следует г1 <г ~з 34.3-3. Докажите, что Е <р Т тогда и только тогда, когда А <р Ь. Часть Чй.

Избранные темы 1118 34.3-4. Покажите, что в качестве сертификата в альтернативном доказательстве леммы 34.5 можно использовать выполняющий набор. С каким сертификатом легче провести доказательство? 34.3-5. В доказательстве леммы 34.6 предполагается, что рабочая память алгоритма А занимает непрерывную область полиномиального объема. В каком месте доказательства используется это предположение? Покажите, что оно не приводит к потере общности. 34.3-6.

Язык Б называется полным (сошр1е~е) в классе языков С относительно приведения в течение полиномиального времени, если Ь е С и Ь' <р Ь для всех Ь' Е С. Покажите, что множества 9 и (О, 1)' — единственные языки класса Р, которые не являются полными в этом классе относительно приведения за полиномиальное время. 34.3-7. Покажите, что язык Ь полный для класса ХР тогда и только тогда, когда язык Е полный для класса со-ХР.

34.3-8. Алгоритм приведения Г в доказательстве леммы 34.6 строит схему С = = 7" 1х) на основе знаний о х, А и 1с. Профессор заметил, что алгоритм Р получает в качестве аргумента только х. В то же время об алгоритме А и константе к, с помощью которой выражается его время работы О (пь), известно лишь то, что они существуют (поскольку язык Б принадлежит к классу ХР), но не сами их значения. Из этого профессор делает вывод, что алгоритм г' может не построить схему С и что язык С~ксглт БАт не обязательно ХР-сложный. Объясните, какая ошибка содержится в рассуждениях профессора. 34.4 Доказательство 1 1Р-полноты ХР-полнота для задачи о выполнимости схем основана на непосредственном доказательстве соотношения Е <р Сщсп1т БАт для каждого языка Ь б ХР.

В этом разделе будет показано, как доказать ХР-полноту языка без непосредственного приведения каждого языка из класса ХР к заданному языку. Проиллюстрируем зту методику, доказав ХР-полноту различных задач на выполнимость формул. Намного большее количество примеров применения этой методики содержится в разделе 34.5. Основой рассматриваемого в этом разделе метода, позволяющего доказать ХР- полноту задачи, служит сформулированная ниже лемма. Лемма 34.8.

Если язык Ь такой, что Ь' <р Ь для некоторого языка Ь' б ХРС, то язык Ь вЂ” ХР-сложный. Более того, если Ь б ХР, то Б Е ХРС. Глава 34. МР-полнота 1119 Доказатеиьсиюво. Поскольку язык Ь' ХР-полный, для всех Ь" е ХР выполняется соотношение Ь" <р Б'. Согласно условию леммы Ь' <р Ь, поэтому в силу транзитивности (упражнение 34.3-2) мы имеем Ьа <р Ь, что и показывает, что язык Ь вЂ” ХР-сложный. Если Ь б ХР, то мы также имеем Ь Е ХРС.

И Другими словами, если язык Б', о котором известно, что он — Хр-полный, удается свести к языку Ь, тем самым к этому языку неявно сводится любой язык класса ХР. Таким образом, лемма 34.8 позволяет сформулировать метод доказательства ХР-полноты языка Ь, состоящий из перечисленных ниже этапов. 1. Доказывается, что Ь е ХР. 2. Выбирается язык Ь', для юторого известно, что он — ХР-полный. 3. Описывается алгоритм, который вычисляет функцию Г, отображающую каждый экземпляр х Е (О, 1)' языка Ь' на экземпляр г" (х) языка Ь. 4. Доказывается, что для функции г" соотношение х Е Е/ выполняется тогда и только тогда, когда Г' (х) Е Ь для всех х Е (О, Ц'. 5.

Доказывается, что время работы алгоритма, вычисляющего функцию У, выражается полиномиальной функцией. (Выполнение этапов 2-5 доказывает, что язык Ь ХР-сложный.) Такая методология приведения с помощью одного языка, для которого известно, что он ХР-полный, намного проще, чем процесс, когда непосредственно демонстрируется, как выполнить приведение каждого языка из класса ХР. Доказательство соотношения С1ксг!1т БАт б ХРС вЂ” первый важный шаг в этом направлении. Знание того факта, что задача о выполнимости схемы является ХР-полной, позволяет доказывать ХР-полноту других задач намного проще. Более того, по мере расширения списка известных ХР-полных задач у нас появляется все больше возможностей для выбора языков, юторые будут использоваться для приведения. Выполнимость формулы Чтобы проиллюстрироватьметодику приведения, докажемХР-полноту задачи, состоящей в определении того, выполнима ли не схема, а формула.

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

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

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

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