Теория алгоритмов
Тео́рия алгори́тмов — раздел математики, изучающий общие свойства и закономерности алгоритмов и разнообразные формальные модели их представления. К задачам теории алгоритмов относятся формальное доказательство алгоритмической неразрешимости задач, асимптотический анализ сложности алгоритмов, классификация алгоритмов в соответствии с классами сложности, разработка критериев сравнительной оценки качества алгоритмов и т. п. Вместе с математической логикой теория алгоритмов образует теоретическую основу вычислительных наук, теории передачи информации, информатики, телекоммуникационных систем и других областей науки и техники.
История
Развитие теории алгоритмов начинается с доказательства Куртом Гёделем теорем о неполноте формальных систем, включающих арифметику, первая из которых была доказана в 1931 году. Возникшее в связи с этими теоремами предположение о невозможности алгоритмического разрешения многих математических проблем (в частности, проблемы выводимости в исчислении предикатов) вызвало необходимость стандартизации понятия алгоритма. Первые стандартизованные варианты этого понятия были разработаны в 1930-е годы в работах Алана Тьюринга, Эмиля Поста и Алонзо Чёрча. Предложенные ими машина Тьюринга, машина Поста и лямбда-исчисление оказались эквивалентными друг другу. Основываясь на работах Гёделя, Стивен Клини ввёл понятие рекурсивной функции, также оказавшееся эквивалентным вышеперечисленным.
Одним из наиболее удачных стандартизованных вариантов алгоритма является введённое Андреем Марковым понятие нормального алгоритма. Оно было разработано десятью годами позже работ Тьюринга, Поста, Чёрча и Клини в связи с доказательством алгоритмической неразрешимости ряда алгебраических проблем.
В последующие годы значительный вклад в теорию алгоритмов внесли Дональд Кнут, Aльфред Ахо и Джеффри Ульман.
Модели вычислений
- Машина Тьюринга — абстрактный исполнитель (абстрактная вычислительная машина). Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма. Машина Тьюринга является расширением конечного автомата и, согласно тезису Чёрча — Тьюринга, способна имитировать все другие исполнители (с помощью задания правил перехода), каким-либо образом реализующие процесс пошагового вычисления, в котором каждый шаг вычисления достаточно элементарен.
- Лямбда-исчисление — рассматривается пара: λ-выражение и его аргумент, — а вычислением считается применение, или апплицирование, первого члена пары ко второму. Это позволяет отделить функцию и то, к чему она применяется. В более общем случае вычислением считаются цепочки, начинающиеся с исходного λ-выражения, за которым следует конечная последовательность λ-выражений, каждое из которых получается из предыдущего применением β-редукции, то есть правила подстановки.
- Комбинаторная логика — трактовка вычисления сходна с λ-исчислением, но имеются и важные отличия (например, комбинатор неподвижной точки Y имеет нормальную форму в комбинаторной логике, а в λ-исчислении — нет). Комбинаторная логика была первоначально разработана для изучения природы парадоксов и для построения концептуально ясных оснований математики, причем представление о переменной исключалось вовсе, что помогало прояснить роль и место переменных в математике.
- Регистровые машины, в частности, RAM-машина — абстрактная вычислительная машина, моделирующая компьютер с произвольным доступом к памяти. Именно эта модель вычислений наиболее часто используется при анализе алгоритмов.
Тезис Чёрча — Тьюринга и алгоритмически неразрешимые проблемы
Алан Тьюринг высказал предположение (известное как «тезис Чёрча — Тьюринга»), что любой алгоритм, — в интуитивном смысле слова, — может быть представлен эквивалентной машиной Тьюринга. Уточнение представления о вычислимости на основе понятия такой машины (и других эквивалентных ей понятий) открыло возможность строгого доказательства алгоритмической неразрешимости различных массовых проблем (проблем нахождения единого метода решения некоторого класса задач, условия которых могут варьироваться в известных пределах).
Простейший пример алгоритмически-неразрешимой массовой проблемы — проблема применимости алгоритма, проблема остановки, которая заключается в следующем: требуется найти общий метод, который позволял бы для произвольной машины Тьюринга (заданной посредством своей программы) и произвольного начального состояния ленты этой машины определить — завершится ли работа машины за конечное число шагов, или же будет продолжаться неограниченно долго?
В течение первого десятилетия истории теории алгоритмов, неразрешимые массовые проблемы были обнаружены лишь в ней самой (в том числе, описанная выше «проблема применимости») и в математической логике («проблема выводимости» в классическом исчислении предикатов). Поэтому считалось, что теория алгоритмов представляет собой «обочину» математики, не имеющую значения для таких её классических разделов, как «алгебра» или «анализ». Положение изменилось после того, как Андрей Марков и Эмиль Пост в 1947 году установили алгоритмическую неразрешимость известной в алгебре проблемы равенства для конечнопорождённых и конечноопределённых полугрупп (). Впоследствии, была установлена алгоритмическая неразрешимость и многих других «чисто математических» массовых проблем, наиболее известным результатом в этой области является доказанная Юрием Матиясевичем алгоритмическая неразрешимость десятой проблемы Гильберта.
Направления
Теория алгоритмов развивается, главным образом, по трём направлениям:
- Классическое:
- Формальная формулировка задач;
- Понятие проблемы разрешения;
- Классификация уровней сложности («P», «NP» и другие).
- Анализ:
- Асимптотический:
- Оценка ресурсоёмкости и времени выполнения (в частности, для рекурсивных алгоритмов);
- Оценка роста потребности в ресурсах (например, времени выполнения) с увеличением объёма данных.
- Практический:
- Получение «явных» функции трудоёмкости;
- Интервальный анализ функций;
- Поиск критериев качества;
- Методика рационального выбора.
- Асимптотический:
Анализ трудоёмкости алгоритмов
Цель анализа — нахождение оптимального алгоритма. Критерий — трудоёмкость (количество необходимых алгоритму элементарных операций). Функция трудоёмкости — соотношение трудоёмкости с входными данными.
На трудоёмкость могут в разной мере влиять свойства входных данных:
- Объём;
- Значения;
- Порядок поступления.
Один из упрощённых видов анализа затратности алгоритмов — асимптотический, с большим объёмом входных данных. Используемая оценка функции трудоёмкости — «сложность» алгоритма, позволяющая определить связь трудоёмкости с объёмом данных. В асимптотическом анализе алгоритмов используются обозначения, принятые в математическом асимптотическом анализе. Ниже перечислены основные оценки сложности.
Основной оценкой функции сложности алгоритма (где n — величина объёма данных, «длина входа») является
:
если при g > 0 при n > 0 существуют положительные с1, с2, n0, такие, что:
при ; иначе говоря, можно найти такие
и
, что, — при достаточно больших
, —
будет заключена между:
и
.
В таком случае говорят ещё, что функция является асимптотически точной оценкой функции
, так как по определению функция
не отличается от функции
с точностью до постоянного множителя (см. асимптотическое равенство). Например, для метода сортировки «heapsort», оценка трудоёмкости составляет:
, то есть
.
Из следует
.
представляет собой не функцию, а множество функций, описывающих рост
с точностью до постоянного множителя.
даёт одновременно верхнюю и нижнюю оценки роста функции. Часто бывает необходимо рассматривать эти оценки по отдельности. Оценка
представляет собой верхнюю асимптотическую оценку трудоёмкости алгоритма. Мы говорим, что
, если:
.
Иначе говоря, запись означает, что
принадлежит классу функций, которые растут не быстрее, чем функция
с точностью до постоянного множителя.
Оценка задает нижнюю асимптотическую оценку роста функции
и определяет класс функций, которые растут не медленнее, чем
с точностью до постоянного множителя.
, если:
.
Например, запись обозначает класс функций, которые растут не медленнее, чем
; в этот класс попадают все полиномы со степенью большей единицы, равно как и все степенные функции с основанием большим единицы.
Равенство выполняется тогда и только тогда, когда
и
.
Асимптотический анализ алгоритмов имеет не только практическое, но и теоретическое значение. Так, например, доказано, что все алгоритмы сортировки, основанные на попарном сравнении элементов, отсортируют n элементов за время, не меньшее .
Важную роль в развитии асимптотического анализа алгоритмов сыграли Aльфред Ахо, Джеффри Ульман, Джон Хопкрофт.
Классы сложности
В рамках классической теории, осуществляется классификация задач по их сложности (P-сложные, NP-сложные, экспоненциально сложные и другие):
- «P» — могут быть решены за время, полиномиально зависящее от объёма исходных данных, с помощью детерминированной вычислительной машины (например, «машина Тьюринга»);
- «NP»:
- Задачи, решение которых осуществимо за полиномиально выраженное время с помощью недетерминированной вычислительной машины (следующее состояние которой не всегда однозначно определяется предыдущими). Её работу можно представить как разветвляющийся на каждой неоднозначности процесс: задача решена, если хотя бы одна ветвь достигла ответа;
- Задачи, решение которых с помощью дополнительной информации полиномиальной длины, данной нам свыше, мы можем проверить за полиномиальное время. В частности, к классу «NP» относятся все задачи, решение которых можно проверить за полиномиальное время.
Класс «P» содержится в «NP». Классическим примером NP-задачи является «Задача о коммивояжёре».
Поскольку «P» содержится в «NP», принадлежность той или иной задачи к классу «NP» зачастую отражает наше текущее представление о способах решения данной задачи и носит неокончательный характер. В общем случае нет оснований полагать, что для той или иной NP-задачи не может быть найдено P-решение. Вопрос о возможной эквивалентности классов «P» и «NP» (о возможности нахождения P-решения для любой NP-задачи) считается одним из основных в современной теории сложности алгоритмов; ответ на него не найден до сих пор. Сама его постановка возможна благодаря введению понятия NP-полных задач; любые NP-задачи могут быть к ним сведены — и если для NP-полной задачи будет найдено P-решение, то P-решение будет найдено для всех NP-задач. Примером NP-полной задачи является «Задача о конъюнктивной форме».
Исследования сложности алгоритмов позволили по-новому взглянуть на решение многих классических математических задач и найти для некоторого их ряда (умножение многочленов и матриц, решение линейных систем уравнений и другие) решения, требующие меньше ресурсов, нежели традиционные.
Математические приложения теории алгоритмов
Некоторые приложения теории алгоритмов:
- исследование массовых проблем;
- приложения к основаниям математики: конструктивная семантика;
- приложения к математической логике: анализ формализованных языков логики и арифметики;
- вычислимый анализ;
- нумерованные структуры;
- приложения к теории вероятностей: определения случайной последовательности;
- приложения к теории информации: алгоритмический подход к понятию количества информации;
- оценки сложностей решения отдельных задач;
- влияние теории алгоритмов на алгоритмическую практику.
Примечания
- Семёнов А. Л., Успенский В. А. Математическая логика в вычислительных науках и вычислительной практике. // Вестник Академии наук СССР, № 7, с. 93 — 103
- Успенский В. А., Семёнов А. Л. Решимые и нерешимые алгоритмические проблемы. // Квант, 1985, № 7, с. 9 — 15
- В. А. Успенский, А. Л. Семёнов Теория алгоритмов: основные открытия и приложения, М., Наука, 1987, 288 c.
Литература
- Кормен, Т., Лейзерсон, Ч., Ривест, Р., Штайн, К. Алгоритмы: построение и анализ = Introduction to Algorithms / Под ред. И. В. Красикова. — 2-е изд. — М.: Вильямс, 2005. — 1296 с. — ISBN 5-8459-0857-4.
- Дональд Кнут. Искусство программирования, том 1. Основные алгоритмы = The Art of Computer Programming, vol.1. Fundamental Algorithms. — 3-е изд. — М.: Вильямс, 2006. — 720 с. — ISBN 0-201-89683-4.
- Колмогоров А. Н. Теория информации и теория алгоритмов. — М.: Наука, 1987. — 304 с.
- Марков А. А., Нагорный Н. М. Теория алгорифмов. — 2-е изд.. — М.: Фазис, 1996.
Ссылки
- Лекции по теории сложности и комбинаторным алгоритмам
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Теория алгоритмов, Что такое Теория алгоритмов? Что означает Теория алгоритмов?
Teo riya algori tmov razdel matematiki izuchayushij obshie svojstva i zakonomernosti algoritmov i raznoobraznye formalnye modeli ih predstavleniya K zadacham teorii algoritmov otnosyatsya formalnoe dokazatelstvo algoritmicheskoj nerazreshimosti zadach asimptoticheskij analiz slozhnosti algoritmov klassifikaciya algoritmov v sootvetstvii s klassami slozhnosti razrabotka kriteriev sravnitelnoj ocenki kachestva algoritmov i t p Vmeste s matematicheskoj logikoj teoriya algoritmov obrazuet teoreticheskuyu osnovu vychislitelnyh nauk teorii peredachi informacii informatiki telekommunikacionnyh sistem i drugih oblastej nauki i tehniki IstoriyaRazvitie teorii algoritmov nachinaetsya s dokazatelstva Kurtom Gyodelem teorem o nepolnote formalnyh sistem vklyuchayushih arifmetiku pervaya iz kotoryh byla dokazana v 1931 godu Voznikshee v svyazi s etimi teoremami predpolozhenie o nevozmozhnosti algoritmicheskogo razresheniya mnogih matematicheskih problem v chastnosti problemy vyvodimosti v ischislenii predikatov vyzvalo neobhodimost standartizacii ponyatiya algoritma Pervye standartizovannye varianty etogo ponyatiya byli razrabotany v 1930 e gody v rabotah Alana Tyuringa Emilya Posta i Alonzo Chyorcha Predlozhennye imi mashina Tyuringa mashina Posta i lyambda ischislenie okazalis ekvivalentnymi drug drugu Osnovyvayas na rabotah Gyodelya Stiven Klini vvyol ponyatie rekursivnoj funkcii takzhe okazavsheesya ekvivalentnym vysheperechislennym Odnim iz naibolee udachnyh standartizovannyh variantov algoritma yavlyaetsya vvedyonnoe Andreem Markovym ponyatie normalnogo algoritma Ono bylo razrabotano desyatyu godami pozzhe rabot Tyuringa Posta Chyorcha i Klini v svyazi s dokazatelstvom algoritmicheskoj nerazreshimosti ryada algebraicheskih problem V posleduyushie gody znachitelnyj vklad v teoriyu algoritmov vnesli Donald Knut Alfred Aho i Dzheffri Ulman Modeli vychislenijMashina Tyuringa abstraktnyj ispolnitel abstraktnaya vychislitelnaya mashina Byla predlozhena Alanom Tyuringom v 1936 godu dlya formalizacii ponyatiya algoritma Mashina Tyuringa yavlyaetsya rasshireniem konechnogo avtomata i soglasno tezisu Chyorcha Tyuringa sposobna imitirovat vse drugie ispolniteli s pomoshyu zadaniya pravil perehoda kakim libo obrazom realizuyushie process poshagovogo vychisleniya v kotorom kazhdyj shag vychisleniya dostatochno elementaren Lyambda ischislenie rassmatrivaetsya para l vyrazhenie i ego argument a vychisleniem schitaetsya primenenie ili applicirovanie pervogo chlena pary ko vtoromu Eto pozvolyaet otdelit funkciyu i to k chemu ona primenyaetsya V bolee obshem sluchae vychisleniem schitayutsya cepochki nachinayushiesya s ishodnogo l vyrazheniya za kotorym sleduet konechnaya posledovatelnost l vyrazhenij kazhdoe iz kotoryh poluchaetsya iz predydushego primeneniem b redukcii to est pravila podstanovki Kombinatornaya logika traktovka vychisleniya shodna s l ischisleniem no imeyutsya i vazhnye otlichiya naprimer kombinator nepodvizhnoj tochki Y imeet normalnuyu formu v kombinatornoj logike a v l ischislenii net Kombinatornaya logika byla pervonachalno razrabotana dlya izucheniya prirody paradoksov i dlya postroeniya konceptualno yasnyh osnovanij matematiki prichem predstavlenie o peremennoj isklyuchalos vovse chto pomogalo proyasnit rol i mesto peremennyh v matematike Registrovye mashiny v chastnosti RAM mashina abstraktnaya vychislitelnaya mashina modeliruyushaya kompyuter s proizvolnym dostupom k pamyati Imenno eta model vychislenij naibolee chasto ispolzuetsya pri analize algoritmov Tezis Chyorcha Tyuringa i algoritmicheski nerazreshimye problemyOsnovnye stati Tezis Chyorcha Tyuringa i Mashina Tyuringa Alan Tyuring vyskazal predpolozhenie izvestnoe kak tezis Chyorcha Tyuringa chto lyuboj algoritm v intuitivnom smysle slova mozhet byt predstavlen ekvivalentnoj mashinoj Tyuringa Utochnenie predstavleniya o vychislimosti na osnove ponyatiya takoj mashiny i drugih ekvivalentnyh ej ponyatij otkrylo vozmozhnost strogogo dokazatelstva algoritmicheskoj nerazreshimosti razlichnyh massovyh problem problem nahozhdeniya edinogo metoda resheniya nekotorogo klassa zadach usloviya kotoryh mogut varirovatsya v izvestnyh predelah Prostejshij primer algoritmicheski nerazreshimoj massovoj problemy problema primenimosti algoritma problema ostanovki kotoraya zaklyuchaetsya v sleduyushem trebuetsya najti obshij metod kotoryj pozvolyal by dlya proizvolnoj mashiny Tyuringa zadannoj posredstvom svoej programmy i proizvolnogo nachalnogo sostoyaniya lenty etoj mashiny opredelit zavershitsya li rabota mashiny za konechnoe chislo shagov ili zhe budet prodolzhatsya neogranichenno dolgo V techenie pervogo desyatiletiya istorii teorii algoritmov nerazreshimye massovye problemy byli obnaruzheny lish v nej samoj v tom chisle opisannaya vyshe problema primenimosti i v matematicheskoj logike problema vyvodimosti v klassicheskom ischislenii predikatov Poetomu schitalos chto teoriya algoritmov predstavlyaet soboj obochinu matematiki ne imeyushuyu znacheniya dlya takih eyo klassicheskih razdelov kak algebra ili analiz Polozhenie izmenilos posle togo kak Andrej Markov i Emil Post v 1947 godu ustanovili algoritmicheskuyu nerazreshimost izvestnoj v algebre problemy ravenstva dlya konechnoporozhdyonnyh i konechnoopredelyonnyh polugrupp Vposledstvii byla ustanovlena algoritmicheskaya nerazreshimost i mnogih drugih chisto matematicheskih massovyh problem naibolee izvestnym rezultatom v etoj oblasti yavlyaetsya dokazannaya Yuriem Matiyasevichem algoritmicheskaya nerazreshimost desyatoj problemy Gilberta NapravleniyaTeoriya algoritmov razvivaetsya glavnym obrazom po tryom napravleniyam Klassicheskoe Formalnaya formulirovka zadach Ponyatie problemy razresheniya Klassifikaciya urovnej slozhnosti P NP i drugie Analiz Asimptoticheskij Ocenka resursoyomkosti i vremeni vypolneniya v chastnosti dlya rekursivnyh algoritmov Ocenka rosta potrebnosti v resursah naprimer vremeni vypolneniya s uvelicheniem obyoma dannyh Prakticheskij Poluchenie yavnyh funkcii trudoyomkosti Intervalnyj analiz funkcij Poisk kriteriev kachestva Metodika racionalnogo vybora Analiz trudoyomkosti algoritmov Osnovnaya statya Teoriya slozhnosti vychislenij Cel analiza nahozhdenie optimalnogo algoritma Kriterij trudoyomkost kolichestvo neobhodimyh algoritmu elementarnyh operacij Funkciya trudoyomkosti sootnoshenie trudoyomkosti s vhodnymi dannymi Na trudoyomkost mogut v raznoj mere vliyat svojstva vhodnyh dannyh Obyom Znacheniya Poryadok postupleniya Odin iz uproshyonnyh vidov analiza zatratnosti algoritmov asimptoticheskij s bolshim obyomom vhodnyh dannyh Ispolzuemaya ocenka funkcii trudoyomkosti slozhnost algoritma pozvolyayushaya opredelit svyaz trudoyomkosti s obyomom dannyh V asimptoticheskom analize algoritmov ispolzuyutsya oboznacheniya prinyatye v matematicheskom asimptoticheskom analize Nizhe perechisleny osnovnye ocenki slozhnosti Osnovnoj ocenkoj funkcii slozhnosti algoritma f n displaystyle f n gde n velichina obyoma dannyh dlina vhoda yavlyaetsya 8 displaystyle boldsymbol Theta f n 8 g n displaystyle f n boldsymbol Theta g n esli pri g gt 0 pri n gt 0 sushestvuyut polozhitelnye s1 s2 n0 takie chto c1 g n f n c2 g n displaystyle c 1 cdot g n leq f n leq c 2 cdot g n pri n gt n0 displaystyle n gt n 0 inache govorya mozhno najti takie c1 displaystyle c 1 i c2 displaystyle c 2 chto pri dostatochno bolshih n displaystyle n f n displaystyle f n budet zaklyuchena mezhdu c1 g n displaystyle c 1 cdot g n i c2 g n displaystyle c 2 cdot g n V takom sluchae govoryat eshyo chto funkciya g n displaystyle g n yavlyaetsya asimptoticheski tochnoj ocenkoj funkcii f n displaystyle f n tak kak po opredeleniyu funkciya f n displaystyle f n ne otlichaetsya ot funkcii g n displaystyle g n s tochnostyu do postoyannogo mnozhitelya sm asimptoticheskoe ravenstvo Naprimer dlya metoda sortirovki heapsort ocenka trudoyomkosti sostavlyaet f n 8 nlog n displaystyle f n boldsymbol Theta n log n to est g n nlog n displaystyle g n n log n Iz f n 8 g n displaystyle f n boldsymbol Theta g n sleduet g n 8 f n displaystyle g n boldsymbol Theta f n 8 g n displaystyle boldsymbol Theta g n predstavlyaet soboj ne funkciyu a mnozhestvo funkcij opisyvayushih rost f n displaystyle f n s tochnostyu do postoyannogo mnozhitelya 8 displaystyle boldsymbol Theta dayot odnovremenno verhnyuyu i nizhnyuyu ocenki rosta funkcii Chasto byvaet neobhodimo rassmatrivat eti ocenki po otdelnosti Ocenka O displaystyle boldsymbol O predstavlyaet soboj verhnyuyu asimptoticheskuyu ocenku trudoyomkosti algoritma My govorim chto f n O g n displaystyle f n boldsymbol O g n esli c gt 0 n0 gt 0 0 f n cg n n gt n0 displaystyle exists c gt 0 n 0 gt 0 0 leq f n leq cg n forall n gt n 0 Inache govorya zapis f n O g n displaystyle f n boldsymbol O g n oznachaet chto f n displaystyle f n prinadlezhit klassu funkcij kotorye rastut ne bystree chem funkciya g n displaystyle g n s tochnostyu do postoyannogo mnozhitelya Ocenka W displaystyle boldsymbol Omega zadaet nizhnyuyu asimptoticheskuyu ocenku rosta funkcii f n displaystyle f n i opredelyaet klass funkcij kotorye rastut ne medlennee chem g n displaystyle g n s tochnostyu do postoyannogo mnozhitelya f n W g n displaystyle f n boldsymbol Omega g n esli c gt 0 n0 gt 0 0 cg n f n n gt n0 displaystyle exists c gt 0 n 0 gt 0 0 leq c g n leq f n forall n gt n 0 Naprimer zapis f n W nlog n displaystyle f n boldsymbol Omega n log n oboznachaet klass funkcij kotorye rastut ne medlennee chem g n nlog n displaystyle g n n log n v etot klass popadayut vse polinomy so stepenyu bolshej edinicy ravno kak i vse stepennye funkcii s osnovaniem bolshim edinicy Ravenstvo f n 8 g n displaystyle f n boldsymbol Theta g n vypolnyaetsya togda i tolko togda kogda f n O g n displaystyle f n boldsymbol O g n i f n W g n displaystyle f n boldsymbol Omega g n Asimptoticheskij analiz algoritmov imeet ne tolko prakticheskoe no i teoreticheskoe znachenie Tak naprimer dokazano chto vse algoritmy sortirovki osnovannye na poparnom sravnenii elementov otsortiruyut n elementov za vremya ne menshee W nlog n displaystyle boldsymbol Omega n log n Vazhnuyu rol v razvitii asimptoticheskogo analiza algoritmov sygrali Alfred Aho Dzheffri Ulman Dzhon Hopkroft Klassy slozhnosti Osnovnaya statya Klass slozhnosti V ramkah klassicheskoj teorii osushestvlyaetsya klassifikaciya zadach po ih slozhnosti P slozhnye NP slozhnye eksponencialno slozhnye i drugie P mogut byt resheny za vremya polinomialno zavisyashee ot obyoma ishodnyh dannyh s pomoshyu determinirovannoj vychislitelnoj mashiny naprimer mashina Tyuringa NP Zadachi reshenie kotoryh osushestvimo za polinomialno vyrazhennoe vremya s pomoshyu nedeterminirovannoj vychislitelnoj mashiny sleduyushee sostoyanie kotoroj ne vsegda odnoznachno opredelyaetsya predydushimi Eyo rabotu mozhno predstavit kak razvetvlyayushijsya na kazhdoj neodnoznachnosti process zadacha reshena esli hotya by odna vetv dostigla otveta Zadachi reshenie kotoryh s pomoshyu dopolnitelnoj informacii polinomialnoj dliny dannoj nam svyshe my mozhem proverit za polinomialnoe vremya V chastnosti k klassu NP otnosyatsya vse zadachi reshenie kotoryh mozhno proverit za polinomialnoe vremya Klass P soderzhitsya v NP Klassicheskim primerom NP zadachi yavlyaetsya Zadacha o kommivoyazhyore Poskolku P soderzhitsya v NP prinadlezhnost toj ili inoj zadachi k klassu NP zachastuyu otrazhaet nashe tekushee predstavlenie o sposobah resheniya dannoj zadachi i nosit neokonchatelnyj harakter V obshem sluchae net osnovanij polagat chto dlya toj ili inoj NP zadachi ne mozhet byt najdeno P reshenie Vopros o vozmozhnoj ekvivalentnosti klassov P i NP o vozmozhnosti nahozhdeniya P resheniya dlya lyuboj NP zadachi schitaetsya odnim iz osnovnyh v sovremennoj teorii slozhnosti algoritmov otvet na nego ne najden do sih por Sama ego postanovka vozmozhna blagodarya vvedeniyu ponyatiya NP polnyh zadach lyubye NP zadachi mogut byt k nim svedeny i esli dlya NP polnoj zadachi budet najdeno P reshenie to P reshenie budet najdeno dlya vseh NP zadach Primerom NP polnoj zadachi yavlyaetsya Zadacha o konyunktivnoj forme Issledovaniya slozhnosti algoritmov pozvolili po novomu vzglyanut na reshenie mnogih klassicheskih matematicheskih zadach i najti dlya nekotorogo ih ryada umnozhenie mnogochlenov i matric reshenie linejnyh sistem uravnenij i drugie resheniya trebuyushie menshe resursov nezheli tradicionnye Matematicheskie prilozheniya teorii algoritmovNekotorye prilozheniya teorii algoritmov issledovanie massovyh problem prilozheniya k osnovaniyam matematiki konstruktivnaya semantika prilozheniya k matematicheskoj logike analiz formalizovannyh yazykov logiki i arifmetiki vychislimyj analiz numerovannye struktury prilozheniya k teorii veroyatnostej opredeleniya sluchajnoj posledovatelnosti prilozheniya k teorii informacii algoritmicheskij podhod k ponyatiyu kolichestva informacii ocenki slozhnostej resheniya otdelnyh zadach vliyanie teorii algoritmov na algoritmicheskuyu praktiku PrimechaniyaSemyonov A L Uspenskij V A Matematicheskaya logika v vychislitelnyh naukah i vychislitelnoj praktike Vestnik Akademii nauk SSSR 7 s 93 103 Uspenskij V A Semyonov A L Reshimye i nereshimye algoritmicheskie problemy Kvant 1985 7 s 9 15 V A Uspenskij A L Semyonov Teoriya algoritmov osnovnye otkrytiya i prilozheniya M Nauka 1987 288 c LiteraturaKormen T Lejzerson Ch Rivest R Shtajn K Algoritmy postroenie i analiz Introduction to Algorithms Pod red I V Krasikova 2 e izd M Vilyams 2005 1296 s ISBN 5 8459 0857 4 Donald Knut Iskusstvo programmirovaniya tom 1 Osnovnye algoritmy The Art of Computer Programming vol 1 Fundamental Algorithms 3 e izd M Vilyams 2006 720 s ISBN 0 201 89683 4 Kolmogorov A N Teoriya informacii i teoriya algoritmov M Nauka 1987 304 s Markov A A Nagornyj N M Teoriya algorifmov 2 e izd M Fazis 1996 SsylkiLekcii po teorii slozhnosti i kombinatornym algoritmam
