МАТЕМАТИКА УДК 512
Алгоритмические проблемы и ограничения на сложность вывода
В.А. Ганов1, Р.В. Дегтерева2
1 Алтайский государственный университет (Барнаул, Россия)
2 Алтайский государственный технический университет им. И.И. Ползунова (Барнаул, Россия)
Algorithmic Problems and Restrictions on Inference Complexity
V. A. Ganov, R. V. Degtereva
1 Altai State University (Barnaul, Russia)
2 Polzunov Altai State Technical University (Barnaul, Russia)
Авторы продолжают свои исследования логических сетей над базисом конечных автоматов. Вводится специальный базис конечных автоматов и определяются словарные операторы, реализуемые логическими сетями над этим базисом. Программы автоматов связаны с правилами вывода известного исчисления Поста. Главная особенность этого исчисления в том, что в нем проблема эквивалентности слов не является алгоритмически разрешимой. Отсюда следует, что множество операторов, реализуемых данными сетями, также не является алгоритмически разрешимым.
Далее определяются правильно организованные логические сети, и показывается, что только автоматы таких сетей работают правильно. Сложность вывода определяется следующим образом. Выделяются так называемые основные автоматы, которые непосредственно моделируют правила вывода слов в данном исчислении. Сложностью вывода называется число основных автоматов, содержащихся в вычислительной модели этого вывода. Доказывается, что при фиксированном ограничении множество операторов, реализуемых выделенными сетями, является алгоритмически разрешимым.
Каждый реализуемый оператор связан с некоторым словом алфавита А0, выводимом в Ь0. Поэтому для данного оператора, соответствующего слову Т, можно организовать поиск вывода этого слова путем перебора всех возможных выводов. И если искомый вывод короткий, то по теореме 10 он будет найден. А если этот вывод очень длинный или не существует, то этот метод не поможет.
Ключевые слова: конечные автоматы Мура, логические
сети, вывод слова в исчислении Бэра.
In the paper, the authors continue their study of logical nets on the basis of finite automata. A special basis of finite automata and dictionary operators implemented by logical nets on this basis are introduced. Automata programs are associated with inference rules of well-known Post calculus. The key feature of the Post calculus is that words equivalency problem is algorithmically unsolvable. Therefore, a set of operators implemented by these nets are also algorithmically unsolvable.
Then properly constructed logical nets are identified, and only these nets on the basis of finite automata are shown to operate correctly. The inference complexity is defined in the following way: the so-called basic automata are identified that directly simulate inference rules for words in a specific calculus. Then the inference complexity is taken to be equal to the number of automata in the computational model of this inference. It is proved that for fixed restrictions a set of operators implemented by the previously identified nets is algorithmically solvable.
Every implemented operator is associated with a word of an alphabet A0, inferred in L0. Therefore, for a given operator with a corresponding word T it is possible to infer the word T by exhausting all possible inferences. If the desired inference is short then in accordance with the Theorem 10 it can be obtained. Otherwise, if the desired inference is too long or non-existent then the proposed technique will fail.
Keywords: Moore finite automata, logical network, inference of a word in the Baer calculus.
DOI 10.14258/izvasu(2015)1.2-17
Нормальные алгоритмы Поста-Маркова появились позже, чем понятие машины Тьюринга или рекурсивной функции, и их изучение велось обособленно. Поэтому иногда возникают вопросы: действительно ли эти алгоритмы эквивалентны рекурсивным функциям? И если это так, то в каком смысле они эквивалентны? При этом остается какая-то неясность. Действительно ли неразрешимая проблема для алгоритмов Маркова и неразрешимая проблема в теории рекурсивных функций — это две версии одной и той же проблемы, и что их эквивалентность связана с какими-то молчаливо подразумеваемыми предположениями?
В данной работе эти вопросы рассматриваются в связи с понятием выводимости слов в нормальном исчислении Поста L4 из [1] и понятием реализации словарных операторов логическими сетями над специальным базисом конечных автоматов из [2]. Работа этих автоматов непосредственно связана с правилами вывода исчисления L . Доказывается, что класс операторов, реализуемых такими сетями, не является алгоритмически разрешимым. Но доказательство этого факта опирается на известную теорему Поста, согласно которой множество слов, выводимых в L4 из слова feam, не является алгоритмически разрешимым. При этом доказательство этой теоремы осуществляется в рамках формальной арифметики, и это обстоятельство не устраивает авторов данной работы. Дело в том, что в работе [3] доказано, что формальная арифметика является ©-противоречивой, и, в частности, в ней выводимы интуитивно ложные утверждения. При этом противоречия возникают на достаточно высоком уровне, когда в рассуждения включаются формулы, в которых значениями переменных являются геделевские номера формул. В данной работе подобные формулы не рассматриваются, и исследования осуществляются в языке конечных автоматов.
1. Нормальное исчисление Поста.
Определение 1. Нормальное исчисление Поста L4 — это всевозможные слова алфавита A0 = = {a, b, c, d, e, f, g, h, i, j, k, l, m, n}, над которыми можно производить определяемые ниже допустимые действия. Пусть A, B — фиксированные слова алфавита A0. Запись A о B называется соотношением слов A и B. Тогда этому соотношению соответствуют следующие два вида действий V и V2, допустимых относительно A о B . Первое действие V применяется к слову вида PAR и означает замену этого слова на слово PBR (если часть А отсутствует, то действие V1 ничего не изменяет). Аналогично определяется действие второго вида.
В исчислении L4 введены следующие соотношения слов:
ek о ke, el о le, ea о ie, eb о jb, bm о Im, hai о ah, hbj о bh, afeam о feam,
bfeam о feam, cfeam о feam, dfeam о feam, ь/ о fa, Ы/ о /Ы, с/ о /с, df о fd, ai о ia, Ы о Ы а о к, di о id, aj о ja, Ы о )Ы, с) о )с, dj о jd, ak о Ы, Ык о кЬ, ск о кс, dk о kd, al о 1ь, Ы о 1Ь, с1 о 1с, dl о 1Ш, am о кт. Здесь 37 соотношений, к ним добавлены 14 одно-буквенных соотношений вида р о р, где р е А0.
Допустимые действия относительно этих соотношений определяют правила вывода слов в Ь .
Определение 2. Слово Q смежно со словом Р относительно Ь , если Q получается из Р в результате одного допустимого действия, обозначение: Ь4 : Р Ь Q. При этом соответствующее допустимое действие называется правилом вывода Q из Р.
Следующие утверждения непосредственно вытекают из определения смежности.
Теорема 1. Если Ь4 : Р Ь Q, то Ь4 : Q Ь Р. Теорема 2. Если Ь4 : Р Ь Q, то для любого слова Я алфавита А0 Ь4 : ЯР Ь ЯQ и Ь4 : РЯ Ь QЯ.
Определение 3. Пусть у — буква, не входящая в А0, и является последовательностью слов, разделенных буквой у вида уХ1уХ2уХ3у^уХку. Тогда 5 называется Ь4-рядом, если всякий раз, когда слово X. соседствует слева со словом X, то имеет место смежность Ь. :X. ЬХ^,.
4 г г+1
Определение 4. Слово Q называется выводимым из Р в исчислении Ь , если можно построить Ь4-ряд, соединяющий Р с Q. Слова Р и Q называются эквивалентными в Ь4, если они взаимно выводимы в Ь4, обозначение: Ь4 : Р о Q.
Следующие утверждения очевидны. Теорема 3. Если Ь4 : Р Ь Q, то Ь4 : Р о Q. Теорема 4. Если Ь4 : Р о Q то Ь4 : Q о Р. Теорема 5. Если Ь4 : Р о Q, то Ь4 : ЯР о RQ и Ь4 : РЯ о QR.
В [1] указаны другие ассоциативные исчисления, но главная особенность Ь4 в следующем утверждении.
Теорема 6. Множество слов, эквивалентных слову /ваш в Ь4 , не является алгоритмически разрешимым.
2. Базис автоматов. Описывается специальный базис С конечных автоматов из [4] и рассматриваются логические сети над С, предназначенные для моделирования следующей задачи.
Определение 5. Пусть Р — слово алфавита А0, и А(Р) обозначает последовательность вида А^) = = /л...^//..., где длина приставки рав-
на + (здесь ^\ обозначает длину слова Q). Тогда А^) называется ограниченно-детерминированным оператором, определяемым словом Р.
Основная задача. Пусть Р и Q — слова алфавита А0, при этом Q является выводимым из Р в Ь4 с помощью последовательности правил выводаV1,...,Vm . Требуется построить логическую сеть K над базисом C, которая реализует оператор А(О).
Автоматы базиса C разделяются на четыре типа 1-1У. Наглядно они изображаются прямоугольниками
с входящей и выходящей стрелками, которые обозначают их входной и выходной каналы соответственно.
Рис. 1. Схема конечного автомата
Входные и выходные алфавиты всех автоматов фиксированы и состоят из символов множества A = = A0 U A U A02 U Aj, где A1 ={а, ß,S, ß, ß1, ß2, ß3, w} и Aj, A02 — множества букв алфавита A0, помеченные верхними индексами 1 и 2 соответственно. Каждому автомату соответствует свое множество внутренних состояний. В любой момент времени t автомат находится в некотором внутреннем состоянии qt, и на его входе расположен некоторый символ x из А. За один такт он переходит в некоторое состояние qt+1, и на его выход поступает символ y. Такую команду можно изобразить следующим соотношением: (qt,x) ^ (qt+1,y). Программа автомата — это конечное множество команд указанного вида, которое не содержит различных команд с одинаковыми левыми частями. Программа может быть записана как множество буквенных векторов или в виде таблицы, в которой команды записываются в столбцах. В каждом автомате выделяется начальное состояние, и с него начинается работа автомата. В некоторые моменты на входах автомата могут отсутствовать какие-либо символы, тогда считается, что на них стоит пустой символ 0 , который учитывается при составлении программ.
Кроме того, каждый автомат может принимать специальное внутреннее состояние q , которое называется состоянием поломки и удовлетворяет следующим требованиям:
1) в состоянии qm автомат поставляет на выход букву ю;
2) из состояния поломки он снова переходит в состояние q ;
3) если на вход автомата поступила буква, не принадлежащая A, то он переходит в состояние q .
Определение 6. Говорят, что автомат работает правильно, если он не переходит в состояние поломки.
Базис C состоит из 117 автоматов, из них один автомат типа I, 88 автоматов типа II и по 14 автоматов типа III и IV. Программы этих автоматов представлены таблицами 1-4 в работе [4], а здесь приводится только описание основных моментов их работы.
Допустимая входная последовательность автомата типа I (при поступлении слева,) имеет вид ...ßß,an ...а/. Символы этой последовательности поступают по тактам на вход автомата, он прибавляет к первым символам индекс 1 и поставляет на выход последовательность ..,ß2ß2ßV ...alßl Легко видеть,
что если длина входной последовательности равна п+3, то автомат I выполняет п+4 такта.
Каждый автомат типа II соответствует некоторому правилу вывода исчисления L . В [4] для примера описана программа автомата 11у, моделирующего команду видаAR ЬКБ, где А = г1 ...гт, В = 51 ...$п, фиксированные непустые слова, и Я = р1... рк — произвольное слово. Если на вход Пу слева поступает последовательность л2 ... л2 ¡л1 р1... р1^... г11, то он по тактам производит следующие действия:
1) заменяет символы гт...г1 символами ¡л2.../2/л2;
2) затем поставляет слово рк...р\/л ;
1 1
3) присоединяет к нему ¡п ...51;
4) в конце выдает /л2/1;
5) если поступает какая-то другая входная последовательность, то он принимает состояние поломки.
Легко видеть, что если пренебречь буквами л и индексами остальных букв, то автомат Пу моделирует правило вывода .
Каждый автомат типа III связан с некоторой буквой ^ е А0, и пусть III — обозначение такого автомата. В [4] показывается, что III подключается справа к автомату типа II или III. В первом случае если на его вход слева поступает последовательность вида /л2Л1а1т...а[л1/2, то IIIг выполняет следующие действия:
1) поставляет на выход л3г2/л3...л /л1 до появления символа а11 ;
2) если а1 = г, то он поставляет символ /л и буквы а2...ат (если они имеются) до поступления ц1;
3) при появлении ц1 он выдает последовательность л лл ...;
4) если а1 ^ г, то он принимает состояние поломки.
Во втором случае на его вход поступает последовательность 0^2ц2 ..л2л1а\а12...а1тл1л2... В этом случае Шг выполняет следующие действия:
1) поставляет на выход ц3г2л ..л3л до появления символа а11 ;
2) если а1 = г1, то он поставляет на символ л3 и поступающие буквы аг2...агт (если они имеются) до появления л1;
3) при появлении л' он выдает последовательность л1 л3л .■■;
4) если а1 ^ г1, то он принимает состояние поломки. Аналогичные действия IIIвыполняет во втором случае.
Программа каждого автомата типа IV также связана с некоторой буквой г е А0, такой автомат обозначается V . В [4] показывается, что IV подключается справа к автомату типа III или типа II.
В первом случае на вход IV поступают символы четырех видов л3, л1, а2 и а1, где а е А0 У символов первых трех видов он удаляет индексы и поставляет их на выход. Далее, если первая поступившая на вход буква а1 с индексом 1 совпадает с г1, то IV
подает на выход свою букву z и принимает состояние qx; а если а1 ^ z1, то он принимает состояние поломки. Если в состоянии qx на вход IVz поступает символ /л1, то он поставляет на выход последовательность до... Аналогичные действия IVz выполняет во втором случае.
3. Логические сети и реализуемые операторы. Логической сетью над базисом C называется ориентированный граф, в вершинах которого располагаются автоматы базиса C, а ребра графа изображают соединения входных и выходных каналов автоматов, входящих в сеть. Каждый выходной канал автомата подключается не более чем к одному входному каналу другого автомата и наоборот. В частности, исключаются простые петли, которые соединяют каналы одного и того же автомата. Естественным образом определяются входной полюс и выходной полюс сети, предполагается, что логическая сеть не содержит других свободных входных и выходных каналов автоматов, кроме полюсов. Для краткости ниже логические сети над C обозначаются буквой K.
Допустимой входной последовательностью сети K называется последовательность вида ¡jala2 ...amßß..., где a1a2 ...an — непустое слово алфавита A0. Ниже такие последовательности обозначаются буквой А с некоторыми индексами.
Пусть P = ala2 ...an,, Q = zlz2 ...zn — слова алфавита A0, и Q выводимо из P в L4 с помощью последовательности правил вывода Vl,...,Vm. бедующая сеть K0 называется стандартным блоком автоматов, соответствующим паре (P, Q) (рис. 2).
Все автоматы такого блока K0 соединены последовательно. Первым стоит автомат типа I, за ним следуют автоматы типа II, далее идут автоматы типа III, и в конце один автомат типа IV. При поступлении допустимой входной последовательности А первый автомат сети K0 выдает на выход некоторую последовательность При правильной работе Iпоследова-тельность А2 поступает на вход следующего автомата и т. д. Таким образом, если не возникнет состояния поломки, то на выходе сети K0 появится некоторая последовательность An, которая является результатом работы K.
В [4] доказываются следующие утверждения.
Теорема 7. Логическая сеть K0 реализует оператор вида
A(T) = ...ßT
Теорема 8. Если в L4 выводим отношение T о feam, то можно построить эффективно логическую сеть над C, реализующую оператор A(T).
Теорема 9. Пусть логическая сеть К над базисом С содержит только один автомат типа I и для некоторой входной последовательности X она работает правильно и вырабатывает последовательность у . Тогда сушествуют слова Р и Q, которые являются выводимыми в 14 из слова/еат, и для которых К является стандартным блоком автоматов, соответствующим паре (Р, Q).
Теперь предлагается расширить виды логических сетей над базисом С следующим образом.
Пусть К1 — стандартный блок базиса С, соответствующий (Р Q1); и К2 — аналогичный блок, соответствующий (Р Q2). Выходной полюс К1 присоединен слева к входному полюсу К2. По определению блок К1 для допустимой входной последовательности вырабатывает последовательность вида .до^k Такая последовательность может
оказаться допустимой для блока К2. В этом случае можно считать, что блок К1 заканчивает свою работу и передает начальную часть своей последовательности блоку К2 в качестве входной последовательности. И пусть автоматы блоков выбраны так, что объединенная сеть работает правильно. Это означает, что при согласованном подборе стандартные блоки можно последовательно соединять в логическую сеть, и такая сеть работает правильно.
Так как автоматы имеют только один вход и один выход, то других правильно организованных логических сетей не бывает.
Легко описываются условия, при которых такая сеть работает правильно.
Определение 7. Пусть К — правильно организованная сеть над базисом С. Сложностью К называется число автоматов типа II, входящих в эту сеть. Обозначение: И (К).
Теорема 10. Пусть обозначает множество операторов вида Х(Г), которые удовлетворяют условию И (К) < п. Тогда 5 является алгоритмически разрешимым.
Доказательство (индукцией по И (К)). База индукции очевидна. Далее, пусть множество 5 является алгоритмически разрешимым. Рассматриваем слово Т алфавита A0 и соответствующий Х(Г). Пусть Q — слово алфавита A0, из которого слово Т можно получить с помощью одного правила вывода исчисления Ь . В общем случае такое правило имеет вид: «замена RAQ на PBQ». При этом Т = RBQ и соотношение A о B является одним из известных соотношений исчисления Ь . Число таких слов Q конечно, и они находятся рекурсивно по Т. Тогда если для некоторого такого Q
I "v, ¡IVm i —►
Рис. 2. Стандартный блок автоматов
выполняется Q е 8п то И (Т) < п + 1, и в противном случае И (Т) > п + 1. Теорема доказана.
В связи с доказанным утверждением возникает вопрос: как нам относиться к результату теоремы 6? Для данного слова Т можно начать искать вывод Т из слова /ваш путем перебора всех возможных выво-
дов в L.. И если искомый вывод короткий, то он будет найден. Таким образом, поставленная проблема сведена к поиску искомого объекта путем перебора всех возможных случаев. Но если искомый вывод очень длинный, то этот метод не поможет.
Библиографический список
1. Марков А. А., Нагорный Н.М. Теория алгорифмов. — М., 1984.
2. Кратко М.И. О существовании нерекурсивных базисов конечных автоматов // Алгебра и логика. — 1964. — Т. 3, № 2.
3. Белякин Н.В. Усиление одной теоремы Мостовско-го // Вестник Сибирского Независимого института. — 2010. — № 1.
4. Ганов В.А., Дегтерева Р.В. Алгоритмические проблемы конечных автоматов. — Барнаул, 2014.