Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Р задачи

Классы сложности задач

Пусть П – некоторая массовая задача, характеризуемая множеством параметров, IÎП – индивидуальная задача, в которой эти параметры фиксированы. Пусть с массовой задачей П связана и зафиксирована схема кодирования α, которая ставит каждой индивидуальной

задаче IÎП в соответствие слово α(I) в некотором алфавите А. При этом под размером задачи I понимается длина слова α(I). Пусть Т –машина Тьюринга, решающая задачу П и

- соответствующая функция временной сложности (по худшему случаю).

О-символика: говорят, что неотрицательная функция f(n) не превосходит по порядку функцию g(n) и пишут f(n)=O(g(n)), если существует такая константа С, что f(n)≤C*g(n) для любого nÎN.

Говорят, что машина Т решает задачу П за полиномиальное время, если

для некоторого полинома р. В противном случае говорят, что МТ Т решает задачу П за экспоненциальное время. К экспоненциальным оценкам относят, например, оценки вида , т. е. это оценки, которые превосходят любой полином, но меньше, чем для любого е>0.

Про задачу П говорят, что она разрешима за полиномиальное время, если существует машина Тьюринга Т, решающая ее за полиномиальное время. Обозначим через Р класс задач, разрешимых за полиномиальное время.

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

Рассмотрим такой параметр как размер решаемой задачи на ЭВМ за единицу времени с помощью данного алгоритма. Тогда изменение данного параметра при переходе к ЭВМ в 100 раз и в 1000 раз большей производительности для различных функций временной сложности показан в таблице:

Функция временной сложности Размер решаемой задачи за сутки То же на ЭВМ в 100 раз быстрых   То же на ЭВМ в 1000 раз быстрых  
n N1 100 N1 1000 N1
n2 N2 10 N2 31,6 N2
n3 N3 4,64 N3 10 N3
2n N4 6,64+N4 9,97+N4
3n N5 4,19+N5 6,29+N5

Из таблицы видно, что в случае полиномиальных алгоритмов размер решаемой задачи при увеличении производительности ЭВМ увеличивается на мультипликативную константу, тогда как для экспоненциальных алгоритмов имеет место увеличение на аддитивную константу.

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

Для практики важным является классификация задач по признаку труднорешаемости, хотя следует заметить, что установление легкорешаемости задачи еще не означает ее практическую решаемость. Например, установление полиномиальной оценки O(n1000) не гарантирует практической решаемости уже при начальных значениях n. Аналогичное замечание можно сделать относительно труднорешаемости. Заметим, что труднорешаемость задачи может быть связана с тем, что ее решение настолько велико, что не может быть записано в виде выражения, длина которого была бы ограничена полиномом от длины входа. Чтобы исключить этот тип труднорешаемости, рассматривается только такие задачи, которые имеют «короткий»

ответ.

Рассмотрим несколько примеров.

Пусть М ={1,2,…, n} – конечное множество, бинарное отношение на М. Рассмотрим задачу проверки – является ли R отношением эквивалентности (рефлексивное, симметричное, транзитивное). Будем задавать индивидуальную

задачу матрицей

Ясно, что R будет отношением эквивалентности тогда и только тогда, когда матрица AR имеет единичную диагональ, симметрична и выполнено соотношение

где - матрица отношения R 2.

Кроме того, выполнено , где имеется в виду булево умножение матриц. Ясно, что сложность рассматриваемой задачи О(n2).

2. Бинарное отношение R называется связным, если для любых выполняется iRj или jRi.

Бинарное отношение называется Эйлеровым, если элементы R

R:(i1,j1);(i2,j2);…(it,jt),

можно упорядочить так, что выполнено

.

Можно доказать, что связное отношение R является эйлеровым тогда и только тогда, когда число единиц в матрице AR совпадает в i-ом столбце и в i-ой строке для каждого . Это дает алгоритм сложности O(n2), проверяющий эйлеровость отношения R.

3. Бинарное отношение R называется гамильтоновым, если элементы М i1,i2,…,in можно упорядочить так, что выполняется соотношение

(*)

В настоящее время неизвестно полиномиального алгоритма, который проверял бы гамильтоновость отношения R.

Тривиальный алгоритм требует n! упорядочений множества М и проверки условий (*), что, конечно, превосходит по величине любой полином от n.

4. Пусть f(x1,…,xn) – формула от булевых переменных x1,…,xn в некотором фиксированном базисе В. Формула f(x1,…,xn) называется выполнимой, если существует набор значений переменных x1,..., xn, такой, что f(x1,…,xn)=1.

Формула f(x1,…,xn) называется мультиафинной, если она имеет вид

где a1,…,at – константы.

То есть f представляет собой конъюнкцию линейных форм.

Рассмотрим задачу проверки выполнимости мультиафинной формулы. Ясно, что существование выполняющего набора для мультиафинной формулы сводится к существованию решения линейной системы уравнений. Алгоритм Гаусса дает

оценку O(n3), поэтому рассматриваемая задача полиномиальна.

Пусть формула f(x1,…,xn) имеет конъюнктивную нормальную форму, т.е. имеет вид:

.

Рассмотрим задачу проверки выполнимости для формул КНФ.

В настоящее время неизвестно алгоритма полиномиальной сложности решения данной задачи. Тривиальный алгоритм требует перебор 2n наборов значений переменных и вычисления для каждого из них значения формулы.

<== предыдущая лекция | следующая лекция ==>
Характеристики сложности вычислений | NP задачи
Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 425; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.