Научная статья на тему 'FPT-алгоритмы и их классификация на основе эластичности'

FPT-алгоритмы и их классификация на основе эластичности Текст научной статьи по специальности «Математика»

CC BY
360
60
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
СЛОЖНОСТЬ ВЫЧИСЛЕНИЙ / ПАРАМЕТРИЗИРОВАННЫЕ АЛГОРИТМЫ / АНАЛИЗ АЛГОРИТМОВ / ЭЛАСТИЧНОСТЬ АЛГОРИТМОВ / COMPUTATION COMPLEXITY / PARAMETERIZED ALGORITHMS / ELASTICITY OF ALGORITHMS

Аннотация научной статьи по математике, автор научной работы — Быкова Валентина Владимировна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

We give a brief overview of the results and problems of parameterized algorithmics as the new direction of computational complexity theory. For a parameterized algorithm, we offer a new indicator of computational complexity which can be used to measure the growth rate of its complexity function depending on many variables. This indicator is a partial elasticity of the complexity function. We offer a twodimensional classification of parameterized algorithms with the complexity function having a multiplicative form of presentation.

Текст научной работы на тему «FPT-алгоритмы и их классификация на основе эластичности»

2011 Математические основы информатики и программирования №2(12)

МАТЕМАТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ

ЭДК 510.52+004.051 EFT-АЛГОРИТМЫ

И ИХ КЛАССИФИКАЦИЯ НА ОСНОВЕ ЭЛАСТИЧНОСТИ

B. B. Быкова

Институт математики Сибирского федерального университета, г. Красноярск, Россия

E-mail: [email protected]

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

Этим показателем является частная эластичность функции сложности. Предложена двумерная классификация параметризированных алгоритмов для мультипликативной формы представления функций сложности.

Ключевые слова: сложность вычислений, параметризированные алгоритмы, анализ алгоритмов, эластичность алгоритмов.

С позиции классической теории сложности большинство задач, имеющих важное практическое значение, NP-трудные [1]. Классическая теория сложности анализирует и классифицирует задачи и алгоритмы по объему ресурса (преимущественно времени), необходимого для достижения требуемого результата, и потому оперирует функциями вычислительной сложности t(n), зависящими от одной переменной n — длины входа алгоритма. Такая одномерность и ориентация в анализе алгоритмов на худший случай зачастую делает задачи сложнее, чем они есть на самом деле. Для практического решения NP-трудных задач были предложены многие подходы, среди которых приближенные и параметризированные алгоритмы. Цель приближенных алгоритмов — найти за полиномиальное время решение, близкое к оптимальному. Заметный класс приближенных алгоритмов составляют полностью полиномиальные схемы приближений [2]. Параметризированные алгоритмы направлены на поиск точных решений NP-трудных задач, когда параметр k решаемой задачи мал по сравнению с длиной входа алгоритма. Роль этого параметра — учесть информацию о структуре входных данных алгоритма и выделить основной источник неполиномиальной сложности NP-трудной задачи. В параметризированной теории используются двумерные функции сложности алгоритмов (функции, зависящие от n и k), поэтому ее называют двумерной теорией сложности вычислений [3]. Параметризированная теория сложности создает основу для анализа и детальной классификации задач, которые труднорешаемые в классическом понимании, а также для развития новых методов анализа и разработки эффективных алгоритмов решения NP-трудных задач. Идея параметризированного подхода к оценке сложности алгоритмов и задач была предложена в 90-х годах прошлого столетия [4]. За последние два десятилетия эта идея нашла применение в различных областях компьютерных наук, таких, как криптография [5], искусственный интеллект [6], вычислительная биология [7], теория баз данных [8].

1. Параметризированные задачи и алгоритмы

Приведем основные положения теории параметризированной сложности, используя обозначения и понятия, введенные в работах [3, 4]. Параметризированная задача П состоит в том, что для заданных языка L(n) С Е* х N, где Е — некоторый конечный алфавит и N — множество всех неотрицательных целых чисел, и пары (I,k) Е Е* х N требуется определить, является ли (I, k) элементом L(n). Для алгоритма а, решающего данную задачу, (I,k) называют входом, I — его основной частью, n = |11 —длиной входа и число k — параметром задачи. Алгоритм а называют параметризированным алгоритмом, если его вычислительная сложность, определяемая количеством времени исполнения, оценивается с точки зрения длины входа |11 = n и значения параметра k. Таким образом, функция вычислительной сложности параметризированного алгоритма, определяющая время его работы, — функция двух переменных t(n, k).

Параметризированная задача П считается разрешимой с фиксированным параметром, или FPT-разрешимой (Fixed-Parameter Tractable), если она может быть решена некоторым параметризированным алгоритмом за время

t(n,k) = 0(nO(1) ■ /(k)) (1)

для функции /, зависящей только от параметра k. Порядок роста функции /(k) не ограничивается. Так, возможно /(k) = 2o(k) или /(k) = 2O(k). Важно, что исключаются функции вида /(n, k), например /(n, k) = nk. Класс всех разрешимых с фиксированным параметром задач обозначается FPT. Соответствующие параметризирован-ные алгоритмы, решающие такие задачи, называются FPT-алгоритмами.

Примером FPT-разрешимой задачи может служить задача о вершинном покрытии графа, когда параметром выступает размер покрытия. В самом деле, вершинное покрытие размера k в графе G с n вершинами можно определить за время 0(n ■ 2k). Если в данной задаче в качестве параметра взять древовидную ширину tw(G) графа G, то метод динамического программирования способен отыскать наибольшее вершинное покрытие за время 0(n ■ 2tw(G)) [9]. Следовательно, параметризация данной задачи относительно tw(G) вновь приводит к FPT-разрешимости. Примером задачи, которая не принадлежит FPT, является задача о k-раскраске n-вершинного графа с параметром k.

Очевидно, что в FPT лежат все полиномиально разрешимые задачи. Однако наибольший интерес с точки зрения теории и практики представляют FPT-разрешимые задачи, являющиеся NP-трудными. С теоретической точки зрения все эти задачи могут быть решены за полиномиальное время при каждом фиксированном значении параметра. Реально это удается осуществить в большинстве случаев лишь при малых значениях параметра (все зависит от вида функции /(k)). Уже имеются сборники параметризированных задач, включая FPT-разрешимые задачи. Наиболее конкретным на данный момент времени является сборник М. Чезати [10]. Теория параметри-зированной сложности развивается по нескольким направлениям: определение иерархии классов сложности параметризированных задач, установление условий FPT-разрешимости, выявление взаимосвязи между параметризированной сложностью и классами приближенных алгоритмов (в частности, полностью полиномиальными схемами приближений), развитие параметризированной алгоритмики (методов анализа и разработки параметризированных алгоритмов) [3]. Последнее направление — это преимущественно область прикладных исследований. Здесь имеется ряд открытых вопросов.

2. Некоторые вопросы параметризированной алгоритмики

Анализ сборника параметризированных задач [10] показывает, что одна и та же задача может иметь различные параметризации (различные параметризированные формулировки) относительно разнообразных параметров. Так, в задаче о вершинном покрытии параметрами могут быть размер покрытия, число вершин, число ребер, древовидная ширина, наибольшая степень вершин графа и др. Закономерны вопросы:

1) Что может служить в качестве параметра для NP-трудной задачи?

2) Как следует выбирать параметр, чтобы задача стала FPT-разрешимой?

3) Существуют ли специальные методы разработки FPT-алгоритмов?

4) Как сравнивать между собой различные FPT-алгоритмы, предназначенные для решения одной и той же NP-трудной задачи?

На некоторые из этих вопросов пока нет исчерпывающих ответов. Например, на первые два вопроса параметризированная теория сложности отвечает следующим образом.

Бывают параметры внутренние и внешние. Параметр считается явным внутренним, если он непосредственно появляется в основной части экземпляра (I, k) параметризированной задачи П и его значение ограничено полиномом от |I| = n. Для задачи о вершинном покрытии подобными параметрами являются размер покрытия, число вершин или число ребер графа. Имеются стандартные параметры. Они наиболее популярны. Так, в задачах минимизации в роли стандартного параметра всегда выступает величина, которая минимизируется. Для задачи о вершинном покрытии — это размер покрытия. Если k = n, то k становится тривиальным параметром, и параметризированный алгоритм вырождается в обычный алгоритм. Параметр является неявным внутренним, если его значение ограничено полиномом от | I| = n и информация о нем неявно скрыта в I. Типичным примером неявного внутреннего параметра является древовидная ширина графа (значение этой величины никогда не превосходит числа вершин графа). В целом, все внутренние параметры характеризуют некоторым образом структуру входных данных алгоритма. Наконец, существуют внешние параметры, которые никак не связаны с | I| или связаны с | I| неполиномиальным образом. Информация о таких параметрах задается дополнительно к I, так как считается, что ее нет в I.

С теоретической точки зрения в качестве параметра может выступать любая часть входа алгоритма. На практике для получения хорошей параметризации (например, относящейся к FPT) рекомендуется выбирать ту часть входа, которая обычно принимает малые значения по сравнению с | I| = n. В конечном счете, все зависит от приложения. Для различных приложений могут быть приемлемы различные параметризации одной и той же NP-трудной задачи. Относительно ряда NP-трудных задач доказано, что некоторые их параметризации не могут быть реализованы FPT-алгоритмами. В частности, такой задачей является задача о k-раскраске n-вершинного графа с параметром k. Для некоторых NP-трудных задач найдены FPT-алгоритмы лишь применительно к отдельным параметрам. Например, для многих оптимизационных задач на графах древовидная ширина оказалась таким параметром, который, как правило, приводит к FPT-алгоритмам [9-11].

Что касается третьего из перечисленных выше вопросов, то в настоящее время уже предложены и апробированы несколько специальных методов конструирования FPT-алгоритмов. Прежде всего, это метод динамического программирования на основе дерева декомпозиции для графов с ограниченной древовидной шириной [11]. Другим

известным методом построения FPT-алгоритмов является параметрическая редукция (kernelization) [4]. Параметрическая редукция — это полиномиальное по времени преобразование каждого экземпляра (I, k) параметризированной задачи П в экземпляр (I',k') параметризированной задачи П' так, что k' < k. После выполнения редукции к экземпляру (I',k'), называемому ядром, применяется полный перебор. Например, для задачи о вершинном покрытии со стандартным параметром k (размером покрытия) редукция сводится к многократному применению двух правил: удаление изолированной вершины без изменения значения параметра k; удаление вершины, степень которой больше k, и уменьшение параметра k на единицу. Следует отметить, что метод параметрической редукции в сочетании с полным перебором не всегда приводит к FPT-алгоритму. Между тем доказано, что если параметризированная задача принадлежит к FPT, то данный метод неизменно дает FPT-алгоритм [4].

Четвертый вопрос теоретически открыт: в многочисленных работах по параметри-зированной теории сложности для анализа и сравнения параметризированных алгоритмов применяются методы классической (одномерной) теории сложности [12-14]. Между тем классическая одномерность ограничивает глубину анализа параметризиро-ванных алгоритмов, для которых вычислительная сложность описывается функцией от двух переменных t(n, k). В настоящей работе предлагается мера вычислительной сложности алгоритма, с помощью которой можно исследовать темп роста функций многих переменных, анализировать степень влияния структуры входных данных па-раметризированного алгоритма на его вычислительную сложность, сравнивать между собой FPT-алгоритмы решения NP-трудных задач. Этой мерой является частная эластичность функции вычислительной сложности (далее просто функции сложности) алгоритма. Представленные в статье результаты являются обобщением и расширением результатов автора, опубликованных в [15- 17] применительно к одномерной теории сложности вычислений.

З. Соглашения относительно функций сложности

Формальный подход к анализу параметризированных алгоритмов требует уточнения свойств их функций сложности t(n, k). Относительно функций t(n, k) мы сделаем несколько естественных допущений, которые выполнимы для большинства реальных алгоритмов:

• полагаем, что t(n,k) —монотонно неубывающие функции по обоим аргументам, областью значений функций выступает множество неотрицательных действительных чисел, а областью определения — множество N x N;

• допускаем возможность отступления от дискретности изменения n и k (с формальной заменой n на X и k на у), т. е. считаем, что аргументы функции t(n, k) непрерывны, а необходимые значения вычисляются в целочисленных точках X = n и у = k. Руководствуясь данным допущением, ниже вместо t(n,k) будем писать z(X,y);

• предполагаем, что рассматриваемое множество функций ограничивается семейством L «по-существу положительных», логарифмически-экспоненциальных функций. Функция z(X,y) считается «по-существу положительной», если существуют такие значения X0, у0, что z(X,y) > 0 для всех X > X0, у > у0. Семейство L определено рекурсивно, и всякая функция z(X,y) Є L представима в виде z(X,y) = ew(x,v), где w(X,y) Є L [18]. Известно, что каждая такая функция непрерывна и дифференцируема в той области, где она определена.

Данные предположения являются гарантией существования эластичности для функций сложности параметризированных алгоритмов.

Ех(г) = , Ех(сгт) = 0(Ех(г)), с> 0,т> 0.

4. Эластичность функции как мера вычислительной сложности алгоритма

Под эластичностью Ех(г) функции г = г (ж) принято понимать предел отношения относительного приращения этой функции к относительному приращению аргумента:

^ (Аг Аж\ йг йг ж ,ж

Ех(г) = Пт -- : ----- = — : — = ---= г'- = ж(1пг)'. (2)

Дж^о у г ж ) г ж аж г г

Отметим несколько важных особенностей эластичности ^-функции. Для всякой ^-функции г = г(х) всегда существует эластичность и Ех(г) ^ 0. В [15] показано, что при х ^ то эластичность ^-функции — тождественно постоянная, или бесконечно малая, или бесконечно большая логарифмически-экспоненциальная функция, для которой

г

Лп Ж/

Последняя оценка означает, что при ж ^ то поведение эластичности инвариантно относительно полиномиального преобразования, заключающегося в умножении этой функции на константу с > 0 и возведении в положительную и отделенную от нуля степень т > 0. Хорошо известно [18], что две произвольные ^-функции г!(ж), г2(ж) всегда сопоставимы между собой по порядку роста: если г!(ж), г2(ж) € £, то при ж ^ то верно одно из трех отношений:

г!(ж) -< г2(ж), г2(ж) -< г!(ж), г! (ж) = 0(г2(ж)).

Кроме того, доказано, что иерархия эластичностей порождает идентичную иерархию ^-функций [17], т. е. если Ех(г!) -< Ех(г2), то г!(ж) -< г2(ж). Заметим, что здесь отношение -< интерпретируется так: г!(ж) -< г2(ж) тогда и только тогда, когда г!(ж) = о(г2(ж)). 0-большое обозначает асимптотическую пропорциональность функций: г!(ж) = 0(г2(ж)) тогда и только тогда, когда г!(ж) ~ сг2(ж), с > 0. Согласно (2), при достаточно малых Аж справедливо приближение

Аг Аж

~ Ех(г) ,

гж

которое указывает, что Ех(г) — коэффициент пропорциональности между темпами роста переменных г и ж. Поскольку Ех(г) = Еах(Ьг) для любых констант а > 0, Ь > 0, то эластичность — безразмерная величина.

Все перечисленные выше особенности эластичности позволяют использовать ее в качестве меры измерения вычислительной сложности алгоритма, поскольку она удовлетворяет ряду необходимых требований, таких, как сопоставимость, интерпретируемость и вычислимость. Сопоставимость обеспечивают безразмерность и инвариантность относительно модели вычислений: ведь переход от одной модели к другой меняет вычислительную сложность алгоритма лишь полиномиальным образом. Эластичность имеет отчетливую интерпретацию: если г = г (ж) — функция сложности алгоритма, то это означает, что при повышении значения ж (длины входа алгоритма) на один процент значение г (время выполнения алгоритма) увеличивается приблизительно на Ех(г) процентов. Вычислимость также имеет место: эластичность существует для всякой ^-функции и всегда может быть определена непосредственно из (2) и свойств эластичности. Эластичности присущи свойства, сходные со свойствами операций логарифмирования и дифференцирования [16], поэтому она легко определяется для логарифмически-экспоненциальных функций. Простота вычисления — это основное достоинство эластичности по сравнению с другими мерами сложности вычислений.

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

Теорема 1 (о классификации L-функций) [15]. Разбиение семейства монотонно неубывающих «по-существу положительных» L-функций на классы SUBPOLY, POLY, SUBEXP, EXP, HYPEREXP в соответствии с порядком их роста эквивалентно надлежащему разбиению по асимптотике эластичности этих функций на бесконечности:

SUBPOLY = {z(x) : z(x) X eO(lnx)} = {z(x) : £*(z) = o(1)}; (3)

POLY = {z(x) : z(x) = O (eO(lnx))} = {z(x) : £*(z) = O(1)}; (4)

SUBEXP = {z(x) : eO(lnx) X z(x) X eO(x)} = {z(x) : 1 X Ex(z) X x}; (5)

EXP = {z(x) : z(x) = O (eO(x))} = {z(x) : Ex(z) = O(x)}; (6)

HYPEREXP = {z(x) : eO(x) X z(x)} = {z(x) : x X E*(z)}. (7)

Данная теорема порождает пять сложностных классов алгоритмов (субполино-миальных, полиномиальных, субэкспоненциальных, экспоненциальных и гиперэкспо-ненциальных соответственно), которые полностью отвечают современной классификации алгоритмов. Класс быстрых алгоритмов составляют алгоритмы с функциями сложности z(x) Е SUBPOLY. Таким алгоритмам присуща тождественно нулевая или бесконечно малая эластичность. Класс полиномиальных алгоритмов — множество алгоритмов с z(x) Е POLY и асимптотически постоянной эластичностью Ex(z). Класс субэкспоненциальных алгоритмов — алгоритмы, для которых z(x) Е SUBEXP. Эластичность Ex(z) субэкспоненциального алгоритма — бесконечно большая величина, такая, что 1 X (z) X x. Класс экспоненциальных алгоритмов — это алгоритмы, для которых z(x) Е EXP. Для них эластичность Ex(z) = O(x) — бесконечно большая величина, асимптотически пропорциональная линейной функции. Класс гиперэкспонен-циальных алгоритмов — это алгоритмы, для которых z(x) Е HYPEREXP и x X Ex(z). Эквивалентности (3) — (7) обеспечивают «прозрачность» сложностных классов алгоритмов, ведь эластичности согласно (3) — (7) представляются более простыми по виду функциями, чем соответствующие им L-функции. Понятие эластичности легко распространяется на функции многих переменных. Это дает возможность использовать данную дифференциальную характеристику функции в анализе параметризирован-ных алгоритмов.

Под частной эластичностью Ex(z) функции z = z(x,y) по аргументу x понимается эластичность переменной z, которая рассматривается как функция только от x и при

постоянных значениях у. Частная эластичность Ex(z) связана с частной производной функции z = z(x, у) по x соотношением

x

Ex(z ) = zX z = x(ln z)X (8)

Аналогично определяется частная эластичность (z) функции z = z(x,y) по аргументу у:

(z) = 4 z = y(ln z)y • (9)

Поскольку всякая L-функция z = z(x, y) непрерывна и дифференцируема в той области, где она определена, то для нее в этой области всегда существуют частные эластичности. Выражения (8), (9) аналогичны формуле (2). Поэтому частные эластичности Ex(z),Ey(z) обладают всеми основными свойствами эластичности функции одной переменной [16]. Укажем наиболее важные из этих свойств и запишем их применительно к Ex(z):

1) Если z = z(x,y) не зависит от x, то Ex(z) = 0.

2) Безразмерность: Ex(z) = Eax(bz) для любых констант a > 0, b > 0.

3) Частная эластичность произведения (отношения) функций zi = zi(x,y) и z2 = z2(x,y) равна сумме (разности) их частных эластичностей:

E^(z1 ' z2) = Ex(z1) + (z2) , E^(zi/z2) = E^(z1) — E^(z2).

Частным эластичностям свойственна отчетливая интерпретация. Пусть z = z(n, k) является функцией сложности параметризированного алгоритма, где n — длина входа, а k — параметр этого алгоритма. После формальной замены n на x и k на y имеем z = z(x,y) Е L. Тогда Ex(z) —коэффициент пропорциональности между темпом роста времени работы алгоритма и темпом роста его длины входа x. Аналогично (z) — коэффициент пропорциональности между темпом роста времени выполнения алгоритма и темпом роста параметра y.

5. Двумерная классификация FPT-алгоритмов по сложности

В общем случае частные эластичности Ex(z),Ey(z) являются функциями, зависящими от двух аргументов x и y. Однако ситуация значительно упрощается, если учесть тот факт, что для большинства параметризированных алгоритмов время работы алгоритма описывается L-функцией вида

z(x,y) = q(x) ■ /(y), (10)

где q(x) Е L — количественная компонента, а /(y) Е L — параметрическая компонента

функции z(x,y). Мультипликативная форма представления (10) характерна для алгоритмов с параметрически зависимым циклом, выполняющим полный перебор всех возможных вариантов при различных значениях параметра, тогда как в теле этого цикла выполняется проверка текущего варианта и время проверки зависит только от длины входа алгоритма. Именно такие алгоритмы порождает метод параметрической редукции. Заметим, что формула (1), определяющая время работы FPT-алгоритма, также имеет мультипликативную форму записи:

z(x,y) = O(xO(1) ■ / (y)). (11)

Пусть z(x,y) = q(x) ■ /(y) Е L. Тогда, исходя из свойств эластичности 1 и 3, частные эластичности Ex(z), (z) вырождаются в обычные эластичности функции одного

аргумента:

(z) = Ex(q(x) ■ f (y)) = (q(x)) + Ex(/(y)) = Ex(q(x)); (12)

(z) = (q(x) ■f (y)) = (q(x)) + (/(y)) = (/(y)). (13)

Теперь Ex(z) зависит лишь от x, а (z) — только от y. Поскольку q(x), /(y) Е L,

то каждая из этих функций принадлежит только одному сложностному классу из

K = {SUBPOLY, POLY, SUBEXP, EXP, HYPEREXP}. Обозначим через класс

сложности функции z(x,y) по аргументу x, а через Fy — класс сложности по аргументу y. Тогда всякому параметризированному алгоритму с функцией сложности z(x,y) = q(x) ■ /(y) Е L соответствует пара

СЗж; dy) Е K x K

характеризующая сложность данного алгоритма как по длине входа x, так и по значению параметра y. Таким образом, мы приходим к двумерной классификации парамет-ризированных алгоритмов по сложности. При двумерном подходе более отчетливую и общую формулировку получает определение FPT-алгоритма и условие (11): пара-метризированный алгоритм называется FPT-алгоритмом, если время его исполнения задается функцией z(x,y) = q(x) ■ /(y) Е L, для которой

(Fx, Fy) Е {SUBPOLY, POLY} x K.

Когда параметризированная задача не только FPT-разрешима, но и полиномиально разрешима, то для нее существуют FPT-алгоритмы, сложность которых соответствует парам

(Fx,Fy) Е {SUBPOLY, POLY} x {SUBPOLY, POLY}. (14)

Подобные параметризированные алгоритмы естественно назвать полиномиальными FPT-алгоритмами. Алгоритмы, сложность которых отвечает парам

(Fx,Fy) Е {SUBPOLY, POLY} x {SUBEXP}, (15)

(Fx,Fy) Е {SUBPOLY, POLY} x {EXP}, (16)

(Fx,Fy) Е {SUBPOLY, POLY} x {HYPEREXP}, (17)

целесообразно определить как субэкспоненциальные, экспоненциальные и гипер-экспоненциальные FPT-алгоритмы соответственно. Такие FPT-алгоритмы присущи NP-трудным задачам.

Введенная двумерная классификация FPT-алгоритмов не противоречит понятиям, используемым в настоящее время в параметризированной теории сложности применительно к FPT-алгоритмам, а лишь формально их уточняет и расширяет. При желании в декартовом произведении K x K всегда можно выделить более мелкие подмножества пар (Fx, Fy) и, как следствие, определить более детальную классификацию параметри-зированных алгоритмов, чем (14) — (17). При тривиальной параметризации y = x соотношения (12), (13) принимают единый вид

Ex(z) = Ex(q(x) ■ /(x)) = Ex(q) + Ex(/)•

В этом частном случае приходим к одномерной классификации алгоритмов. Аналогичный случай возникает, когда / (y) —тождественная константа.

Заключение

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

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

ЛИТЕРАТУРА

1. Гэри M., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982.

2. Ausiello G., Crescenzi P., Gambosi G., et al. Complexity and approximation, combinatorial optimization problems and their approximability properties. New York: Springer Verlag, 1999.

3. Flum J. and Grohe M. Parameterized complexity theory. Berlin; Heidelberg: Springer Verlag, 2006.

4. Downey R. and Fellows M. Parameterized complexity. New York: Springer Verlag, 1999.

5. Fellows M. and Koblitz N. Fixed-parameter complexity and cryptography // Technical Report DCS-207-IR, Department of Comput. Science, University of Victoria, 1992.

6. Gottlob G., Scarcello F., and Sideri M. Fixed-parameter complexity in AI and Nonmonotonic reasoning // Artific. Intellig. 2002. V. 138. P. 55-86.

7. Bodlaender H., Downey R., Fellows M., et al. Parameterized complexity analysis in computational biology // Comput. Appl. Bioscien. 1995. V. 11. P. 49-57.

8. Papadimitriou C. and Yannakakis M. On the complexity of database queries // J. Comput. System Scien. 1999. V. 58. P. 407-427.

9. Niedermeier R. Invitation to fixed-parameter algorithms: Oxford Lecture series in mathematics and its applications. Oxford: University Press, 2006.

10. CesatiM. Compendium of parameterized problems. http://bravo.ce.uniroma2.it/home/ cesati/research/compendium — 2006.

11. Gottlob G., PichlerR., and Wei F. Abduction with bounded treewidth: From theoretical tractability to practically efficient computation // Proc. of the Twenty-Third AAAI Conf. on Artificial Intelligence. Menlo Park: AAAI Press, 2008. P. 1541-1546.

12. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. М.: МЦНМО, 1999.

13. Грин Д., Кнут Д. Математические методы анализа алгоритмов. М.: Мир, 1987.

14. Быкова В. В. Математические методы анализа рекурсивных алгоритмов // Журн. СФУ. Математика и физика. 2008. №1(3). С. 236-246.

15. Бытова В. В. Метод распознавания классов алгоритмов на основе асимптотики эластичности функций сложности // Журн. СФУ. Математика и физика. 2009. №2(1). С. 46-61.

16. Бытова В. В. Эластичность алгоритмов // Прикладная дискретная математика. 2010. №2(8). С. 87-95.

17. Bykova V. V. Complexity and elasticity of the computation // Proc. of the 3-rd IASTED International Multi-Conference on Automation, Control, and Information Technology (ACIT-CDA 2010). Anaheim-Calgary-Zurich: ACTA Press, 2010. P. 334-340.

18. Грэхем Р., Кнут Д., Поташник О. Конкретная математика. М.: Мир; Бином. Лаборатория знаний, 2006.

i Надоели баннеры? Вы всегда можете отключить рекламу.