КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Вычислительных задач
Характеристика сложности Л е к ц и я 18
18.1. Классы сложности P и NP и их взаимосвязь
Установление прямых нижних оценок сложности вычислений, о которых шла речь в предыдущем разделе, удается лишь в очень редких случаях. В связи с этим получил распространение подход, связанный с получением косвенных нижних оценок, т.е. установление таких утверждений, в которых существование эффективного разрешающего алгоритма для конкретной задачи влечет за собой существование эффективного алгоритма для многих общепризнанно трудных задач. Нам необходимо формализовать соответствующий подход. Пусть П — некоторая массовая задача, характеризуемая множеством параметров, I Î П — индивидуальная задача, в которой эти параметры фиксированы. Пусть с массовой задачей П связана и зафиксирована схема кодирования a, которая ставит каждой индивидуальной задаче I Î П в соответствие слово a(I) в некотором алфавите А. При этом под размером задачи I понимается длина слова a(I). Пусть Т — машина Тьюринга, решающая задачу П и Говорят, что машина Т решает задачу П за полиномиальное время, если В противном случае говорят, что машина Т решает задачу П за экспоненциальное время. Заметим, что при данном определении к экспоненциальным оценкам относятся, например, оценки вида Про задачу П говорят, что она разрешима за полиномиальное время, если существует машина Тьюринга Т, решающая ее за полиномиальное время. Обозначим через Р класс задач, разрешимых за полиномиальное время. Относительно класса Р необходимо сделать следующие замечания. 1. В определении Р существенным является фиксация схемы кодирования a. Многие естественные схемы кодирования полиномиально эквивалентны, т.е. позволяют переходить от одного кода задачи к другому коду за полиномиальное время от длины кода. В этом случае принадлежность (или не принадлежность) задачи П классу Р определяется инвариантно по отношению к схемам кодирования. Однако это справедливо не всегда и, вообще говоря, класс сложности Р зависит от схемы кодирования, поэтому там, где схема кодирования не очевидна или может повлиять на класс сложности, ее следует указывать явно. 2. Класс Р определен через функцию временной сложности машины Тьюринга. Можно сделать соответствующие определения через любую другую алгоритмическую модель. Однако имеется ряд фактов о полиномиальной эквивалентности временных функций сложности многих типов вычислительных моделей, что позволяет утверждать, что класс Р определен однозначно для «разумных» вычислительных моделей[9]. Поэтому без специальных оговорок будут допускаться выражения типа «алгоритм А имеет полиномиальную сложность» или «алгоритм В имеет экспоненциальную сложность». Обратим внимание, что имеется существенное различие между алгоритмами полиномиальной и экспоненциальной сложности. Ясно, что любой полиномиальный алгоритм более эффективен при достаточно больших размерах входа. Кроме того, полиномиальные алгоритмы лучше реагируют на рост производительности ЭВМ. Рассмотрим такой параметр, как размер решаемой задачи на ЭВМ за единицу времени с помощью данного алгоритма. Тогда изменение данного параметра при переходе к ЭВМ в 100 раз и в 1000 раз большей производительности для различных функций временной сложности показан в табл.18.1.
Таблица 18.1
Из табл.18.1 видно, что в случае полиномиальных алгоритмов размер решаемой задачи при увеличении производительности ЭВМ увеличивается на мультипликативную константу, тогда как для экспоненциальных алгоритмов имеет место увеличение на аддитивную константу. Далее, полиномиальные алгоритмы обладают свойством «замкнутости», — можно комбинировать полиномиальные алгоритмы, используя один в качестве «подпрограммы» другого и при этом результирующий алгоритм будет полиномиальным. В силу приведенных причин используется следующая терминология: полиномиальные алгоритмы называют эффективными, полиномиально решаемые задачи называют легкорешаемыми, а экспоненциально решаемые задачи называют труднорешаемыми. Для практики важным является классификация задач по признаку труднорешаемости, хотя следует заметить, что установление легкорешаемости задачи еще не означает ее практическую решаемость. Например, установление полиномиальной оценки Рассмотрим несколько примеров. 1. Пусть М = {1, 2, …, n } — конечное множество и R Í M x M — бинарное отношение на М. Рассмотрим задачу проверки — является ли R отношением эквивалентности. Будем задавать индивидуальную задачу матрицей AR = (aij), i, j Î
Ясно, что R будет отношением эквивалентности тогда и только тогда, когда матрица AR имеет единичную диагональ, симметрична и выполнено соотношение Кроме того, выполнено Бинарное отношение R называется связным, если для любых i, j Î 2. Бинарное отношение R называется эйлеровым, если элементы R можно так упорядочить Можно доказать, что связное отношение R является эйлеровым тогда и только тогда, когда число единиц в матрице AR совпадает в i -м столбце и в i -й строке для каждого i Î Заметим, что здесь главным для нас является установление полиномиальности рассматриваемых задач, а не установление наилучших алгоритмов. 3. Бинарное отношение R называется гамильтоновым, если элементы М можно так упорядочить i 1, i 2, …, in, что выполнено соотношение
В настоящее время неизвестно полиномиального алгоритма от n проверки гамильтоновости произвольного отношения R. Тривиальный алгоритм требует n! упорядочений множества М и проверки условий (7), что, конечно, превосходит по величине любой полином от n. 4. Пусть f (x 1, …, xn) — формула от булевых переменных x 1, …, xn в некотором фиксированном базисе В. Напомним, что формула f (x 1, …, xn) называется выполнимой, если существует набор значений переменных Рассмотрим задачу проверки выполнимости мультиафинной формулы. Ясно, что существование выполняющего набора для мультиафинной формулы сводится к существованию решения линейной системы уравнений над полем F 2. Алгоритм Гаусса дает оценку Пусть формула f (x 1, …, xn) имеет конъюнктивную нормальную форму, т.е. имеет вид: f (x 1, …, xn) = где ai, …, zi — константы. Рассмотрим задачу проверки выполнимости для формул КНФ. В настоящее время неизвестно алгоритма полиномиальной сложности решения данной задачи. Тривиальный алгоритм требует перебор 2 n наборов значений 5. Рассмотрим стандартную задачу линейного программирования: для данных целочисленной (m x n)-матрицы А, m -вектора b и n -вектора c: а) найти n -вектор x с рациональными координатами такой, что x ³ 0 и Ax = b, cT × x à min; либо b) установить, что не существует n -вектора x такого, что x ³ 0 и Ax = b; либо с) установить, что множество { cT × x: x ³ 0 и Ax = b } не ограничено снизу. Хачиян Л.Г. (1979) установил, что данная задача принадлежит классу Р и тем самым разрешил вопрос, долго стоявший открытым. Определим теперь класс NP задач распознавания, т.е. имеющих ответ «ДА» или «НЕТ». Для того, чтобы задача I содержалась в классе NP требуется только, чтобы в случае, если I имеет ответ «ДА», существовало бы слово с (I) длины, ограниченной полиномом от размера I такое, что задача с начальными данными с (I), I принадлежит Р. Слово с (I) называется удостоверением или догадкой для задачи I. Рассмотрим примеры. 1. Пусть дана задача проверки гамильтоновости бинарного отношения R Í M x M на множестве М = {1, 2, …, n }. Если R — гамильтоново отношение, то удостоверением этого будет последовательность элементов М: с (R) = i 1 i 2… in. Имея пару с (R), R, легко убеждаемся, проверяя соотношения (7), верно ли, что R — гамильтоново отношение. Следовательно, задача проверки гамильтоновости бинарного отношения лежит в классе NP. 2. Пусть дана задача проверки выполнимости формул КНФ. Если f (x 1, …, xn) — выполнимая функция, то удостоверением этого будет соответствующий выполняющий набор Формализуем теперь данные идеи. Класс NP определяется через понятие недетерминированного алгоритма. Введем понятие недетерминированной машины Тьюринга. Схема недетерминированной машины Тьюринга приведена на рис.18.1.
Рис.18.1
Отличие от обычной машины Тьюринга заключается в том, что недетерминированная машина (НТ) имеет дополнительно угадывающий модуль (УМ), который может только записывать на ленту слова из внешнего алфавита. Поскольку речь идет о задачах распознавания, то удобно считать, что машина имеет два заключительных состояния qY и qN, соответствующие ответам «ДА» и «НЕТ» соответственно. Работа машины имеет две стадии: 1-я стадия — угадывание. В начальный момент на ленте записано слово x = x 1… xn — код индивидуальной задачи I, начиная с ячейки 1. В ячейке 0 записан знак раздела *. Угадывающий модуль просматривает ячейку –1. Затем УМ пишет произвольное слово с (х) по одной букве за такт в каждой ячейке с номерами — –1, –2, –3, …. В итоге 1-й стадии конфигурацией машины будет с (х)* q 1 x. 2-я стадия — решение. На этой стадии недетерминированная машина работает как обычная машина Тьюринга с конфигурации с (х)* q 1 x. Если машина через конечное число шагов приходит в состояние qY, то говорим, что она принимает конфигурацию с (х)* q 1 x. Будем говорить, что недетерминированная машина принимает x, если существует слово с (х), такое что конфигурация с (х)* q 1 x принимается. Определим время работы недетерминированной машины, положив Определим Заметим, что временная функция определена только для тех индивидуальных задач х, которые принимаются машиной НТ. Определим класс задач NP как множество задач, для которых существует недетерминированная машина Тьюринга, принимающая за полиномиальное время те и только те слова, которые соответствуют индивидуальным задачам с ответом «ДА». Разберем теперь вопрос о взаимоотношении между введенными классами Р и NP. Ясно, что Р Í NP. Имеется много причин считать это включение строгим, однако этот факт пока не доказан (1992). Теорема 18.1. Если задача П Î NP, то существует такой полином р, что П может быть решена детерминированным алгоритмом со сложностью Доказательство. Пусть НТ — недетерминированная машина Тьюринга, решающая задачу П, и q (n) — полином, ограничивающий временную функцию сложности НТ. Не нарушая общности, можно считать, что q (n)= Относительно класса NP следует сделать несколько замечаний: класс NP один и тот же для различных вычислительных моделей, использующих недетерминированные операции; класс P замкнут относительно дополнения задач. Для класса NP этого утверждать нельзя. Дополнением
Дата добавления: 2014-12-29; Просмотров: 500; Нарушение авторских прав?; Мы поможем в написании вашей работы! |