• Nenhum resultado encontrado

А. А. Марков, О нормальных алгорифмах, связанных с вы- числением булевых функций, Изв. АН СССР. Сер. матем., 1967, том 31, выпуск 1, 161–208

N/A
N/A
Protected

Academic year: 2023

Share "А. А. Марков, О нормальных алгорифмах, связанных с вы- числением булевых функций, Изв. АН СССР. Сер. матем., 1967, том 31, выпуск 1, 161–208"

Copied!
49
0
0

Texto

(1)

Math-Net.Ru

Общероссийский математический портал

А. А. Марков, О нормальных алгорифмах, связанных с вы- числением булевых функций, Изв. АН СССР. Сер. матем., 1967, том 31, выпуск 1, 161–208

Использование Общероссийского математического портала Math-Net.Ru подразу- мевает, что вы прочитали и согласны с пользовательским соглашением

http://www.mathnet.ru/rus/agreement Параметры загрузки:

IP: 178.128.90.69

6 ноября 2022 г., 10:25:59

(2)

Серия математическая

31 (1907), 161—208

УДК 51.01.16

А. А. МАРКОВ

О НОРМАЛЬНЫХ АЛГОРИФМАХ, СВЯЗАННЫХ С ВЫЧИСЛЕНИЕМ БУЛЕВЫХ ФУНКЦИИ

Статья посвящена нижним и верхним оценкам сложности нормаль­

ных алгорифмов, связанных с вычислением булевых функций.

Введение

1. Алгорифмические проблемы, т. е. проблемы построения алгорифмов, выполняющих заданную работу, часто оказываются неразрешимыми. Не­

разрешимые алгорифмические проблемы были открыты в различных об­

ластях математики: в самой теории алгорифмов и в математической логи­

ке, в алгебре и в анализе, в топологии и в математической лингвистике.

Существенной общей чертой неразрешимых алгорифмических проблем*

является их большая общность: ищется алгорифм, применимый ко всяко­

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

сколько далекими от требований практики. Практически нам обычно бы­

вает нужно от алгорифма лишь, чтобы он был применим ко всякому объекту данного конечного (хотя, может быть, и очень широкого) класса.

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

леме оценки алгорифмов.

2: Алгорифмы можно оценивать с различных точек зрения.

Алгорифм является предписанием, обычно формулируемым на некото­

ром искусственном точном языке. Естественно стремиться к тому, чтобы это предписание не было слишком длинным. Ведь искомый алгорифм дол­

жен быть изобретен, выдуман. Он будет результатом нашей творческой деятельности. А эта деятельность ограничена. Если требуемый алгорифм, рассматриваемый как слово в некотором алфавите, обязательно будет очень длинным, то мы просто будем не в состоянии выдумать это слово.

Таким образом, может возникнуть некоторый вид практической неразре­

шимости алгорифмической проблемы, даже при ограничении области дей­

ствия алгорифма данным конечным множеством объектов.

Другой существенной оценкой алгорифма является продолжительность процесса его применения, т. е. число шагов этого процесса. Это число вооб­

ще зависит не только от самого алгорифма, но и от исходных данных^ т. е.

от объекта, к которому алгорифм применяется. Если алгорифм применим ко всякому объекту из данного конечного класса, то имеется наибольшая

11 Известия АН СССР, серия математическая, № 1

(3)

из продолжительностей его применения к объектам этого класса. Она тоже не должна быть слишком большой, даже если алгорифм будет осущест­

вляться на быстродействующей вычислительной машине.

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

возникающих в этом процессе. Желая, чтобы наш алгорифм был практи­

чески применим ко всякому объекту из данного конечного класса, мы должны позаботиться о том, чтобы максимум на этом классе максималь­

ных длин промежуточных слов был не слишком большим.

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

3. Большая часть результатов этой статьи была изложена без доказа­

тельств в заметке (5) *. Мы, однако, не будем считать содержание этой за­

метки известным читателю.

С другой стороны, мы будем предполагать известным содержание пер­

вых четырех глав монографии (3) ** и пользоваться терминологией, вве­

денной в статье (4) ***. В частности, под алфавитом будет пониматься слово без повторений букв; под а-системой в алфавите А, где буква а не входит в А, будет пониматься слово в алфавите аА, начинающееся и окан­

чивающееся буквой а. Строчные греческие буквы всегда будут означать буквы. Запись Р£5 А будет означать, что Р есть слово в алфавите А.

В отличие от ТА мы будем определять натуральные числа не как сло­

ва в однобуквенном алфавите |7 а как слова в алфавите 0| вида ОР, где Р — слово в алфавите | [ср. (7), стр. 240]. В частности, число 1 мы опре­

деляем как слово 01:

1 — 0 | .

Мы будем пользоваться переходами от пары букв 0 и | к паре слов 0 и 1 и обратно, вводя для этих переходов обозначения [Р~* и [Р*~ и полагая

(1) [о-^о, [ h ^ i , [o-^o, [i~=H.

Обозначение Oj (Р), где / — положительное натуральное число, не пре­

восходящее длины Р, будет означать /-ую букву слова Р, считая слева.

4. Чтобы не нарушать связности дальнейшего изложения, мы начи­

наем статью с некоторых технических средств. В TA.I. §§ 5, 6 были раз­

виты некоторые способы «перевода» слов из одного алфавита в другой, давшие возможность доказать полезную теорему о «переводе» нормально­

го алгорифма [ТА. III. § 7]. Хотя мы и могли бы непосредственно вос­

пользоваться этим аппаратом для наших целей, однако автору сейчас по-

* См. также (8), где'должны быть сделаны следующие исправления: в п. 4 на стр. 499 вместо п + 3 должно быть 2П + 2, а вместо 207 должно быть 262; в п. 6 вместо +255 должно быть +282.

** Цитируется ниже каре ТА.

*** Цитируется ниже как АСС.

(4)

казались более удобными несколько иные способы перевода, использую­

щие не две, а три дополнительные буквы. Вместе с прежним способом перевода, идущим, по-видимому, от Поста, эти способы укладываются в некоторую общую теорию «допустимых способов перевода», разработан­

ную Г. И. Сыркиным (6). Способы перевода, использованные в доказа­

тельстве предложений § 7.1.1, § 8.1.1, § 8.3.1 и § 9.2.1, основаны на его идее.

Нужные нам результаты этой теории Г. И. Сыркина изложены в § 1.

В §§ 2 и 3 мы вводим некоторые, применяемые ниже обозначения, связанные с булевыми векторами и булевыми функциями.

§ 4 посвящен применяемым логическим средствам. В нем подчерки­

вается важное для дальнейшего различие между «осуществимостью» и

«квазиосуществимостью» конструктивных объектов, иллюстрируемое ре­

зультатами §§ 6—9.

В § 5 вводится стандартный алфавит рассматриваемых нормальных алгорифмов. Для нормальных алгорифмов в этом алфавите определяется

«сложность» — численная характеристика алгорифма как слова.

В § 6 определяется понятие «М-вычислимости» булевой функции и устанавливаются некоторые относящиеся к нему оценки. Эти оценки, равно как и другие оценки, содержащиеся в настоящей статье, приуро­

чены к стандартному алфавиту и не претендуют на окончательность.

Оценки, указанные в § 6, были фактически улучшены и обобщены В. А.

Кузьминым (2). Если мы все же помещаем их здесь, то делаем это пото­

му, что, с одной стороны, они весьма просто получаются, а с другой, слу­

жат нам основой для дальнейших результатов.

Главные результаты статьи содержатся в §§ 7—9.

5. Деление параграфов на пункты, нумерация предложений и формул, система ссылок, применяемые в этой статье,— все это выглядит так же, как в монографии ТА, с тем лишь различием, что настоящая статья не делится на главы,

§ 1. Допустимые способы перевода

1. Пусть А и Б — алфавиты. Будем говорить, что задан способ перевода из А в Б, если каждой букве g алфавита А сопоставлено некоторое непу­

стое слово В^ в алфавите Б. Переводом слова Р в алфавите А мы будем тогда называть результат замены в слове Р букв g словами В% [ТА. II.

§4.14].

Если Я — нормальный алгорифм в алфавите А, то переводом Ш (при данном способе перевода из А в Б) будем называть нормальный алгорифм в алфавите Б, схема которого получается из схемы алгорифма Sf путем замены каждой буквы алфавита А ее переводом.

2. Пусть способ перевода из алфавита А в алфавит Б определен систе­

мой слов В^ (g у А). Будем говорить, что этот способ перевода допустим, если соблюдено следующее условие.

Для любых букв £, г] и £ алфавита А и любых слов R и S в алфавите Б таких, что Вфц = RB^S, имеет место одно из двух:

1°. t = 1;

2°. Z, = r\nS = A.

11*

(5)

Как показал Г. И. Сыркин (6), для допустимых способов перевода имеет место «теорема перевода», т. е. верно следующее предложение.

2.1. Если рассматриваемый способ перевода из алфавита А в алфавит Б допустим, то для всякого слова Р в алфавите А и всякого нормального алгорифма Я в А имеем:

(1) шн[р*) ~ [Я(ру,

где Ят означает перевод алгорифма §1 и где мы условились обозначать через [Qx перевод слова Q [ср. ТА. III. § 7.2.1].

3. Пусть алфавиты А и В не имеют общих букв, алфавиты Б и Г также не имеют общих букв. Пусть даны способ перевода из А в Б, определяемый системой слов В% (£ О А), и способ перевода из В в Г, определяемый си­

стемой слов Сл О В). Построим способ перевода из алфавита {А w В}

в алфавит {Б и Г}, определяемый системой слов Cs(£y {Aw В}), где (В^ если £УА;

С^ 1 СС, если £ У В .

Этот способ перевода будем называть объединением двух данных способов перевода.

Легко доказывается следующее предложение.

3.1. Объединение двух допустимых способов перевода есть допустимый способ перевода.

4. Тривиальным является способ перевода из алфавита А в алфавит А, при котором каждая буква алфавита А сопоставляется сама себе, т. е. при котором В% = 1(1^3 А). Этот способ перевода, очевидно, допустим. В даль­

нейшем мы используем объединения тривиального способа перевода с до­

пустимыми способами перевода. Эти объединения допустимы, согласно 3.1.

Нам понадобятся некоторые их свойства.

Мы предполагаем здесь, что А, В и Г суть алфавиты, причем В и Г не имеют общих букв с А. Пусть дан допустимый способ перевода из В в Г, определяемый системой слов Gn (rj у В). Образуем объединение этого способа перевода с тривиальным способом перевода из А в А. Оно являет­

ся допустимым способом перевода из { A w B } в { А и Г } и определяется системой слов Съ (£ у {A \J В}), где

^ il, если £УА;

С с ^ | А , если £?5В.

Пустьх означает перевод слова Р в алфавите {A w В} при этом спо­

собе перевода. Пусть 31т, где SI — нормальный алгорифм в алфавите {A w В}, означает перевод этого алгорифма.

Следующее предложение очевидно.

4.1.% = Р для всякого слова Р в алфавите А.

Следующее предложение вытекает из того, что все слова Сл у В) суть непустые слова в алфавите Г, не имеющем с А общих букв.

4.2. Перевод слова Р в алфавите {A w В} лишь тогда является словом в алфавите А, когда Р У А.

(6)

Ввиду допустимости рассматриваемого способа перевода, к нему при­

менима теорема Г. И. Сыркина 2.1. Роль А и Б будут теперь играть {А и В} и {А и Г} соответственно. Из этой теоремы с помощью 4.1 и 4.2 легко может быть выведено следующее предложение.

4.3. Всякий нормальный алгорифм в алфавите { А и В} эквивалентен своему переводу относительно алфавита А.

Доказательство аналогично доказательству предложения ТА. III.

§ 7.4.1.

4.4. Перевод нормального алгорифма St в алфавите {A \J В} применим к тем и только к тем словам в алфавите А, к которым применим алго­

рифм Я.

В самом деле, в применении к словам Р в алфавите А условное равен­

ство 2(1) принимает вид

(1) Я*(Р) ~ [Я(Р)Т,

так как для таких слов Р имеемх = Р[4.1]. Если алгорифм St применим к слову Р в алфавите А, то $((Р) g {А и В} и [$(Р)Т имеет смысл. В силу (1), алгорифм Ят применим тогда к Р. Обратно, если алгорифм 9tT применим к слову Р в алфавите А, то, согласно (1), к Р применим и алгорифм 8f.

5. Нетрудно видеть, что верно следующее предложение.

5.1. Если алфавит Г содержит более одной буквы, то для всякого алфа­

вита В осуществим допустимый способ перевода из В в Г.

Такой способ перевода можно, например, определить посредством системы слов вида a|3Ja, где а и р — две различные фиксированные буквы алфавита Г, / — положительные натуральные числа, взаимно однозначно сопоставляемые буквам алфавита В [ср. ТА. I. §§ 5 и 6]. Однако в даль­

нейшем мы используем другие допустимые способы перевода из различных алфавитов, не содержащих букв 0 и |, в трехбуквенный алфавит abc.

Объединяя эти способы перевода с тривиальным способом перевода из 0[

в 0|, мы будем получать требующиеся нам допустимые способы перевода из расширений алфавита 01 в алфавит

(1) Ф^0\аЬс. ..i

§ 2. Булевы векторы

1. В теории булевых функций играют существенную роль «наборы»

нулей и единиц. Такие «наборы» можно рассматривать как векторы с со­

ставляющими 0 и 1. Заменяя единицу вертикальной черточкой, мы можем записать всякий такой вектор в виде слова в алфавите 0 | . Длина этого слова будет тогда равна числу составляющих вектора — его «размерности».

Мы приходим таким образом к следующим определениям.

Булевыми векторами называются слова в алфавите 01. Булев вектор Р N-мерен, если

д = N.

Здесь и в дальнейшем N — любое натуральное число.

Следующее предложение очевидно.

(7)

1.1. Может быть построено ровно 2N различных N-мерных булевых векторов.

2. TV-мерные булевы векторы естественным образом приводятся во взаимнооднозначное соответствие с натуральными числами, меньшими 2^.

Для этого может служить двоичная система счисления, сопоставляющая каждому TV-мерному булеву вектору Р натуральное число

N

(1) v(P)^%([oj(P)-+X2'-i)*

J " = l

Следующие легко доказываемые предложения будем считать извест­

ными.

2.1. Для всякого N-мерного булева вектора Р имеем:

O^v(P) <2N.

2.2. Для всякого натурального числа L такого, что О ^ L < 2N, может быть построен один и только один N-мерный булев вектор Р такой, что v(P)=L.

3. Если О ^ L < 2^, то единственный Л'-мерный булев вектор Р такой, что v (Р) = L, мы называем N-мерной двоичной записью числа L и обозна­

чаем символом

аз*.

(Заметим, что данный способ двоичной записи натуральных чисел отли­

чается от общепринятого тем, что «младшие разряды» у нас располагаются слева от «старших». Например, £бЗз = 0| |.)

По определению имеем:

(1) Ь(Р)3* = Р для всякого TV-мерного булева вектора Р.

3.1. Если О ^ L < 2^ — 1 и

(2) U3x=\J0Q,

где Q булев вектор, то

(з) а | з „ = о'|<?.

Д о к а з а т е л ь с т в о . Имеем:

Ь = у(УЩ [(2)]

N

= И ( М Т О ) + Х 2 ' - ' ) [2(1)]

7 = 1

J N

= 2 21"1 + 2 ([oi-j-i(<?)+ X 2'"1) [Введение 3(1)]

1 = 1 1 = / + 2

N

(4) = 2 ' - 1 + 2 ( [ а ; _ы( 0 - Х 2 ' - 1 ) ,

(8)

,2V

L\=2'+ 2 [(aw4(?)+X2«) [(4)]

JV

= 2 ( M 0J| < 2 ) - X 2 r - i ) [Введение 3(1)]

= v((F|<?) [2(1)], откуда следует равенство (3).

§ 3. Булевы функции

1. «Булевыми аргументами» принято называть аргументы, способные принимать лишь два значения: 0 и 1; «булевыми функциями» (или «функ­

циями алгебры логики») — функции от булевых аргументов, принимающие лишь значения 0 и 1.

Заменяя 1 на |, будем рассматривать систему TV булевых аргументов как переменный булев вектор, допустимыми значениями которого явля­

ются TV-мерные булевы векторы. В соответствии с этим булеву функцию от N аргументов будем определять как функцию от TV-мерного булева вектора, принимающую значения 0 и 1.

2. Булева функция от TV аргументов может быть задана таблицей своих значений. Всю «информацию», содержащуюся в такой таблице, можно, однако, записать более экономно — в виде одного 2^-мерного булева век­

тора, буквы которого будут значениями функции, написанными соответст­

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

Записью булевой функции § от TV аргументов мы называем слово F длины 2^ такое, что

(1) oi(F)=9(Z(2"-l)3s) (l<</<2*).

Заметим, что аргумент £(2^ — I)3N В правой части равенства (1) пред­

ставляет собой TV-мерный булев вектор, так как 0 ^ 2 ^ — I <C 2iY. Поэтому правая часть есть 0 или | и слово F длины 2^, определяемое равенством (1), есть 2^-мерный булев вектор.

2.1. Запись булевой функции от N аргументов есть 2N-мерный булев вектор.

Запись булевой функции $ будет в дальнейшем обозначаться симво­

лом S3.

2.2. Если S — булева функция от N аргументов, то для всякого N-мер­

ного булева вектора Р имеем:

9(Р) =a*-v(P)(S3),

еде v(P) определяется равенством § 2.2(1), aK^2N.

Это следует из определения записи булевой функции, предложения

§2.2.1 и равенства §2.3(1).

(9)

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

2.3. Если % булева функция от N аргументов, то для всякого N-мер­

ного булева вектора Р могут быть указаны булевы векторы S и Т такие, что

(2) & = S%(P)T и что

(3) P = Z[T°3N.

В самом деле, по определению чисел Oi (%3) для всякого TV-мерного бу­

лева вектора Р имеются слова S и Т такие, что

(4) 83 = 5ак-мР)(83)Г,

причем

(5) [Sd = K-v(P) - 1

и К = 2N. Как и S3, слова S и Т являются булевыми векторами [ (4) ] . При этом

К = [$зд

= [S° + 1 + [T° [(4)]

= K-v(P) + [T° [(5)], откуда

[T* = V(P)

и, значит, имеет место равенство (3) [§ 2.3(1)]. Равенство (2) также со­

блюдается [(4), 2.2].

§ 4. Осуществимость и квазиосуществимость

1. В дальнейшем мы формулируем ряд предложений об «осуществимо­

сти» некоторых конструктивных объектов. Под осуществимостью мы при этом всегда понимаем потенциальную осуществимость.

Мы придерживаемся конструктивного понимания математических пред­

ложений (7). В частности, предложение вида: «каково бы ни было нату­

ральное число N, осуществим объект, имеющий данное отношение к iV», мы считаем равнозначным предложению: «осуществим алгорифм, пере­

рабатывающий всякое натуральное число N в объект, имеющий данное от­

ношение к Л'».

2. Иногда в математике встречается следующая ситуация. Мы можем путем рассуждений привести к противоречию предположение о том, что ни один объект рассматриваемого вида не обладает свойством $. Мы го­

ворим тогда, что квазиосуществим объект этого вида со свойством $.

Квазиосуществимость объекта со свойством $ еще не дает основания утверждать, что объект с этим свойством осуществим, так как способа осу­

ществления такого объекта у нас может и не быть.

Может случиться, что при всяком натуральном N верно предложение:

(10)

«Квазиосуществим объект, имеющий данное отношение 91 к TV» и что в то же время ложно предложение:

«Каково бы ни было натуральное число Лт, осуществим объект, имею­

щий отношение 91 к N».

Истинность первого предложения при любом натуральном N означает лишь, что при любом 7V можно провести некоторое рассуждение, приводя­

щее к противоречию предположение о том, что ни один объект не имеет отношения 9J к N. Истинность второго предложения означает гораздо большее, а именно, осуществимость алгорифма, перерабатывающего вся­

кое натуральное число N в объект, имеющий отношение 91 к N. Второе мо­

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

Ряд результатов, доказываемых ниже, будет иллюстрировать такую возможность.

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

ся, например, аппарат интуиционистского исчисления предложений [см. напр. (*), §§ 19, 23, 25]. В частности, в дальнейшем будут использо­

ваны известные формулы этого исчисления:

(1) 1KAV1A), (2) -\А~11~}А, (3) 11 (А&В) ~ ( 1 1 А &Ц В),

(4) 1 (А V В) ~ А & 1 В)

и обощения формул (3) и (4) на большее число пропозициональных пе­

ременных:

(5) 11 & Aj~ & Л 1 ^ 1 ,

KN KN

(6) I V i i - * lAi,

I<:N I<.N

получаемые индукцией по Л7.

§ 5. Ф-алгорифмы

1. Пусть S —булева функция от N аргументов. Мы говорим об алго­

рифме SI, что он вычисляет §, если

Ш(Р) =9(Р) для всякого iV-мерного булева вектора Р.

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

тору и потому, при N > 0, он должен быть алгорифмом над алфавитом 01.

Не совсем ясно, каким образом сравнивать по сложности нормальные алгорифмы в разных алфавитах. Однако всякий нормальный алгорифм

(11)

над алфавитом 0| эквивалентен относительно 0| некоторому нормально­

му алгорифму в алфавите Ф [§ 1.5(1)] — своему переводу при надлежа­

щем способе перевода [§ 1.5.1, § 1.3.1, § 1.4.3]. Кроме того, следующее предложение непосредственно следует из определений.

1.1. Если алгорифм 31 вычисляет булеву функцию $, а алгорифм 8 эк­

вивалентен 31 относительно алфавита 01, то S3 также вычисляет §.

Таким образом, имеем

1.2. Если имеется нормальный алгорифм, вычисляющий булеву функ­

цию $?, то может быть построен нормальный алгорифм в алфавите Ф, так­

же вычисляющий § *.

Это позволяет нам ограничиться рассмотрением нормальных алгориф­

мов в алфавите Ф, вычисляющих данную булеву функцию.

2. Нормальные алгорифмы в алфавите Ф мы будем называть Ф-алго- рифмами.

Одной из естественных мер сложности Ф-алгорифма является площадь, занимаемая его схемой, точнее говоря, длина его «изображения» [ТА. IV.

§ 1]. Здесь мы определим изображение Ф-алгорифма несколько иначе, чем в монографии ТА, а именно так.

Пусть 31 — Ф-алгорифм. Изображением 31 будем называть слово, полу­

чаемое из схемы 31 следующим образом: в каждой простой формуле под­

становки стрелка заменяется буквой х, в каждой заключительной формуле подстановки вместо вхождения слова «— подставляется буква у, в кон­

це каждой формулы подстановки добавляется буква z и так полученные слова пишутся друг за другом в порядке их следования в схеме. Изобра­

жение Ф-алгорифма ЗГ мы будем обозначать символом 31й.

Длину изображения Ф-алгорифма 31 мы будем называть сложностью алгорифма ЗГ и обозначать символом ЗСI:

313 — [31ид. Следующее предложение очевидно.

2.1. Пусть Ni означает число вхождений буквы £ алфавита Ф в схему Ф- алгорифма 3f, N.+ число формул подстановок алгорифма Я. Тогда

%l=N0 + N\+Na + Nb + Nc + 2AU.

§ 6. М-вычислимость

1. Будем говорить о булевой функции 8, что она М-вычислима, если осуществим Ф-алгорифм 31, вычисляющий 8 и такой, что

31^ ^ М.

М может здесь быть любым натуральным числом.

1.1. Всякая булева функция от N аргументов (2N + 81) -вычислима.

Д о к а з а т е л ь с т в о . Пусть S — булева функция от N аргументов. По­

кажем, что она (2^ + 81)-вычислима. С этой целью покажем, что Ф-алго-

* В дальнейшем это предложение будет усилено (см. § 6.1.1).

(12)

рифм 91 со схемой

( Ь0^\Ь Ъ\~>сО

I I

с

~+

с

\

I lac-*ab ( ! ц 0 | ) 1цаЪ->щЪ ( | ц 0 | , т)уО|)

[ -*%

3

ab

вычисляет S.

Докажем 6 лемм.

1.2. #с/ш Р — булев вектор, то%:Р У- $3аЪР.

Это видно из того, что левые части всех формул подстановок алгориф­

ма 9f, кроме последней, содержат буквы, не входящие в алфавит 01, тогда как последняя формула подстановки имеет пустое слово в качестве левой части и слово %3аЪ — в качестве правой.

1.3. Если R и S булевы векторы, £— буква алфавита 0|, / — нату­

ральное число, то

«:5£аЬ(Н|Д |= Sab\J0R.

В самом деле, в силу первых четырех строк схемы алгорифма 9t, он ра­

ботает следующим образом:

31: SlabOJ\R\=Slafb\R [-SlafcOR

\= Slac \J OR

\pSab\J0R

1.4. Если S булев вектор, £ — буква алфавита 01, L натуральное число и L 2N — 1, го

*: Slab ZL\3N£ Sab ZL3N.

Это следует из 1.3 и § 2.3.1.

1.5. Если S и Т булевы векторы, L натуральное число и L + [Тд < 2*,

то

91: STab ZL +д 3N t= Sab £ L 3N.

Это доказывается с помощью 1.4 методом индукции по слову Г.

1.6. Если S иТ булевы векторы и [Тд < 2^, то

%:STab £д 3N l= SabON. Это — частный случай предложения 1.5.

1.7. Если S булев вектор, у\ буква алфавита О1, то

(13)

В самом деле, из схемы алгорифма Я видно, что он работает следую­

щим образом:

* : SwbO* \= Si\a\Nb f= Sr\ab

|= r\ab

Доказательство предложения 1.1. может быть теперь завершено следу­

ющим образом.

Пусть Р — TV-мерный булев вектор. Найдем булевы векторы S и Т согласно § 3.2.3 так, чтобы соблюдались равенства § 3.2(2) и § 3.2(3). Име­

ем [Г* < 2* [§ 3.2(2)],

%:Ph-S$(P)Tab£[Td3N [1.2, § 3.2(2), § 3.2(3)]

\=S$(P)abON [1.6]

l=-»(P) [1.7].

Таким образом, Я(Р) = $(Р) для всякого TV-мерного булева вектора TV, т. е. Я вычисляет §. Нетрудный подсчет показывает, что Я? = 2^ + 81.

Таким образом, % (2N + 81)-вычислима, что и требовалось доказать.

2.1. Каково бы ни было натуральное число TV, неверно, что всякая бу­

лева функция от N аргументов [2N / 3]-вычислима.

Д о к а з а т е л ь с т в о . Оценим сверху число Ф-алгорифмов сложности, не превышающей натуральное число М. Ясно, что число таких алгорифмов не превышает число слов длины, не превышающей М, в восьмибуквен- ном алфавите 01 abcxyz. Для всякого натурального числа / число /-буквен­

ных слов в этом алфавите, очевидно, равно 8J. Поэтому интересующее нас число слов в алфавите 0| abcxyz длины, не превышающей Л/, равно

м

2-

Число Ф-алгорифмов сложности, не превышающей М, не превышает,, таким образом,

8м+1 _ i

j 8M + 1- 1

Если М таково, что всякая булева функция от TV аргументов М-вычис- лима, то, ввиду того, что всякий Ф-алгорифм вычисляет не более одной бу­

левой функции от TV аргументов, число Ф-алгорифмов сложности, не пре­

вышающей Л/, не меньше числа булевых функций от TV аргументов, т. е*

22N. Отсюда последовательно получаем:

8^+i — 1 7 2>\

2 3 ( M + i )> 7 - 22 i V

> 22 +2

(14)

3 ( М + 1 ) > 2 ^ + 2, ЪМ ^ 2*, ЗМ > 2*,

М > 2^/3.

Последнее условие не выполнено при М = [2N / 3 ] . Следовательно, невер­

но, что всякая булева функция от N аргументов [2^ / 3]-вычислима, что и требовалось доказать.

2.2. Каково бы ни было натуральное число N, квазиосуществима

\2N I 3]-невычислимая булева функция от N аргументов, В самом деле, положим

K^2N

и обозначим через S L булеву функцию от TV аргументов с записью

£ L Зк, где L < 2х. Положим

М^ [К/3].

Обозначим через AL предложение «функция § L М-вычислима»

{L < 2К). Предложение 2.1 будет тогда выражаться формулой

"I & AL.

Согласно законам конструктивной логики предложений имеем:

1 & 4 ь ~ ~ 1 Т 1 & AL [§4.3(2)]

L<2K L<2K

~ 1 & ~\~]AL [§4.3(5)]

- 1 1 V 1AL [§4.3(6)].

L < 2 *

Таким образом, верна формула

<i) "11 V IAL.

L < 2 *

Здесь ~]AL выражает If-невычислимость функции § L ; дизъюнкция V ~IAL

L<2K

выражает возможность построения Л/-невычислимой булевой функции от Лг аргументов, т. е. осуществимость такой функции, а формула (1) утверж­

дает невозможность неосуществимости М-невычислимой булевой функции от N аргументов, т. е. квазиосуществимость такой функции.

§ 7. Последовательности булевых функций

1. Последовательностью булевых функций мы будем называть нор­

мальный алгорифм, перерабатывающий всякое натуральное число в за­

пись некоторой булевой функции.

(15)

Если Я — последовательность булевых функций, то булеву функцию с записью 91 (N), где N — натуральное число, мы будем называть N-ым членом последовательности 9f.

Мы будем говорить о последовательности булевых функций 81, что она правильна, если при всяком натуральном iV TV-ый член последовательности 91 есть булева функция от N аргументов.

Мы будем говорить о последовательности булевых функций 9t, что она есть Ф-последователъностъ булевых функций, если Я есть Ф-алгорифм.

1.1. Какова бы ни была правильная Ф-последовательность булевых функции Я, осуществим Ф-алгорифм 23, вычисляющий каждый член 91 и такой, что

(1) 95 5 < у « 3 + 4 5 6 . Д о к а з а т е л ь с т в о . Введем алфавит

Ц =^= 01 abcdefghijkl.

Будем называть буквы h и i двойниками букв О и соответственно |. Бу­

дем обозначать двойник буквы g символом | (£О0|). По определению, (2) ~0 ^ h,

(3) ~\^L Обозначим символом 91 систему формул подстановок, получаемую из схемы алгорифма 91 путем следующих преобразований.

1°. Если в схеме алгорифма 91 имеется хотя бы одна формула подста­

новки с пустой левой частью^ то опускаются все формулы подстановки, стоящие ниже первой формулы подстановки с пустой левой частью. Если же такой формулы подстановки в схеме алгорифма 91 нет, то снизу к схе­

ме присоединяется формула подстановки

2°. Всякая буква алфавита 01 заменяется ее двойником.

3°. Всякая точка заменяется буквой /.

4°. В последней формуле подстановки вместо вхождения стрелки под*

ставляется слово

Заметим, что преобразование 1° дает систему формул подстановок, в которой имеется лишь одна формула подстановки с пустой левой частью, а именно, последняя. Преобразования 2° и 3°, очевидно, сохраняют это свойство системы формул подстановок. Преобразование 4° дает систему формул подстановок 91 со следующим свойством:

С. Левые части всех формул подстановок системы 91 суть непустые слова в алфавите hiabcl.

Построим теперь нормальный алгорифм S в алфавите Ц со следующей схемой:

(16)

g\->kO

|А->А|

lfk-+fg ge-*g

_Jg~>g Infg -> nfg

di —> zd

Ш

-^Ihde

Здесь £ и т] повсюду, где они встречаются, пробегают алфавит 0|.

Покажем, что, каково бы ни было натуральное число N, алгорифм © вычисляет iV-ый член последовательности Я. Докажем сначала несколько лемм.

1.2. Если Р булев вектор, то ©: Р Ь- IhdeP.

В самом деле, в силу свойства С системы Я левые части всех формул подстановок алгорифма (S, кроме последней, содержат хотя бы ОДНУ ИЗ

букв алфавита hiabcljgke и потому не входят в Р.

1.3. Если Р и Q булевы векторы, £ — буква алфавита 01 и М нату­

ральное число, то 6: lhiMdQe\P t= lhiMldQ^eP.

В самом деле, из схемы алгорифма © видно, что он работает следую­

щим образом:

© : lhiMdQelP Ь- lhiMdQileP t= lhiMdiQleP h- lhiM4QleP.

1.4. 2?с/ш Р и Q — булевы векторы и [Qd = М, то 6: <?Р [= lhiMdQeP.

Это доказывается индукцией по Л/. Начало индукции — случай Л/ = 0 — дает 1.2; индукционный переход от Д/ к М | — 1.3.

1.5. Если Q N-мерный булев вектор, то © : Q [= lhiNdQe.

Это — частный случай предложения 1.4.

Условимся называть двойником слова R в алфавите Ф слово, получае­

мое из R заменой букв 0 и [ их двойниками. Двойник слова R будем обоз­

начать символом [R~.

1.6. Если

(4) Ш-.Rl- S

(17)

U Q — булев вектор, то

(5) <&:l[R-dQe f- l[S~dQe.

Заметим прежде всего, что, в силу условия (4), R и S суть слова в ал­

фавите Ф алгорифма Я. Поэтому определены их двойники [R~ и [S~.

Заметим далее, что в слово l[R~dQe не входят ни буквы алфавита jgk%

ни слова eg(g^0|), ? i ( g o O | ) , di. Поэтому в слово l[R~dQe не входят ле­

вые части стоящих выше 9f формул подстановок алгорифма <£.

Пусть А -> Б есть та формула подстановки алгорифма Я, которая при­

меняется при простом переводе (4). Эта формула простая, так как пере­

вод простой. А и В суть поэтому слова в алфавите Ф.

Пусть Т * А * U — первое вхождение слова А в слово R. Имеем:

(6) R = TAU, (7) S = TBU,

[R, = [T-[A-[U~,

(8) [S-=[T-[B-[U-, причем, очевидно, [Т~ * [А~ * [U~ есть первое вхождение слова [А~ в сло­

во [R~. Принимая во внимание, что буква Z, не входящая в алфавит [Ф~, не входит в [А~, видим, что 1[Т~ * [А~ * [U~dQe есть первое вхождение слова [А" в слово l[R~dQe, если A =j= Л.

Ввиду того, что формула А ->- В применяется при работе алгорифма Я, выше нее в схеме этого алгорифма нет формул с пустой левой частью.

Она вместе со всеми формулами, стоящими выше, сохраняется поэтому при преобразовании 1° (стр. 174). Преобразование 2° переводит ее в формулу [А~->- \В~; преобразование 3° не меняет последнюю; преобразо­

вание 4° также не меняет ее, если 4 ф Л , Если же А = Л, то формула [А~->- [В~ заменяется при этом формулой 1-+1[В~. Таким образом, фор­

муле А ->- В соответствует в системе Я и в схеме алгорифма ©, формула [А- ->- [В~, если 4 ф Л , и формула I-+1[В~, если А = Л.

Между формулами, стоящими в схеме 91 выше А -> В, и формулами, стоящими в Я выше соответствующей формулы, имеется очевидное взаим­

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

рифма Я, стоящей выше А ->- В и имеющей левую часть X, соответствует формула с левой частью [Х~, причем Х ф Л , [Х~ ф Л , X не входит в R, [Х~ не входит ни в [Д~, ни даже в l[R~dQe. Последнее имеет место пото­

му, что алфавит dlO\e не имеет общих букв с алфавитом [Ф~. Таким об­

разом, левые части формул подстановок, стоящих в схеме алгорифма 6 выше формулы, соответствующей формуле А—*ВЩ не входят в l[R~dQe.

Если А ф А, то, как мы выяснили выше, формуле А ->- В соответству­

ет в схеме алгорифма @ формула [А~ -> [В~. Первым вхождением ее ле­

вой части в слово l[R~dQe является вхождение 1[Т~ * [А~ * [U~dQe. Сле­

довательно, в этом случае 6 : l[R~dQe \— l[T~[B~[U-dQe, т. е. имеет место простой перевод (5) [(8)].

(18)

Если же А ' = Л, то формуле А -> В соответствует в схеме алгорифма ® формула 1-+1\В~. Первым вхождением ее левой части в l[R~dQe является вхождение * I * [R~dQe. Следовательно, в этом случае

(9) © : l[R~dQe Ь- l[B-[R~dQe,

При этом имеем Т = Л, так как Т * А * U есть первое вхождение пустого слова А в слово Д. Следовательно, R = U [(6)] и [5~ = [B-[R- [(8)].

Таким образом, простой перевод (5) имеет место и в данном случае [(9)].

1.7. Если Я : R\= S и Q — булев вектор, то © : l[R~dQe t= l[S~dQe.

Это следует из 1.6.

1.8. Если

(10) 8 : i ? h S

и Q булев вектор, то могут быть указаны такие слова Т и W в алфави­

те Ф, что

(И) TW = S и что

(12) <£ : l[R~dQe Ь l[T-j[W~dQe.

Доказательство может быть построено аналогично доказательству пред­

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

При заключительном переводе (10) теперь применяется заключитель­

ная формула А ->• В, где А и В — слова в Ф. Преобразование 1° сохраня­

ет эту формулу; преобразование 2° переводит ее в [А~-+- [В~; преобра­

зование 3° переводит последнюю в [А~ ->- j[B~. Преобразование 4° не ме­

няет формулы [А~-+ j[B~, если А = Л, и дает формулу I—^lj[B~, если А = А. Таким образом, формуле А ->• В соответствует в системе Я и в схе­

ме алгорифма 6 формула [А~ ->- j[B~, если 4 ф Л , и формула Z->Z/[2?-, если А = Л.

При Л ф Л имеем @ : l[R~dQe Ь- /[Г_/[#-[С/-<2(>е и, полагая, (13) W^BU, получаем простой перевод (12) и равенство (11) [(7)]. При этом Т и W, в силу равенства (11), суть слова в алфавите Ф.

При А = Л имеем © : l[R~dQe Ь //[^-[Д-йфе. В этом случае Г = Л, R = U [(G)], S = BR [(7)] и, полагая И7 =^=5, также получаем простой перевод (12) и равенство ( И ) .

1.9. Если %:R~]uQ — булев вектор, то <£ : l[R~dQe Ь lj[R~dQe.

В самом деле, в силу условия Я : Д ~]> имеем R ?3 Ф. Поэтому определен двойник [R~ слова R.

12 Известия АН СССР, серия математическая, М 1

(19)

Как в доказательстве предложения 1.6, убеждаемся, что в слово l[R-dQe не входят левые ч^асти формул подстановок алгорифма ©, стоя­

щих выше Я.

Левые части формул подстановок алгорифма Я не входят в R. Поэтому они непусты. Следовательно, преобразование 1° 'состоит в данном случае в присоединении к схеме алгорифма Я формулы ->• снизу. При преобра­

зовании 2° эта формула не меняется, тогда как левые части всех выше­

стоящих формул подстановок преобразуемой схемы переходят в слова в алфавите [Ф~, не входящие в [R~. При преобразовании 3° последняя фор­

мула подстановки преобразуемой схемы переходит в формулу ->-/, а ле­

вые части остальных формул не меняются. При преобразовании 4° по­

следняя формула переходит в формулу

(14) 1-+IJ, а левые части остальных формул, будучи не пустыми, опять не меняются.

Таким образом, в системе Я все формулы подстановки, кроме последней, имеют в качестве левых частей слова в алфавите [Ф~, не входящие в [R~r

тогда как ее последняя формула подстановки есть формула (14). Левые части формул подстановок системы Sf, стоящих выше (14), не входят так­

же и в слово l\R~dQe, так как алфавит ldO\e не имеет общих букв с ал­

фавитом [Ф~, т. е. с алфавитом ЫаЪс.

Следовательно, © : l[R~dQe V- lj[R~dQe.

1.10. Если Q булев вектор, Т и W слова в алфавите Ф, то

© : l[T-j[W~dQe (= l[TW~fgQe.

В самом деле, работа алгорифма © над словом l\T~][W~dQe начинает­

ся в данном случае с действия формул подстановок Я - > £ / , что продол­

жается до тех пор пока буква /, «перескочив» через все буквы слова [W~y

не «добежит» до буквы d. После этого действует формула jd-^fg.

1.11. Если %:R[--S и Q — булев вектор, то © : l[R~dQe |= l[S~fgQe.

Это следует из 1.8 и 1.10.

1.12. Если %:R~~]uQ — булев вектор, то © : l[R~dQe |= l[R~fgQe.

Это следует из 1.9 и 1.10.

1.13. Если «(i?) = S и Q —булев вектор, то 6 : l[R~dQe [= l[S~fgQe.

Это следует из 1.7, 1.11 и 1.12.

1.14. Если Q N-мерный булев вектор, то © : Q |= l\%{N)~fgQe.

Это следует из 1.5 и 1.13 ввиду того, что hiN есть двойник натурально­

го числа 7V [(2), (3)].

Доказательства предложений 1.15—1.19 аналогичны доказательствам предложений § 6.1.3 —§ 6.1.7.

1.15. Если R и S булевы векторы, ££501, / — натуральное число, то

© : l[Sl-fg<y\Re \= l[S~fg\'0Re.

Referências

Documentos relacionados

Таким образом, автор обосновывал необходимость сдержанной политики России в регионе, доказывая, что она соответствует не только националь- ным интересам, но и русскому нацио-