Научная статья на тему 'Конечные автоматы и нормальное исчисление Поста'

Конечные автоматы и нормальное исчисление Поста Текст научной статьи по специальности «Математика»

CC BY
450
42
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОНЕЧНЫЕ АВТОМАТЫ / ЛОГИЧЕСКИЕ СЕТИ / ВЫВОДИМОСТЬ СЛОВ / РЕКУРСИВНО НЕРАЗРЕШИМЫЕ МНОЖЕСТВА / FINITE AUTOMATA / LOGICAL NETWORKS / DEDUCTIBILITY OF WORDS / RECURSIVELY UNSOLVABLE SETS

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

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

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

Похожие темы научных работ по математике , автор научной работы — Ганов Валерий Александрович

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

The Finite Automata and the Post Normal Calculus

The study constructs basis of finite automata associated with the deductibility of words in the Post normal calculus. The researcher determines operators implemented by logical networks over this basis. They are computable in Moore’s vending machines, but their class is recursively unsolvable. When introducing restrictions on the complexity of the network, the set of relevant operators becomes recursive.

Текст научной работы на тему «Конечные автоматы и нормальное исчисление Поста»

УДК 517.1

В.А. Ганов

Конечные автоматы и нормальное исчисление Поста

V.A. Ganov

The Finite Automata and the Post Normal Calculus

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

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

The study constructs basis of finite automata associated with the deductibility of words in the Post normal calculus. The researcher determines operators implemented by logical networks over this basis. They are computable in Moore’s vending machines, but their class is recursively unsolvable. When introducing restrictions on the complexity of the network, the set of relevant operators becomes recursive.

Key word: finite automata, logical networks, deductibility of words, recursively unsolvable sets.

В [1] строится конкретный базис конечных автоматов и определяются логические сети над этим базисом. Доказывается, что класс операторов, реализуемых такими сетями, не является рекурсивным. При этом существенно используется алгоритмическая неразрешимость проблемы распознавания выводимости слов в нормальном исчислении Поста [2]. Но последний факт, вообще говоря, доказывается в языке формальной арифметики, и это обстоятельство не вполне устраивает автора этой статьи. Дело в том, что в работе [3] установлена Ю-противоречивость системы аксиом арифметики Пеано. И хотя непротиворечивость этой системы не исключена, но известно, что в ней доказуемы интуитивно ложные предложения.

Поэтому безоглядное использование формальной арифметики при доказательстве какого-либо утверждения порождает сомнение в том, что в итоге было получено окончательное доказательство рассматриваемого утверждения. Эта ситуация, конечно, серьезная, требует тщательного исследования и в немалом объеме, но это то, что запланировано на будущее. А в связи с результатами работы [1] возникает вопрос: «Что такое нерекурсивность или алгоритмическая неразрешимость?». И здесь требуется достаточное, быть может, радикальное переосмысление данного понятия.

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

1. Исчисление Поста и базис конечных автоматов. Фиксируется алфавит Ао = {a, Ь, c, d, є, f, g, h, і, ], k, і, m, п} . Нормальное исчисление Поста над Ао (сокращенно - ИП) - это множество слов этого алфавита, специальная система эквивалентностей слов (см.: [2, с. 299]) и правила вывода слов, определяемые следующим образом. Каждой эквивалентности Q ^ R соответствуют два вида правил

вывода: Qp — РЯ и ЯР|- РQ, где Р - произвольное слово алфавита Ао . Применение правила вида QР| — РЯ означает замену слова QР словом РЯ .

Ниже строится базис С конечных автоматов и рассматриваются логические сети над этим базисом. Автоматы разделяются на четыре типа (І-ІУ). Наглядно они изображаются прямоугольниками с входящей и выходящей стрелками, которые обозначают их входной и выходной каналы соответственно.

Рис. 1. Схема конечного автомата

Входные и выходные алфавиты всех автоматов фиксированы и состоят из символов множества

А = А0 и А и А02 и А1, где А1 = {а, в, 8, Ц, (I1, |12,

Ц3, ю} и АО, А2 - множества букв алфавита Ао, помеченные верхними индексами 1 и 2 соответственно. Каждому автомату соответствует свое множество внутренних состояний. В любой момент времени / автомат находится в некотором внутреннем состоянии и на его входе расположен неко-

x

торый символ х из А. На следующем такте он переходит в некоторое состояние Ц^+\ и на его выход

поступает символ у. Такую команду можно изобразить следующим соотношением: (д{, х) ^ (д+\,у). Программа автомата - это конечное множество команд такого вида, которое не содержит различных команд с одинаковыми левыми частями. Программа может быть записана как множество буквенных векторов или в виде таблицы, в которой команды записываются в столбцах. В каждом автомате выделяется начальное состояние, из которого достижимы все остальные его состояния, оно обозначается д0 и с него начинается работа автомата. В некоторые моменты на входах автомата могут отсутствовать какие-либо символы, тогда считается, что на них стоит пустой символ 0, и можно считать, что этот символ входит в алфавит А. Кроме того, каждый автомат может принимать специальное внутреннее состояние дЮ , которое называется состоянием поломки и удовлетворяет следующим требованиям:

- в состоянии дЮ автомат поставляет на выход букву Ю, затем снова принимает состояние дЮ ;

- если на вход автомата поступила буква Ю, то он переходит в состояние дЮ и поставляет на выход Ю.

Предполагается также, что если автомат приходит в состояние, для которого в его программе отсутствует соответствующая команда, то он находится в состоянии поломки.

Определение 1. Говорят, что автомат работает правильно, если он не переходит в состояние поломки.

Базис С состоит из \\7 автоматов, из них \ автомат типа I, 88 автоматов типа II (соответствующие правилам вывода ИП) и по \4 автоматов типов III и IV (соответствующие буквам алфавита Ад).

Допустимая входная последовательность автомата типа I имеет вид: Цй\...аи|и|и..., где а\...ап -

непустое слово алфавита А0. При поступлении на вход такой последовательности автомат типа I прибавляет к первым символам ца^а^и индекс \,

поставляет их на выход и затем выдает последова-

2 2

тельность ц ц .... В остальных случаях автомат типа I принимает состояние поломки. В частности, он переходит в состояние дЮ, если на вход поступает символ, не принадлежащий множеству {ц} и Ад.

Каждый автомат типа II соответствует некоторому правилу вывода ИП. Пусть V, обозначает такое правило, имеющее вид: ЯР|—РЗ, где Я =

= Г\...гт, З = s\...sn, Р = р1.рк, при этом Я, З -непустые слова. Пусть Пу. обозначает автомат, соответствующий этому правилу, и на его вход по-

2 2 \ \ \

ступает последовательность ц ...ц ц г\...гт р\...р\ ц\ц2ц2... Автомат Пу. содержит специ-

П х ^}

альные состояния , которые соответ-

ствуют буквам г, 6 Я, х 6 Ад и 6 З, и согласно

своей программе на соответствующих тактах он производит следующие действия. Заменяет симво-

\ \ \ 2 2 2 лы ц Г\ ...гт символами ц ...ц ц соответственно,

потом выдает ц1 р\...р\ и присоединяет к ним

s\...sln. В конце он выдает последовательность 12 2

ц\ц2ц2.... Здесь буквы ц с индексами и индексы остальных букв играют вспомогательную роль, и если пренебречь ими, то легко видеть, что автомат Пу моделирует правило вывода VI.

Программа Цу представлена в таблице \, в которой х, у — произвольные буквы из А0. В строках \, 2 указаны внутреннее состояние автомата и символ на входе в текущий момент; в строках 3, 4 - внутреннее состояние автомата и символ на выходе в следующий момент. Предполагается также, что в остальных случаях автомат Пу. приходит в состояние поломки.

Каждый автомат типа III связан с некоторой буквой 2 6 Ао, и пусть Ш2 — обозначение такого автомата. В таблице 2 представлена программа этого автомата, в которой а, Ь — произвольные буквы из А0 , но Ь Ф 2 .

Автомат Ш2 содержит специальные состояния

Ч\ , д|, ^3 , д4, согласно которым он выполняет следующие действия. Ниже будет показано, что автомат Ш2 подключается справа к автомату типа II или III. В первом случае на его вход поступает

последовательность вида 0ц2ц2...ц2ц\а\а2....

1 12

...атц\ц2.... В свою очередь Ш2 сначала постав-

3 2 3 3 1

ляет на выход соответственно ц 2 ц ...ц ц до появления а\ . Далее, если а\ = 2 , то он постав-

3 11

ляет на выход символ ц и буквы а^...ат (если

они имеются) до поступления ц1 . При появлении

ц1 он выдает на выход последовательность 13 3

ц ц ц .... А если а1 Ф 2 , то он принимает состояние поломки. Аналогичные действия Ш2 выполняет во втором случае.

Программа автомата Ш2 представлена в таблице 2, в которой а, Ь — произвольные буквы из А 0, но Ь Ф 2 . Предполагается также, что в остальных случаях автомат Ш2 приходит в состояние поломки.

Таблица 1

Программа автомата типа II

1 Чо Чо Чо 4? чГт Ч2 Ч2 Чзх ч3 Ч? ЧІп Ч5 Чб

2 0 ц 2 IIі г/ г1 ' т Ц1 х1 У ц1 ц2 ц2 ц2 ц2

3 Чо Чо Чі1 Ч2 Ч41 чЗ Чз Ч41 + Ч5 Чб Чб

4 ц 2 ц 2 ц 2 ц2 Ц 2 ц1 ц1 х1 х1 4 *п ц1 ц2

Таблица 2

Программа автомата типа III

1 ч 3 ч 3 N тґ N N тґ N тґ Ч о ч1 2 Ч 2 2 Ч 2 22 Ч 22 Ч Ч 5 Ч 5 Ч б

2 ц3 а 2 а 2 ц3 ц3 ц1 1 ъ1 0 ц2 ц2 ц1 1 2 ъ1 1,2 а ц1 2 3 ц2,3

3 ч1 Ч 32 Ч 32 Ч 4 ч 4 N Ч Ч 5 Ч ю ч1 ч 2 ч 2 ч 2 Ч 5 Ч ю Ч 5 Ч б Ч б

4 ц3 а 2 а 2 2 2 ц3 ц1 ц3 ю ц3 2 2 ц3 ц1 ц3 ю 1,2 а ц1 ц3

Программа каждого автомата типа IV также связана с некоторой буквой 2 £ Д, такой автомат обозначается 1^. Ниже будет показано, что автомат 1^ подключается справа к автомату типа III или типа II.

В первом случае на вход ^2 поступают символы четырех видов: ц3, ц1, а2 и а1, где а £ А). У символов первых трех видов он удаляет индексы и поставляет их на выход. Далее, если первая поступившая на вход буква а1 с индексом 1 совпадает с 21 , то Ш2 подает на выход свою букву 2 и принимает состояние а если а1 Ф 21, то он принимает состояние поломки. Если в состоянии на вход ^2 поступает символ Ц1, то он поставляет на выход последовательность ЦЦ.... Аналогичные действия ^2 выполняет во втором случае.

Предполагается, что в остальных случаях он приходит в состояние поломки.

2. Логические сети и реализуемые операторы.

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

В данной работе такие логические сети будут описывать процедуры вывода слов в ИП, и в связи с этим вводятся некоторые ограничения. Каждый

выходной канал автомата подключается не более чем к одному входному каналу другого автомата и наоборот. В частности, исключаются простые петли, которые соединяют выходной и входной каналы одного и того же автомата. Входной канал одного из автоматов логической сети, который не подключен к выходам других автоматов, объявляется ее входным полюсом. Выходной канал одного из автоматов логической сети, который не подключен к входам других автоматов, становится ее выходным полюсом. Предполагается, что логическая сеть не содержит других свободных входных и выходных каналов автоматов, кроме полюсов. Для краткости логические сети над С обозначаются буквой Ь.

Допустимой входной последовательностью сети Ь называется последовательность вида: ца1а2...атцц..., где аіа2...ап - непустое слово алфавита Ао . Ниже такие последовательности обозначаются буквой X с некоторыми индексами.

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

Ниже показывается, что правильно организованная логическая сеть над С является последовательной цепочкой автоматов, составленной из блоков, изображенных на рисунке 2.

Рис. 2. Правильно организованная логическая сеть

Все автоматы такого блока соединены последовательно. Первым стоит автомат типа I, за ним следуют автоматы типа II, далее идут автоматы типа III, и в конце - один автомат типа IV. При поступлении допустимой входной последовательности первый автомат сети L выдает на выход некоторую последовательность ^2. При правильной работе первого автомата последовательность поступает на вход следующего автомата, подключенного к первому автомату, и т.д. В заключение, если не возникнет состояние поломки, на выходе сети L появится некоторая последовательность , которая является результатом работы L.

Следующие наблюдения обосновывают вид правильно организованной сети. Для такой сети L существует допустимая входная последовательность

при поступлении которой все автоматы сети работают правильно. По определению ^ начинается с буквы ^, но при правильной работе такую последовательность может воспринимать только автомат типа I. Значит, входным полюсом L должен быть вход автомата типа I. По аналогичной причине выходным полюсом L должен быть выход автомата типа IV. В простейшем случае между этими двумя автоматами располагаются автоматы типов II и III. По построению работа автомата типа III начинается с выдачи символа ц , но каждый автомат типа II при поступлении этого символа на входе переходит в состояние поломки. Поэтому в L автомат типа III может подключаться к автомату типа II только справа. Следовательно, в одном блоке автоматы типов II и III соединяются между собой так, как это указано на рисунке 2.

По своим целям правильно организованная сеть L, представленная одним блоком указанного вида, может быть разделена на две части, которые называются проверяющей и задающей. Проверяющая часть L состоит из автомата типов I и II. Пусть слово Т выводимо в ИП из слова Р с помощью последовательности правил вывода VI,..., Vm, применяемых в данном порядке. Тогда в L к автомату типа I справа подключается цепочка автоматов Ну,..., Иут , соединенных так, как это указано

на рисунке 2. Теперь, если на вход L будет подана последовательность цРцц..., то через некоторое число тактов на выход автомата Иут будет поступать последовательность ц 2...ц2Ц1Т 1ц1ц2ц2..., где Т1 - слово Т, записанное в алфавите А0 .

Задающая часть однозначно строится по слову Т и состоит из соответствующих автоматов типов III и IV. На нее возложены следующие функции:

1) «хранить» слово Т и начать его выдачу на выход сети L, начиная с (к + 1)-го такта, где к - длина слова Т;

2) «запустить» в нужное время сравнение слова, выработанного проверяющей частью, со словом Т.

Пусть Т = 1\...1п-\1п , тогда в сети Ь к автомату //ут справа подключается цепочка автоматов ш^.., ш2п_1/у2п , соединенных так, как это указано на рисунке 2. Теперь, начиная с 1-го такта, автоматы Ш^.., Шгп_11Уп поочередно будут поставлять свои буквы на выход, и на выходе последнего автомата появится последовательность Ц...|іТ)іЦЦ..., где длина приставки у...у равна длине слова Т. Затем на некотором такте на вход автомата ///^ будет поступать последовательность

\)}Т 1Ц1Ц2Ц2..., и каждый автомат ш21,.., т2п_х,

/Угп в соответствующий момент заменит в этой

последовательности свою букву символом у3 (если она присутствует на нужном месте). Если все буквы слова Т1 будут заменены, то автомат /У2п будет

продолжать выдавать итоговую последовательность у...уТууу.... Но если в какой-то момент описанный процесс нарушится, то автомат /У2п испортит

итоговую последовательность и начнет выдавать символ Ю . Этот момент определяется рекурсивно по программам автоматов сети и входной последовательности.

Таким образом, если слово Т выводимо в ИП из слова Р, то при поступлении на вход сети Ь последовательности уРуу... все ее автоматы будут работать правильно, и на выход Ь будет поступать последовательность у...(1 Ту.... Это позволяет ввести следующее понятие.

Определение 3. Пусть Ь - правильно организованная логическая сеть рассматриваемого вида, и уРуу... - входная последовательность, при которой все автоматы Ь работают правильно. Тогда соответствующая выходная последовательность у...уТууу... называется ограниченно-детерминированным оператором, реализованным словом Р и сетью Ь. Обозначение оператора: 0(Р, Ь) .

Теорема 2. Пусть Ь - правильно организованная логическая сеть над базисом С. Тогда существует автомат Мура, вычисляющий оператор 0(Р, Ь) .

Доказательство. Пусть автоматы сети Ь соединены последовательно так, как это было описано выше, и пусть внутренние состояния различных автоматов, входящих в сеть Ь, обозначены символами из разных алфавитов, а внешний алфавит этих автоматов одинаковый и обозначается А. Вводится автомат Мура М, имеющий схему такую же, как на рисунке 1. Его внешний алфавит есть А, и алфавит внутренних состояний содержит все состояния автоматов, входящих в Ь. Программа автомата М состоит из всех команд автоматов, входящих в Ь,

со следующим условием. В каждом автомате сети L, кроме начального состояния, можно выделить заключительное состояние, в котором этот автомат выдает заключительную часть итоговой последовательности. Например, в автоматах типов II и III таким состоянием является q6. Тогда начальным состоянием автомата М объявляется начальное состояние первого автомата сети L. Затем заключительное состояние каждого автомата, входящего в L, объявляется начальным состоянием следующего автомата, подключенного к нему справа. Очевидно, что при таком соглашении получится программа автомата Мура, который будет вычислять оператор 0(Р, Ь) .

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

Определение 4. Сложностью правильно организованной сети L называется число автоматов типа II, входящих в эту сеть. Обозначение: у(Р).

В [2] доказывается, что множество слов, выводимых в ИП из слова /ват, не является рекурсивным. Каждому такому слову соответствует логическая сеть L над С, которая реализует оператор вида 0( /ват, £). Следовательно, множество таких операторов не является рекурсивным. Но это множество операторов можно представить в виде объединения более узких множеств путем введения некоторых ограничений на процессы реализации операторов. И если каждое такое множество окажется рекурсивным, то можно считать, что общая неалгоритмическая проблема сведена к совокупности родственных

алгоритмических проблем. Подобное сведение осуществлено в следующем утверждении. Пусть $п (Р) - множество ограниченно-детерминированных операторов, которые реализуемы словом Р и правильно организованными логическими сетями L, удовлетворяющими условию: v(L) < П .

Теорема 3. Для любого числа п и любого слова Р алфавита А0 множество Бп (Р) является рекурсивным.

Доказательство (индукцией по v(L) ). База индукции очевидна. Далее, пусть для каждого слова Р алфавита А0 множество Бп (Р) является рекурсивным, и X = Ц...ЦТЦцц... - некоторая последовательность. Эффективно находятся слова Р1,_, Рк, которые выводятся из слова Р с помощью одного применения какого-нибудь правила вывода ИП. Затем для каждого полученного слова Р, в силу индукционного предположения эффективно проверяется отношение X € 8п (Р) . Если верно хотя бы одно из этих отношений, то Хе 5П+1(Р). В противном случае это отношение неверно. Согласно индукционному предположению, отсюда следует, что Зп+1 (Р) является рекурсивным. Теорема доказана.

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

Библиографический список

1. Кратко М.И. О существовании нерекурсивных базисов 3. Белякин Н.В. Усиление одной теоремы Мостов-

конечных автоматов // Алгебра и логика. - 1964. - Т. 3, №2. ского // Вестник Сибирского независимого института. -

2. Марков А. А. Теория алгоритмов // Труды Матема- 2010. - №1.

тического института АН СССР им. В.А. Стеклова. - М.;

Л., 1954. - Т. 42.

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