Средняя сложность - Average-case complexity

В теории сложности вычислений , то в среднем случае сложность из алгоритма является количество некоторого вычислительного ресурса (обычно время) , используемого в алгоритме, усредненное по всем возможным входы. Его часто противопоставляют сложности наихудшего случая, когда учитывается максимальная сложность алгоритма по всем возможным входам.

Есть три основных мотивации для изучения средней сложности. Во-первых, хотя некоторые проблемы могут оказаться неразрешимыми в худшем случае, входные данные, которые вызывают такое поведение, могут редко встречаться на практике, поэтому средняя сложность может быть более точной мерой производительности алгоритма. Во-вторых, анализ сложности в среднем случае предоставляет инструменты и методы для создания сложных примеров проблем, которые можно использовать в таких областях, как криптография и дерандомизация . В-третьих, средняя сложность позволяет выделить наиболее эффективный на практике алгоритм среди алгоритмов эквивалентной сложности наилучшего случая (например, Quicksort ).

Анализ среднего случая требует понятия «среднего» входа в алгоритм, что приводит к проблеме разработки распределения вероятностей по входам. В качестве альтернативы можно использовать рандомизированный алгоритм . Анализ таких алгоритмов приводит к связанному с ними понятию ожидаемой сложности .

История и предыстория

Производительность алгоритмов в среднем случае изучается с момента появления современных представлений об эффективности вычислений в 1950-х годах. Большая часть этой первоначальной работы была сосредоточена на задачах, для которых уже были известны алгоритмы с полиномиальным временем наихудшего случая. В 1973 году Дональд Кнут опубликовал третий том « Искусства компьютерного программирования», в котором подробно рассматривается производительность алгоритмов в среднем случае для задач, решаемых за полиномиальное время наихудшего случая, таких как сортировка и поиск медианы.

Эффективный алгоритм для NP-полных задач обычно характеризуется как алгоритм, который выполняется за полиномиальное время для всех входных данных; это эквивалентно требованию эффективной сложности наихудшего случая. Однако алгоритм, который неэффективен для «небольшого» числа входов, все же может быть эффективным для «большинства» входов, которые встречаются на практике. Таким образом, желательно изучить свойства этих алгоритмов, в которых средняя сложность может отличаться от сложности наихудшего, и найти методы для их связи.

Фундаментальные понятия сложности в среднем случае были развиты Леонидом Левиным в 1986 году, когда он опубликовал одностраничную статью, в которой определял сложность и полноту в среднем случае, а также приводил пример полной проблемы для distNP, аналога NP в среднем случае .

Определения

Эффективная сложность в среднем случае

Первая задача - точно определить, что подразумевается под алгоритмом, который эффективен «в среднем». Первоначальная попытка может определить эффективный алгоритм среднего случая как алгоритм, который выполняется за ожидаемое полиномиальное время по всем возможным входам. У такого определения есть различные недостатки; в частности, он не устойчив к изменениям в вычислительной модели. Например, предположим, что алгоритм A выполняется за время t A (x) на входе x, а алгоритм B работает за время t A (x) 2 на входе x; то есть B квадратично медленнее, чем A. Интуитивно, любое определение эффективности в среднем случае должно отражать идею о том, что A эффективен в среднем тогда и только тогда, когда B эффективен в среднем. Предположим, однако, что входные данные выбираются случайным образом из равномерного распределения строк с длиной , и что A выполняется за время n 2 на всех входах, кроме строки 1 n, для которой A требуется время 2 n . Тогда можно легко проверить, что ожидаемое время работы A является полиномиальным, но ожидаемое время работы B экспоненциально.

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

для любого n, t, ε> 0 и полинома p, где t A (x) обозначает время работы алгоритма A на входе x. В качестве альтернативы это можно записать как

для некоторой постоянной C, где n = | x |. Другими словами, алгоритм A имеет хорошую сложность в среднем случае, если после выполнения t A (n) шагов A может решить все, кроме части входов длины n, для некоторого ε, c> 0.

Проблема распределения

Следующим шагом является определение «среднего» вклада в конкретную проблему. Это достигается путем связывания входных данных каждой проблемы с определенным распределением вероятностей. То есть задача «среднего случая» состоит из языка L и связанного с ним распределения вероятностей D, которое образует пару (L, D). Два наиболее распространенных класса разрешенных дистрибутивов:

  1. Распределения, вычисляемые за полиномиальное время (P-вычислимые): это распределения, для которых можно вычислить совокупную плотность любого заданного входа x. Более формально, учитывая распределение вероятностей μ и строку x ∈ {0, 1} n, можно вычислить значение за полиномиальное время. Отсюда следует, что Pr [x] также вычислим за полиномиальное время.
  2. Выборочные распределения за полиномиальное время (P-samplable): это распределения, из которых можно извлечь случайные выборки за полиномиальное время.

Эти две формулировки, хотя и похожи, не эквивалентны. Если распределение является P-вычислимым, оно также является P-выборочным, но обратное неверно, если P ≠ P #P .

AvgP и distNP

Проблема распределения (L, D) относится к классу сложности AvgP, если существует эффективный алгоритм среднего случая для L, как определено выше. Класс AvgP иногда в литературе называется distP.

Задача распределения (L, D) относится к классу сложности distNP, если L принадлежит NP и D является P-вычислимым. Когда L находится в NP, а D является P-выборкой, (L, D) принадлежит sampNP.

Вместе AvgP и distNP определяют аналоги P и NP для среднего случая соответственно.

Сокращение между проблемами распределения

Пусть (L, D) и (L ', D') - две задачи распределения. (L, D) средний случай сводится к (L ', D') (записывается (L, D) ≤ AvgP (L ', D')), если существует функция f, которая для каждого n на входе x может быть вычисляется во времени, полиномиальное от n и

  1. (Корректность) x ∈ L тогда и только тогда, когда f (x) ∈ L '
  2. (Доминирование) Существуют многочлены p и m такие, что для любых n и y

Условие доминирования подразумевает, что если задача (L, D) в среднем сложна, то (L ', D') также в среднем трудна. Интуитивно, редукция должна обеспечивать способ решения экземпляра x задачи L путем вычисления f (x) и передачи выходных данных алгоритму, который решает L '. Без условия доминирования это может быть невозможно, поскольку алгоритм, который решает L в среднем за полиномиальное время, может потребовать сверхполиномиального времени на небольшом количестве входов, но f может отображать эти входы в гораздо больший набор D ', так что алгоритм A 'больше не работает в среднем за полиномиальное время. Условие доминирования только позволяет таким строкам встречаться полиномиально, как это часто бывает в D '.

DistNP-Complete проблемы

Средним случаем аналогом NP-полноты является distNP-полнота. Задача распределения (L ', D') является distNP-полной, если (L ', D') находится в distNP и для каждого (L, D) в distNP, (L, D) в среднем сводится к (L ' , D ').

Примером distNP-полной проблемы является ограниченная проблема остановки, BH, определяемая следующим образом:

BH = {(M, x, 1 t ): M - недетерминированная машина Тьюринга, которая принимает x за ≤ t шагов.}

В своей оригинальной статье Левин показал пример задачи о распределении тайлинга, которая является NP-полной в среднем случае. Обзор известных проблем distNP-complete доступен в Интернете.

Одно из направлений активных исследований - это поиск новых проблем с distNP-complete. Однако поиск таких проблем может быть затруднен из-за результата Гуревича, который показывает, что любая проблема распределения с плоским распределением не может быть distNP-полной, если EXP = NEXP . (Плоское распределение μ - это такое распределение, для которого существует ε> 0 такое, что для любого x μ (x) ≤ 2 - | x | ε .) Результат Ливне показывает, что все естественные NP-полные задачи имеют DistNP-полные версии. Однако цель поиска естественной проблемы распределения, которая является DistNP-полной, еще не достигнута.

Приложения

Алгоритмы сортировки

Как упоминалось выше, большая часть ранних работ, связанных со сложностью в среднем случае, была сосредоточена на задачах, для которых уже существовали алгоритмы с полиномиальным временем, таких как сортировка. Например, многие алгоритмы сортировки, которые используют случайность, такие как Quicksort , имеют время работы в худшем случае O (n 2 ), но среднее время работы O (nlog (n)), где n - длина ввод, который нужно отсортировать.

Криптография

Для большинства проблем проводится анализ сложности среднего случая, чтобы найти эффективные алгоритмы для проблемы, которая считается сложной в наихудшем случае. Однако в криптографических приложениях верно обратное: сложность наихудшего случая не имеет значения; вместо этого нам нужна гарантия того, что средняя сложность каждого алгоритма, который «ломает» криптографическую схему, неэффективна.

Таким образом, все безопасные криптографические схемы полагаются на существование односторонних функций . Хотя существование односторонних функций все еще остается открытой проблемой, многие кандидаты в односторонние функции основаны на сложных проблемах, таких как целочисленная факторизация или вычисление дискретного журнала . Обратите внимание, что нежелательно, чтобы функция-кандидат была NP-полной, поскольку это только гарантирует, что, вероятно, не существует эффективного алгоритма для решения проблемы в наихудшем случае; на самом деле нам нужна гарантия того, что ни один эффективный алгоритм не сможет решить проблему со случайными входными данными (то есть в среднем случае). Фактически, задачи целочисленной факторизации и дискретного логарифма находятся в NP ∩ coNP и поэтому не считаются NP-полными. Тот факт, что вся криптография основана на существовании трудноразрешимых проблем среднего случая в NP, является одним из основных мотивов для изучения сложности среднего случая.

Другие результаты

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

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

В 1993 году Фейгенбаум и Фортноу показали, что при неадаптивных случайных редукциях невозможно доказать, что существование хорошего в среднем алгоритма для distNP-полной задачи при равномерном распределении подразумевает существование наихудшего случая. эффективные алгоритмы решения всех задач в НП. В 2003 году Богданов и Тревизан обобщили этот результат на произвольные неадаптивные редукции. Эти результаты показывают, что маловероятно, что какая-либо связь между сложностью среднего и наихудшим случаем может быть установлена ​​посредством редукций.

Смотрите также

использованная литература

дальнейшее чтение

В литературу средней сложности по делу включены следующие работы: