ПРИЛОЖЕНИЕ Сентябрь 2011
Секция 4
МАТЕМАТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ
УДК 510.52+004.051
FPT-АЛГОРИТМЫ и их классификация НА ОСНОВЕ ЭЛАСТИЧНОСТИ
B. B. Быкова
Идея параметризированного подхода к оценке сложности алгоритмов и задач была предложена в 90-х годах прошлого столетия [1]. За последние два десятилетия эта идея нашла применение в различных областях компьютерных наук, таких, как криптография, искусственный интеллект, вычислительная биология, теория баз данных [2]. Суть подхода заключается в рассмотрении так называемых параметризированных задач и параметризированных алгоритмов.
Параметризированная задача П состоит в том, что для заданных языка L(n) С Е* х N, где Е — некоторый конечный алфавит и N — множество всех неотрицательных целых чисел, и пары (I, k) Е Е* х N требуется определить, является ли (I,k) элементом L(n). Для алгоритма а, решающего данную задачу, (I,k) называют входом, I — его основной частью, n = |I| —длиной входа и число k — параметром задачи. Алгоритм а называют параметризированным, если его вычислительная сложность, определяемая как количество времени исполнения, оценивается с точки зрения длины входа n и значения параметра к. Таким образом, функция вычислительной сложности параметризированного алгоритма есть некоторая функция двух переменных t(n, к).
Параметризированная задача П считается разрешимой с фиксированным параметром, или FPT-разрешимой (Fixed-Parameter Tractable), если она может быть решена некоторым параметризированным алгоритмом за время t(n,k) = O(nO(1) • f (к)) для функции f, зависящей только от параметра k. Класс всех разрешимых с фиксированным параметром задач обозначается FPT. Соответствующие параметризирован-ные алгоритмы, решающие такие задачи, называют FPT-алгоритмами. Очевидно, что в FPT лежат все полиномиально разрешимые задачи. Однако наибольший интерес представляют FPT-разрешимые задачи, являющиеся NP-трудными. С теоретической точки зрения все эти задачи могут быть решены за полиномиальное время при каждом фиксированном значении параметра. Уже имеются сборники параметризированных задач, включая FPT-разрешимые задачи [3].
Теория параметризированной сложности развивается по нескольким направлениям: определение иерархии классов сложности параметризированных задач, установление условий FPT-разрешимости, выявление взаимосвязи между параметризированной сложностью и классами приближенных алгоритмов, развитие методов анализа и разработки параметризированных алгоритмов. В многочисленных работах по парамет-ризированной теории сложности для анализа и сравнения алгоритмов применяются методы классической (одномерной) теории сложности [4]. Между тем классическая одномерность ограничивает глубину анализа параметризированных алгоритмов, для которых вычислительная сложность описывается функцией от двух переменных t(n, k).
В настоящей работе предлагается мера вычислительной сложности алгоритма, с помощью которой можно исследовать темп роста функций многих переменных, анализировать степень влияния структуры входных данных параметризированного алгоритма на его вычислительную сложность, сравнивать между собой FPT-алгоритмы. Этой мерой является частная эластичность. Представленные результаты являются обобщением и расширением результатов автора, опубликованных в [5-7] применительно к одномерной теории сложности вычислений.
Под частной эластичностью Ex(z) функции z = z(x, y) по аргументу x понимается эластичность переменной z, которая рассматривается как функция только от x и при постоянных значениях y. Частная эластичность Ex(z) связана с частной производной функции z = z(x,y) по x соотношением Ex(z) = zX ■ x/z. Аналогично Ey(z) = z'y ■ y/z.
В общем случае Ex(z), Ey(z) являются функциями, зависящими от двух аргументов x и y. Однако ситуация упрощается, если учесть тот факт, что для большинства, параметризированных алгоритмов время выполнения алгоритма описывается функцией вида z(x,y) = q(x)f (y), где q(x) —количественная компонента, а f (y) —параметрическая компонента этой функции. Для такой формы представления функции z = z(x,y) частные эластичности Ex(z), Ey(z) вырождаются в обычные эластичности функции одного аргумента: Ex(z) = EX(q(x)), Ey(z) = Ey(f (y)). Теперь Ex(z) зависит лишь от x, а Ey (z ) —от y. Каждая из функций q(x), f (y) принадлежит одному слож-ностному классу множества K = {SUBPOLY, POLY, SUBEXP, EXP, HYPEREXP} по подобающему аргументу [5]. Обозначим через Fx класс сложности функции z (x, y) по аргументу x, а через Fy — класс сложности по аргументу y. Тогда всякому парамет-ризированному алгоритму с функцией вычислительной сложности z (x, y) = q(x)f (y) соответствует пара (Fx, Fy ) G K x K, характеризующая сложность данного алгоритма как по длине входа x, так и значению параметра y. Таким образом, мы приходим к двумерной классификации параметризированных алгоритмов. При двумерном подходе более отчетливую и общую формулировку получает определение FPT-алгоритма: параметризированный алгоритм называется FPT-алгоритмом, если его вычислительная сложность задается функцией z (x, y) = q(x)f (y), для которой (Fx, Fy ) S G {SUBPOLY, POLY} x K.
Введенная двумерная классификация FPT-алгоритмов не противоречит понятиям, используемым в настоящее время в параметризированной теории сложности применительно к FPT-алгоритмам, а лишь формально их уточняет и расширяет. Допустимо дальнейшее развитие предложенного подхода в части увеличения числа параметров и анализа других форм представления функций сложности.
Подробное изложение представленных результатов можно найти в [8].
ЛИТЕРАТУРА
1. Downey R. and Fellows M. Parameterized complexity. New York: Springer Verlag, 1999.
2. Flum J. and Grohe M. Parameterized complexity theory. Berlin; Heidelberg: Springer Verlag, 2006.
3. Cesati M. Compendium of parameterized problems. http://bravo.ce.uniroma2.it/home/ cesati/research/compendium — 2006.
4. Niedermeier R. Invitation to fixed-parameter algorithms: Oxford Lecture series in mathematics and its applications. Oxford: University Press, 2006.
5. Быкова В. В. Метод распознавания классов алгоритмов на основе асимптотики эластичности функций сложности // Журн. СФУ. Математика и физика. 2009. №2(1). С. 48-61.
6. Быкова В. В. Эластичность алгоритмов // Прикладная дискретная математика. 2010. №2(8). С. 87-95.
7. 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.
8. Быкова В. В. FPT-алгоритмы и их классификация на основе эластичности // Прикладная дискретная математика. 2011. №2. С. 40-48.
УДК 519.682
О СВОЙСТВЕ ФОРМАЛЬНЫХ ЯЗЫКОВ НЕПОСРЕДСТВЕННО СОСТАВЛЯЮЩИХ
К. В. Сафонов, Д. А. Калугин-Балашов
В теории формальных грамматик словарь языка X = {xi,...,xn} обычно называют терминальным множеством, тогда как нетерминальным называют конечное множество Z = {z1,...,zm} вспомогательных символов, необходимых для задания грамматических правил (грамматики) данного языка. Для элементов этих множеств определены операции конкатенации и формальной суммы, приводящие к мономам и многочленам [1].
Если мономы и многочлены построены в соответствии с грамматическими правилами данного языка, то они интерпретируются как предложения и совокупности предложений. Рассмотрение совокупности всех грамматически правильных предложений приводит к необходимости изучать формальные степенные ряды от терминальных символов.
Грамматики непосредственно составляющих (нс-грамматики) являются важным подклассом контекстно-зависимых грамматик (кз-грамматик); в то же время контекстно-свободные грамматики (кс-грамматики) являются частным случаем нс-грамматик. Нс-грамматике сопоставима система символьных уравнений
akjZjj = pkj(x,z), j = 1,...,m, kj = 1,...,Lj. (1)
Ее решением является совокупность (aiz^x)^,... , z^T (x)emT) формальных степенных рядов от терминальных переменных x = (xi,... , xn), а ряды ak z^ (x),5jJ явля-
ются нс-языком, определяемым данной грамматикой. Мономы ak и j называются контекстом. Рассмотрим вполне определенные нс-грамматики, которые сопоставимы системам уравнений вида
ajzjPj = Pj(x zj = 1 . ..,m (10
Эффективным инструментом изучения решений таких систем уравнений является коммутативный образ этой системы — новая система уравнений, переменные в которой рассматриваются как коммутативные, например из поля комплексных чисел. Понятно, что формальные степенные ряды (z1(x),... , zm(x)), являющиеся решениями исходной системы (1;), переходят в степенные ряды, представляющие алгебраические функции. Коммутативный образ некоторого многочлена или ряда r будем обозначать как ci(r) (commutative image) [2].
Произведем ряд замен вида zj = aj zj в. Получим систему уравнений
zj = pj (x, z), j = 1,..., m.
(2)