Википедия

Полиномиальная сложность

В теории алгоритмов классом P (от англ. polynomial) называют множество задач, для которых существуют «быстрые» алгоритмы решения (время работы которых полиномиально зависит от размера входных данных). Класс P включён в более широкие классы сложности алгоритмов.

image
Положение класса P в иерархии классов сложности.

Определения

Формальное определение

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

image.

Если для функции f существует машина Тьюринга M такая, что image для некоторого числа c и достаточно больших n, то говорят, что она принадлежит классу P, или полиномиальна по времени.

Согласно тезису Чёрча — Тьюринга, любой мыслимый алгоритм можно реализовать на машине Тьюринга. Для любого языка программирования можно определить класс P подобным образом (заменив в определении машину Тьюринга на реализацию языка программирования). Если компилятор языка, на котором реализован алгоритм, замедляет исполнение алгоритма полиномиально (то есть время выполнения алгоритма на машине Тьюринга меньше некоторого многочлена от времени выполнения его на языке программирования), то определения классов P для этого языка и для машины Тьюринга совпадают. Код на ассемблере допускает преобразование в машину Тьюринга с небольшим полиномиальным замедлением, а поскольку все существующие языки допускают компиляцию в ассемблер (опять же, с полиномиальным замедлением), то определения класса P для машин Тьюринга и для любого существующего языка программирования совпадают.

Более узкое определение

Иногда под классом P имеют в виду более узкий класс функций, а именно класс предикатов (функций image). В таком случае языком L, который распознаётся данным предикатом, называется множество слов, на которых предикат равен 1. Языками класса P называются языки, для которых существуют распознающие их предикаты класса P. Очевидно, что если языки image и image лежат в классе P, то и их объединение, пересечение и дополнения также лежат в классе P.

Включения класса P в другие классы

image
Варианты положения класса P в иерархии классов сложности, в зависимости решения вопроса о равенстве классов P и NP.

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

Уже более 30 лет остаётся нерешённой задача о равенстве классов P и NP. Если они равны, то любую задачу из класса NP можно решить быстро (за полиномиальное время). Однако научное сообщество склоняется в сторону отрицательного ответа на этот вопрос. Кроме того, не доказана и строгость включения в более широкие классы, например, в PSPACE, но равенство P и PSPACE выглядит на данный момент очень сомнительно.

Примеры задач

Задачи, принадлежащие классу P

Примерами задач из класса P являются целочисленное сложение, умножение, деление, взятие остатка от деления, умножения матриц, выяснение связности графов, сортировка множества из n чисел, нахождение эйлерова цикла на графе из m рёбер, обнаружение в тексте длиной n некоторого слова, построение покрывающего дерева минимальной стоимости, линейное программирование и некоторые другие.

Задачи, принадлежность которых классу P неизвестна

Существует много задач, для которых не найдено полиномиального алгоритма, но не доказано, что его не существует. Соответственно, неизвестно, принадлежат ли такие задачи классу P. Вот некоторые из них:

  1. Задача коммивояжёра (а также все остальные NP-полные задачи). Полиномиальное решение этой задачи равносильно установлению равенства классов P и NP.
  2. Разложение числа на простые множители.
  3. Дискретное логарифмирование в конечном поле.
  4. с n образующими.
  5. Дискретное логарифмирование в аддитивной группе точек на эллиптической кривой.

Практическое значение

Поскольку часто приходится вычислять значения функций на входных данных большого объёма, нахождение полиномиальных алгоритмов для вычисления функций является очень важной задачей. Считается, что вычислять функции, не лежащие в классе P, заметно сложнее, чем лежащие. Большинство алгоритмов, лежащих в классе P, имеют сложность, не превосходящую многочлен небольшой степени от размера входных данных. Например, стандартный алгоритм перемножения матриц требует n3 умножений (хотя существуют и более быстрые алгоритмы, например, алгоритм Штрассена). Степень многочлена редко бывает большой. Один из таких случаев — предложенный в 2002 году индийскими математиками тест Агравала — Каяла — Саксены, выясняющий, является ли число n простым, за O(log6n) операций.

Литература

  • Томас Х. Кормен и др. Алгоритмы: построение и анализ = Introduction to Algorithms. — 2-е изд. — М.: , 2006. — 1296 с. — ISBN 0-07-013151-1.
  • Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений = Introduction to Automata Theory, Languages, and Computation. — М.: , 2002. — 528 с. — ISBN 0-201-44124-1.

Ссылки

Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Полиномиальная сложность, Что такое Полиномиальная сложность? Что означает Полиномиальная сложность?

V state ne hvataet ssylok na istochniki sm rekomendacii po poisku Informaciya dolzhna byt proveryaema inache ona mozhet byt udalena Vy mozhete otredaktirovat statyu dobaviv ssylki na avtoritetnye istochniki v vide snosok 13 maya 2011 V teorii algoritmov klassom P ot angl polynomial nazyvayut mnozhestvo zadach dlya kotoryh sushestvuyut bystrye algoritmy resheniya vremya raboty kotoryh polinomialno zavisit ot razmera vhodnyh dannyh Klass P vklyuchyon v bolee shirokie klassy slozhnosti algoritmov Polozhenie klassa P v ierarhii klassov slozhnosti OpredeleniyaFormalnoe opredelenie Algoritm otozhdestvlyaetsya s determinirovannoj mashinoj Tyuringa kotoraya vychislyaet otvet po dannomu na vhodnuyu lentu slovu iz vhodnogo alfavita S displaystyle Sigma Vremenem raboty algoritma TM x displaystyle T M x pri fiksirovannom vhodnom slove x nazyvaetsya kolichestvo rabochih taktov mashiny Tyuringa ot nachala do ostanovki mashiny Slozhnostyu funkcii f S S displaystyle f Sigma to Sigma vychislyaemoj nekotoroj mashinoj Tyuringa nazyvaetsya funkciya C N N displaystyle C mathbb N to mathbb N zavisyashaya ot dliny vhodnogo slova i ravnaya maksimumu vremeni raboty mashiny po vsem vhodnym slovam fiksirovannoj dliny CM n maxx x nTM x displaystyle C M n max limits x x n T M x Esli dlya funkcii f sushestvuet mashina Tyuringa M takaya chto CM n lt nc displaystyle C M n lt n c dlya nekotorogo chisla c i dostatochno bolshih n to govoryat chto ona prinadlezhit klassu P ili polinomialna po vremeni Soglasno tezisu Chyorcha Tyuringa lyuboj myslimyj algoritm mozhno realizovat na mashine Tyuringa Dlya lyubogo yazyka programmirovaniya mozhno opredelit klass P podobnym obrazom zameniv v opredelenii mashinu Tyuringa na realizaciyu yazyka programmirovaniya Esli kompilyator yazyka na kotorom realizovan algoritm zamedlyaet ispolnenie algoritma polinomialno to est vremya vypolneniya algoritma na mashine Tyuringa menshe nekotorogo mnogochlena ot vremeni vypolneniya ego na yazyke programmirovaniya to opredeleniya klassov P dlya etogo yazyka i dlya mashiny Tyuringa sovpadayut Kod na assemblere dopuskaet preobrazovanie v mashinu Tyuringa s nebolshim polinomialnym zamedleniem a poskolku vse sushestvuyushie yazyki dopuskayut kompilyaciyu v assembler opyat zhe s polinomialnym zamedleniem to opredeleniya klassa P dlya mashin Tyuringa i dlya lyubogo sushestvuyushego yazyka programmirovaniya sovpadayut Bolee uzkoe opredelenie Inogda pod klassom P imeyut v vidu bolee uzkij klass funkcij a imenno klass predikatov funkcij f S 0 1 displaystyle f Sigma to 0 1 V takom sluchae yazykom L kotoryj raspoznayotsya dannym predikatom nazyvaetsya mnozhestvo slov na kotoryh predikat raven 1 Yazykami klassa P nazyvayutsya yazyki dlya kotoryh sushestvuyut raspoznayushie ih predikaty klassa P Ochevidno chto esli yazyki L1 displaystyle L 1 i L2 displaystyle L 2 lezhat v klasse P to i ih obedinenie peresechenie i dopolneniya takzhe lezhat v klasse P Vklyucheniya klassa P v drugie klassyVarianty polozheniya klassa P v ierarhii klassov slozhnosti v zavisimosti resheniya voprosa o ravenstve klassov P i NP Klass P yavlyaetsya odnim iz samyh uzkih klassov slozhnosti Algoritmy prinadlezhashie emu prinadlezhat takzhe klassu NP klassu BPP kak dopuskayushie polinomialnuyu realizaciyu s nulevoj oshibkoj klassu PSPACE t k zona raboty na mashine Tyuringa vsegda menshe vremeni dlya dokazatelstva etogo fakta ispolzuetsya ponyatie protokola raboty mashiny kotoryj peredelyvaetsya v polinomialnogo razmera Uzhe bolee 30 let ostayotsya nereshyonnoj zadacha o ravenstve klassov P i NP Esli oni ravny to lyubuyu zadachu iz klassa NP mozhno reshit bystro za polinomialnoe vremya Odnako nauchnoe soobshestvo sklonyaetsya v storonu otricatelnogo otveta na etot vopros Krome togo ne dokazana i strogost vklyucheniya v bolee shirokie klassy naprimer v PSPACE no ravenstvo P i PSPACE vyglyadit na dannyj moment ochen somnitelno Primery zadachZadachi prinadlezhashie klassu P Primerami zadach iz klassa P yavlyayutsya celochislennoe slozhenie umnozhenie delenie vzyatie ostatka ot deleniya umnozheniya matric vyyasnenie svyaznosti grafov sortirovka mnozhestva iz n chisel nahozhdenie ejlerova cikla na grafe iz m ryober obnaruzhenie v tekste dlinoj n nekotorogo slova postroenie pokryvayushego dereva minimalnoj stoimosti linejnoe programmirovanie i nekotorye drugie Zadachi prinadlezhnost kotoryh klassu P neizvestna Sushestvuet mnogo zadach dlya kotoryh ne najdeno polinomialnogo algoritma no ne dokazano chto ego ne sushestvuet Sootvetstvenno neizvestno prinadlezhat li takie zadachi klassu P Vot nekotorye iz nih Zadacha kommivoyazhyora a takzhe vse ostalnye NP polnye zadachi Polinomialnoe reshenie etoj zadachi ravnosilno ustanovleniyu ravenstva klassov P i NP Razlozhenie chisla na prostye mnozhiteli Diskretnoe logarifmirovanie v konechnom pole s n obrazuyushimi Diskretnoe logarifmirovanie v additivnoj gruppe tochek na ellipticheskoj krivoj Prakticheskoe znacheniePoskolku chasto prihoditsya vychislyat znacheniya funkcij na vhodnyh dannyh bolshogo obyoma nahozhdenie polinomialnyh algoritmov dlya vychisleniya funkcij yavlyaetsya ochen vazhnoj zadachej Schitaetsya chto vychislyat funkcii ne lezhashie v klasse P zametno slozhnee chem lezhashie Bolshinstvo algoritmov lezhashih v klasse P imeyut slozhnost ne prevoshodyashuyu mnogochlen nebolshoj stepeni ot razmera vhodnyh dannyh Naprimer standartnyj algoritm peremnozheniya matric trebuet n3 umnozhenij hotya sushestvuyut i bolee bystrye algoritmy naprimer algoritm Shtrassena Stepen mnogochlena redko byvaet bolshoj Odin iz takih sluchaev predlozhennyj v 2002 godu indijskimi matematikami test Agravala Kayala Sakseny vyyasnyayushij yavlyaetsya li chislo n prostym za O log6n operacij LiteraturaTomas H Kormen i dr Algoritmy postroenie i analiz Introduction to Algorithms 2 e izd M 2006 1296 s ISBN 0 07 013151 1 Dzhon Hopkroft Radzhiv Motvani Dzheffri Ulman Vvedenie v teoriyu avtomatov yazykov i vychislenij Introduction to Automata Theory Languages and Computation M 2002 528 s ISBN 0 201 44124 1 Ssylki

NiNa.Az

NiNa.Az - Абсолютно бесплатная система, которая делится для вас информацией и контентом 24 часа в сутки.
Взгляните
Закрыто