Главная » Просмотр файлов » Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.)

Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (1123758), страница 229

Файл №1123758 Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.)) 229 страницаТ. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (1123758) страница 2292019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Этот класс обладает замечательным свойством, которое состоит в том, что если хоть одну (любую) ХР-полную зацачу можно решить в течение полиномиального времени, то и все задачи этого класса обладают полиномиальновременным решением, т.е. Р = ХР. Однако, несмотря на многолетние исследования, до сих пор не обнаружено ни одного алгоритма с полиномиальным временем работы ни для одной ХР-полиой задачи.

Язык НАм Сусек — одна из ХР-полных зацач. Если бы этот язык можно было бы распознать за полиномиальное время, то каждую задачу из класса ХР можно было бы решить в течение полиномиального времени. Фактически, если бы множество ХР— Р оказалось непустым, то с уверенностью можно было бы утверждать, что НАм СУСИ Е ХР— Р. В определенном смысле ХР-полные языки — "самые сложные*' в классе ХР. В этом разделе будет показано, как относительная "сложность" языков сравнивается с помощью точного понятия под названием "приводимость к полиномиальному времени". Затем приводится формальное определение ХР-полных языков, а в конце раздела дается набросок доказательства того, что один из таких языков с именем Саси~т БАт, является ХР-полным. В разделах 34.4 и 34.5 с помощью понятия приводимости демонстрируется, что многие другие задачи также ХР- полные.

Прииодимость Интуитивно понятно, что задачу (г' можно свести к другой задаче ьг', если любой экземпляр задачи (г "легко перефразируется" в экземпляр задачи Я', решение Глава 34. МР-полнота 1107 Рис. 34.4. Иллюстрация к приведению в течение поливомиальвого времеви языка Ь| к языку Ьз с помощью функции приведения т которого позволяет получить решение соответствующего экземпляра задачи Я. Например, задача решения линейных уравнений относительно неизвестной величины х сводится к задаче решения квадратных уравнений. Если задан экземпляр ах+ 6 = О, его можно преобразовать в уравнение Охз + ах + 6 = О, решение которого совпадает с решением уравнения ах+ Ь = О.

Таким образом, если задача (~ сводится к другой задаче Я', то решить задачу Я в некютором смысле "не сложнее", чем задачу Я'. Возвратимся к применению системы формальных языков для решения задач. Говорят, что язык Ь| приводим в течение полиномиального времени (ро! употЫ- пше гесйс1Ые) к языку Бз (что обозначается как Б| <р Бз), если существует вычислимая за полиномиальное время функция 1: (О, 1)' -+ 10, 1)', такая что для всех х Е (О, 1) х Е Б~ тогда и только тогда, когда 1 (х) Е Ьз. (34.1) Функцию Г' называют функцией приведения (гедпсцоп йшс11оп), а алгоритм Г с полиномиальным временем работы, вычисляющий функцию г, — авгорииьиом приведения (гедпсйоп а1яопг)пп).

Рнс. 34.4 иллюстрирует понятие приведения языка Б| к другому языку Бз в течение полиномиального времени. Каждый язык — это подмножество множества (О, 1)'. Функция приведения т" обеспечивает такое отображение в течение полиномиального времени, что если х Е Бп то Г" (х) Е Бз. Более того, если х ф Ьм то г" (х) 11 Ез. Таким образом, функция приведения отображает любой экземпляр х задачи принятия решения, представленной языком Ьы на экземпляр г" (х) задачи, представленной языком Бз.

Ответ на вопрос о том, принадлежит ли экземпляр Г" (х) языку Ьз, непосредственно позволяет ответить на вопрос о том, принадлежит ли экземпляр х языку Бп Часть Ч11. Избранные темы 1108 Рис. 34.5. Иллюстрация к доказательству леммы 34.3 Приведение в течение полиномиального времени служит мощным инструментом доказательства того, что различные языки принадлежат классу Р.

Лемма 34.3. Если Ьы Ьз С (О, Ц* — языки, такие что Ь1 <р Ьз, то из Ьз Е Р следует Ьг е Р. Доказаливзьстао. Пусть Аз — алгоритм с полиномиальным временем выполнения, который распознает язык Ьз, а à — полиномиально-временной алгоритм приведения, вычисляющий приводящую функцию г". Построим алгоритм А| с полиномиальным временем выполнения, который распознает язык Ь|. На рис. 34.5 проиллюстрирован процесс построения алгоритма А1.

Для заданного набора входных данных х е (О, Ц' в алгоритме А1 с помощью алгоритма Р данные х преобразуются в г' (х), после чего с помощью алгоритма Аз проверяется, является ли г" (х) Е Ьз. Результат работы алгоритма Аз выводится алгоритмом А1 в качестве ответа. Корректность алгоритма А1 следует из условия (34.1). Алгоритм выполняется в течение полиномиального времени, поскольку и алгоритм Р, и алгоритм Аз завершают свою работу за полиномиальное время (см.

упражнение 34.1-5). д 1з1Р-Полнота Приведения в течение полиномиального времени служат формальным средством, позволяющим показать, что одна задача такая же по сложности, как и другая, по крайней мере с точностью до полиномиально-временного множителя. Другими словами, если Ь1 <р Ьз, то сложность языка Т,1 превышает сложность языка Ьз не более чем на полиномиальный множитель, Вот почему отношение "меньше или равно" для приведения является мнемоническим. Теперь можно определить множество ХР-полных языков, являющихся самыми сложными задачами класса ХР.

Язык Ь С (О, Ц' является ХР-полным (ХР-сотр!е1е), если выполняются перечисленные ниже условия: 1. БЕАР,и 2. Ь' <р Ь для всех Т' Е МР. Глава 34. МР-полнота 1109 Рис. 34.6. Представление большинства специалистов в области вычислительных систем об отношении между классами Р, МР и МРС; классы Р и МРС полностью содержатся в классе МР, и Р и МРС = 6 Если язык Б удовлетворяет свойству 2, но не обязательно удовлетворяет свойству 1, говорят, что Ь вЂ” ЮР-сложный (МР-Ьаго). Определим также класс ХРС как класс ХР-полных языков. Как показано в приведенной далее теореме, МР-полнота — ключевая проблема в разрешении вопроса о том, равны ли на самом деле классы Р и МР.

Теорема 34.4. Если некоторая ХР-полная задача разрешима в течение полиномиального времени, то Р = МР. Это эквивалентно утверждению„что если какая- нибудь задача из класса ХР не решается в течение полиномиального времени, то никакая из ХР-полных задач не решается в течение полиномнального времени. Доказашвиьсиво. Предположим, что Ь Е Р и что й Е МРС.

Для любого языка Т,' Е Е ХР, согласно свойству 2 определения МР-полноты, справедливо Ь' <р Б. Таким образом, в соответствии с леммой 34.3, мы также имеем Ь' Е Р, что и доказывает первое утверждение теоремы. Чтобы доказать второе утверждение, заметим, что оно является переформулировкой первого. Вот почему при исследовании вопроса Р ф ХР внимание акцентируется на ХР-полных задачах.

Большинство специалистов по теории вычислительных систем полагают, что Р ф ХР, так что отношения между классами Р, ХР и ХРС являются такими, как показано на рис. 34.6. Но если кто-нибудь додумается до алгоритма с полиномиальным временем работы, способного решить ХР-полную задачу, тем самым будет доказано, что Р = ХР.

Тем не менее, поскольку до сих пор такой алгоритм не обнаружен ни для одной ХР-полной задачи, доказательство ХР-полноты задачи является веским свидетельством ее трудноразрешимости. Часть Ч!!. Избранные темы 1110 Выполнимость схем Определение ХР-полноты уже сформулировано, но до сих пор не была доказана ХР-полнота ни одной задачи. Как только это будет сделано хотя бы для одной задачи, с помощью приводимости в течение полиномиального времени можно будет доказать ХР-полноту других задач.

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

Булав камбинанионнмй элемент (Ъоо1еап сощЪ!лайопа! е1ещепг), или каибинаиионный логический элемент, — это любой элемент сети, обладающий фиксированным количеством булевых входов и выходов, который выполняет вполне определенную функцию. Булевы значения извлекаются из множества 10, 1), где О представляет значение ЕА).ЗЕ, а 1 — значение Т)ШЕ. Комбинационные логические элементы, используемые в задаче о выполнимости схем, вычисляют простую булеву функцию, и они известны как логические вентили (1оя!с да)ез). На рис. 34.7 показаны три основных логических элемента, использующихся в задаче о выполнимости схем: логический вентиль НЕ (ХОТ яа)е), или инвертор (!лчепег), логический вентиль И (АХ0 йа)е) и логический вентиль ИЛИ (ОК яа)е).

На вентиль НЕ поступает одна бинарная входная величина (!лрщ) х, значение которой равно О или 1; вентиль выдает бинарную выходную величину (оп)рщ) г, значение которой противоположно значению входной величины. На каждый из двух других вентилей поступают две бинарных входных величины х и у, а в результате получается одна бинарная выходная величина г. 'Г б) а) Рнс. 34.7. Трн основных логических вентиля с бинарными входами и выходами Глава 34. МР-полнота Работу каждого логического вентиля и каждого комбинационного логического элемента можно описать таблицей истинности (ппгЪ 1аЪ1е), представленной под каждым вентилем на рис. 34.7.

В части а показан вентиль НЕ, в части б — вентиль И, а в части в — вентиль ИЛИ. В таблице истинности для всех возможных наборов входных величин перечисляются выходные значения данного комбинационного элемента. Например, из таблицы истинности вентиля ИЛИ видно, что если его входные значения х = О и у = 1, то выходное значение равно а = 1.

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

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

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