Научная статья на тему 'О погрешности полиномиального вычисления оптимальной раскраски графа в синхронизируемый автомат'

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

CC BY
248
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ПРОБЛЕМА РАСКРАСКИ ДОРОГ / ПОИСК ОПТИМАЛЬНОЙ РАСКРАСКИ / КРАТЧАЙШЕЕ СИНХРОНИЗИРУЮЩЕЕ СЛОВО / СИНХРОНИЗИРУЕМЫЕ АВТОМАТЫ / ROAD COLORING PROBLEM / OPTIMAL COLORING / SYNCHRONIZING AUTOMATA

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

Сильносвязный орграф называется допустимым, если исходящие степени всех вершин в нём одинаковы и длины циклов взаимно просты в совокупности. Раскраской допустимого графа G назовем произвольный автомат A, граф которого совпадает с G. Слово называется синхронизирующим автомат A, если оно переводит его в одно и то же состояние вне зависимости от исходного состояния автомата A. Оптимальная раскраска допустимого графа -это раскраска с кратчайшим синхронизирующим словом среди всех синхронизирующих раскрасок. Длину соответствующего синхронизирующего слова назовем значением оптимальной раскраски. Доказано, что любой приближенный полиномиальный алгоритм для вычисления оптимальной раскраски или ее значения имеет относительную погрешность не меньше 2 в случае трехбуквенного алфавита при предположении P = NP. Также показано, как результат можно перенести на случай двухбуквенного алфавита.

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

A strongly connected aperiodic directed graph with constant out-degree is called admissible. An automaton A is a coloring of admissible graph G if the underlying graph of A equals G. A word is called synchronizing for an automaton A if it takes A to a one particular state no matter of the starting state. Optimal coloring of admissible graph G is a synchronizing coloring with shortest reset word among all synchronizing colorings of G. The length of the corresponding reset word is called optimal coloring value. We prove that unless P = N P, no polynomial-time algorithm approximates optimal coloring or optimal coloring value within a factor less than 2 in the 3-letter alphabet case. We also extend this result to the 2-letter alphabet case.

Текст научной работы на тему «О погрешности полиномиального вычисления оптимальной раскраски графа в синхронизируемый автомат»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

2011 Прикладная теория автоматов №2(12)

ПРИКЛАДНАЯ ТЕОРИЯ АВТОМАТОВ

УДК 519.713

О ПОГРЕШНОСТИ ПОЛИНОМИАЛЬНОГО ВЫЧИСЛЕНИЯ ОПТИМАЛЬНОЙ РАСКРАСКИ ГРАФА В СИНХРОНИЗИРУЕМЫЙ АВТОМАТ1

М. В. Берлинков Уральский государственный университет, г. Екатеринбург, Россия

E-mail: berlm@mail.ru

Сильносвязный орграф называется допустимым, если исходящие степени всех вершин в нём одинаковы и длины циклов взаимно просты в совокупности. Раскраской допустимого графа G назовем произвольный автомат A, граф которого совпадает с G. Слово называется синхронизирующим автомат A, если оно переводит его в одно и то же состояние вне зависимости от исходного состояния автомата A. Оптимальная раскраска допустимого графа —это раскраска с кратчайшим синхронизирующим словом среди всех синхронизирующих раскрасок. Длину соответствующего синхронизирующего слова назовем значением оптимальной раскраски. Доказано, что любой приближенный полиномиальный алгоритм для вычисления оптимальной раскраски или ее значения имеет относительную погрешность не меньше 2 в случае трехбуквенного алфавита при предположении P = NP. Также показано, как результат можно перенести на случай двухбуквенного алфавита.

Ключевые слова: проблема раскраски дорог, поиск оптимальной раскраски, кратчайшее синхронизирующее слово, синхронизируемые автоматы.

Введение и история задачи

Введём определения синхронизируемого автомата и оптимальной раскраски. Пусть A = (Q, Е, 8) —полный детерминированный конечный автомат, где Q — множество состояний; Е — входной алфавит автомата; 8 : Q х Е ^ Q — функция переходов. Функция 8 продолжается единственным образом на множество Q х Е*, где Е* обозначает свободный моноид над Е. Таким образом, каждое слово из Е* действует на множестве Q в соответствии с функцией переходов 8. Через S.v будем обозначать образ подмножества S С Q под действием слова v, т. е. S.v = {8(q, v) : q G S}.

Автомат A называется синхронизируемым, если существует слово w G Е*, действие которого «перезагружает» автомат A, т. е. переводит автомат в некоторое состояние вне зависимости от исходного состояния автомата: q.w = p.w для всех q,p G Q, что эквивалентно равенству | Q.w | = 1. Произвольное слово w с таким свойством называется синхронизирующим автомат A, а длина кратчайшего синхронизирующего слова для A называется значением функцией Черни и обозначается через C(A). На рис. 1 в центре нарисован автомат Черни С4 с кратчайшим синхронизирующим словом ba3ba3b длины 9 и, следовательно, C(C4) = 9.

1 Работа выполнена при поддержке Федерального агентства по образованию России (грант

№2.1.1/13995) и РФФИ (грант №10-01-00524).

Рис. 1. Автомат Черни, его граф и оптимальная раскраска

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

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

Орграф С = иС(А) называется графом автомата А, если его множество вершин совпадает с множеством состояний автомата А, а дуги соответствуют переходам автомата, т. е. из вершины д есть стрелка в вершину д; тогда и только тогда, когда ^(д,а) = д1 для некоторой буквы а Е Е. Тогда С — орграф с одинаковыми степенями исхода вершин, и автомат А называется раскраской графа С. Сильносвязный орграф С называется допустимым, если исходящие степени всех вершин в нём одинаковы и длины циклов взаимно просты в совокупности. Условие одинаковых исходящих степеней вершин необходимо для возможности раскраски, а условия взаимной простоты длин циклов и сильной связности необходимы для разрешимости и неприводимости задачи нахождения синхронизирующей раскраски [1-3]. Очевидно, что любой допустимый орграф может быть получен как граф подходящего автомата и любая перераскраска автомата — это раскраска его графа.

Пусть G — допустимый орграф. Раскраску A назовем оптимальной раскраской G и положим OPT(G) = C(A), если для любой другой раскраски B графа G выполняется C(A) ^ C(B); в этом случае OPT(G) называется значением оптимальной раскраски. Другими словами, раскраска графа G оптимальна, если она есть раскраска с кратчайшим синхронизирующим словом среди всех возможных синхронизируемых раскрасок графа G. На рис. І показаны один четырёхвершинный орграф и две его синхронизируемые раскраски. В центре нарисован автомат Черни с кратчайшим синхронизиру-ютим словом ba3ba3b длины 9, а справа — оптимальная раскраска заданного орграфа с синхронизирующим словом a3 длины З.

Вопрос проверки автомата на синхронизируемость полиномиально разрешим (см. для примера [4]). Гораздо более интересным является вопрос о том, можно ли перераскрасить любой автомат так, чтобы он стал синхронизируемым. Этот вопрос известен как проблема раскраски дорог. Задачу впервые поставили в І970 г. Р. Л. Адлер и Б. Вэйс в работе [5], окончательно сформулировав её в следующем виде для допустимых графов в [І] (І9ТТ г.).

Гипотеза. Любой допустимый граф имеет синхронизирующую раскраску.

Несмотря на многочисленные исследования, эта гипотеза оставалась открытой более 30 лет и была положительно решена А. Н. Трахтманом [2] только в 2008 г. Доказательство в [2] конструктивно и дает кубический (от числа состояний) алгоритм для нахождения синхронизирующей раскраски любого допустимого графа. В [б] было показано, как можно решать эту задачу квадратичным алгоритмом.

Рассмотрим теперь задачу минимизации длины синхронизирующего слова. Для автоматов ее можно поставить следующим образом.

Задача Min-Synch-Length. Дан синхронизируемый автомат A, найти C(A).

Д. Эпштейн [Т] показал, что эта задача NP- и co-NP-трудна, и, следовательно, даже недетерминированный полиномиальный алгоритм не может решать эту задачу в предположении P = co-NP. Из этого результата, однако, не следует, что не существует полиномиального алгоритма, находящего синхронизирующее слово на один символ длиннее кратчайшего. Тем не менее в [8] показано, что в предположении P = NP не существует полиномиального алгоритма, решающего последнюю задачу даже для класса двухбуквенных автоматов.

Заметим, что для допустимых графов можно поставить две задачи, связанные с минимизацией длины синхронизирующего слова:

1) задачу вычисления значения оптимальной раскраски:

Задача OCV (Optimal Coloring Value). Дан допустимый граф G, найти OPT(G);

2) задачу построения оптимальной раскраски:

Задача OC (Optimal Coloring). Дан допустимый граф G, найти его оптимальную раскраску.

Заметим, что хотя задача Min-Synch-Length соответствует задаче OCV с зафиксированной раскраской, из её полиномиальной неаппроксимируемости не следует такой же результат для задачи вычисления значения оптимальной раскраски OCV, так как для нахождения OPT(G) не требуется искать значения C(A(G)) для всех раскрасок A(G) графа G.

Далее докажем, что в предположении P = NP любой приближенный полиномиальный алгоритм решения задачи OCV в трёхбуквенном алфавите имеет относительную погрешность не меньше 2, и покажем, как этот результат перенести на двухбуквенный случай и применить к задаче OC.

В п. І вводятся вспомогательные понятия и обозначения. В п. 2 доказано, что в предположении P = NP любой полиномиальный алгоритм для вычисления значения оптимальной раскраски имеет относительную погрешность не меньше 2 в случае трехбуквенного алфавита, и показано, как перенести результат на задачу поиска оптимальной раскраски. В п. З показано, что при помощи некоторых изменений в структуре графа можно доказать такой же результат для раскраски в двухбуквенном алфавите. Из этого, в частности, следует, что задача поиска оптимальной раскраски NP-трудна даже в случае двухбуквенного алфавита.

1. Вспомогательные определения

Пусть A — сильносвязный синхронизируемый автомат, Q — множество его состояний. Назовем подмножество S С Q занятым после применения некоторого слова v, если S С Q.v. Будем обозначать v(i... j) подслово слова v c i-го по j-й символ включительно; v(i) — i-й символ слова.

Пусть S, T — два непустых множества состояний автомата A. Через LRadius^S, T) обозначим минимальное число r, такое, что найдется t Є T и для каждого элемента s из S есть путь из s в t с длиной, в точности равной r. В роли множества T обычно будет выступать Q, поэтому для краткости обозначим LRadrns^S, Q) через LRadius^S). Например, на рис. І для автомата Черни LRadiusC4({1, 2}, {2}) = 1. Через LSynchA(S) для непустого множества состояний S обозначим длину кратчайшего слова v, синхронизирующего множество S в автомате A, т. е. такого v, что |S.v| = 1. Заметим, что на рис. І для автомата Черни LSynchC4({1, 2}) = 4, и LSynchA(Q) совпадает с C(A) для любого автомата A.

Пусть r — натуральное число; тогда через Image^S, r) (соответственно через PreimageA(S, r)) обозначим множество состояний q Є Q, таких, что в UG(A) есть путь длины не больше r из множества S в q (соответственно в множество S из q). Другими словами, ImageA(S, r) (соответственно PreimageA(S, r)) — это полный образ (соответственно прообраз) S под действием слов длины не более r в автомате A. Отметим несколько простых свойств введенных выше функций.

Лемма 1.

1) Функция LRadius везде определена.

2) LSynchA(S) ^ LRadiusA(S).

3) Пусть T — объединение двух непустых множеств T1 и T2; тогда

LRadiusA(S, T) = min(LRadrnsA(S, T1), LRadiusA(S, T2)).

4) Пусть S1 —непустое подмножество S; тогда LRadrns^S^T) ^ LRadius^S, T).

5) Функции LRadius, Image и Preimage зависят только от графа автомата.

6) Пусть S ^ Preimage(T, r) для некоторого r > 0; тогда LRadiusA(S, T) > r.

Доказательство. Пусть w есть кратчайшее слово, синхронизирующее S в автомате A; тогда S.w = qo для некоторого qo Є Q. Так как автомат сильносвязный, то существует слово v, такое, что q0.v Є T. Тогда S.wv — это одноэлементное множество в T, поэтому LRadiusA(S,T) определен и не превосходит |wv|. Таким образом, п. І леммы І доказан. Если в качестве T выбрать множество всех состояний, то слово v можно выбрать пустым. Следовательно, LRadius^S) ^ |w| = LSynch^(S), и п. 2 также доказан. Пункты З-Т непосредственно следуют из определений. Действительно, проверим для примера п. З. Заметим, что для функции LRadius справедливо соотношение LRadius^S, T) = mmLRadiusA(S, t). Следовательно, п. З следует из свойства

минимума и условия T = T1 U T2. ■

Поскольку все автоматы, рассматриваемые далее в доказательстве теоремы, имеют один и тот же граф, то ввиду п. 5 леммы І можно не указывать автомат в записи функций LRadius, Image и Preimage.

Используемые в работе определения из теории сложности вычислений можно найти в [9]. Приведем понятие аппроксимирующего алгоритма для нашей задачи. Пусть K — некоторый класс допустимых графов. Следуя определению погрешности алгоритма из [9], скажем, что алгоритм A/g приближенно находит значение оптимальной раскраски в классе K, если для любого допустимого графа G Є K алгоритм возвращает натуральное число A/g(G) ^ OPT(G). Тогда говорят, что алгоритм A/g решает OCV с относительной погрешностью к Є R для класса K, если

Теорема 1. В предположении P = NP любой полиномиальный алгоритм, решающий OCV для класса трехбуквенных автоматов, имеет относительную погрешность не меньше 2.

Доказательство. План доказательства следующий. Покажем, что полиномиальный алгоритм A/g, решающий OCV с относительной погрешностью меньше 2, может быть использован для полиномиального алгоритма, решающего NP-полную задачу ВЫПОЛНИМОСТЬ (SAT). Таким образом, получим противоречие с предположением P = NP. Более точно, пусть полиномиальный алгоритм A/g решает OCV с относительной погрешностью 2 — е, где 0 < е < 2. Возьмем произвольный экземпляр задачи SAT — формулу ф с n переменными и m дизъюнктами (дизъюнкциями переменных и их отрицаний). Построим допустимый граф С(ф), имеющий полиномиальный размер от m, n, и полином p(m, n), такие, что:

— если ф выполнима, то ОРТ(С(ф)) ^ p(m, n) (этот случай назовем GOODCASE);

— если ф невыполнима, то ОРТ(С(ф)) ^ (2 — 0,5e)p(m, n) (случай BADCASE).

Из построения следует, что ф выполнима тогда и только тогда, когда A/g возвращает значение, меньшее чем (2 — 0,5e)p(m, n). Следовательно, найдем решение NP-полной задачи SAT, используя полиномиальный алгоритм A/g.

Выполним теперь описанное сведение формально. Рассмотрим некоторый экземпляр ф задачи SAT с набором переменных Xi, X2,... , Xn и набором дизъюнктов от них Ci, c2,... , cm. Будем писать Xj Е Cj или — Xj Е Cj, если дизъюнкт Cj содержит в своей записи переменную Xj или ее отрицание соответственно. Без ограничения общности можно предполагать, что m > 3, n > 3 и задача ф нормализована, т. е. выполняются следующие условия:

(C1) Для любой переменной Xj есть дизъюнкт Cj, состоящий из переменной и ее отрицания, т. е. Cj = (xj V —Xj).

(C2) Переменная Xn равна 0 в любом наборе, выполняющем ф.

(C3) Для любой переменной Xj и дизъюнкта Cj если (Xj Е Cj и —Xj Е Cj), то Cj =

Для того чтобы выполнялись условия (С1), (С3), нужно добавить дизъюнкты вида = (х V — Хі), если их еще нет в формуле, и исключить все дизъюнкты, содержащие Хі, — Хі и еще какие-то переменные. Если (С2) не выполняется, то можно добавить переменную хга+і, дизъюнкт ст+і = (—Хга+1), а также дизъюнкт ст+2 = (хп+1 V —I Хга+1) ,

2. Случай трехбуквенного алфавита

xi V —xi.

чтобы удовлетворять (C1). Ясно, что такие преобразования формулы ф не влияют на ее выполнимость.

Вместо определения дуг графа С(ф) будем сразу определять переходы автомата A этого графа так, что если ф выполнима, то C(A) ^ p(m, n). Из этого следует корректность сведения для случая GOODCASE. Для случая BADCASE, т. е. когда ф невыполнима, сделаем предположение от противного о том, что есть некоторая раскраска B графа С(ф), такая, что

C(B) < (2 — 0,5e)p(m,n). (Ev)

Получив противоречие с этим предположением, докажем корректность сведения для случая BADCASE.

Таким образом, для случая GOODCASE достаточно показать, как можно за полиномиальное от n,m время построить автомат A графа С(ф), для которого есть синхронизирующее слово u длины не больше p(m,n). Для BADCASE нужно получить противоречие с тем, что найдется слово v длины не больше (2 — 0,5e)p(m,n), синхронизирующее автомат B. Заметим также, что из доказательства будет видно, что граф С(ф) строится за полиномиальное от размера ф время.

Схема автомата A показана на рис. 2. Множество состояний Q автомата A является объединением шести компонент (подмножеств состояний автомата, играющих определенную роль в доказательстве): Rjnjt, Rsat, Tsat, R/jx, Racc, Qspec. Алфавит E автомата A состоит из трех букв a,b,C, а функция переходов будет определена по ходу доказательства. Заметим, что компонента Qspec состоит из подмножеств C0, Ci, C2, R0 и состояния z и не окружена рамкой. Компонента Racc состоит из набора подмножеств Di, D2,... , Dn-i и подкомпоненты Rowacc, также явно на рисунке не обозначенной.

Компоненты Rjnjt и Tsat являются трехмерными, а компоненты Rsat и Rowacc — двумерными массивами состояний, т. е. каждое состояние из этих компонент может быть записано как K(ii, i2,i3), где K — одна из компонент Rjnjt, Rsat, Tsat, Rowacc (индекс i3 имеет смысл только для Rjnjt и Tsat). Строкой и столбцом этих компонент автомата будем называть подмножество состояний массива компоненты с фиксированным первым и вторым индексом соответственно. Например, на рис. 2 отмечены 1-я и 2-я строки Rjnjt (Rjnjt(1, *, *) и Rjnjt(2, *, *)); 1-я и (n + 1)-я строки Rsat (Rsat(1, *) и Rsat(n +1, *)); 4-й, 6-й и (4n + 2)-й столбцы Rowacc (Rowacc(*, 4), Rowacc(*, 6), Rowacc(*, 4n + 2)) и др. Одномерные массивы состояний C0, Ci, C2, Rfjx назовем столбцами, а R0 — строкой. Заметим, что строкам и столбцам компонент на рис. 2 соответствуют горизонтальные и вертикальные наборы состояний соответственно.

Введем теперь полиномы, требующиеся для определения компонент:

pi = pi(m, n) = m + 3 — число столбцов в Rjnjt и Rsat;

p2 = p2(m, n) = 15n2 + m — вспомогательный полином;

p3 = p3(m, n) = 4(pi + p2) — количество значений, которые может принимать третий индекс в Rjnjt;

p = p(m, n) = ((kn— 1)p3 + 2) + (n+1) + (18+(4n+13)(n—2)) —полином, участвующий в оценках на OPT(G);

p«dd = p«dd(m, n) = p3(kn — 1) = 4(15n2 + 2m + 2)(kn — 1) —высота столбцов C0, Ci, C2 компоненты Qspec.

Константа k выбрана так, чтобы выполнялось неравенство 2padd ^ (2 — 0,5е)р для всех m > 3, n > 3. Заметим, что k не зависит от задачи, т. е. от ф, m или n.

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

Рис. 2. Схема автомата А

При помощи свойств компоненты построим слово «той длины (кп — 1)рз +

+2 для автомата А, отображающее Q \ ^5рЄс в первую строку Д5аі (Дзд*(1, *)). Таким образом, фактически после этого шага потребуется отслеживать образ только одной строки. Для случая BADCASE докажем, что можно найти префикс слова V со свойством Дзді(1, *) С Кіпіі-УіпЦ и длиной не меньше (кп — 1)рз.

Компоненты Д5аі и Т8аі построены для определения выполнимости 0. В случае GOODCASE для автомата А найдется слово м8а* длины п + 1, такое, что ровно п состояний заняты в строке До^асс(1, *) после применения этого слова к первой строке Д^, полученной после шага 1. В случае BADCASE для автомата В докажем, что в До^асс(1, *) занято более п состояний после применения любого слова длины п +1 к первой строке Д^, полученной после шага 1.

Компоненты Д/ІХ и Дасс требуются для подсчета числа занятых состояний в строке До^асс(1, *) после предыдущего шага. Компонента Д/ІХ нужна для «фиксации» (наложения ограничений на структуру) слова, используемого на этом шаге для BADCASE•

4) Компонента Qspee играет специальную роль; в частности, с её помощью проверяется, что после предыдущего шага нет занятых состояний в Q \ Qspee. Кроме того, компонента Qspee помогает сделать граф сильносвязным.

Определим формально множества состояний компонент автомата A:

Rmit {Rmit (ir j ІС) І/) • ir Є [1 j kn] j ie Є [ 2j m]j І/ Є [0, p3 1]} j

где ir —номер строки Rinit; ie — номер столбца Rinit, при ie > 0 соответствующий номеру дизъюнкта; І/ — номер элемента в Rinit(ir, ie, *).

Следующие компоненты:

Tsat {Tsat (ir j iv j ivv) ^ ir Є [2j n + 1] j iv Є [1 j ir]j ivv Є {0j 1}} j

где ir — номер строки Tsat, при ir ^ n соответствующий номеру переменной плюс 1, а

iv (при iv = n + 1) и ivv соответствуют номеру переменной и ее значению.

Компонента Rsat состоит из подкомпонент R+t и R_at, где

R_at — {Rsat (iv j ie) ^ iv Є [1 j n + 1] j ie Є [ 2j 0] } j

R+a = {Rsat(iv, ie) і iv є [1,n],ie Є [1, m], iv = max(i Є [1,n] і x* Є c*c или -х* Є c*c)}.

В этом определении iv — это номер строки Rsat, при iv = n +1 соответствующий номеру переменной, а ie — номер столбца Rsat, при ie > 0 соответствующий номеру дизъюнкта.

Пусть h = (4n + 13)(n — 2) + 20, тогда R/ix = {R/ix(ir) і ir Є [1, h]}, т. е. компонента R/ix состоит из одного столбца высоты h.

Компонента Raee состоит из n — 1 строки Rowaee(i, *), и любой путь в Raee между двумя последовательными строками будет проходить через подкомпоненту Dj. Формально:

Rowaee {Rowaee(ivj ie) ^ iv Є [1 j n 1] j ie Є [4, 4n + 2] } j

Viv Є [1,n — 1] = {Div (ie) ^ ie Є [1, 35]}j

где iv —номер строки Rowaee, ie — номер столбца Rowaee и ie — номер элемента в D*. Для і Є [1, n — 2] положим D*(35) = Rowaee(i + 1, 4),

Race = Rowaee U Di U D2 U ... U D„_i,

hs = padd и определим Qspee следующим образом: Qspee = {z} U Rq U CQ U C1 U C2, где C = {C*(ir) і ir Є [1, hs]} для i Є {0,1, 2} —это столбец Qspee из hs элементов

и Rq = {RQ(ie) і ie Є [—2,m]} — строка Qspee из m + 3 элементов. Для i из {0,1, 2}

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

обозначим s = C (1).

При определении переходов в автомате A будем использовать метки LDxY, где X — метка компоненты, а Y — порядковый номер метки. Каждое такое определение переходов в автомате A однозначно задает определение дуг графа G(^), которое будем обозначать, заменяя первую букву L на E (например, LD^^ и ED^^). Будем говорить, что слово w перемещает/отображает состояние q в состояние q;, если q.w = q;, и слово w «сжимает», или «синхронизирует» множество S, если |S.w| = 1. Термины направления перемещения следует понимать в соответствии с рис. 2, и они будут использоваться только для визуального представления.

Переходы из состояний Ягпг* в автомате определены следующим образом: буква а перемещает состояния Яггаг4 внутри столбцов по «спирали» относительно номера строки и третьего индекса. Формально:

Rmtt(irj iej І/).a

Rm*t(ir, ie, (І/ + 1) mod Рз), если І/ + 1 < P3, LD*^

Rm^ir + 1, ie, (І/ + 1) mod Рз), если І/ + 1 = Рз и ir < kn, LD*^ ^Rm*t(1, ie, (І/ + 1) mod Рз), если І/ + 1 = Рз и ir = kn. LD*^

Буква Ь отображает состояния последней строки в первую строку Я8аі (т. е.

Ятй(кп, *, *).Ь С Я8аі(1, *)). Более того, состояния нулевого столбца последней строки компоненты Ягпг* отображаются на первую строку Я8аі (т. е. Ятй(кп, 0, *).Ь = = Язд*(1, *)). Другие строки перемещаются в первую строку Яігаіі по этой букве:

Rm*t (irj iej І/) .b

Rrat(1, ie, (І/ + 1) mod Р3), если ir < kn, Rsat(1, ie), если ir = kn, ie = 0,

Rsat(1, ((i/ + 1) mod Рі) — 1), если ir

kn, ie

Буква c перемещает все состояния R^t вверх, в первую строку Rm^:

Rmtt(ir, ie, І/).c = Rtntt(1, ie, (i/ + 1) mod Рз).

LDm*t4

LDmtt5

LDmtt6

LDm*t7

Следующее замечание следует из определений дуг в Яггаг4.

Замечание 1.

(A) Все буквы в автоматах А и В сохраняют «полное» множество остатков от деления третьего индекса в Яггаг4 на р3, пока состояния находятся в Яггаг4, т. е. если для X € Е, 5 С Ягпг* выполняется $.х С Ягпг* и V* € [0,р3 — 1]3^ € 5 П Ягпг* (*, *, *), то также выполняется V* € [0,р3 — 1]3д € 5.x П Ягпг*(*, *, г).

(B) /таде(Ягпг*(1, *, 0),ра^) С Ягпг*; другими словами, кратчайший путь, ведущий из Ягпг*(1, *, 0) вне Я*™*, имеет длину больше = Рз(кп — 1).

Рассмотрим теперь компоненты Я5а* и Т8а*, которые «кодируют» ^. Заметим, что образ множества { — 2, —1, 0} под действием функции <^(х) = —0,5х2"2,5х + 1 равен {1, 3,4}, и определим:

Rmгt(1,iej 0) если x Cj

Rsat(iv, ie).x = ^ R/*x(^(ie)), если x Є{a,b},Іe ^ 0,iv = n +1, Rsat(iv + 1, ie), если x Є {a, b}, ie ^ 0, iv ^ n.

Для iv ^ n и ie > 0:

+ 1, , 0) , если х а и 'хг^ € Сгс ,

+ 1, *^, 1), если х Ь и хг^ € Сгс ,

Я5а*(г^ + 1,гс), если х = а и не выполняется (—х^ € сгс),

,Я5а*(г^ + 1,гс), если х = Ь и не выполняется (х^ € сгс);

«г** + 1, если х = С,

Т,а*(гг + 1, ), если х € {а, Ь}, гг ^ п,

Яо^асс(1, 2(2г^ + )), если х € {а, Ь}, гг = п +1.

LDsat1

LDsat2

LDsat3

LDsat4

LDsat5

LDsat б

LDsat7

LDsat8 LDsat 9

LDsat10

0

Будем писать 5 М-г Т, если любой путь из подмножества 5 длины не меньше г содержит вершины из подмножества Т. Заметим, что

если 5 ^Г1 Т1 ^Г2 Т2, то 5 ^П+Г2 Т2. (1)

Следующее замечание непосредственно следует из определений дуг в Я^а* и Тзд* и свойств введенного отношения.

Замечание 2. Пусть гс € [—2,т]; тогда

(А) Если гс ^ 0, то Я5а*(*, *с) ^п+1 Ят*(1, *с, 0) и Я/гх (по ЕД^Д, 2, 3).

(в) Если гс > 0, то Я5а*(*, гс) ^”+1 Ягы*(1, гс, 0) и {зь ^} и Яасс (по ЕД^Д, 4,..., 7).

Введем линейный порядок между состояниями, находящимися в одной строке Яои’асс в соответствии с номерами столбцов компоненты Яои’асс. Пусть 5 — некоторое множество. Назовем две вершины из 5, лежащие в одной строке Яои>асс, последовательными, если между ними (в соответствии с порядком) нет других вершин из 5. Назовем 1-переходами в графе С(ф) переходы, помеченные буквой 1 € Е в автомате А Следующая лемма показывает, как компоненты Я5а* и Т,а* кодируют формулу ф.

Лемма 2.

GOODCASE: Существует слово м8а* длины п +1, такое, что Я8а*(1, *).м8а* П Я/гх = = Я/гх({1, 3, 4}), и если положить Б = Я5а*(1, *).м8а* П Яасс, то для 5 верны следующие свойства:

(00) 5 С Яои>асс(1, *), т. е. 5 полностью содержится в первой строке;

(01) номера столбцов состояний из 5 четны;

(02) |51 = п;

(03) расстояние между любыми двумя последовательными состояниями из 5 в строке равно 2, 4 или 6;

(04) Яо^асс(1, 4п) € 5, Яо^асс(1, 4п + 2) € 5.

BADCASE: Пусть при применении слова длины п + 1 к Я8а*(1, *) используются только а- и Ь-переходы; тогда Я8а*(1, *).^8а* П Я/гх = Я/гх({1, 3,4}), и если положить 5 = Я5а4(1, *).г>8а* П Яасс, то для Я верны следующие свойства:

(В0) 5 С Яои>асс(1, *), т. е. 5 полностью содержится в первой строке;

(В1) номера столбцов состояний из 5 четны;

(В2) |51 > п.

Доказательство. Рассмотрим сначала ситуацию GOODCASE. Так как ф выполнима, то существует набор значений переменных х1 = Ь1, х2 = Ь2, ..., хп = Ьп, такой, что ф(Ь1,Ь2,... , Ьп) истинна, или, другими словами, существует минимальный номер переменной ] = ] (г) для каждого дизъюнкта Сг, такой, что либо Ь^- = 1, х^- € Сг, либо Ь^ = 0, — х^- € Сг. Сопоставим слово м8а* этому набору значений переменных следующим образом. Положим и8а*(п + 1) = а; и8а*(г) = а, если Ьг = 0, и м8а*(г) = Ь в противном случае.

Из определений ЬДзд42, 3 и условия € {а,Ь}п+1 следует, что Я-а*(1, *).м8а* =

= Я/гх({1, 3,4}). Осталось доказать, что выполняются свойства множества 5 = = Я8а*(1, *).м8а*ПЯасс. Для этого рассмотрим образ некоторого состояния д = Я8а*(1, гс) под действием и8а*, где гс > 0:

д.и«а* Я«а* (1, гс) .и«а* (1 . . . ,7 (гс) . . . п + 1)

= (гс) + 1,^(гс),Ь^(гс)).м5а*(^(гс) + 1... п + 1) =

= (гс) + (п + 1) — ](гс),^'(*с), Ь,(*с)).ива*(п + 1) =

Т«а* (п + 1, ^ (гс) , Ь^(гс)) .и«а* (п + 1) Я°^асс(1, 2(2^' (гс) + Ь^'(гс))). (Е^1)

Из условия нормализации (С1) и равенства Я8а*(1, гс).м8а* = Яасс(1, 2(27(гс) + Ь-(гс))) следует свойство (02), потому что {7(гс) : гс € [1,т]} = [1,п]. Свойства (01), (03) выполняются, потому что разность между номерами столбцов 2(27 + Ь-) и 2(2(7 + 1) + +Ь-+1) четна и меньше либо равна 6 и {7(гс) : гс € [1,т]} = [1,п]. Свойство (00) выполняется, так как Яои>асс(1, 2(27(гс) + Ь^(гс))) € Яои>асс(1, *), а свойство (04) следует из равенства (Е^) и того, что Ьп = 0 по (С2). Итак, случай GOODCASE доказан.

Рассмотрим теперь BADCASE. Так как при применении слова г8а* к Я8а*(1, *) нет использования с-переходов, то по определениям ЕД5а*2,... , 7,10 получаем, что

Я-а*(1, *Ыа* = Я/гх({1, 3, 4}) и Я+„*(1, ♦Ыа* С Яасс(1, *).

Осталось доказать свойства (В1) и (В2) для 5 = Я8а*(1, *).г8а* П Яасс. В силу (С1) для любого 7 € [1,п] существует номер гс = гс(-), такой, что сгс = (х- V— х-). Следовательно,

Я««*(1, гс(-)).г««* Я««*(7, гс(-) ) .г««* (7 . . . п + 1)

= Т5а*(7 + 1,7, а^.г^О' + 1... п + 1) =

= Т5а*(п + 1,7, а1 ).г5а*(п + 1) =

= Яасс(1, 2(27 + а1)), где а1 € {0,1},7 € [1,п]. (Е^)

Из этого равенства следуют (В1) и неравенство |Я8а*(1, *).г8а* П Яасс(1, *)| ^ п. Чтобы показать, что неравенство строгое, ввиду равенства (Е^2) достаточно доказать, что существует номер 7 € [1, п], такой, что

Яасс(1, 2(27)) € Я^*(1, *).г5а* и Яасс(1, 2(27 + 1)) € Ява*(1, *).гва*. (Е^з)

Так как Я+а*(1, г).г8а* С Яасс(1, *), то для любого номера дизъюнкта гс € [1,т] существует номер переменной г^(гс) € [1,п], такой, что

Я««* (1 , гс) .г««* (1 . . . (гс)) Я««* (г^ (гс) , гс) .г««* (г^ (гс)) Т««* (г^ (гс) + 1, (гс) , гст (гс)) .

Предположим, что для всех гс1, гс2 € [1,т] равенство номеров переменных г^(гс1) = = г^ (гс2) влечет равенство значений переменных г^ (гс1) = г^ (гс2). Для 7 € [1,п] положим Ь- = 1, если г^ (гс) = 7, г^ (гс) = 1, и Ь- = 0 в противном случае; тогда ф(Ь1,Ь2,...,Ьп) = 1. Это верно, потому что для любого номера дизъюнкта гс выполняется Ь^(гс) = г^(гс). Следовательно, предположение противоречит тому, что ф невыполнима в BADCASE. Поэтому существуют некоторые числа 7, гс1, гс2, такие, что г^ (гс1) = г^ (гс2) = 7, г^ (гс1) = 0, г^ (гс2) = 1. Из этих равенств и определений дуг ЕД5а*4, 5, 9 непосредственно следует (Е^3), а следовательно, и доказательство леммы 2 в случае BADCASE. ■

Перейдем теперь к определению переходов в компонентах Я/гх и Яасс. Дуги Д одинаковы для всех г и изображены на рис. 3. Символ Е на рисунке обозначает алфавит {а,Ь}, а метки Ек на дугах заменяют к — 1 промежуточных вершин и соответствующих переходов по а, Ь между начальной и конечной вершинами соответствующей дуги. Символы е1(г) и е2(г) могут быть одной из букв а, Ь и будут определены в процессе доказательства.

Переходы для Я/гх и Яасс удобно представить, используя длины некоторых префиксов слова, фиксируемого при помощи компоненты Я/гх на шаге 3. По определению положим ^1 = 3, Л,2 = Л,3 = ... = Л.га-1 = 12 + 4п, = 13 и обозначим

иг = иг(11,12,. . . ,1г) = а311а^212 ... 1г-1а^1г для г € [1, п] и некоторых букв 11, 12, 1п. Заметим, что высота Л, столбца Я/гх равна |ип| + 3.

Обозначим Я2гх = {Я/гх({|иг|, |иг| + 2, |иг| + 3}) : г € [1,п — 1]} и определим

д.х

/гж

Япг*(1, 0, 0), если х = с и д € Я/гх \ Я/гж({Л — 3, Л — 1, Л}), Я/гх(гг + 1), если д = Я/гх(гг),гг < Л и (х = а или (х = Ь и д € Я2гх)),

ЯгЫ*(1, 0, 0), если х = Ь и д € Я/гх \ Я2гх,

з0, если х = с и д € Я/гх({Л — 3, Л — 1, Л}) и Дга-1(35),

51, если х = с и д € Яасс \ Дга-1(35),

Яоиасс(г^, гс + 1), если д = Яоиасс(г^, гс), гс < 4п + 2 и х = с,

(1), если д = Яоиасс(г^, 4п + 2) и х = с.

ДД«СС 1

£Д*сс2

ДДасс3

ДД«сс4

ДД«сс5

ЬДассб

ДДасс7

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

Переходы в Д по а,Ь (кроме помеченных е1(г), е2(г), Е — е1(г), Е — е2(г)) определяются по рис. 3. Для возможности сослаться на определения дуг в Д будем использовать метку ЕДасс8. Следующее замечание говорит о назначении компоненты Я/гх.

Рис. 3. Подкомпонента ^

Замечание 3.

GOODCASE: Пусть и = ип(Ь, Ь,... , Ь, с); тогда и имеет следующие свойства: и(1) = а, Я/гх({1, 3, 4}).и = з0 и для любого собственного префикса и/ слова и справедливо Я/гх({1, 3, 4}).и С Я/гх.

BADCA.SE: Пусть слово и обладает свойствами, указанными в утверждении для GOODCASE; тогда и = ип(11,12,... , 1п) для некоторых 11,12,... , 1п € Е.

Доказательство. В случае GOODCASE докажем по индукции для г € [0, |и| — 1], что Я/гх({1, 3, 4}).и(1... г) = Я/гх({г + 1, г + 3, г + 4}). База индукции для г = 0 очевидна. Докажем шаг индукции для г. Если и (г) = а, то по ЬДасс2 получаем Я/гх({г,г + 2, г + 3}).а = Я/гх({г + 1,г + 3,г + 4}). В противном случае и(г) = Ь; тогда г = |и-1

для некоторого 7, поэтому Я/гх({г,г + 2, г + 3}) С Я2гх, и по ЬДасс2 снова получаем

Я/гх({г, г + 2, г + 3}).Ь = Я/гх({г + 1, г + 3, г + 4}). Следовательно, шаг индукции доказан. По заключению индукции получаем, что

Я/гх({1, 3,4}).и = Я/гх({1, 3, 4}).и(1... |и| — 1)с = Я/гж({Л — 3, Л — 1, Л}).с = во

и при применении слова и(1... |и| — 1) состояния из Я/гх({1, 3, 4}) перемещаются внутри Я/гх.

Рассмотрим теперь случай BADCASE. Так как только состояния из Я/гх({Л — 3, Л — 1,Л}) могут перейти в ^0 из Я/гх и по условию Я/гх({1, 3, 4}).и(1... |и| — 1) С С Я/гх, то Я/гх({1, 3, 4}).и(1... |и| — 1) С Я/гх({Л — 3, Л — 1, Л}). Все переходы внутри Я/гх (по ЕАасс2) увеличивают на 1 индекс состояния в столбце Я/гх, поэтому Я/гх({1, 3, 4}).и(1... |и| — 1) = Я/гх({Л — 3, Л — 1, Л}) и для любого г € [0, Л — 4] и 7 € {1, 3, 4} должно выполняться Я/гх(7).и(1... г) = Я/гх(г + 7) и |и| = |ип| = Л — 3.

Покажем индукцией по к < |ип|, что если для г € [1, к — 1] слово и(1... к — 1) является префиксом ип для некоторых 11,12,..., 1п, то и и(1... к) — также префикс ип. База индукции очевидна, так как по условию и(1) = а.

Если для некоторого к € [3,Л — 2] из состояния Я/гх(3).и(1 ...к — 3) = Я/гх(к) есть только один переход внутри Я/гх, то и(к) = и(к — 2), так как Я/гх(к) также равно Я/гх(1).и(1... к — 1) (т. е. Я/гх(1) также проходит через эту вершину под действием перехода и(к) и должно остаться в Я/гх). Аналогично, если для к € [3, Л — 3] из состояния Я/гх(4).и(1... к — 4) = Я/гх(к) есть только один переход внутри Я/гх, то и(к) = и(к — 3). Следовательно, для всех к € [2, Л — 2], таких, что Я/гх(к) € Я2гх, выполняется и(к) = и(к — 2), и для всех к € [4, Л — 3], таких, что Я/гх(к) € Я2гх, выполняется и(к) = и(к — 3).

Заметим, что для к € {2, 3} утверждение следует из соотношений а = и(1) = и(3), и(2) = и(3) = и(5). Пусть к > 3; если к совпадает с длиной одного из иг, то шаг индукции выполнен для 1г = и(к). В противном случае, так как к > 3 и длины иг отличаются более чем на 1, то или к — 2, или к — 3 не совпадает с длиной ни одного из иг и, следовательно, выполняется одно из соотношений и(к) = и(к — 2) = а или и(к) = = и(к — 3) = а, что влечет шаг индукции. Заключение индукции дает необходимый результат. ■

Отметим также несколько несложных свойств компонент Я/гх, Яасс.

Замечание 4.

(A) Я/гж {Я гпг*

(1, 0,0), в0} (по ЕАасс1... 4).

(B) Яои„сс(к, *) ^4га_2 Яои„сс(к, 4п + 2) (по ЕД„сс5, 6).

(с) Яои„сс(к, 4п + 2) ^15 {А;(35), 51} (по ЕД„сс7, 8).

(б) Яоиасс(1, *) ^^+4га_7 {в0, 51} (по В, С и равенству (4п — 2)(п — 1) + 15(п — 1) =

= Л + 4п — 7).

(Е) Я8а*(1,гс) ^+5га_6 {Яггаг*(1, 0,0),Яг„г*(гс, 0, 0),5о,^1, ^} (по свойству М-, пунктам А, В замечания 2 и пунктам А, Б этого замечания).

(Г) Яоиасс(к, 4п + 2) ^4га+13 {Яоиасс(к + 1, 4п + 2), 51} (по В и С).

(0) Яои„сс(к, 4п + 2) ^(п_к_1)(4п+13)+15 {^о, 51} (по Г и С).

В замечании 3 показано, как при помощи Я/гх фиксируется шаблон слова. Далее отметим, как могут перемещаться состояния в Яасс под действием таких слов в обоих случаях.

Замечание 5. Пусть 5 — такое подмножество состояний, что для к =1 выполняются следующие свойства.

GOODCASE:

(00) 5 С Яоиасс(к, *), т. е. 5 полностью содержится в к-й строке;

(01) номера столбцов состояний из 5 четны;

(02) |51 ^ п — к + 1;

(03) расстояние между любыми двумя последовательными состояниями из 5 в строке равно 2, 4 или 6;

(04) Яоиасс(к, 4п) € 5, Яоиасс(к, 4п + 2) € 5.

Тогда существует дораскраска компоненты Яасс (т. е. определение е1(г),е2(г)), такая, что 5.ип(Ь, Ь, . . . , Ь, с) = 50.

BADCASE:

(В0) 5 С Яоиасс(к, *), т. е. 5 полностью содержится в к-й строке;

(В1) номера столбцов состояний из 5 четны;

(В2) |51 > п — к + 1.

Тогда для всяких таких 11,12,...,1п € Е, что любой собственный префикс и1 слова ип(11,12,... , 1П) оставляет 5 внутри Яасс (т. е. 5.и; С Яасс), выполняется 5^(11,12, . . . ,1п) = 50.

Доказательство. Рассмотрим случай GOODCASE.

Обозначим и = ип(Ь, Ь,... , Ь, с) и докажем индукцией по к € [1,п] утверждение о том, что А1, А2,... , А;_1 можно раскрасить так, что для множества Т; = = 5.и(1... |и;| — 4) выполнены свойства (00) - (04) для к. База индукции следует из условий замечания. Докажем шаг индукции для к + 1. Пусть £ обозначает разность номеров столбцов между максимальным (равным Яоиасс(к, 4п) по (04)) и предшествующим состоянием Яоиасс(к, 4п — £) из Т; в к-й строке. Раскрасим А; в зависимости от значения £ так, чтобы путь, помеченный а14_*, помечал путь из А;(1) в А;(35). Это можно сделать, положив

е1(к) = а, е2(к) = а, если £ = 2; е1(к) = Ь, е2(к) = а, если £ = 4; е1(к) = Ь, е2(к) = Ь, если £ = 6.

Тогда под действием слова и(|ик | — 3 ... |ик+1| — 4) = а3Ьа9+4га (при к < п — 1) состояние Яоиасс(к, 4п) будет двигаться по пути

Яоиасс(к, 4п) — Яоиасс(к, 4п +1) — Яоиасс(к, 4п + 2) —

— А;(1) — ... — А;(35) = Яоиасс(к + 1, 4) — Яоиасс(к + 1, 4п),

где путь из А;(1) в А;(35) помечен Ьа13, а все остальные состояния из Яоиасс(к, г) € Т; будут двигаться по пути

Яоиасс(к, г) — Яоиасс(к, г + 1) — ... — А (1) —

—— ... —— А;(35) = Яоиасс(к + 1, 4) —— Яоиасс(к + 1, г + £),

где путь из (1) в (35) помечен а14_*. Таким образом, оба состояния Яоиасс(к, 4п—£) и Яоиасс(к, 4п) перейдут в состояние Яоиасс(к + 1,4п), а разность номеров столбцов между остальными состояниями не изменится. Из этого следует, что все свойства (00) - (04) выполнены для к + 1 и множества Т;+1 = 5.и(1... |и^+1| — 4). Заметим, что для случая к = п — 1 доказательство такое же, но рассматриваются пути только до

Dk(35). В конечном итоге получаем, что S.wn(b, b,..., b, c) = Dn-1(35).c = s0, и случай GOODCASE доказан.

Докажем BADCASE аналогичным способом, добавив к утверждению свойство (B5): Rowacc(k, 4n+2) G S. Обозначим w = wn(d1, d2,... , dn) и докажем индукцией по k G [1, n] свойства (B0, B1, B2, B5) для Tk = S.w(1... |wk| — 4). База индукции снова следует из условий, кроме свойства (B5), которое докажем на шаге индукции без использования предположения. Докажем шаг индукции для k + 1. Рассмотрим, как перемещаются вершины из Tk под действием слова f = w(|w^| — 3... |w^+1| — 4) = = a3dka9+4n. Докажем (B0) и (B5). Так как нет переходов из Rowacc(k + 1, *) в Rowacc(k, *) U Dfc, то ввиду свойств B, C замечания 4 получаем, что Tk+1 С С Rowacc([k + 1, n —1], *)UDk+1.. .UDn-1. Пусть некоторое состояние q G Tk+1 совпадает с Rowacc(k+1, 4n+2) или не содержится в Rowacc(k +1, *). Ввиду условия G замечания 4 максимальный путь из q внутри Racc имеет длину меньше (n — k — 2)(4n + 13) + 15. Однако по условиям путь из q под действием слова w(|wk+11 — 3... |w| — 1) длины (n — k — 2)(4n + 13) + 17 должен лежать в Racc. Получили противоречие, и свойства (B0) и (B5) доказаны. Заметим, что для доказательства (B5) не использовалось предположение индукции. Следовательно, оно выполнено и для базы индукции.

Так как только на 4-й позиции слова f стоит буква, отличная от а, и состояние Rowacc(k, 4n + 2) G Tk, то по (B1) Rowacc(k, 4n + 1) G Tk, поэтому длина кратчайшего пути из Tk в состояние Dk(1) не меньше 4. Следовательно, все состояния из Tk, кроме, быть может, одного (Rowacc(k, 4n + 2)), перемещаются по пути, помеченному a|f 1 (так как по EDacc6 для состояний из Rowacc а- и b-переходы совпадают). Поскольку этот путь имеет четную длину и не может содержать циклов, получается, что разница номеров столбцов состояний из Tk+1 оставшихся состояний такая же, как и у прообразов из Tk. Отсюда следуют свойства (B1) и (B2). ■

Рассмотрим компоненту Qspec. Пусть q G Qspec и x G Е. Тогда

Rinit(1, i^ 0) , если q R0(ic) и x c LDspec!-

Ro(ic — 1), если q = Ro(ic) и ic > 1,x = c, LDspec2

z, если q = R0(1) и ic > 1,x = c, LDspec3

s0, если q = z и x = c, LDspec4

Ci(ir + 1), если q = Ci(ir), ir < hs, LDspec5

^0 (m), если q = Ci(hs). LDpec6

Заметим, что граф G(^) теперь полностью определен, хотя раскраска A еще задана не до конца (не определены 6j(1),6j(2)).

Для доказательства сильной связности графа рассмотрим рис. 4. Здесь вершины графа соответствуют подмножествам графа G(^), а переход из подмножества S1 в подмножество S2, помеченный некоторым числом k (если не указано, то предполагается 1) и, возможно, некоторым условием (в круглых скобках) на индексы вершин множеств S1,S2, соответствует тому, что Image(S1, k) 1Э S2 и из любой вершины множества S1 можно перейти в вершину из S2, где множества S1 и S2 получены из S1 и S2 соответственно наложением указанного на переходе условия (если множество содержит индекс, на который накладывается условие). Например, переход из Rsat(*,ic) в множество Tsat, помеченный числом n +1 и условием ic > 0, означает,

что Image (R+^n + 1) ^ Tsat и из любой вершины из можно перейти в некото-

рое состояние Tsat. Достижимость Tsat для этого перехода следует из условий (C1)

q.x

и 5,9, а существование перехода из Д+О в Т8а- следует из определения Д+О

и ЕД8а44, 5. Остальные переходы в графе подмножеств следуют непосредственно из определений переходов графа С(^).

Заметим также, что любая вершина д графа С(^) принадлежит, по крайней мере, одному подмножеству Б на рис. 4, причем множество /таде({д}, 1) содержится в объединении множеств, в которые ведут переходы из множества Б, и самого множества Б (кроме вершин, окруженных пунктирной линией — 30,31,32). Таким образом, по рисунку для любой вершины можно найти множество, в котором содержится Ргегтаде({д}, 1).

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

Рис. 4. Граф подмножеств С('ф)

В следующем замечании показаны основные свойства О5рес.

Замечание 6.

(A) Для г Е {0,1, 2} любой путь, начинающийся вне С и проходящий через Сг, содержит з (так как только переходы из ЕД5рес4 оканчиваются в СДз) для 3 > 1).

(B) Для г € [0, — 1] и г 6 {0,1, 2} любой путь длины г из з оканчивается в Сг(г + 1)

и любой путь длины г, оканчивающийся в (г + 1), начинается в 3 (по (А) и тРее4).

(С.1) Ргегтаде(Яо, М = Орес \ {г}.

(С.2) Ргегтаде(Д;гай(*, г, *), 1) С Дпй(*, г, *) и Д^*, г) и До для г = 0.

(С.з) Ргегтаде(Д;гай(*, 0, *), 1) С Дпй(*, 0, *) и Д^*, 0) и До и Д/^.

(С.4) Ргегта^Д,^*, г), 1) С Д*гаЙ(*, {0, г}, *) и Д^*, {0, г}).

(Б) Ргег^таде(^^гпг-(*, ^ *) , ) С -^ггог-(*, {0,г}, * ) и (*, {0,г}) и -^/гх и зрес для

г € [—2, т] по пунктам (С.1 ... 4).

(Е.1) /тадв(Дг„г*(*, г0 *), 1) С Д™й(*, *с, *) и Д^*, *с) для гс > 0 в силу £Ды*5.

(Е.2) /тадв(Д5«*(*Л), 1) С Д^*^, *) и Д^Мс) и Т^ для гс > 0 в силу т„д, 4... 7.

(Е.3) /таде(Т5„4,1) С Т^ и Д„сс и {зо, зь 32} в силу ЕДа*8, 9,10.

(Е.4) /таде(Д„сс, 1) С Д„сс и {зо, 3Ь 32} в силу £Д„сс5, 6, 7.

(Е.5) /таде({3о, 31, 32}, Л,з) С Со и С1 и С2 в силу ЕДзрес4.

(^0 1<тадв(Дгпг-(*, гс, *) , ^з) С Дгпг-(*, *) и (*, гс) и Тза- и Дасс и Со и С1 и С2 для

гс > 0 в силу (Е.1... 5).

Доказательство оценок для длин синхронизирующих слов и и V автоматов А и В соответственно проведем следующим образом: для GOODCASE пошагово построим синхронизирующее слово. При этом на каждом шаге будем отслеживать образ множества состояний автомата после применения уже построенного слова. Для BADCASE также пошагово докажем, что синхронизирующее слово V должно перемещать состояния аналогично тому, как перемещаются состояния в GOODCASE под действием слова и, либо можно выбрать несколько состояний в образе соответствующего префикса V, для которых значение ДДа^гив по следующей лемме будет достаточно большим для получения требуемой оценки длины оставшегося суффикса V (по п. 2 леммы 1).

Лемма 3. Справедливы следующие неравенства для функции ДДа^гив:

(A) £ДЫгм5({дь 92}) ^ Рз(кп — 1), где 91 € {^, 31, 32}, 92 = 91.

(B) ЬДайгив({д1,д2}) ^ Рз(кп— 1),где 91 = Д»пй(Мс1, *л), *с1 =0, 92 Е Дгпй(*,*с2, *)и

URsа^(*, гс2) и Т«а4 и Д/гж и Дас^ 0 = гс2 = гс1.

(C) ЬДа^ги3({дьд2}) ^ Рз(кп— 1), где 91 = Дгы^М^, г/1), *с1 =0, 92 Е Дтй(*Л2, *)и

URsа^(*, гс2 ) и Т«а4 и Дас^ 0 < гс2.

(Б) ДДа^гм3({9/,92,9з}) ^ Рз(кп — 1), где 9/ = Д,а*(Мс1), 92 = Дпй(*г2, 0, г/2),

93 Е Дтг4(*,гсз, *) и Д«а4(1,гсэгг2 < ^^, 0 < гсз = гс1 и (г/2 ^ 3р2 + 1 или гГ2 1).

(Е) ЬДа^гм3({91,92}) ^ рз(кп — 1), где 91 Е /таде(Д/гх, 1), 92 Е /таде(Дасс, 1),

{91, 92} = {3о}, 91 Е (Д/гх и Дасс) или 92 Е (Д/гх и Дасс).

Доказательство. Пункт (А) непосредственно следует из пункта (В) замечания 6, так как для г Е [0, — 1] путь из 92 длины г не может заканчиваться в Сг(г +1),

где заканчивается путь длины г из 91.

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

По пункту (В) замечания 1 кратчайший путь из Дтй(1,гс1, *) вне не мень-

ше = рз(кп — 1). Поэтому для пунктов (В), (С) выполняется ДДа^гив^, Я \ Ятй(1, гс1, *)) ^ ^8. Следовательно, по п. 3 леммы 1

ЬДа^гм3({91, 92}, О) ^ шш(^8, ДДа^ги3({91,92}, Дт^(1, *с1, *))),

т. е. достаточно доказать, что ДДа^ги^^, 92}, Дтй(1, гС1, *)) ^ Л.5. По п. 6 леммы 1 для этого достаточно показать, что 92 Е Ргегтаде(Дггаг4(1, гс1, *), Л.5). А это, в свою очередь, следует из пункта (Б) замечания 6.

Для доказательства пункта (Б) предположим от противного, что есть пути Р/, Р2, Рз одинаковой длины г меньше рз(кп — 1), ведущие в одну из вершин 9/, 92, 9з соответственно. Из выбора 92 и ЕДггагД, 2, 4, 7 следует, что любой путь из 92 длины не больше рз — 3р2 > 15п2 заканчивается в Дгпг-(*, 0, *). Если для некоторого г ^ 15п2 путь Р/(1... г) или Рз(1... г) оканчивается в {3о, 31, 32}, то мы получим противоречие

нашего предположения с пунктом (А), примененного для вершин Р2(г), Р/(г) или Р2(г), Рз(г) соответственно.

Из пункта (Е) замечания 4 следует, что для некоторого го ^ к + 5п — 6 ^ 15п2 путь Р/(1... го) оканчивается в {Дгпг-(1, 0, 0), Дгпг-(1, гс, 0), 3о, 31, 32}. Так как к + 5п — 6 ^ ^ 15п2, то путь Р/ (1... го) должен оканчиваться в Дгпг-(1, гс, 0).

Из того, что гсз > 0 и путь Рз(1... 15п2) не проходит через {3о, 31, 32}, следует, что Рз(1... 15п2) целиком лежит в Ятй(*, гсз, *) и Дза-(*, гсз) и Т,,а4 и Дасс. Следовательно, мы получаем противоречие с пунктом (С) для вершин Р/(го) = Дгпг-(1,гс, 0) и Рз(го). Таким образом, пункт (Б) доказан.

Докажем теперь пункт (Е). По определению переходов ЕДасс, ЕД/гх получаем, что

91 Е Д/гх и {Ягы*(1, 0, 0), 3о}, а 92 Е Дасс и {вь 3о}. Тогда из условия

91 Е (Д/ гх и Дасс

) или 92 Е (Д/ гх и Дасс)

следует, что или 91 Е {ДгПг*(1, 0,0), 3о}, или 92 Е {в1, 3о}. Если 91 или 92 совпадает с 3о, то другая вершина по условию не совпадает с 3о, и по пункту (А) получим требуемое неравенство. Если 92 совпадает с 31, то из 91 Е Д/гхи{Дгпг-(1, 0, 0), 3о} следует 91 = 31, и снова по пункту (А) получаем требуемое неравенство. Осталось рассмотреть случай, когда 91 = Ятй(1,0, 0) а 92 Е Дасс. В этом случае получаем нужное неравенство по пункту (С). ■

В следующей лемме полностью доказывается корректность сведения для GOOD-CASE при помощи утверждений о свойствах компонент графа С(^).

Лемма 4. Существуют дораскраска автомата А (определение е1(г), е2(г)) и слово и длины не больше р(т, п), синхронизирующее автомат А.

Доказательство. Положим игпг- = сарз(ы-1)6. Тогда |игпг-| = (кп — 1)рз + 2 и по определениям переходов получаем, что Дтой.итй = Дза-(1, *). По замеча-

нию 2, существует слово иза- длины п + 1, такое, что множество Б = Дза-(1, *).иза- = = Лгпг*.иггаг-иза4 удовлетворяет замечанию 5, поэтому можно раскрасить Дасс (определить е1(г), е2(г)) так, чтобы для иасс = и>га(6, 6,..., 6, с) выполнялось равенство 3о = Б.иасс = Дгпг*.иг„г*и5а*иасс. Заметим также, что |иасс| = |^„| = (4п + 13)(п — 2) + 18, поэтому

|и| = |иг„г*| + |и5а*| + |иасс| = ((кп — 1)рз + 2) + (п + 1) + (18 + (4п + 13)(п — 2)) ^ р.

Осталось доказать, что Я.и = 3о. Так как и(1) = с, то Я.и(1) = Я.с С Дгпг-(1, 0, 0) и иЯзрес. Поскольку Дгпг-(1, *, 0).и(2 ... |и|) = 3о, то нужно показать, что Ярес.и(2 ... |и|) = = 3о. Так как высота любого столбца Сг плюс ширина строки До меньше, чем |и(2... |и| — 1)| = |и| — 2, и алфавит слова и(2... |и| — 1) состоит из букв {а, 6}, то по определениям ЬДзрес1... 6 получаем, что Язрес.и(2... |и| — 1) = г. Следовательно, Язрес.и(2... |и|) = 3о и слово и синхронизирующее. ■

Рассмотрим теперь BADCASE. Следующая лемма соответствует шагу 1 и использует свойства компоненты Дгпг-.

Лемма 5. Существует префикс v'raгt слова V, такой, что Дтй(1, *, *)^„й П Дза- = = 0. Если v'raгt — кратчайший префикс с этим свойством, тогда Кгай| > (кп — 1)рз и существует слово ^^, такое, что virait = v'raгtvdop — префикс слова V и Дза-(1, *) С

С Лг-гей.^ш/й^ор.

Доказательство. Прежде всего, такой префикс v'nit у слова v существует, потому что любые два состояния из различных столбцов не могут быть сжаты внутри и все исходящие дуги из заканчиваются либо в Rinit, либо в Rsat. Заметим также, что |v'mt| > padd = p3(kn — 1) по пункту (B) замечания 1.

Для доказательства леммы осталось показать, что найдется слово v^op, такое, что

Rsat(1, *) С Rmit -VmitVdop.

Можно предполагать, что Rsat(1,t) ^ Rirait.v'nit для некоторого t Е [—2,m]. В противном случае Rsat(1, *) С Rinit(1, *, *)-v'nit и в качестве vdop можно взять пустое слово. Во всех остальных случаях покажем, что можно либо найти подходящее слово v^op, либо выбрать несколько состояний из Q.v'nit, для которых значение LRadius не меньше p3(kn — 1) — 1, и тем самым получить противоречие с (Ev), используя неравенства

|v| ^ |vU + (Q-vinit) > P3(kn — 1) + LRadius(Q.v'„it) ^

^ 2рз(кп — 1) ^ 2padd ^ (2 — 0,5e)p. (EN1)

Так как по условию множество Rnit(1, *, *)-vinit П Rsat не пустое, то из него можно выбрать состояние qf = (1, iCl) для некоторого ici Е [—2,m].

Без ограничения общности предположим, что v'rait(|v'nit|) = a, т.е. v'nit = wa для

подходящего слова w. Тогда по выбору w и по пункту (A) замечания 1 для любого номера столбца ic любой префикс слова w сохраняет полное множество остатков от деления на р3 координат вектора множества Rinit(1, ic, *). Формально:

Vic Е [—2,m], if Е [0,p3 — 1], /1 Е [1, |w|]

3ir Е [1, kn] (ir, io f) Е Rmit(1, *, *)-w(1 • • • l1)- (E0)

Вспомним, что vinit = wa, и обозначим S = (1, *, *).w. Рассмотрим все возможные

случаи.

Случай 1. 3j Е [0, 3p2] Rinit(kn, 0, j) Е S. Тогда по (E0) существует номер i < kn, такой, что q2 = Rinit(i, 0,j) Е S. Далее, так как m > 3, то по (E0) для 0 < ic3 = iCl можем выбрать состояние q3 = Rmit(ir3, ic3 ,if3) из множества S и положить q2 = q2.a, q3 = q3.a. Таким образом, есть три занятых состояния qf, q2, q3 Е S.a = Rnit(1, *, *).vinit,

такие, что qf Rsat(1,ici ), q2 ^тг*(^ 0,j ).a (ir2 , 0, if2 ), q3 Е (*,iC3 , *) U

URsat(1,ic3), где ir2 < kn, 0 < ic3 = ici и (if2 ^ 3p2 + 1 или ir2 = 1). По пункту (D) леммы 3 LRadius({qf ,q2,q3}) ^ (kn — 1)p3, и получаем противоречие по (EN1).

Случай 2. Vj Е [0, 3p2] Rirait(kn, 0, j) Е S. Обозначим через x букву w(|w|). Тогда

Vj Е [0,3p2 — 1] Rnit(kn,0, j).x = Ri„it(kn,0, j + 1), (E2)

потому что только Rrnit(kn, 0,j) может перейти по X в Rrnit(kn, 0,j + 1) и какое-то состояние из S.x-1 переходит по X в Rinit(kn, 0, j + 1).

Пусть t — максимальное число, такое, что v = wx*v2 и v2(1) = x. Заметим, что если t > 0, то x = a, потому что v'nit = wa.

Случай 2.1. t > p2. Тогда x = a и Rinit(kn, 0, 0) Е S. По (E0) выберем состояние в множестве S из столбца с положительным номером, т. е. q3 = Rmit(ir3, ic3, if3) Е S, где ici = ic3 > 0. Хотя кратчайший путь из q2 = Rirait(kn, 0, 0) имеет длину меньше p2, но так как wa* — префикс v, q2 Е Q.w и выполняется равенство (E1), то q2 остается в Rinit(kn, 0, *) при применении a* и t > p2. Следовательно, оценка на LRadius для состояний qf ,q2,q3 получается так же, как и в пункте (D) леммы 3, с той разницей, что в этом случае путь из q2 длины р2 зафиксирован. Следовательно,

LRadius(qf .x, q2.x, q3.x) ^ LRadius(qf, q2, q3) — 1 ^ p3(kn — 1) — 1,

и получаем противоречие по (£N1).

Случай 2.2. £ ^ р2. Так как 3р2 ^ р1 и выполняются условия случая 2, то Дг„й(кп, 0,3) Е Б для 3 Е [0,р1]. По (£2) получаем, что Д^кп, 0,3).ж^(1) = = Ятй(кп, 0,3 + £)^2(1), потому что 3 + £ < Р2 + Р1 < 3р — 1. Так как Дг„й(кп, 0, 3 + £).х = Дтй(кп, 0,3 + £ + 1) и v2(1) = х, то из определений дуг £Д1)6;7 следует, что Ятй(кп, 0,3+£) ^2(1) совпадает с Д«а*(1, ((3+£+1) той Р1) —1) либо с Дг„г*(1, 0,3+£+1).

Если для любого 3 Е [0,р1] состояние Дгпг-(кп, 0,3).ж^2(1) совпадает с Дза-(1, ((3 + £ + 1) той р1) — 1), то Дза-(1, *) С Б.ж^2(1), и в качестве можно выбрать

х*-^2(1).

В противном случае для некоторого 3 Е [0,р1] состояние Дтй(кп, 0,3).ж^2(1) совпадает с Дтй(1, 0,3 + £ + 1). Обозначим это состояние через 91. Используя (£2), выберем 92 Е Дтй(*,гс2, *) П Б, где гс2 > 0. Так как £ ^ р2 < к. и гс2 > 0, то по пункту (Г) замечания 6 получаем 92 = 92.X Е Дтй(*,гс2, *) и Дза-(*,гс2) и Дасс и Со и С1 и С2. Если 92 Е Со и С1 и С2, то можно выбрать £1 ^ £ так, чтобы 92 = 92.х-1 Е {3о, 31, 32}. Тогда если положить 91 = Дтй(кп,0,3).х-1, то 91 Е {3о,31,32}, так как 91 .х---1 = 91 Е Е Лг„г*(1, *, *) и /тадв({3о, 31, 32}, к.) С Я.рес в силу £^^5. Следовательно, 91 = 92 и

92 Е {3о, 31, 32}, и получаем, что £Яа^ги3({91, 92}) ^ рз(кп — 1) по пункту (А) леммы 3 и 91,92 Е Я^(1... И + £1).

Иначе 92 Е Дтй(*,гс2, *) и ) и Дасс, и тогда ЬДа^ги3({91,92}) ^ рз(кп — 1)

по пункту (С) леммы 3 и 91, 92 Е Я^(1... |эд| + £).

Следовательно, в случае 2.2 после применения более длинного (с длиной больше |^тг|) префикса V получаем несколько занятых состояний, значение ЬДа^гив для которых не меньше рз(кп — 1), и тем самым получаем противоречие с (£) аналогично (£N1). Таким образом, рассмотрены все возможные случаи, и лемма доказана. ■

Таким образом, шаг 1 завершен. Следующая лемма соответствует шагу 2 и позволяет отделить случай BADCASE от GOODCASE.

Лемма 6. Существует разложение V = viraitvsatv2, такое, что

|^а*| п + 1, Д«а4 (1, *) ^за* П Д/гж Д/гж ({1, 3, 4})

и для Б = Дза-(1, *).^а- П Дасс верны следующие свойства:

(В0) Б С Яои>асс(1, *), т. е. полностью содержится в 1-й строке;

(В1) номера столбцов состояний из Б четны;

(В2) |Б| > п.

Доказательство. Так как ЬДа^ги3(Дза4(1, *)) > п +1 и по лемме 5 Д.а-(1, *) С С Я^.^^, то существует разложение V = Vгraг^Vsa^V2, где |^| = п +1. Если при применении ^а- к Дза-(1, *) нет использования с-переходов, то утверждение доказано по лемме 2. Предположим от противного, что при применении ^а- используется с-переход; тогда существуют состояние 91 = Дза- (1, гс1) и минимальное натуральное число £1 ^ п + 1, такие, что если 91 = 91 .^а-(1... £1), то

- 91 Е {Дг„г4(1,гс1, 0),31,32}, если *с1 > 0; выберем 92 = Дза«(1, 0).^(1 ...£1), тогда

92 Е Дза^*, 0) и Д/гх и #^(1, 0, *);

- 91 = , 0), если 2^ ^ 0; выберем 92 = Дза«(1, 1)^аД1 . ..£1), тогда 92 Е

Е Дза4(*, 1) и Дасс и Дг«/Й (1, 1, *) и {3о,31,32}.

В обоих случаях 91,92 Е Ягии^тг^за,^ ...£1) и по пунктам (А),(В) или (С) леммы 3 получаем ^| ^ |^„й| + ДДа^ги3({91,92}) ^ 2(кп — 1)рз ^ 2ра^ ^ (2 — 0,5е)р. Таким образом, получаем противоречие с (Е), и лемма доказана. ■

Следующая лемма соответствует шагу 3 для BADCASE и завершает доказательство для этого случая.

Лемма 7. BADCASE: Предположим, что V = viraitvsatvacc и слово V — синхронизирующее для В. Тогда ^| > (2 — 0,5е)р(т,п)

Доказательство. Заметим, что по лемме 6 после применения viraitvsat занятые состояния остались как в Д/гх, так и в Дасс. Так как между Д/гх и Дасс нет дуг, а

vacc должно сжимать оставшиеся состояния, то у слова vacc есть префикс, который перемещает некоторое состояние из (Д/гх и Дасс) П Я^тйvsat вне Д/гх и Дасс. Пусть иассх — разложение кратчайшего префикса vacc с этим свойством.

По определению иассх можно выбрать состояние 9/ из (Дасс и Д/гх) П Я^тг^.^и^ так, что если положить 9 1 = 9/.х, то 9 /.х Е (Дасс и Д/гх). Заметим, что по выбору префикса множество Я^тиvsatwacc пересекается как с Д/гх, так и с Дасс. Следовательно, можно выбрать 92 Е (Д/гх и Дасс) П Я^гт^а^иасс так, что если 9! Е Д/гх, то 92 Е Дасс, или наоборот — если 9! Е Дасс, то 92 Е Д/гх.

Если ((Дасс и Д/гх) П Я^гт^^иасс).х = 3о, то можно считать, что ^.х, 92.х} = = {3о}. Тогда по пункту (Е) леммы 3 получаем, что ^Да^гив^/.х, 92.х}) ^ (кп — 1)рз. Следовательно, К^.а^иа^ ^ + Рто^и^^.х, 92.х}) ^ 2(кп — 1)рз, и

утверждение леммы доказано.

Осталось рассмотреть случай, когда ((Дасс и Д/гх) П Я^тй^а-иасс).х = 3о. Без ограничения общности предположим, что иасс(1) = а (в противном случае доказательство идентично с точностью до подстановки на алфавите). Тогда по выбору иасс и равенству ((Дасс и Д/гх) П Я^тй^а-иасс).х = 3о оказываемся в условиях замечания 3 и получаем, что слово иассх равно для некоторых й ^ й2,... , Е Е, т. е.

иассх = азй1а12+4гай2а12+4гайз ... а12+4гайга-1а1зйга.

Объединяя это с леммой 6 и выбором иассх, оказываемся в условиях замечания 5 для Б = Я^тог^.^ П Доиасс(1, *) и получаем противоречие с равенством ((Дасс и Д/гх) П

ПЯ.'Угга4'У8а4'иасс) .х — 3о. ®

Таким образом, теорема полностью доказана в обоих случаях. ■

Заметим, что из теоремы 1 напрямую не следует, что в предположении Р = ^”Р не существует полиномиального алгоритма, находящего оптимальную раскраску, так как для её поиска не требуется находить длину кратчайшего синхронизирующего слова.

Если бы задача поиска кратчайшего синхронизирующего слова для автомата принадлежала классу Р, то полиномиальный алгоритм, находящий оптимальную раскраску, можно было бы достроить до полиномиального алгоритма, решающего задачу ОСУ, и получить противоречие с теоремой. Однако ввиду результата [8] для этой задачи не существует даже приближенного полиномиального алгоритма с любой конечной относительной погрешностью.

Тем не менее можно получить аналогичный результат для задачи поиска оптимальной раскраски. Заметим, что алгоритм, решающий ОС с относительной погрешностью в < 2, должен для произвольного допустимого орграфа О возвращать его синхронизирующую раскраску А, такую, что С(А) ^ в ■ ОРТ(О).

Следствие 1. В предположении Р = ^Р любой полиномиальный алгоритм, решающий ОС для класса графов со степенью исхода вершин 3, имеет относительную погрешность не меньше 2.

Доказательство. Приведем здесь только план доказательства, опуская технические детали. Предположим от противного, что существует алгоритм A/g, решающий с относительной погрешностью 2 — е задачу OC. Используя такое же построение графа G(0) по 0, что и в теореме 1, для получения противоречия достаточно показать, как по раскраске B, возвращаемой алгоритмом A/g на графе G(0), определить выполнимость 0.

Выполнимость 0 определяется следующим образом. Без ограничения общности можно считать, что дуга из Rfix(1) в Rfix(2) помечена буквой a. Далее, для i Е [1, n — 1] рассчитаем длины путей внутри Dj, помеченных степенью буквы a, и в соответствии с этими значениями восстановим, какие состояния из Rowacc(1, *) могли быть сжаты под действием слова wn(d1, d2,... , dn), где d равен символу на b-переходе из Dj(1). Это можно сделать, используя рассуждения из замечания 5 или рассмотрев прообраз Dn-1(35) под действием слова wn без последнего символа. Заметим, что если для некоторого j в Dj нет пути, помеченного степенью a, то нужно доказать, что 0 невыполнима. Это можно сделать аналогично доказательству BADCASE в лемме 7.

Далее, из определения переходов в и Tsat однозначно восстанавливаются значения переменных b1, b2,... , bn, которые должны удовлетворять 0 (так же, как это делалось для BADCASE в замечании 2). Если эти значения действительно удовлетворяют 0, то ясно, что формула 0 выполнима. В противном случае нужно показать, что 0 невыполнима. Для этого по построению достаточно доказать, что C(B) ^ (2 — 0,5е)р.

Это утверждение доказывается аналогично случаю BADCASE, с той разницей, что вместо аргумента о том, что 0 невыполнима, в замечании 2 используем аргумент о том, что 0 должна быть выполнима именно на наборе b1, b2,... , bn, так как в противном случае получим такое множество занятых состояний после шага 2 внутри Rowacc(1, *), которое ввиду раскраски Racc не может быть сжато словом wn(d1, d2,... , dn). ■

3. Случай двухбуквенного алфавита

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

Следствие 2. В предположении P = NP любой приближенный полиномиальный алгоритм, решающий задачу OCV для подкласса автоматов с двухбуквенным алфавитом, имеет относительную погрешность не меньше 2.

Доказательство. Некоторые технические детали доказательства этого следствия опущены для краткости. Представим только изменения в структуре автомата A, которые показаны на рис. 5. Каждое состояние q Е Q, кроме s0, заменяется тремя состояниями qtop,q“,qb, и переходы переопределяются следующим образом:

qtop.x = qx, qx.a = (q.c)top, qx.b = (q.x)top.

Тогда буква с соответствует xa, а буква у Е {a, b} — yb.

Состояние s0 заменяется двумя состояниями s0top, s0bot. Обозначим состояние С0(2) через g. Тогда

S0top .a = S0bot, S0top.b = gtop, S0bot.a = S0bot.b = gtop.

а, b

top I

Рис. 5. Замены в автомате A

Легко проверить, что в случае GOODCASE |unew| = 2|uo1d| + 1 ^ 2p(m,n), а в случае BADCASE |v„ew| ^ 2|v0id| ^ 2((2 — 0,5e)p(m,n)) = (4 — e)p(m,n). Здесь uoM,voM соответствуют синхронизирующим словам для старых автоматов A и B. Для завершения доказательства заметим, что отношение выражений (4 — е) и 2p(m, n) стремится к 2 при е ^ 0. ■

Итак, мы доказали главный результат. Более того, мы показали, что он верен для случая общей степени исхода, равной 2.

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

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

ЛИТЕРАТУРА

1. Adler R. L., Weiss B., and Goodwyn L. W. Equivalents of topological Markov shifts // Isr. J. Math. 1977. No. 27. P. 49-63.

2. Trahtman A. N. The Road Coloring Problem // arxiv:0709.0099. 2007.

3. Volkov M. Synchronizing Automata and the Cerny conjecture // LNCS. 2008. V. 5196. P. 11-27.

4. Cerny J. Poznamka k homogennym eksperimentom s konecnymi automatami // Matematicko-fyzikalny Casopis Slovensk. Akad. Vied (in Slovak). 1964. V. 14. No.3. P.208-216.

5. Adler R. L. and Weiss B. Similarity of automorphisms of the torus // Mem. Amer. Math. Soc. 1970. V. 98. P. 1-43.

6. Beal M. and Perrin D. A quadratic algorithm for road coloring // arXiv:0803.0726. 2008.

7. Eppstein D. Reset sequences for monotonic automata // SIAM J. Comput. 1990. V. 19. P. 500-510.

8. Berlinkov M. Approximating the Minimum Length of Synchronizing Words is Hard // LNCS. 2010. V. 6072. P. 37-47.

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

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